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

hcia datacom课程学习(5):MAC地址与arp协议

1.MAC地址

1.1 含义与作用

(1)含义:

mac地址也称物理地址,是网卡设备在数据链路层的地址,全世界每一块网卡的mac地址都是唯一的,出厂时烧录在网卡上不可更改

(2)作用:

在一个ip网段(广播域)内,寻找网卡设备

(3)结构

1.2 以太网帧

2.arp协议

2.1作用

arp协议用于寻找目的IP地址对应的Mac地址。

2.2 arp缓存表

*每一个计算机或路由器中都有一个ARP缓存表,也就是IP地址与Mac地址的映射表。

*ARP 缓存表只会存储局域网内的设备信息,这些设备包括但不限于计算机、交换机、路由器

*使用命令 arp -a 可以查看ARP地址缓存表,使用命令 arp -d 可以清空ARP地址缓存表

2.3工作流程

2.3.1局域网内

计算机会判断目的IP地址是否是同网段的IP,如果是同网段,则在局域网内查询。

(1)机先在自己的ARP地址表中查询目的IP地址

如果ARP地址表能查询到,就会获取IP地址对应的Mac地址,将信息发送到这个Mac地址对应的计算机中;

如果ARP地址表中查询不到,就会在局域网内广播请求,请求的内容中带有源IP地址和目的IP地址。局域网内所有的设备都会收到广播请求。

(2)目标主机回复

局域网内的主机收到arp请求后,会判断arp请求中的IP地址是不是自己的,如果不是,就不理会。

如果是,则会通过单播的方式,将自己的IP地址和Mac地址,响应给发出请求的计算机;

发出请求的计算机接收到目标主机的IP地址和Mac地址后,会将其添加到自己的ARP缓存表中,然后根据Mac地址,将数据发送给对方。

2.3.2 局域网外

(1)路由器间的转发

如果计算机判断出目标ip不在局域网内,就会通过路由器与局域网的连接口(网关),将数据发送给路由器(路由器的每个接口都有对应的IP地址和Mac地址),该路由器再将信息发送到目标主机所在局域网的路由器上。

(2)路由器找到目标主机

与前述的流程一样,目标主机的路由器收到信息后,也会先检查自己的ARP地址表。如果有目标IP地址,就直接发送信息。如果没有目标IP地址,则会在局域网内广播

2.4 arp报文格式

arp报文的格式如下图:

ARP协议是个独立的三层协议,并不需要IP协议封装,而是直接生成自己的报文,到达数据链路层后,由数据链路层协议进行封装,一般是以太网协议。

封装的过程,就是在ARP报文的前面加上以太网帧头,再加上4字节的冗余校验码结尾,校验码用于检验数据传输是否出现损坏。

|如果arp报文中的目的ip地址与源ip地址相同,就称为免费arp,用于检测局域网内是否有ip地址冲突。

2.5 arp欺骗

什么是arp欺骗icon-default.png?t=N7T8https://blog.csdn.net/wjz110201/article/details/124596009?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171168060916800226541611%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171168060916800226541611&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-124596009-null-null.142%5Ev100%5Epc_search_result_base8&utm_term=arp%E6%AC%BA%E9%AA%97&spm=1018.2226.3001.4187

http://www.lryc.cn/news/330214.html

相关文章:

  • unbuntu mysql8.0新建用户及开启远程连接
  • Intel FPGA (1):线性序列机
  • 翻译: 硅谷软件工程师面试:准备所需的一切
  • 视频推拉流EasyDSS点播平台云端录像播放异常的问题排查与解决
  • kubuntu23.10安装sdl2及附加库和 sfml2.5.1
  • Centos JDK1.8 下载安装
  • iOS开发进阶(十四):xcodebuild 命令应用详解
  • uniapp 开发之原生Android插件
  • 构建第一个JS应用(FA模型)
  • 物联网学习2、MQTT 发布/订阅模式介绍
  • docker--部署 (超详版) (五)
  • 谷粒商城——通过接口幂等性防止重复提交订单
  • 谈谈MVCC机制
  • Linux之用户账号、用户组和与账号有关的系统文件
  • mac 安装 pip,如果你的电脑已经有 python3
  • java 枚举
  • Java学习之类和对象、内存底层
  • 递归遍历目录结构和树状展现
  • 【C++的奇迹之旅(二)】C++关键字命名空间使用的三种方式C++输入输出命名空间std的使用惯例
  • 如何通过针对iOS的动态分析技术绕过反调试机制
  • 33.Python从入门到精通—Python3 正则表达式 re.match函数 re.search方法 re.match与re.search的区别
  • 便携式气象站是什么
  • AIGC重塑金融:AI大模型驱动的金融变革与实践
  • TP4054替代DP4054锂电池供电电路保护方案
  • 前端JS商品规格组合
  • ⾃定义类型:联合和枚举
  • Spring IOC控制反转、DI注入以及配置
  • RabbitMQ的部分模式
  • 提取单选框的值,并通过ajax传值到后台
  • Django创建多app应用