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

计网Lesson5 - MAC 地址与 ARP



M A C MAC MAC 地址

1. M A C MAC MAC 地址的格式

  • 每个网卡都有一个 6 6 6 字节的 M A C MAC MAC 地址结构
  • M A C MAC MAC 查询
    • O U I OUI OUI:https://standards-oui.ieee.org/oui/oui.txt
    • https://mac.bmcx.com/

MAC表示

1> Windows用-,类Unix用:
2> 当 48 48 48 位全为 1 1 1 时,代表广播地址: F F − F F − F F − F F − F F − F F FF - FF - FF - FF - FF - FF FFFFFFFFFFFF


2. M A C MAC MAC 地址的获取

  • 当不知道对方主机的 I P IP IP 时,我的主机会发出一个 A R P ARP ARP 包进行广播

    • 若我俩不在同一网段,我会获取我的网关的 M A C MAC MAC 地址,然后把网络层的 I C M P ICMP ICMP 数据包直接丢给我的网关
    • 我的网关再根据目标的网段,广播 A R P ARP ARP 包找到对应机器的 M A C MAC MAC 地址然后发送包
      • 其实在发送 A R P ARP ARP 包的时候路由器的数据队列中的 I C M P ICMP ICMP 包已经被丢掉了,所以需要发送端重发数据
      • 实际情况是多路由,那么路由器所得到的 M A C MAC MAC 地址其实是通过最短路算法算出的跟目标机有关的最近的路由器的 M A C MAC MAC 地址,然后再由它中转最后兜兜转转找到目标机。所以说当我们更改了 M A C MAC MAC 地址后,我们是收不到发往改后 M A C MAC MAC 地址的消息的,因为路由器中没有记录,需要经过 A R P ARP ARP 包的重新校验后才能回归正常 数据包
    • 获取成功后,发送端会缓存对方的 I P IP IP 地址和 M A C MAC MAC 地址,俗称: A R P ARP ARP缓存
    • 通过 A R P ARP ARP 所获得的 M A C MAC MAC 地址是动态的(dynamic),有时效性(默认 2 m i n 2min 2min
  • 相关命令

    • arp -a [ I P IP IP]: 查询 A R P ARP ARP 缓存
    • arp -d [ I P IP IP]: 删除 A R P ARP ARP 缓存
    • arp -s I P IP IP M A C MAC MAC:增加一条静态缓存,绑定了一个 I P IP IP M A C MAC MAC

3. A R P ARP ARP 协议

A R P ARP ARP 协议的全称是 A d d r e s s R e s o l u t i o n P r o t o c o l Address Resolution Protocol AddressResolutionProtocol(地址解析协议),它是⼀个通过用于实现从 I P IP IP 地址到 M A C MAC MAC 地址的映射,即询问目标 I P IP IP 对应的 M A C MAC MAC 地址 的⼀种协议。

现在在主机 A A A B B B 处在同一网段同一链路内,不经过路由器的转换,二者互不认识。

  • 现在 A A A 想向 B B B 发送数据,这时候该怎么办?
    • A A A 开始广播一个 A R P ARP ARP 请求,所有链路上的主机都会接收到这个包并进行解析,如果包中的 I P IP IP 地址与自己的相同,那么就会将自己的 M A C MAC MAC 地址写入响应包然后返回给 A A A

4. A R P ARP ARP 缓存

  • 通过 A R P ARP ARP 缓存,降低了网络流量的使用,在一定程度上防止了广播风暴
  • 不仅发送端有 A R P ARP ARP 缓存表,接收端也有 A R P ARP ARP 缓存表
  • 不过表的容量有限,超过这个限度就会清除

1
2
3


5. R A R P RARP RARP

rarp


http://www.kler.cn/news/161022.html

相关文章:

  • 51单片机程序
  • 使用广播机制将for循环转为矩阵运算
  • matlab 点云放缩变换
  • [linux] 解压缩xz
  • 高精度加法,减法,乘法,除法(上)(C语言)
  • Doris 编译错误 error: No best alternative for libs/context/build/asm_sources
  • Python计算两个给定单词之间相同字符的数量
  • methods
  • kafka3.6.0部署
  • 分享一个基础面试题---手写call
  • UDP Socket API 的讲解,以及回显服务器客户端的实现
  • 如何在Linux上部署1Panel运维管理面板并远程访问内网Web端管理界面
  • 图像瞎总结
  • 深入了解MySQL临时表的使用和优势
  • 简谈PostgreSQL的wal_level=logic
  • RT_Thread_使用FAL组件配置stm32f407片上flash读写
  • 亚马逊云科技re:Invent,生成式AI正在彻底改变开发者的工作方式
  • 无与伦比的夜景增强技术解决方案
  • 【智能家居】二、添加火灾检测模块(烟雾报警功能点)
  • 普华永道:国有企业要动态布局和管理供应商资源池
  • 【c】杨辉三角
  • FreeRTOS系统延时函数分析
  • Large Language Models areVisual Reasoning Coordinators
  • 优思学院|六西格玛质量管理的工具、方法和手段
  • 在Spring Boot中使用JavaMailSender发送邮件
  • 概念理论类-k8s :架构篇
  • UML图部分总结
  • 练习-java输入输出之文件字节io流之合并文件
  • leetcode:93. 复原 IP 地址
  • 要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 21 章:课程学习提示