局域网内与局域网间主机间通信

个人理解,要理解主机之间通信原理 就是理解 数据包在两台主机之间的封装和解封装过程

 一.局域网间主机通信

(1)源主机在发起通信之前,将自己的IP地址与目的主机的IP地址进行比较,如果源主机判断目的主机与自己位于不同网段时,它需要通过网关来递交报文的,所以它首先需要通过一个ARP请求报文获取网关的MAC地址(在源主机不知道网关MAC地址的情形下),即源主机先发送ARP请求帧以获取网关IP地址对应的MAC地址。   

(2)网关在收到源主机发来的ARP请求报文后以一个ARP应答报文进行回应,在应答报文中的“源MAC地址”就包含了网关的MAC地址。

(3)在得到网关的ARP应答后,源主机再用网关MAC地址作为报文的“目的MAC地址”,以源主机的IP地址作为报文的“源IP地址”,以目的主机的IP地址作为“目的IP地址”,先把发送给目的主机的数据发给网关。

(4)网关在收到源主机发送给目的主机的数据后,由于查看得知源主机和目的主机的IP地址不在同一网段,于是把数据报上传到三层交换引擎(ASIC芯片),在里面查看有无目的主机的三层转发表。

(5)如果在三层硬件转发表中没有找到目的主机的对应表项,则向CPU请求查看软件路由表,如果有目的主机所在网段的路由表项,则还需要得到目的主机

的MAC地址,因为数据包在链路层是要经过帧封装的。于是三层交换机CPU向目的主机所在网段发送一个ARP广播请求包,以获得目的主机MAC地址。

(6)交换机获得目的主机MAC地址后,向ARP表中添加对应的表项,并转发由源主机到达目的主机的灵气包。同时三层交换机三层引擎会结合路由表生成目的主机的三层硬件转发表。

猜你喜欢

转载自blog.csdn.net/jiangjunlanzhoulan/article/details/81262288