什么是网络设备:什么是交换机和路由器

06-03
什么是网络设备

什么是网络设备(什么是交换机和路由器)14:01·程序员道道

物理层

1.中继器

信号在传输过程中会不断衰减,为了不让信号衰减对通信产生影响,产生了中继器:仅做放大信号用,把信号传导偏远的地方

2.集线器

集线器的主要功能是:
对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。

它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(CSMA/CD(
CarrierSenseMultipleAccesswithCollisionDetection)即带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测)。)介质访问控制机制。

3.网关:

(IP网关=路由器)

3.1产生背景与定义
Gateway就是一扇大门(gate),门里门外是两个不同的网路,有不同的网路协议。而从gateway的定义,我们可以推论,路由器可以看作一种gateway的特例,门里门外是相同的两个网路(都讲IP这个语言协议)。所以说gateway比router复杂得多。gateway大概要支持信号转换,协议转换,阻抗匹配,波特率转换,故障隔离等功能来实现系统间的互操作性。它还可能需要在两个系统间建立相互可接受的管理程序。
在现代网络术语中,网关(gateway)与路由器(router)的定义不同。网关(gateway)能在不同协议间移动数据,而路由器(router)是在不同网络间移动数据,相当于传统所说的IP网关(IP gateway)。
网关顾名思义就是连接两个网络的设备,对于语音网关来说,他可以连接PSTN网络和以太网,这就相当于VOIP,把不同电话中的模拟信号通过网关而转换成数字信号,而且加入协议再去传输。在到了接收端的时候再通过网关还原成模拟的电话信号,最后才能在电话机上听到。
对于以太网中的网关只能转发三层以上数据包,这一点和路由是一样的。而不同的是网关中并没有路由表,他只能按照预先设定的不同网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。

数据链路层

1.网桥
有了集线器,但是这带来一个问题,多个集线器连接在一起,但是由于是广播通信,互相冲突,所以我们现在需要一种设备,能够有效隔离子网。让广播通信仅仅在于一个局部:网桥。



网桥也是数据链路层设备,把一个局域网一分为2,中间用网桥连接,这样A发给BCD的数据就不会再广播到EFGH了。

工作原理



上图是用一个网桥连接的两个网络,网桥的A端口连接A子网,B端口连接B子网,为什么网桥知道哪些数据包该转发,哪些包不该转发呢?那是因为它有两个表A和B,当有数据包进入端口A时,网桥从数据包中提取出源MAC地址和目的MAC地址。
一开始的时候,表A和表B都是空的,没有一条记录,这时,网桥会把数据包转发给B网络,并且在表A中增加一条MAC地址(把源MAC地址记录表中),说明这个MAC地址的机器是A子网的,同理,当B子网发送数据包到B端口时,网桥也会记录源MAC地址到B表。
当网桥工作一段时候后,表A基本上记录了A子网所有的机器的MAC地址,表B同理,当再有一个数据包从A子网发送给网桥时,网桥会先看看数据包的目的MAC地址是属于A子网还是B子网的,如果从A表中找到对应则,抛弃该包(因为该包在HUB中已经被转发),如果不是,则转发给B子网,然后检查源MAC地址,是否在表中已经存在,如果不存在,在表A中增加一条记录。
噢,或许你现在会问了,为什么需要两张表呢,一张表不行么??嗯~刚才把表一分为二是为了便于理解,实际上,真正的网桥里面存的应该是一张表(当然有可能为了提速,或者其他原因,它也可能把信息存为多张表,这个得看它怎么实现了~),如果是一张信息表,表里记录的应该是:MAC-PortNum,所以它是具有学习功能的。
网桥相当于二层交换机它可以在Layer2“桥接”两个网段。它比HUB强一些的是,它分离了两个网段,不会把一个网段内部的packet广播到另一个网段。因此,两个网段之间不会产生不必要的信号冲突碰撞。举例:AB在桥东,CD在桥西,AB对话时,CD也可以对话。AC对话时,BD大致要避让。

2.交换机
注意到,网桥只有两个端口。随着网络设备的发展,逐渐产生了多个端口的“网桥”,但是由于网桥是数据链路层的广播通信,A和G通信的时候,B和F就没法通信——一个桥上多个通信将产生冲突。为了能够实现多对多的通信,于是产生了交换机。



在交换机中,A和B通信的同时,C和D也可以通信——因为它们分别占用不同的端口。这样,交换机渐渐替代了HUB,成为组建局域网的重要设备。

工作原理



交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过ARP协议学习它的MAC地址,保存成一张ARP表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

网络层

1.路由器
我们知道,交换机工作在数据链路层次。如果现在A节点向未知节点B通信,如果A和B之间通过N(很大)个交换机才连接在一起,那么只用交换机来实现,那么A将数据包发送之后,在到达所有其他端口,如果其他端口不能识别,那么都将进行转发,这样,最终也可以到达B,但是势必产生很多的冗余数据通信。于是,我们有了路由器。

工作原理
路由器工作在网络层,可以根据IP来选择对应的端口,当然,这里选择的依据就是路由表。

路由表