数据包转发过程

  • 格式:docx
  • 大小:44.21 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

路由器转发数据包过程详解

(2010-05-22 20:59:09)

转载

标签:

分类:学习交流

路由器

数据包转发

it

主机PC1向主机PC2发个数据包,中间经过B路由器,请问源地址和源MAC是怎么变化的?

答:就假设拓扑图是这个样子吧:PC1-----(B1-B2) -------PC2

B1和B2是路由器B上的两个接口, PC1和PC2是PC,由主机PC1向主机PC2发送数据包,那么在主机PC1形成的数据包的目的IP就是PC2的IP,源IP就是主机PC1的IP地址,目标MAC地址就是B1的MAC地址,源MAC地址就是PC1的MAC地址。

转发过程:假如是第一次通信PC1没有PC2的ARP映射表

PC1在本网段广播一个数据帧(目的MAC地址为:FFFF:FFFF:FFFF:FFFF)帧格式为:

段的路由。此时路由器给PC1回复一个应答数据包,告诉PC1自己的MAC地址就是PC1要通信的PC2主机的MAC地址。而此时PC1建立ARP映射表,将该MAC地址(即路由器的B1接口)与PC2的IP地址建立映射关系。实际上是路由器对其进行了“欺骗”。

其应答数据帧格式为:

对于路由器B同样建立了自己的ARP映射表:将PC1的MAC地址与PC1的IP地址映射。

数据包在流出B2接口的时候其数据包的帧格式为:

PC2所在的网段各主机将自己的IP地址与数据包中的目的IP地址比对。若符合则将自己的MAC地址替换上广播MAC地址,并回复该数据帧:

的对应关系调出来。将PC1的MAC地址覆盖路由器B2接口的MAC地址。另一方面路由器更新ARP映射表,将PC2的MAC地址与PC2的IP地址映射。

此时流出路由器B1接口的数据包的帧格式为:

地址建立对应关系。

此后每次通信时由于PC1要与PC2通信时。由于PC1已经建立了到PC2IP地址的ARP映射,所以下次要通信时直接从本地ARP调用。

简单说一下,网络设备间(包括设备之间和计算机之间)如果要相互通信的话必需经过以下这几个步骤:

(以TCP/IP协议通信为例)

1、发送端的应用程序向外发出一个数据包。

2、系统判断这个数据包的目标地址是否在同一个网段之内。

3、如果判断出这个数据包的目标地址与这台设备是同一个网段的,那么系统就直接把这个数据包封装成帧,这个数据帧里面就包括了这台设备的网卡MAC地址,然后这个帧就直接通过二层设备(也就是大家说的不带路由的交换机/HUB之类的~^-^)发送给本网段内的目标地址。

4、如果这个数据包的目标地址不在这个网段,系统就把这个数据包转发给网关!网关收到之后经过重新封装,再重复这一步,把数据转发给其它网段,以此类推,广域网就是这样建立起来的!

这里的网关可以是大家所熟悉的代理PC、路由器,三层交换机、防火墙等~

作者:要死掉啦回复日期:2003-1-322:13:33

宫本大哥的贴也有说明:

什么是网关?有什么用?

真正意义上的网关实际上是一个应用层的设备。实际上在我们现在的网络中,它只表示一个网络的出口。

在一个网络中,机器A要发一个数据包给机器B,这时A要比较B的机

器的IP和自己在不在同一个网络中,如果在,那么数据包直接被发送出去,如果

不在,那么A会把机器送到网关,如果没有设网关,那么机器A就会把这个数据

包丢弃掉。

还是以学校为例,网关就像是我们每个教室的门一样,出了这个教室门,我们就可以到另外一个班。当我要送东西给一个同学时,这个同学如果在我们班里,我就可以直接送给他,如果他不在我们班,那么我就要走出教室门,如果没有教室门,那我就把东西丢了。

作者:宫本不赢回复日期:2003-1-322:30:11

我在我的网络基本知识的讲座中说得不够精确,实际上:在一个网络中,机器

A要发一个数据包给机器B,那么A会先检查路由表,如果路由表里有到目标地

址的路由,就会根据路由把数据发送出去,如果路由表里没有,就会把数据送到网关,如果没有设网关,那么机器A就会把这个数据包丢弃掉。我估计你能访问内

网是因为你的路由表里有到你内网的路由,所以它并不通过网关。

作者:南方懒猫回复日期:2003-1-322:31:58

理论地东东说完了。

请说点实际的东东了~~~~

5、当一个网关(三层设备)收到另一个网段送上来的数据包,就马上打开它,

并找出这个数据包送达的目标IP地址。

6、系统根据这个IP地址,查找自身的路由表,决定这个数据包应该由哪个端口转发出去才能最快的到达目标。

7、当设备决定好了数据转发的最佳路径,就重新把这个数据包进行封装,继

续转发给下一个路由器。

8、当数据包经过以上几个步骤发送与转发,终于到达了目标网段之后,也就

是在最后的一个网关设备那里。网关设备打开这个送到的数据包并分析其中的目标IP。

9、网关设备得知送到的这个数据包正是在本网段之后,就马上查找内部的MAC表。找到IP与MAC的对应关系,重复步骤3,把这个数据包封装成帧,最

终将这个数据包送到目标机器的网卡上!

10、目标主机的网卡收到网关设备发送过来的这个数据包。验证之后,将其传送给最高层,即:应用程序。

至此,整个通信过程就这样建立起来了~~

∙漫谈三层交换机技术工作原理

∙ 2010-03-16 15:54 佚名电子产品世界我要评论()

有关三层交换机技术工作过程的简单概括可以总结为:简洁的路由软件使路由过程简化,使我

们的工作变得更加的游刃有余。

大家都知道三层交换机适用于一些小型的局域网络和一些中小型的企业,这个就不用在这里做过多的介绍了,那么下面就向大家介绍下有关三层交换机技术,相信这是许多用户日常中可以用的到的。

三层交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。