3层路由器与交换机的转发原理

来源:互联网 发布:天猫淘宝买手机靠谱吗 编辑:程序博客网 时间:2024/05/17 14:14

注意,本博文重在介绍路由器交换机的转发原理,不具体阐述其学习过程。

路由器的转发原理:

典型的路由器是一种3层设备,所以,它是使用3层地址,IP地址来路由数据包的。当一个2层数据帧被路由器的接口接收后,路由器将2层帧头解封丢掉,读取3层IP头的信息。首先他会检查TTL(time to live,生存时间)的值,若该值为0,则丢掉。然后,他检查IP头的目的IP地址,然后使用最长匹配原则与自己的IP路由表比较,通过最长匹配原则,选出与其最符合的IP路由条目,将数据包重新封装成帧,转发该路由条目到指示的下一跳。

值得一提的是最长匹配原则。在将IP头的目的IP地址与路由表中比较时,如果有多个不同大小的子网地址,同时与该目的IP地址匹配怎么办?那就要让路由器选择一个子网掩码最长的路由条目来转发数据包。因为子网掩码长度越长,则表示该网络地址越精准,则越合适。

交换机的转发原理:

2层交换机是数据链路层地址,所以使用数据链路层的子层,媒体访问层,MAC层的地址转发数据帧。
当交换机的接口接受到一个数据帧,它将检查2层帧头中的目的MAC地址,并与自己的MAC地址表比较。如果有匹配项,则将数据帧从该匹配项指示的本地接口处向外转发。如果没有与MAC地址表匹配,那么就从除这个接受该数据帧的接口之外的所有接口泛洪出去。

3层交换机是网络层设备,但它既可以在2层实现转发,也可以在三层实现转发。
当3层交换机的两端的终端是在同一网段下,那么交换机可以直接使用2层的MAC地址表进行转发。

如果3层交换机的两端的终端是在不同的网段下,如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,这个缺省网关的IP对应第三层路由模块,所以对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址(由源主机A完成);然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据(三层交换机要确认是由A到B而不是到C的数据,还要读取帧中的IP地址。),就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。

第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。

0 0
原创粉丝点击