交换机和路由器的数据包转发流程简述

转载 2016年08月31日 15:07:27

当交换机收到一个数据包时;
交换机会将这个数据包包头的目的MAC信息提取出来,与自身的MAC地址表比较;
情况一:如果找到对应项,则按MAC表进行转发;
情况二:如果没找到对应项,则在除了接收到数据包以外的所有端口进行转发(广播);

解释:MAC地址表 是MAC地址与端口对应的关系表;即某个MAC地址连接在某个端口;
问题:当情况二发生时,需要在其他所有端口进行广播(这样做其实很不好),这个广播会到什么地方结束呢?答:——路由器。

为什么到路由器就会结束了呢?
路由器接收到一个数据包时,工作过程如下:
首先提取数据包头的目的MAC信息,与自身MAC表比较:
情况一:如果找到对应项,则按MAC表进行转发(与交换机一样);
情况二(亮点来了):如果没找到则提取数据包头的目的IP信息,则与自身的路由表进行比较(又分两种情况)
      情况二。1找到了对应的路由表,则按着路由表转发(与查到MAC表很像啊)。
      情况二。2没找到对应路由表,则按着缺省路由转发(发现了吗自始自终没有出现过广播)

解释:路由表和MAC的区别在于,路由表存放的是目的IP下一步要去的地方的IP。

广播在路由器能够结束,原因就是路由器会在查找不到对应MAC表时,根据目的IP进行路由。路由过程的两种情况都不存在广播。


文章转载自:http://blog.csdn.net/liuaibing/article/details/7263106


网络设备之间通信经过以下几个步骤:

1.发送端的数据向外发送一个数据包;

2.系统判断这个数据包的目标地址是否在同一个网段;

3.若与发送机属于同一网段,系统直接将数据包封装成帧,通过二层设备发送到本网段内的目标地址;

4.若不在同一网段,系统将数据包转发到网关,重新封装;

5.网关查看数据包送达的目标ip地址;

6.系统根据目标ip地址查找路由表,决定转发端口;

7.重新封装转发到下一个路由器;

8.网关发现目标地址属于本网段,查找MAC表(ipmac对应关系),封装成帧发送到目标机器网卡;

9.目标主机验证后传送给上层应用。


IP数据包到路由器之后,它首先要读去IP包头的目标IP地址,然后查看路由表,根据路由协议算法,确定一条最佳的路径,为什么要这样做呢,那是因为要确定这个数据包应该从路由器上的那个接口上转发出去,很明显路由的每一条可用的路由都和路由嚣上的接口是对应的,就这样一个数据包就离开了这个路由器。事情就是这样。看见楼上有一个不太正确的说法,IP数据包头里的源IP和目标IP都不会被改变,如果改变数据包不可能到达或者回来,但只有一种情况,源和目标IP是被改变的,那就是NAT.

路由器转发数据包不会对它的IP源地址和目标地址做修改,只会修改MAC.

具体路由器转发规则如下:

当主机A发向主机B的数据流在网络层封装成IP数据包,IP数据包的首部包含了源地址和目标地址。主机A会用本机配置的24位IP网络掩码255.255.255.0与目标地址进行与运算,得出目标网络地址与本机的网络地址是不是在同一个网段中。如果不是将IP数据包转发到网关。

在发往网关前主机A还会通过ARP的请求获得默认网关的MAC地址。在主机A数据链路层IP数据包封装成以太网数据帧,然后才发住到网关……也就是路由器上的一个端口。

当网关路由器接收到以太网数据帧时,发现数据帧中的目标MAC地址是自己的某一个端口的物理地址,这时路由器会把以太网数据帧的封装去掉。路由器认为这个IP数据包是要通过自己进行转发,接着它就在匹配路由表。匹配到路由项后,它就将包发往下一条地址。

路由器转发数据包就是这样,所以它始终是不会改IP地址的。只会改MAC.

当有数据包传到路由器时,路由器首先将其的目的地址与路由表进行对比,如果是本地网络,将不会进行转发到外网络,而是直接转发给本地网内的目的主机,改变的只是数据包的源地址,(原源地址MAC变为了路由器的MAC);当然其中的过程关系到相关的协议的使用,像什么ARP,IP等。但是如果目的地址经路由表对比,发现不是在本网中,有nat就将改变源地址的IP(原源地址的Ip地址改为了路由器的IP地址),路由器将熟数据包转发到相应的端口,进行通信。

