数据包在网路中的传输【自己学习总结】

1 ARP协议

是一个地址解析协议,也就是说:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就是能够提供给该节点的MAC地址,基本功能就是:通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。


2 为啥要用ARP

因为协议在发送数据包时,源主机的应用程序知道目的主机的 IP地址和端口号,但是不知道目的主机的硬件地址,所以就需要一个ARP的缓冲表帮我们去找到这个Mac地址,

1)如果ARP缓存表中含有该目的主机的IP和对应的硬件地址,那数据包就转发出去

2)如果找不到该目的主机的IP和对应的硬件地址,则会广播给所有的交换机的端口,如果目标机对应于交换机的某个端口,它就产生一个相应;如果不是相应的端口,则把包丢掉

3 ARP协议的报文格式与字段

1)硬件类型  2字节

2)协议类型   2字节

3)硬件地址长度   1字节

4)协议地址长度    1字节

5)操作类型       2字节

6)源Mac地址    6字节

7)源IP地址    4字节

8)目的以太网地址     6字节

9)目的IP地址         4字节


总共28个字节,但是以太网的最小长度为46个字节,所以需要填充字节,最小填充字节的长度是18个字节

而以太网的数据包最小数据是60个字节,所以在上述的基础上还需要再填充


3 ARP协议的工作过程(ARP协议只工作局域网)

1)在局域网中,网络中实际传输的是帧的格式,里面包含:目标主机的MAC地址

2)在以太网中,主机在发送帧之前,就将目标主机的IP地址转换成目标主机的MAC地址

工作过程:

  • 当主机A向本局域网上的某个主机B发送IP数据包时,就现在自己的ARP缓存表中查看,是否有主机B的IP地址
  • 如果有,就可以查出其对应的MAC地址,再将此硬件地址写入MAC帧,然后通过以太网将数据包发送到目标主机
  • 如果查不到主机B的IP地址的表项,可能是主机B刚刚入网,或者是主机A刚刚加电,其高速缓存区是空的,在这种情况下,主机A会自动的运行ARP。

4 ARP缓冲表

有四种操作:学习、老化、更新、表满


猜你喜欢

转载自blog.csdn.net/strive_0902/article/details/80450776
今日推荐