zoukankan      html  css  js  c++  java
  • 第四章: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,最后把它发送回去。

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

  • 相关阅读:
    开放就像死亡访问之后就能回头——Leo鉴书84
    将博客搬至CSDN
    将博客搬至CSDN
    滚动条
    Perl Pack写的一个数据报表程序
    利用hash 数组打印标题
    Linux显示只显示目录文件
    Linux显示按文件名降序文件
    Linux显示以时间生升序显示文件
    Linux显示按文件大小降序排列
  • 原文地址:https://www.cnblogs.com/codergeek/p/3477777.html
Copyright © 2011-2022 走看看