当前位置:喜价首页攻略科技数码网线分线器和交换机区别(路由器交换机集线器网桥的区别)

网线分线器和交换机区别(路由器交换机集线器网桥的区别)


网线分线器和交换机区别(路由器交换机集线器网桥的区别)

故事就从一个车轱辘说起吧。先来看一个车轱辘。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

辐条从车轱辘边缘,一直汇聚到 中心的轴,这个轴在英文里叫hub

而我们今天要讲到的集线器,英文里也叫hub

都叫hub,多少有点关系,看下这面这个图大概能明白,其实两者有点像。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

大概想表达的意思是,它是汇聚网线的中心,因此就叫集线器

所以可以理解,大家常逛的 Github,Docker Hub, 还有P**hub ,都是为了表达它们是某类资源的中心了吧。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

那么集线器是什么呢?那就要从电脑是怎么互联的这个话题说起。

小学的时候,有一种网吧,它其实是不能上外网的。也就是不能打开度娘,不能搜索资料。

不能上网的网吧还能叫网吧?

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

。虽然不能上外网,但网吧老板可以把很多台机子连起来,实现网吧内互联,形成一个局域网Local Area Network,简称LAN)。

网吧内互联之后,就可以放上各种游戏,比如CS,实现网吧内对线。

这种网吧有种好处,没有那么多键盘侠

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

毕竟你不知道什么时候键着键着,对方就顺着网线找过来了

对战直接从线上转移到线下了。

因此大家打游戏都很和谐,客气,场面十分感人就是了。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

那么网吧内的电脑是怎么互联呢?

一根网线互联电脑

从最简单的场景说起,假设网吧内只有两台电脑

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

随便连根网线就能实现互联吗?

当然不是。

还记得网络分层吗?

网线分线器和交换机区别(路由器交换机集线器网桥的区别)



数据如果要进行传输,会从A电脑经过这些网络分层把消息组装好,再到B电脑层层解包。

网线,只是代替了上面的灰色部分,实现物理层上互联。

如果想要两台电脑互联成功,还需要确保每一层所需要的步骤都要做到位,这样数据才能确保正确投送并返回。

我们自顶向下,从细节开始说一下实现互联需要做什么。

应用层

该层的网络功能由应用本身保证。

假设两台电脑是打算用游戏进行联网,那么该应用层的功能由游戏程序保证。

传输层

绝大部分游戏用的传输层协议都是TCP,我们可以看下TCP报头

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

这里面我们需要关注的是源和目的端口,这个可以定位到这台电脑上哪个进程在收发数据。

这两个端口信息一般是游戏内部已经填好。

AB两台电脑,其中一台作为服务端启动,比如A,起了个服务器进程。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

服务器会开放一个固定的端口,比如27015。这就是目的端口

这时候A和B都可以搜索到这个服务器。启动一个客户端进程,连接进入A的服务器进程。

而源端口,则由A和B自己生成。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

网络层

上图除了端口,我们还看到一个192.168.0.105,这个就是A的IP地址

我们看一下IP层的报文头。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

这里面需要关注是源和目的IP地址

如果两台电脑想通过一根网线进行消息通信,那么他们需要在一个局域网内。

这意味着,他们的子网掩码需要一致。局域网内,假设子网掩码是 225.225.225.0,会认为 192.168.0.x 这些IP都属于一个局域网。所以当A的IP地址是192.168.0.105 时,那么B的IP地址可以配成192.168.0.106

关于IP这一块是啥,后面会细讲,大家如果没明白我说的是啥,不要急。

组装好网络层报头后,数据包传入到数据链路据层。

数据链路层

以上解决了网络层的互联,而在数据链路层,数据包里需要拼接上MAC报头。先看下MAC报头长什么样子。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

其中需要关心的是标红的源和目的MAC地址。MAC地址可以粗略理解是这台电脑网卡的唯一标识。大概长这样

br28:f9:d3:62:7d:31

源和目的地址,在发送消息的时候就会被填上。

但是A只知道自己的MAC地址,怎么才能知道B的MAC地址呢?

这时候需要ARP协议。

ARPAddress Resolution Protocal),即地址解析协议。用于将IP地址解析为以太网的MAC地址的协议。

在局域网中,当主机A有数据要发送给主机B时,A必须知道B的IP地址。

但是仅仅有IP地址还是不够的,因为IP数据报文还需要在数据链路层封装成才能通过物理网络发送。因为发送端还必须有接收端的MAC地址,所以需要一个从IP地址到MAC地址的映射。ARP就是干这事情的协议。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

  • A查本地ARP表发现B的IP和MAC映射关系不存在
  • A通过ARP广播的形式向局域网发出消息,询问某IP对应的MAC地址是多少。比如A此时知道B的IP,但并不知道B的MAC地址是多少,就会尝试在局域网内发起ARP广播,询问局域网下所有机器,哪个机器的IP与B的IP一致。
  • B收到这个ARP消息,发现A要问的IP与自己的IP一致,就会把自己的MAC地址作为应答返回给A。
  • 此时A就知道了B的MAC地址,顺便把消息记录到本地ARP表里,下次直接用表里的关系就行,不需要每次都去问。

物理层

从数据链路层到物理层,数据会被转为01比特流

此时需要把比特流传到另一台电脑。

通过一根网线,两段水晶头插入网口,把两台电脑连起来。

