梅庄

网络是怎样连接的---3

探索集线器、交换机和路由器

信号在网线和集线器中传输

信号从计算机中流出之后,会在网线中经过集线器等设备前进。
那信号是如何在网线和集线器传输的?
信号在传输过程中会衰减,还会收到噪声干扰而失真,那如何才能一直这些影响?

每个包都是独立传输的

防止网线中的信号衰减

“双绞”是为了抑制噪声

集线器将信号发往所有线路

当信号到达集线器后,会被广播到整个网络中
连接在集线器上的设备在收到信号之后会通过MAC头部的接收方MAC地址判断是不是发给自己的,如果是发给自己的就接受,否则就忽略。
由于集线器只是原封不动地将信号广播出去,所以即便信号收到噪声的干扰发生了失真,也会原样发送到目的地。

交换机的包转发操作

交换机并不只是简单的让信号流过,而是先接受信号并将其还原为数字信息,然后再重新转换成信号并发送出去的过程。

交换机根据地址表进行转发

交换机的一个端口就相当于计算机的一块网卡。但交换机的工作方式和网卡有一点不同。
网卡本身具有MAC地址,并通过核对收到的包的接收方MAC地址判断是不是发给自己的,如果不是发给自己的则丢弃;
交换机的端口不核对接收方MAC地址,而是直接接受所有的包并存放到缓冲区中。因此和网卡不同,交换机的端口不具有MAC地址
交换机端口的MAC模块不具有MAC地址
交换机根据MAC地址表查找MAC地址,然后将信号发送到相应的端口

MAC地址表的维护

两种操作

写入

收到包时,将发送方MAC地址及其输入端口的号码写入MAC地址表中。
由于收到包的那个端口就连接着发送这个包的设备,所以只要将这个包的发送方MAC地址写入地址表,以后当收到发往这个地址的包时,交换机就可以将它转发到正确的端口。
交换机每次收到包时都会执行这个操作,因此只要某个设备发送过网络包,它的MAC地址就会被记录到地址表中。

删除

删除地址表中某条记录的操作,这是为了防止设备移动时产生问题。(比如把笔记本从办公室拿到会议室)
因此地址表中的记录不能永久有效,而是要在一段时间不使用后就自动删除。

总之,交换机会自行更新或删除地址表中的记录,不需要手动维护。

特殊操作

当交换机发现一个包要发挥到原端口时,就会直接丢弃这个包
当地址表中找不到指定的MAC地址。这可能是因为具有该地址的设备还没有向交换机发送过包,或者这个设备一段时间没有工作导致地址被从地址表中删除了。这种情况下,交换机无法判断应该把包转发到那个端口,只能将包转发到除了源端口之外的所有端口上,无论该设备连接在哪个端口上都能收到这个包。
如果接收方MAC地址是一个广播地址(255.255.255.255),那么交换机会将包发送到除源端口之外的所有端口。

全双工模式可以同时进行发送和接收

全双工模式是交换机特有的工作模式,它可以同时进行发送和接收操作,集线器不具备这样的特性。
使用集线器时,如果多态计算机同时发送信号,信号就会在集线器内部混杂在一起,进而无法使用,这种现象称为碰撞
不过,只要不用集线器,就不会发生碰撞
使用双绞线时,发送和接收的信号线是各自独立的,因此在双绞线中信号不会发生碰撞。
如果不存在碰撞,也就不需要半双工模式中的碰撞处理机制

交换机可同时执行多个转发操作

交换机只将包转发到具有特定MAC地址的设备连接的端口,其他端口都是空闲的。这些端口可以传输其他的包,因此交换机可以同时转发多个包
集线器会将输入的信号广播到所有的端口,如果同时输入多个信号就会发生碰撞,无法同时传输多路信号,因此从设备整体的转发能力来看,交换机要高于集线器

路由器的包转发操作

路由器和叫交换机一样也负责对包进行转发,但它们的工作方式有一些差异。
交换机是基于以太网规格工作的设备
路由器是基于IP工作的
路由器在转发包时,首先会通过端口将发过来的包接收进来,接下来,转发模块会根据接收到的包的IP头部中记录的接收方IP地址,在路由表中进行查询,以此判断转发目标。
然后,转发模块将包转移到转发目标对应的端口,端口再按照硬件的规则将包发送出去,也就是转发模块委托端口将包发送出去的意思
路由器的各个端口都具有MAC地址和IP地址
而交换机只是将进来的包转发出去而已,它自己并不会成为发送方或接收方。

路由器的附加功能

位于互联网接入端的路由器通常还会提供一些附加功能,例如将私有地址转换为公有地址,以及组织危险网络包的包过滤功能。