什么是集线器
首先我要介绍一下集线器,集线器是属于局域网的设备,比如一个公司的内网,集线器处于OSI模型中的下数第一层,物理层,集线器由于是半双工的(我自己理解的半双工的概念:电脑A给电脑B发送信号的时候,电脑B不能给电脑A发送信号,也就是说,电线在同一时间,信号只能是A到B),所以它的效率比较低,因为半双工必须要等电线中没有其他信号的时候才可以发送信号,而且又因为它是广播的方式发送信号,所以它比较耗流量,正因为如此,集线器已经过时,但是集线器是学习网络必须要了解的东西,那么集线器是用来做什么的?
假设有三台电脑,电脑A,电脑B,电脑C,那么A与B通信,可以直接用一根网线,链接A和B,但是如果我又想让A与C通信,怎么办?没有办法了,因为A电脑的接口插在B上了(这句话…),所以A电脑没有地方再插一根网线连接C,这个时候集线器的作用就体现出来了,集线器有很多插口,把ABC都连接到集线器上,这个时候,电脑A如果给电脑B发送信息,那么首先,A发送信号到集线器,集线器接到信号之后,以广播的方式发送给所有其他设备(本例中B和C),当C接到集线器发送过来的信号之后,会根据数据报头部和自己的mac地址判断是不是属于自己的信息,如果不是则丢弃,在本例中,不属于自己的信息,是属于B的,所以电脑C直接丢弃该信息,B也同样接到该信息,B判断是不是属于自己的信息,如果是,则接受信息,并处理,这就是集线器,关键点在于广播
注:集线器还有一个功能是用来放大信号,不过这并不是我想讨论的问题,因为我不会,那个双绞线的信号让我不是很懂
什么是交换机
交换机可以直接用来替代集线器,交换机处于OSI模型中的下数第二层,数据链路层(Data link layer),
交换机上的每个端口,与连接在这个端口的电脑mac地址是一一绑定的,然后交换机内部有一个叫mac地址表的映射关系表(全名CAM,Content Addressable Memory,也叫内容寻址寄存器),它维护着哪个端口是哪个mac地址,比如,假设电脑A的mac地址是m1,电脑A插在交换机的2端口,那么mac地址表里记录的内容就是一个键值对m1------2,此时,交换机接到一个数据报,这个数据报的头部写着m1,那么交换机直接根据m1找到2号端口,然后将信号通过2号端口的网线,直接发送出去,和集线器相比,交换机无须通知其他不需要该信息的接口,因此可以减少流量,并且交换机是全双工模式,不需要等待网线中没有信号的时候才可以发送信号
什么是路由器
这是一个更高层次的设备,它位于OSI七层模型中,下数第三层,网络层(Network layer)
路由器负责在两个或者多个网络之间(注意关键词,网络,这两个字,交换机和集线器是同一个网络之间多个设备,而路由器是多个网络之间,网络,可以理解成相同网段)发送数据报,路由器在网络之间引导数据报的流向,这一过程叫做路由,