tcp报文路由传输过程

以太网报文封装:

1、以太网报文结构:src_mac,dst_mac,vlan号(非必须),网络层协议号

2、src_mac,dst_mac均是通过路由或arp决定,a、arp学到目的ip地址所在的remote_mac地址,则:src_mac=local_mac(学习网口),dst_mac=remote_mac;b、arp没有学习到remote_mac地址,则通过路由查看目标ip的所在gw,将dst_mac=gw_mac即可

报文路由发送:

1、本机客户端封装好以太网报文后通过src_mac将报文写入对应的网卡缓存中

2、下一跳gw即路由器收到该报文后,发现mac地址是自己,但是ip地址不是自己,根据路由表将dst_mac替换成路由器的下一         跳 gw1_mac;  同时将报文中的src_mac替换成自己的gw_mac

3、路由器重复第二步直至发送到目的ip所在的服务器,路由器不修改数据,仅作路由mac地址替换,服务器回复报文同理,可以通过ip层的TTL值可以判别出报文经过几跳。

 

             ip_addr                        mac_addr                    route     gw             ethX    arp
client:   10.43.85.162[eth5]   00:22:93:75:A2:43  10.0.0.0/8  10.43.85.1  eth5  10.43.85.1  00:19:c6:01:f6:9b  eth5
client_gw:10.43.85.1               00:19:c6:01:f6:9b  //路由器
sever_gw:10.43.42.1              00:d0:d0:c2:14:23  //路由器
server:     10.43.42.199[eth5]  00:22:93:71:DC:35  10.0.0.0/8  10.43.42.1  eth5 10.43.42.1   00:d0:d0:c2:14:23 eth5
 

客户端配置:

tcp报文路由传输过程

客户端SYN报文发送:

tcp报文路由传输过程

客户端SYN+ACK报文接受:

tcp报文路由传输过程

服务器配置:

tcp报文路由传输过程

服务器收到SYN报文:

tcp报文路由传输过程

服务器发送ACK报文:

tcp报文路由传输过程

上一篇:迁移卷组后记


下一篇:C++ static_cast、dynamic_cast、const_cast和reinterpret_cast(四种类型转换运算符) 强烈推荐