路由器转发数据包封装过程

HostA要通讯HostB首先要通过网关,现在还有没有网关的mac地址,这样就会发生ARP广播,这时

源IP:192.168.1.2/24
源mac地址:00-11-12-21-11-11
目标IP:192.168.1.1/24
目标mac地址:FF-FF-FF-FF-FF-FF

ping包过来,E0端口会回应HostA自己的mac地址,而后再回发送一个ping包

源IP:192.168.1.2/24,这时
源mac地址:00-11-12-21-11-11
目标IP:192.168.2.2/24
目标mac地址:00-11-12-21-22-22

ping包过来E0检查目标mac地址然后拆分,然后路由表会让你走E1

没有源mac就会丢包,E1端口就会触发ARP广播,这时
源IP:10.1.1.1/8
源mac地址:00-11-12-21-33-33
目标IP:10.1.1.2/8
目标mac地址:FF-FF-FF-FF-FF-FF

B的E1端口先拆包看目标IP然后给回应,把自己mac反馈给E1,E1进行缓存,HostA第二个ping包到E1,E1进行查看是不是自己,这时

源IP:192.168.1.2/24
源mac地址:00-11-12-21-33-33
目标IP:192.168.2.2/24
目标mac地址:00-11-12-21-44-44

到达B路由器,查看路由表是E0,然后缺少HostB的mac地址,ping包丢失,E0触发ARP,这时

源IP:192.168.2.1/24
源mac地址:00-11-12-21-55-55
目标IP:192.168.2.2/24
目标mac地址:FF-FF-FF-FF-FF-FF

HostB看目标是自己,给回应,把自己HostB的mac地址给HostBE0端口,HostA发第三个ping包就到了。

————————————————
版权声明:本文为CSDN博主「我本善良3000」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45693462/article/details/102593749

原文地址:https://blog.51cto.com/14560529/2443046

时间: 2024-07-30 17:41:50

路由器转发数据包封装过程的相关文章

路由器转发数据包的封装过程

如图,Host A 向Host B 发送数据,路由器会对数据包的封装如下.1.Host A 在网络层将上层的数据封装成IP数据包,其首部包含了源地址和目的地址.源地址本机的IP 192.168.1.2,目的地址为192.168.2.2.在数据链路层将上层的数据封装成数据帧,源地址的Mac地址为 00-11-12-21-11-11 目的Mac地址不知道,Host A通过ARP协议广播想要获取Host B 主机mac地址,获得A路由器的E0接口MAC地址 00-11-12-21-22-22.这时在以

互联数据包封装和解封装过程

一.互联数据包封装/解封装过程(OSI) 一言不合来张图: 注意:1.mac地址只在本地有效,通过路由器传输过程中,mac地址会发生改变2.路由器根据路由表识别目标IP地址网段信息,确认是否可以进行转发,或是进行数据包的丢弃 二.TCP/IP协议簇(DOD) 1.tcp和udp对比: tcp:传输控制协议(属于面向连接网络协议)同步传输--"在线"速度慢,安全如:WEB浏览器 电子邮件 文件传输程序udp:用户数据报协议(属于无连接传输协议)异步传输--"离线"速度

TCP/IP协议栈与数据包封装+TCP与UDP区别

ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型.ARPANET是由美国国防部(U.S.Department of Defense,Do

路由转发重与封装过程

1)hostA把上层报文封装成IP数据包,发送给HOSTB  通过子网掩码和IP地址的与运发发现不在同一个网段只能通过路由转发. 2)HOSTA通过ARP请求得到E0口的MAC地址,并且把数据转发给RA路由器,源MAC就是HOSTA的MAC,目标是E0的MAC. 3)RA得到这个数据以后,把数据链路层的封装去掉,然后通过的下一跳地址把数据包转发给E1. 4)E1口路由器A重新封装数据帧,这时候源MAC地址为RAE1的,目标位RBE1. 5)路由器B接收到数据帧以后把数据链路层封装同样去掉,对目标

sk_buff封装和解封装网络数据包的过程详解

可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体进行的,它的重要性和BSD的mbuf类似(看过<TCP/IP详解 卷2>的都知道),那么sk_buff是什么呢?       sk_buff就是网络数据包本身以及针对它的操作元数据.       想要理解sk_buff,最简单的方式就是凭着自己对网络协议栈的理解封装一个直到以太层的数据帧并且成功发送出去,个人认为这比看代码/看文档或者在网上搜资料强多了.当然,网上已经有了大量的这方面的

sk_buff封装和解封装网络数据包的过程详解(转载)

http://dog250.blog.51cto.com/2466061/1612791 可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体进行的,它的重要性和BSD的mbuf类似(看过<TCP/IP详解 卷2>的都知道),那么sk_buff是什么呢?       sk_buff就是网络数据包本身以及针对它的操作元数据.       想要理解sk_buff,最简单的方式就是凭着自己对网络协议栈的理解封装一个直到以太层的数据帧并且成功发

OSI互联数据包封装与解封装

当我们在七层协议最上层,主机A想和其它主机通信, 比如telnet到主机B,各层都为数据打包后再封装上自己能识别的数据标签,现在我们只说四层以下的通信过程. 1.当一个高层的数据包到达传输层,由于telnet使用TCP协议,传输层将上层传过来的数据不变再封装TCP的包头以便目标主机可以正确解包,继续向下层(网络层)传递. 2.网络层同样不会改变之前的数据包,当然也包括之前封装的任何包头,首先主机A要对目标主机作判断,他会用自己的IP地址和自己的子网掩码进行与运算结果是172.16.12.0,然后

linux Scapy 进行arp数据包详细过程

[email protected]:~# scapyWARNING: No route found for IPv6 destination :: (no default route?)INFO: Can't import python ecdsa lib. Disabled certificate manipulation toolsWelcome to Scapy (unknown.version) >> a=Ether()/ARP()>> a.show()###[ Ether

路由器的工作原理,路由表形成,静态路由器原理解封装过程,实际操作(重点5,网路小白必备精品知识)

一.路由器概述主机A想发数据给主机B,这个时候路由器就会选择最佳的相对路径到达主机B,我们把中间这几个路由器看成是一个互联网.二.路由器的工作原理主机A想要给主机B发送数据,必须要有路由表,在网络上主机A和B的地址,路由表当中网段和接口.我们一步步看一看数据是怎么到达主机B的.数据通过S0口到达A路由器,这个时候它查看路由表当中的目标IP网段.这个时候它还是根据目标IP地址去寻找最后这个数据会通过二层数据链路层到我们的主机B,详细讲解请看我之前的博客.三.路由表是怎么形成的首先这是我们新买来的两