如:A访问B,首先对比是否同一子网,如果是,检查ARP表,有B的MAC就直接发送,没有就发送ARP请求.如果否,发送到默认网关C,源IP为A,源MAC为A,目的IP为B,目的MAC地址为C,C接收到这个包,检查路由表,发送到下一跳D,源IP为A,源MAC为C,目的IP为B,目的MAC为D.....如此循环,直到发送到B.NAT为特殊应用,会修改源IP为网关自己外网IP。

交换机和路由器的数据包转发流程简述

当交换机收到一个数据包时; 交换机会将这个数据包包头的目的MAC信息提取出来,与自身的MAC地址表比较; 情况一:如果找到对应项,则按MAC表进行转发; 情况二:如果没找到对应项,则在除了接收到...
  • JIANGXIN04211
  • JIANGXIN04211
  • 2015年11月12日 15:09
  • 308

交换机和路由器的数据包转发流程简述

网络设备之间通信经过以下几个步骤: 1.发送端的数据向外发送一个数据包; 2.系统判断这个数据包的目标地址是否在同一个网段; 3.若与发送机属于同一网段,系统直接将数据包封装成帧,通过二层设备发...
  • a2796749
  • a2796749
  • 2015年07月31日 09:44
  • 1027

交换机、路由器 数据包转发

当交换机收到一个数据包时; 交换机会将这个数据包包头的目的MAC信息提取出来,与自身的MAC地址表比较; 情况一:如果找到对应项,则按MAC表进行转发; 情况二:如果没找到对应项,则在除了接收到...
  • smilesundream
  • smilesundream
  • 2017年12月10日 19:47
  • 46

网络数据包转发过程

这篇文章讲述了上网时数据包转发的全过程,下面是电脑和网络设备连接简略图:   以PC1 ping PC3为例讲述数据包转发过程: 1、当PC1 ping PC3时,发现它们的IP不在同一网段,PC1...
  • hanbo622
  • hanbo622
  • 2014年09月30日 11:33
  • 6588

交换机端口包转发率计算

包转发线速的衡量标准是以单位时间内发送64byte的数据包(最小包)的个数作为计算基准的。 对于千兆以太网来说,计算方法如下:1,000,000,000bps/8bit/(64+8+12)byte=...
  • longyrong
  • longyrong
  • 2017年02月17日 17:44
  • 1858

交换机的背板带宽,交换容量,包转发率区别以前计算公式

上次我去某二级城市参加招标答疑会,本来以为是个很简单的形式而已,结果开会才知道形势凶险的很。当中有个问题引起了大家的注意,就是交换机的交换容量与包转发率的问题,用户本来是需要24口千兆的交换机,参数要...
  • yxwmzouzou
  • yxwmzouzou
  • 2015年06月17日 17:09
  • 10432

理解几个网络硬件(调制解调器、路由器、交换机)的基本作用

现在的很多网络设备设计的都差不多一个样子,都是一个盒子,长得也很像,很多就是学计算机的人也分的不是很清楚,而且针对这些网络硬件(如路由器、交换机、Modem)往往又被解释的很复杂,难于理解,这里尝试用...
  • pan_tian
  • pan_tian
  • 2013年10月06日 10:20
  • 13998

交换机背板带宽、交换容量、包转发率和线速转发的含义

1、背板带宽 背板带宽,是指交换机接口处理器或接口卡,和数据总线间所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力。背板带宽是模块化交换机上的概念,固定端口交换机不存在这个概念,固定端...
  • charleslei
  • charleslei
  • 2016年11月13日 14:48
  • 3001

集线器、交换机、路由器以及端口带宽区别

集线器-------集线器也叫Hub,工作在物理层(最底层),没有相匹配的软件系统,是纯硬件设备。集线器主要用来连接计算机等网络终端。 集线器为共享式带宽,连接在集线器上的任何一个设备发送数据时,其...
  • smilesundream
  • smilesundream
  • 2017年04月22日 19:11
  • 420

交换机和路由器的区别在哪里 一针见血通俗解答---土巴兔

相信很多人都会像小编一样傻乎乎的认为这两个都是用来上网的,至于这俩家伙是基友还是情侣,有什么区别的,就不清楚是怎么回事了。交换机和路由器的区别到底在哪里呢?本着科普和学习的精神,小编整理一些内容和大家...
  • youbangxingye
  • youbangxingye
  • 2015年09月25日 17:04
  • 1598
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:交换机和路由器的数据包转发流程简述
举报原因:
原因补充:

(最多只允许输入30个字)