• 第四章:ARP 地址解析协议


    网络接口有一个硬件地址,48bit的值,在硬件层次上进行的数据帧交换必须有正确的接口地址.tcp/ip有自己的地址,32bit的IP地址.

    但是知道主机的IP地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。

    arp的功能就是在32bit的ip地址和硬件地址之间提供动态映射。

    为什么点对点链路不使用arp呢?

    详细来解释下arp分组格式内容以及各个字段:

      前两个字段是以太网目的地址和以太网源地址,目的地址为全1的地址是广播地址。

      2个字节的帧类型,对于arp请求或者arp应答来说,该字段的值是0x0806

      硬件类型字段表示硬件地址的类型,1表示以太网地址,协议类型字段表示要映射的协议地址类型,0x0800表示ip地址。

      硬件地址长度和协议地址长度,分别指出硬件地址和协议地址的长度,以字节为单位。

      操作字段指出四种操作类型,他们是arp请求(1),arp应答(2),rarp请求(3),rarp应答(4)。

      接下来四个字段分别是发送端的硬件地址、发送端的协议地址、目的端的硬件地址、目的端的协议地址。

      注意:对于一个arp请求来说,除目的端硬件地址以外的所有其他的字段都有填充值。当系统受到一份目的端为本机的arp请求报文后,

      它会把自己的硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段设置成2,最后把它发送回去。

      ----未完待续----

  • 相关阅读:
    计算机思维
    easyui增删改查前段代码
    文本相似度分析
    布隆过滤器
    SQL Server事务
    堆排序(Heapsort)
    游标
    存储过程
    触发器
    Thread部分总结以及小例子
  • 原文地址:https://www.cnblogs.com/codergeek/p/3477777.html
Copyright © 2020-2023  润新知