当前位置: 首页 > news >正文

【网络】ARP表、MAC表、路由表

ARP表

       网络设备存储IP-MAC映射关系的表项,便于快速查找和转发数据包

ARP协议工作原理

        ARP(Address Resolution Protocol),地址解析协议,能够将网络层的IP地址解析为数据链路层的MAC地址。

        1.主机在自己的ARP缓冲区中建立一个ARP表(IP MAC 类型),表示IP和MAC对应关系

        2.主机加入网络时(MAC地址变化、接口重启等),会发送免费ARP报文把自己IP地址与MAC地址映射关系广播给网络内的其他主机

        3.网络中的主机收到免费ARP报文时,会将新的映射关系更新到自己的ARP表中

        4.当主机需要发送报文时(二层/三层),需要检查ARP表中是否有对应IP的ARP表项,如果有则直接发送数据包,如果没有就向网段内主机/默认网关发送ARP请求报文

        5.网络内主机收到ARP数据包时,若请求IP不为自身IP则忽略对应的数据包,否则将ARP请求报文中的IP和MAC更新到自己的ARP表中,向源主机发送ARP应答报文

        6.源主机收到ARP应答报文后将其中的源IP和源MAC更新到自己的ARP表中

 动态ARP-拓扑结构复杂

        动态ARP是由设备通过ARP学习自动生成和维护的IP-MAC映射关系,可以被老化和自动更新,也可以被静态ARP覆盖,适用于拓扑结构复杂的网络。

静态ARP-安全性较高(网关)

        静态ARP由网络管理员手动配置和维护的IP-MAC映射关系,不会被老化机制删除,更加稳定,可以通过将网关设备进行静态ARP绑定,防止ARP欺骗攻击

ARP老化-减少内存占用

        ARP老化-将在一定时间(默认1200S)内未使用的动态ARP表项进行删除,维护ARP表项的准确性,减少内存占用

ARP欺骗-伪造ARP报文篡改目标设备ARP缓存表

        攻击者发送伪造的ARP报文篡改目标设备的ARP缓存表,导致数据包被发送到攻击者设备,攻击者可通过对数据包进行回传或丢弃,达到监听网络信息或中断通信的目的。

ARP报文格式        

免费ARP请求报文格式:(源IP、源MAC、目的IP为主机自身,DMAC广播)

Ethernet II, Src:  00:1b:17:00:01:1a, Dst: Broadcast (ff:ff:ff:ff:ff:ff) Sender MAC address: 00:1b:17:00:01:1a
Sender IP address:  172.30.129.254
Target MAC address: 00:00:00_00:00:00 
Target IP address:  172.30.129.254

ARP请求报文格式 :(源IP、源MAC为自身,DIP为目的IP,DMAC广播)

Ethernet II, Src: 00:1b:17:00:01:1a,
             Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Sender MAC address: 00:1b:17:00:01:1a

Sender IP address: 172.30.129.254

Target MAC address: 00:00:00_00:00:00
Target IP address:  Target IP address

ARP应答报文格式 :(源IP、源MAC为自身,DIP与DMAC为ARP请求报文发送者)

Ethernet II, Src: 00:1b:17:00:01:1a,
                   Dst: 00:1b:17:00:01:1b
Sender MAC address: 00:1b:17:00:01:1a

Sender IP address: 172.30.129.254

Target MAC address: 00:1b:17:00:01:1b
Target IP address:  172.30.129.111

MAC表

        MAC表是交换机内部用于存储已知MAC地址及其对应端口的表格。这个表对于交换机来说是至关重要的,因为它决定了数据帧应该从哪个端口转发出去。MAC表中包含的信息通常包括MAC地址、VLAN、出接口、表项类型和老化时间等

MAC学习-实现数据帧转发基础

        交换机在接收到数据帧时,会检查帧的源MAC地址,并将这个地址与其接收帧的端口关联起来,添加到MAC地址表中。

动态MAC

        动态MAC是通过交换机学习得到的,在经过一定时间(默认300S)内如果未学习到对应地址,则会被老化机制(内存空间有限)删除,动态MAC可以被静态MAC地址覆盖

静态MAC

        由网络管理员手动配置的MAC地址,不会被老化机制删除,比动态MAC更加稳定