但对网线有一些要求。

这根网线两端的水晶头需要采用交叉互联法

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

水晶头里有8根线,注意上图里的颜色,是有顺序的。第1、2根线起着收信号的作用,而第3、6脚发信号的作用。将一端的1号和3号线、2号和6号线互换一下位置,就能够在物理层实现一端发送的信号,另一端能收到。

当然,现在有些网卡有自适应的功能,就算是直连互联法的线,也能有交叉互联法的效果。如果你用的是这种网卡,就当我物理层这块什么都没说吧

互联

此时,在确保关闭防火墙的前提下,可以尝试从A电脑中ping一下B,再从B电脑中ping一下A。如无意外,都能ping通。

A给B发个消息,从应用层到数据链路层,会分别加上A和B的各种 身份信息"。比如在传输层会加上A和B的应用端口号,在网络层加上源和目的IP,在数据链路层会加上源和目的网卡的MAC头部信息。

B收到消息后逐层解包,验证,最后顺利到达应用层。实现AB两台机器消息互通。

至此游戏就能正常联机对线,两台电脑互联成功!

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

什么是集线器

两个人打cs,总会觉得无聊,但是每台电脑又只有一个网线口。

想要邀请更多的人一起玩,怎么办?

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

那就要回到文章开头提到的集线器(hub)了。

这是个工作在物理层的设备。

多个网口,很好的解决了电脑上只有一个网口的问题,可以做到多台电脑的网线都插入到集线器上。

同时工作原理也非常简单,会把某个端口收到的数据,输入到中继电路

中继电路的基本功能是将输入的信号广播到集线器的所有端口上。

简单来说就是无脑复制N份到其余N个端口上。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

数据复制到N个端口后。对应转发到N台机器里。

集线器内部结构

说到这里,已经对集线器有个大概认识了。

接下来,我们看下集线器的内部结构。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

从A网口进入集线器的消息,此时还是电信号。这里经过一个PHY模块。

要理解PHY模块的作用,首先要先了解每个网口,都可能接着网线(废话),而每根网线的传输的格式都是有可能不同的。而PHY的作用,就是把这些格式转化为一个通用的格式。

举个例子。PHY就好比一个翻译器,有的人说英文,有的人说日文。但是PHY,会把它统一转为普通话,给内部电路处理。内部电路处理完之后,再经过PHY模块,转为英语,或日文从对应网口里输出。

经过PHY的处理后,以电信号的形式输入到中继电路,被无脑广播,再次经过PHY模块后变成BCD网口的格式输出。

这里面的电信号,是会受噪声干扰,导致信号形变出错的。

但就算是错了,也还是会原封不动的广播出去,这就是上面提到无脑的精髓所在。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

那信号如果出错了怎么办?

只能让接收方收到消息后进行校验。

还记得上文里提到的数据链路层的MAC报头里最末尾有个FCS吗?

FCS里存放的是发送方通过循环冗余校验CRC计算得到的值。

接收方用收到的数据算一次CRC,与FCS里的值进行对比。

如果一致,那证明数据没问题。如果出错,则直接丢弃

当然,丢弃包并不会影响数据的传输, 因为丢弃的包不会触发确认响应。因此协议栈的 TCP 模块会检测到丢包, 并对该包进行重传。

如果消息没出错,但是因为无脑广播,C也能收到A发给B的数据包。

此时 C 会在接受到数据包后一层层的"剥开"。

正常情况下,在数据链路层时,识别到目的 MAC 地址跟 C 的不一致时,也会把数据丢弃

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

什么是交换机

目前只有 ABC 三台机器,每次都是广播发消息倒还好。

如果机器越来越多,每台机器发一条消息,都会被广播,就有点顶不住了。

举个例子。

假设N台机器,其中两台机器A和B,A发到B和B发给A,共两条消息。

如果这N台机器,用的是集线器。还是AB之间互发消息,每条消息都是广播的话,就是(N-1)+(N-1)条消息,差距有些大,对网络资源浪费就有些严重了。

那么,有没有可能做到,A发给B的消息,就不要转发给C呢?

可以的,把集线器换成交换机。

交换机,又叫switch,跟集线器长得很像。

但是功能更强一些,从网络分层上来说,属于数据链路层,比集线器所在的物理层还要高一层。

所有发到交换机的数据,都会先进入交换机的缓存区。接着消息再被转发到对应机器上。

注意这里用的是转发,而不是集线器的广播,交换机是怎么做到转发的呢?

MAC地址表

交换机内部维护了一张MAC地址表

记录了 端口号和MAC地址的对应关系。

这个表的数据是交换机不断学习的结果。

当A发消息到交换机时,交换机发现消息是从1号端口进来的,则会在MAC地址表上,记录A的MAC地址对应1号端口。

如果A没有很长时间没发消息到这个1号端口,那这条记录就会过期并被删除

那么,当时间足够长,ABC 都发过消息给交换机后,地址表就会有完整的关系信息。

网线分线器和交换机区别(路由器交换机集线器网桥的区别)

展开剩余85%
版权声明:本文内容及配图由互联网用户撰写发布,文章观点仅代表作者本人,本站仅提供存储记录,不拥有所有权,不承担相关法律责任。如有侵权,请邮件联系 yifou123@qq.com 侵删。
全部评论(0)