网络中数据的传输
2018-12-07 本文已影响0人
梦落迹南天
之前在理解vip的时候卡在了一些网络问题,发现不清楚数据是如何从网络层到数据链路层,以及到物理层的一步步传输的,看了点资料,加点猜测一个包的具体传输过程。

数据经过传输层(TCP/UDP)后被包装成传输帧之后,头部携带有源端口和目的端口,经由IP传输层装帧之后,头部就有了源/目的IP,经过ARP协议,在局域网内发送arp报文,查询出IP对应的MAC地址,经由数据链路层装帧成为以太帧之后,头部有了源头/目的mac地址,最终,报文最终在物理层传输,在数据链路广播传输过程中,设备的网卡对链路上的包截取,通过匹配目的MAC地址是否与本机相同,进而决定是否要接收该包
在数据链路层的传输过程,比较具体的可以参考网卡的工作机制
而对于一个主机获取IP的过程,猜测有两种,第一种是发送广播某种报文,向交换机/路由器获取了IP,路由器从其拥有的IP池中选择一个出来,分发给该主机,将该IP与MAC地址进行绑定,对内部网络,同时广播发送arp更新报文,通知同网段的主机更新该ip对应的mac缓存,而对外部网络,路由过来的IP包通过路由器上的IP条项查到对应mac地址后,进行转发即可。第二种,自己设定的IP,这种应该是设定完了之后,向路由器/网关发报文说,这个IP我使用了,该IP如果未分配就分配给他,然后进行arp更新,如果分配了,不清楚具体的处理方式是如何。