交换机路由器转发包的过程

标签: 交换机 路由器 发包 | 发表时间:2014-05-11 17:40 | 作者:zhengqiqi17
出处:http://www.iteye.com

当交换机收到一个数据包时;
交换机会将这个数据包包头的目的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表(ip与mac对应关系),封装成帧发送到目标机器网卡;

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。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [交换机 路由器 发包] 推荐:

交换机路由器转发包的过程

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

交换机和路由器的区别

- - CSDN博客互联网推荐文章
       交换机,又叫做交换式集线器,可以简单的理解为把一些电脑连接在一起组成一个局域网. 而路由器和交换机的区别很明显,它的作用在于连接不同的网段并且找到网络中数据传输最合适的路径,但二者也并不是完全无联系的. 下面来为大家解释交换机和路由器的区别. 路由器和交换机的区别一:交换机是一根网线上网,但是大家上网是分别拨号,各自使用自己的宽带,大家上网没有影响.

网络设备集线器、交换机、路由器的理解

- - CSDN博客推荐文章
  集线器就是将网线集中到一起的机器,也就是多台主机和设备的连接器. 集线器的主要功能是对接收到的信号进行同步整形放大,以扩大网络的传输距离,是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器. 集线器在OSI/RM中的物理层. 集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去.

路由器与交换机的区别是什么?

- - 脚本爱好者
路由器主要用在WAN和WAN之间的连接,作用于网络层,主要解决异性网络之间的转发分组. 路由器是从一条线路上接受输入分组,然后向另一条线路转发. 这两条线路可能采用不同协议,并分属于不同的网络. 交 换机用于LAN-WAN的连接,它是数据链路层的设备,交换机归于网桥,有些交换机也可实现第三层的交换.

网络设备网卡、中继器、集线器、网桥、交换机、路由器工作原理

- - 互联网 - ITeye博客
网络设备网卡、中继器、集线器、网桥、交换机、路由器工作原理. 1.工作在物理层(进行数据接收和发送). 1.工作在物理层,用来复原网络中的信号并重新发送到其他网段上(进行数据接收再发送). 1.工作在物理层,集线器实质上是一个多端口中继器. 2.将从一个端口接收到的信息转发到其他所有端口上. 3.接在这个端口上的网卡接收数据,如果是发送给本网卡的就接收并提交到上层应用.

使用树莓派和VLAN交换机组建单臂路由器,通过SS代理上网

- - 千里
创建一个代理网关,所有通过有线或者无线连接通过该网关上网的设备可以:. 根据域名判断是走国内的DNS还是国外的DNS,走国外DNS时,通过SS代理请求,防止DNS污染. 根据目标IP地址自动选择线路,国外流量都走SS代理. 一个SS服务器,Linode或者Digital Ocean上5刀/月的服务器就够用了,SS服务器的架设方法请自行百度.

OpenWrt路由器开发

- - SegmentFault 最新的文章
第一次尝试开发路由器,发现并不是想象中那么难,和普通嵌入式开发一样,也是一块ARM板刷上Linux系统. OpenWrt有很多好用的软件,附带流量监测. OpenWrt主要开发语言为Python、Lua、Shell,还可以做深入研究写ipk软件包. 写了几个脚本,主要实现了openwrt下面GPIO控制、系统信息获取、wifi扫描器、定时发送邮件系统报警等功能,下面会介绍.

软件路由器破速度记录

- flypen - 弯曲评论
韩国的研究人员们建立了一个由端台式电脑组件组成的网络路由器,可以以创记录的速度传输数据. 来自韩国高等科技研究院的团队创造的这款路由器,传输数据的 速度是每秒40千兆比特(gigabits ),比类似装置的前纪录快出许多倍. 研究人员们使用的技术可能会带来很多方面的突破,包括在高性能路由器中使用廉价的芯片——如英特尔和Nvidia制造 的——以代替定制的硬件.

有线+无线路由器设置

- - 博客园_iTech's Blog
有线路由器已经连接外网,新购买了无线路由器来扩充网络接口,且支持无线. 路由器的默认地址有可能为192.168.0.1 或者 192.168.1.1,用户名和密码也一般为admin:admin或admin+空. 以下假设有线路由器的IP为192.168.0.1. 有线路由器LAN口出来的网线连接无线路由器的WAN口,计算机再通过无线网络配置进行上网,无线路由器起到路由器的功能.

无线路由器选购指南

- -
请点击蓝色链接进行购买以支持本站. 推荐京东购买电子产品,因为京东保修很好且一定概率触发八折退款. 几台手机,平板,智能电视,台式机,笔记本,NAS,家用监控等十几台网络设备. 家里几个人看在线视频的时候不会卡. 高端路由要有MIMO和QOS的功能. 你的每个设备的数据都可以看作一辆汽车. 2.4G的路由器好像一个乡间小路那么窄,汽车一多,速度必然变慢.