相关文章:

【网络】ARP表、MAC表、路由表

ARP表 网络设备存储IP-MAC映射关系的表项,便于快速查找和转发数据包 ARP协议工作原理 ARP(Address Resolution Protocol),地址解析协议,能够将网络层的IP地址解析为数据链路层的MAC地址。 1.主机在自己的ARP缓冲区中建…...

Linux驱动开发学习准备(Linux内核源码添加到工程-Workspace)

Linux内核源码添加到VsCode工程 下载Linux-4.9.88源码: 没有处理同名文件的压缩包: https://pan.baidu.com/s/1yjIBXmxG9pwP0aOhW8VAVQ?pwde9cv 已把同名文件中以大写命名的文件加上_2后缀的压缩包: https://pan.baidu.com/s/1RIRRUllYFn2…...

25.1.3

java数组: dataType[] arrayRefVar //推荐写法 //int[] mylist //或 dataType arrayRefVar[] //int mylist[]创建数组对象: arrayRefVar new dataType[arraySize]; dataType[] arrayRefVar new dataType[arraySize];for-each循环: jav…...

Leecode刷题C语言之我的日程安排表②

执行结果:通过 执行用时和内存消耗如下: typedef struct {int start;int end; }BOOKING;#define MAX_BOOK_NUM (1000) typedef struct MyCalendar_ {BOOKING book[MAX_BOOK_NUM];int bnum;BOOKING *sorted[MAX_BOOK_NUM];int num;int conflict[MAX_BOOK_NUM];int c…...

十二、Vue 路由

文章目录 一、简介二、安装与基本配置安装 Vue Router创建路由实例在应用中使用路由实例三、路由组件与视图路由组件的定义与使用四、动态路由动态路由参数的定义与获取动态路由的应用场景五、嵌套路由嵌套路由的概念与配置嵌套路由的应用场景六、路由导航<router - link>…...

smell---Paddle-DI

跨模态文档智能大模型–Ernie-Layout 目标&#xff1a;提取文档中无结构或半结构化的知识 github项目地址 Paddle NLP ERNIE-Layout基于Transformer Encode架构&#xff0c;并提出以下trick&#xff1a; 1、OCR工具提取信息 借助OCR工具提取图片中的文字及文字对应的坐标信息…...

PCL点云库入门——PCL库点云特征之点云法向量(NormalEstimation)及其可视化

1、PCL点云库中点云特征综述 1.1、点云特征综述 点云特征描述在三维数据处理领域扮演着至关重要的角色&#xff0c;它直接决定了后续的识别、分类以及重建等关键任务的执行效果。在众多的特征描述方法中&#xff0c;我们可以看到基于几何形状的特征、基于统计信息的特征以及…...

25.Java JUC 引入(进程与线程、线程的状态、并发与并行、管程、用户线程与守护线程)

一、JUC 简介 JUC 是 java.util.concurrent 工具包的简称&#xff0c;这是一个处理线程的工具包&#xff0c;从 JDK1.5 开始出现 二、进程与线程 1、基本介绍 &#xff08;1&#xff09;进程 进程是计算机中的程序关于某数据集合上的一次运行活动&#xff0c;是系统进行资源…...

Linux 异步 I/O 框架 io_uring:基本原理、程序示例与性能压测

大家觉得有意义和帮助记得关注和点赞&#xff01;&#xff01;&#xff01; io_uring 是 2019 年 Linux 5.1 内核首次引入的高性能 异步 I/O 框架&#xff0c;能显著加速 I/O 密集型应用的性能。 但如果你的应用已经在使用 传统 Linux AIO 了&#xff0c;并且使用方式恰当&…...

Uniapp中使用`wxml-to-canvas`开发DOM生成图片功能

Uniapp中使用wxml-to-canvas开发DOM生成图片功能 在移动端开发中&#xff0c;生成图片是一个常见需求&#xff0c;例如用于分享海报、生成动态二维码等。在Uniapp框架中&#xff0c;我们可以通过wxml-to-canvas插件轻松实现将DOM转化为图片的功能。本文将详细介绍如何在Uniapp…...

Linux之ARM(MX6U)裸机篇----5.仿stm32的LED驱动实验

