linux内核三层转发流程,二层转发流程 (linux网络子系统学习 第六节 )

本文详细阐述了Linux内核中的二层和三层转发流程,特别是二层转发如何根据MAC地址进行数据包转发。通过举例说明了同一网段内两台PC之间ping报文的通信流程,介绍了MAC地址学习、转发表建立以及广播和未知单播的处理机制。同时提到了混杂模式、二层口和VLAN在二层转发中的作用。
摘要由CSDN通过智能技术生成

做为网络设备,二层转发是最基本的功能。要想继续学习linux 内核协议栈,必须明白二层转发的流程。这篇文章举例讲一讲二层转发的流程。

二层转发是根据报文的目的MAC直接进行转发,转发过程中不用对报文的头部做任何的修改。

三层转发则是根据报文的ip 地址来进行转发,并且要对报文的二层头部进行相应的修改。

进行二层转发的设备一般叫做网桥(bridge)。桥可以是一个单独的一台网桥设备,也可以是运行在设备内的软件实例,即虚拟桥,又叫软桥。这里我们的桥指的是软桥。

桥接是指报文经过桥后直接根据桥内维护的转发信息表把报文原封不动的转发出去,因为报文经过桥转发后报文不被修改,所以桥设备在整个链路上是透明的。

每个桥内都会维护一张转发信息表,转发表项包含如下信息:

MAC:设备的MAC地址

port:该设备连接在交换机的哪个端口。

所以桥收到报文后根据目的MAC查到表项就知道报文的出端口,直接转发出去即可。

下面就以同一网段内两台PC之间 ping 报文的通信流程来讲一下二层转发中报文的处理流程:

a8f93b3414ecefa699bf66d45e5d5dba.png

如上图所示:

交换机上运行一个软桥的实例,eth0和eth1两个物理口加入到软桥中。这时eth0 和 eth1 接口上都不需要配置ip 地址,并且被配置为混杂模式。

PC1 和PC2通过交换机组成一个局域网。我们以PC1 ping PC2为例来说明二层转发时报文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值