美文网首页
使用TCP/IP传输电信号:交换机的包转发原理(双绞线->接收端

使用TCP/IP传输电信号:交换机的包转发原理(双绞线->接收端

作者: robot_test_boy | 来源:发表于2022-07-19 00:32 被阅读0次

    交换机的设计是将网络包原样转发到目的地,内部结构如下。

    交换机内部结构

    首先,信号到达网线接口,由PHY (MAU)模块进行接收,这一部分和集线器是相同的。交换机的接口和PHY(MAU)模块也是以MDI-X模式进行连接的(说明1),当信号从双绞线传入时,就会进入PHY(MAU)模块的接收部分。

    说明1]:早期的交换机基本上和上图最上面的那种情况一样,通过集线器和计算机进行连接的,由于集线器的接口是MDI-X模式,如果要用直连网线连接,那么交换机应该采用MDI模式的接口。不过现在基本上不使用集线器了,而是将计算机直接连接到交换机上,因此交换机也和集线器一样采用了MDI-X接线。

    接下来,PHY(MAU)模块会将网线中的信号转换为通用格式,然后传递给MAC模块。MAC模块将信号转换为数字信息,然后通过包末尾的FCS校验错误,如果没有问题则存放到缓冲区中,如果检测到错误就丢弃这个包。这部分操作和网卡基本相同,大家可以认为交换机的每个网线接口后面都是一块网卡。网线接口和后面的电路部分加在一起称为一个端口,也就是说交换机的一个端口就相当于计算机上的一块网卡[说明2]。但交换机的工作方式和网卡有一点不同网卡本身具有MAC地址,并通过核对收到的包的接收方MAC地址判断是不是发给自己的,如果不是发给自己的则丢弃;交换机的端口不核对接收方MAC地址,而是直接接收所有的包并存放到缓冲区中。因此,和网卡不同,交换机的端口不具有MAC地址[说明3]。

    说明2]如果在计算机上安装多块网卡,并开启“混杂模式”让网卡接收所有的网络包,然后再安装一个和交换机具备同样功能的网络包转发软件,那么这台计算机就变成了一台交换机。

    说明3]内置用于实现管理等功能的处理器的交换机除外。这种交换机相当于在一个盒子里同时集成了计算机和交换机两种设备,其中计算机的部分是具有MAC地址的。

    将包存入缓冲区后,接下来需要查询一下这个包的接收方MAC地址是否已经在MAC地址表中有记录了。MAC地址表主要包含两个信息,一个是设备的MAC地址,另一个是该设备连接在交换机的哪个端口上。MAC地址和端口是一一对应的,通过这张表就能够判断出收到的包应该转发到哪个端口。举例子,如果收到的包的接收方MAC地址为00-02-B3-1C-9C-F9,则与上图的表中的第3行匹配,根据端口列的信息,可通过交换电路将包发送到8号端口了。


    当网络包通过交换电路到达发送端口时,端口中的MAC模块和PHY (MAU)模块会执行发送操作,将信号发送到网线中,这部分和网卡发送信号的过程是一样的。

    本文摘取自周自恒翻译的户根勤编写的《网络是怎样连接的》

    相关文章

      网友评论

          本文标题:使用TCP/IP传输电信号:交换机的包转发原理(双绞线->接收端

          本文链接:https://www.haomeiwen.com/subject/fvsxirtx.html