一&#xff0c;启动文件 .global _start .global _bss_start /* 类似宏定义把__bss_start定义为_bss_start */ _bss_start:.word __bss_start.global _bss_end _bss_end:.word __bss_end_start:#设置处理器进入SVC模式mrs r0, cpsr /* 读取cpsr到r0 */bic r0, r0, …...

DVWA靶场Open HTTP Redirect (重定向) 漏洞所有级别通关教程及源码审计

目录标题 Open HTTP Redirectlow源码审计 medium源码审计 high源码审计 impossible源码审计 Open HTTP Redirect HTTP 重定向&#xff08;HTTP Redirect Attack&#xff09;是一种网络&#xff0c;利用 HTTP 协议中的重定向机制&#xff0c;将用户引导至恶意网站或非法页面&am…...

探索 JMeter While Controller:循环测试的奇妙世界

嘿&#xff0c;宝子们&#xff01;今天咱们就来聊聊 JMeter 里超级厉害的 While 控制器&#xff0c;它就像是一把神奇的钥匙&#xff0c;能帮我们打开循环测试的大门&#xff0c;模拟出各种各样复杂又有趣的场景哦&#xff01; 一、While 控制器初印象 想象一下&#xff0c;你…...

Flutter踩坑记-第三方SDK不兼容Gradle 8.0,需适配namespace

最近需要集成Flutter作为Module&#xff0c;Flutter依赖了第三方库&#xff0c;Gradle是8.0版本。 编译报错&#xff1a; 解决办法是在.android根目录下的build.gradle下新增一行代码&#xff1a; buildscript {ext.kotlin_version "1.8.22"repositories {google()…...

ubuntu支持ssh

Ubuntu 默认是支持 SSH 的&#xff0c;但通常并不会在安装时启用 SSH 服务。为了能够远程连接到 Ubuntu 系统&#xff0c;需要安装并启动 SSH 服务器&#xff08;即 OpenSSH&#xff09;。以下是如何在 Ubuntu 系统中启用和配置 SSH 服务的步骤&#xff1a; 检查 SSH 是否已安…...

浏览器书签智能分类

浏览器书签智能分类工具 最近发现浏览器的书签越来越乱了&#xff0c;主要是因为自己太懒&#xff0c;其次之前建的分类太多又乱&#xff0c;重新手动整理确实比较烦。因此有了这个小项目。借助智谱AI的力量对书签进行重新分类。 项目简介 本工具用于自动整理浏览器书签&…...

通俗易懂的讲一下Vue的双向绑定和React的单向绑定

1.Vue 的双向绑定&#xff1a; <template><!-- 输入框和数据自动绑定&#xff0c;就像连体婴儿&#xff0c;一个动另一个也动 --><input v-model"message"><p>{{ message }}</p><!-- 完整表单示例 --><form><!-- 所有…...

Redis 深度解析:从入门到精通

引言 Redis 是一个开源的、高性能的键值存储系统&#xff0c;它支持多种数据结构&#xff0c;并且提供了丰富的功能和接口。作为内存数据库&#xff0c;Redis 以其快速的数据访问速度、灵活的数据模型以及持久化选项而闻名。本文将详细介绍 Redis 的核心概念、工作原理及其应用…...

基于物联网的冻保鲜运输智能控制系统

基于物联网的冻保鲜运输智能控制系统设计文档 1. 项目开发背景 随着全球化贸易的发展&#xff0c;冷链物流在现代运输行业中扮演着日益重要的角色。尤其是冻品、食品、药品等对运输环境有着严格要求的货物&#xff0c;其运输过程中温度、湿度等环境参数必须严格控制&#xff…...

【深度学习基础之多尺度特征提取】多尺度卷积神经网络(MS-CNN)是如何在深度学习网络中提取多尺度特征的?附代码(二)

【深度学习基础之多尺度特征提取】多尺度卷积神经网络&#xff08;MS-CNN&#xff09;是如何在深度学习网络中提取多尺度特征的&#xff1f;附代码&#xff08;二&#xff09; 【深度学习基础之多尺度特征提取】多尺度卷积神经网络&#xff08;MS-CNN&#xff09;是如何在深度…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...