IIILinux系统编程_36TCP/IP协议基础_3ARP数据报格式.doc

IIILinux系统编程_36TCP/IP协议基础_3ARP数据报格式.doc

ID:48255922

大小:72.50 KB

页数:2页

时间:2019-11-22

IIILinux系统编程_36TCP/IP协议基础_3ARP数据报格式.doc_第1页
IIILinux系统编程_36TCP/IP协议基础_3ARP数据报格式.doc_第2页
资源描述:

《IIILinux系统编程_36TCP/IP协议基础_3ARP数据报格式.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第36章TCP/IP协议基础3.ARP数据报格式在网络通讯时,源主机的应用程序知道目的主机的ip地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硕件地址与本机不符,则盲接丢弃。因此在通讯前必须获得目的主机的硕件地址。ARP协议就起到这个作用。源主机发岀ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播),目的主机接收到

2、广播的ARP请求,发现其中的IP地址与木机相符,则发送一个ARP应答数据包给源主机,将自己的顽件地址填写在应答包中。每台主机都维护一个ARP缓存表,可以用arp-a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求來获得目的主机的硬件地址。想一想,为什么表项要有过期时间而不是一直有效?ARP数据报的格式如下所示(该图出自[TCPIPl):图36.7.ARP数据报格式以太网冃的地址以太网游:地址帧类型碘件i协议r[诜型op发

3、送端以太网地址发送端1P地址冃的以太网白的IP地址662221126464以太网首部28字节ARP请求/应签f谀件地址K度r*协议地址长度注意到源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况是多余的,但如果链路层是其它类型的网络则有可能是必要的。硬件类型指链路层网络类型,1为以太网,协议类型指要转换的地址类型,0x0800为IP地址,后面两个地址长度对于以太网地址和IP地址分别为6和4(字节),op字段为1表示ARP请求,op字段为2表示ARP应答。下

4、面举一个具体的例子。请求帧如下(为了清晰在每行的而面加了字节计数,每行16个字节):以太网首部(14字节)0000:ffffffffffff00055d6158a80806ARP帧(28字节)0000:00010010:08000604000100055d6158a8cOa800370020:000000000000cOa80002填充位(18字节)0020:007731d250100030:fd7841d30000000000000000以太网首部:口的主机采用广播地址,源主机的MAC地址是0

5、0:05:5d:61:58:a8,上层协议类型0x0806表示ARPoARP帧:硕件类型0x0001表示以太网,协议类型0x0800表示IP协议,硕件地址(MAC地址)长度为6,协议地址(IP地址)长度为4,op为0x0001表示请求目的主机的MAC地址,源主机MAC地址为00:05:5d:61:58:a8,源主机IP地址为c0a80037(192.168.0.55),目的主机MAC地址全0待填写,目的主机IP地址为cOa80002(192.168.0.2)。由于以太网规定最小数据长度为46字节

6、,ARP帧长度只有28字节,因此有18字节填充位,填充位的内容没有定义,与具体实现相关。应答帧如下:以太网首部0000:00055d6158a800055da1b8400806ARP帧0000:00010010:08000604000200055da1b840cOa800020020:00055d6158a8cOa80037填充位0020:007731d250100030:fd7841d30000000000000000以太网首部:0的主机的MAC地址是00:05:5d:61:58:a8,源主机

7、的MAC地址是00:05:5d:a1:b8:40,上层协议类型0x0806表示ARPoARP帧:硬件类型0x0001表示以太网,协议类型0x0800表示IP协议,硬件地址(MAC地址)长度为6,协议地址(IP地址)长度为4,op为0x0002表示应答,源主机MAC地址为00:05:5d:a1:b8:40,源主机IP地址为cOa80002(192.168.0.2),目的主机MAC地址为00:05:5d:61:58:a8,目的主机IP地址为cOa80037(192.168.0.55)。思考题:如果源

8、主机和目的主机不在同一网段,ARP请求的广播帧无法穿过路由器,源主机如何与目的主机通信?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。