ToB企服应用市场:ToB评测及商务社交产业平台

标题: 中继器、集线器、网桥、交换机、路由器和网关 [打印本页]

作者: 河曲智叟    时间: 2024-6-8 00:42
标题: 中继器、集线器、网桥、交换机、路由器和网关
前言

理解这些设备的关键是他们运行在不同的层次上。之所以存在不同层的问题,是因为不同的设备使用不同的信息来决定如何交换。在典型的场景中,用户生成某些数据,然后将这些数据发送给一台远程的机器。这些数据先被传输给传输层,传输层会加上一个头(比如TCP)头,然后将结果单元往下传递给网络层。网络层也会加上一个头,形成网络层数据包(比如,形成一个IP包)。然后,该分组再往下到达数据链路层,数据链路层加上它自己的头和校验和(CRC)并将结果帧交给物理层传送出去。

一、中继器、集线器

1.1 中继器

中继器是模拟设备,主要用来处理自己所连线缆上的信号。在一个线缆上的信号被清理、放大,然后在被放到另一个线缆上。中继器并不理解帧、数据包和帧头,它们只知道把比特编码成电压的符号。例如,在经典以太网中,为了将电缆的最大长度从500米扩展到2500米,以太网允许最多使用4个中继器来增强信号。
1.2 集线器

集线器有许多条输入线路,它将这些输入线路连接在一起。从任何一条线路上到达的帧都被发送到所有其他的线路上。如果两帧同时到达,它们将会冲突,就好像它们在同一根同轴电缆上遇到后发生碰撞一样。连接到同一个集线器上的所有线路必须以同样的速度运行。集线器与中继器不同,它们(通常)不会放大入境信号,并且可以有多个输入线路。但是,集线器与中继器一样,都属于物理层设备,因而不会检查链路层地址,也不任何方式使用该地址。
二、网桥、交换机

2.1 网桥

2.1.1 认识网桥

网桥是一种工作在数据链路层的网络设备,通过检查数据链路层地址来转发帧。

网桥连接两个或多个局域网。与集线器一样,一个现代网桥有多个端口,通常具有4~48条某个类型的输入线。与集线器不同的是,网桥的每个端口被隔离成它自己一个冲突域;如果端口是全双工的点到点线路,则需要用到CSMA/CD算法。
网桥比集线器提供了更好的性能,隔离网桥端口还意味着输入线路可以不同的速度运行,甚至可以是不同的网络类型。网桥具有连接到10、100、1000Mbps以太网的端口。从一个端口接受帧并从另一个端口发送出去,需要网桥内部进行缓冲。如果帧的速度大于网桥的重发速度,网桥就可能耗完缓冲空间而不得不丢弃帧。
例如,一个千兆以太网以最快的速度向一个10Mbps以太网倾斜比特流,网桥将不得不缓冲这些比特流,接受端的网桥将可能耗完缓冲空间。即使所有的端口都以相同的速度运行,这个问题还是会存在,因为有可能多个端口往相同的端口发送帧。
网桥最初被用来连接不同种类的局域网,但由于不同局域网之间的差异,比如802.11对服务质量和安全性的要求,而以太网却没有这些概念,网桥处理这些问题的能力不够好。
因此,现代网桥(交换机)通常工作在一种网络类型,用于连接同一种网络的不同设备,然后用路由器连接不同类型的网络。
两个局域网桥接在一起的拓扑情况分两种情况:
   图一     图二  2.1.2 网桥的工作原理

每个网桥工作在混杂模式下,它接受隶属于每个端口的站发送的帧。网桥必须决定是否转发或丢弃收到的每一帧。
对于一个入境帧,它在网桥中的路由过程取决于这个入境帧从哪个端口来(源端口),以及它要往哪个目标地址去(目标端口)。整个转发过程如下:

那么,问题来了,网桥是如何找到目标地址和端口的对应关系呢?
执行这项工作的一个简单方法是为每个网桥配备一个大的哈希表。该表列出每个可能的目的地以及对应的输出端口。

当网桥第一接入网络时,哈希表为空。此时,网桥会采用一种泛洪算法(flooding algorithm):对于每个发送未知目的地址的入境帧,网桥会将该帧输出到所有的端口,该帧的输入端口除外。随着时间的推移,网桥将会学习到每个目标地址在哪里。一旦知道了一个目标地址,以后发给该地址的帧会被放到正确的端口,而不再使用泛洪。
网桥所用的算法是后向学习法(backward learning)。网桥工作在混杂模式下,它可以看到每个端口上发送的所有帧。通过检查这些帧的源地址,网桥就可获得通过那个端口能访问到哪些机器。
其工作流程如下:

当打开、关闭或者移动机器和网桥时,网络的拓扑结构会发生变化。为了处理这种动态的拓扑结构,一旦构造出了哈希表项后,帧的到达时间也被记录在相应的表项中。当一帧到达时,如果源地址已在表中,那么对应表项中的时间被更新为当前时间。因此,与每个表项相关联的时间值反映了网桥最后看到该机器发出一帧的时间。
在网桥中,有一个进程定期扫描哈希表,并且将时间值在几分钟以前的表项都清除。
2.1.3 生成树网桥

为了提高可靠性,网桥之间可使用冗余链路。比如可以在一对网桥之间并行设置两条链路。这种设计课确保一条链路宕掉后,网络不会被分成两组计算机,使得他们无法通信。拓扑结构如下图所示:

   图2.1.3 具有两条平行链路的网桥  但是,这种冗余造成了拓扑环路。以图2.1.3举个例子。
假设站A给以前没有观察到的某个站发送帧,即网桥B1的哈希表上没有记录该帧的目标地址对应的端口。每个网桥遵循着常规的处理规则:对于未知目的地的帧,泛洪该帧到网桥所有的其他端口。把从站A到达网桥B1的帧称为F0。网桥B1把F0的副本F1和F2分别通过端口2和端口3发出。
当网桥B2收到帧F1和F2时,网桥B2不知道(也无法知道)这些帧是同一个帧的副本,则网桥B2把这两个帧当做不同的帧处理。因此网桥B2将F1副本发送到其他端口,同样把副本F2发往其他端口。则F1的副本F4被网桥B2通过端口2发出,F2的副本F3被网桥通过端口1发出。然后网桥B1又收到了两个未知目的地的帧,同样复制泛洪。
上面的结果造成了同一个帧被无限循环,导致链路拥塞。
解决方法:让网桥相互之间通信,然后用一颗可以到达每个网桥的生成树覆盖实际的拓扑结构。
为了建立生成树,网桥运行一个分布式算法。每个网桥周期性地从它的所有端口广播一个配置信息给邻居,同时处理来自其他网桥的消息,这些消息不被转发,因为它们的用途是构建树,这棵树被用于随后帧的转发。过程如下:
2.2 交换机

交换机是现代网桥的另一个称呼。它们的差异更多的体现在市场上而不是技术方面。
开发网桥时正是经典以太网被广泛使用之际,网桥倾向于连接相对数目较少的局域网,因而端口数也相对较少。现代交换机的安装都使用了点对点连接(例如双绞线),单个计算机通过双绞线直接插入到交换机端口,因此交换机的端口数往往比较多。
“交换机”也可作为一般术语使用。使用网桥,功能是明确的。另一方面,交换机可以指以太网交换机,也可以指一个完全不同的转发决策设备,例如电话交换机。
现在,交换机用来连接同一个网络的不同机器。
2.2.1 交换机的特征


2.2.2 交换机的交换模式




2.2.3 交换机的功能

三、路由器、网关

3.1 路由器的介绍

路由器工作在网络层,用来跨网段通信,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备,因此路由器是互联网中必不可少的网络设备之一,主要分为本地路由器和远程路由器。
常见的家庭路由器包含LAN口和WAN口。LAN口用于连接家庭设备,WAN口用于接入运营商网络,以连接互联网。

3.2 路由器的工作过程

3.2.1 前置知识

当忽略路由器的WAN口,路由器就是一台交换机。当对WAN口进行讨论时,那么就涉及到两个不同网络的互联,两个互联的网络进行数据的交换需要通过网关才可以就行。此时,路由器就担任网关的角色。

那么网关到底是什么呢?在回答这个问题之前,先介绍如何判断一个IP属于哪个网段。
32位的IP地址由高位的可变长网络和低位的主机两部分数据组成。
把可变长网络全部设置为1,主机全置为0,则得到子网掩码。

IP地址&子网掩码 = 网络部分
根据网络部分判断两个IP地址是否属于同一子网。

3.2.2 路由器的工作过程

下面通过一个例子说明路由器的工作过程,并说明网关到底是什么,发挥怎样的作用。
先画出一个网络的拓扑结构。

当在PC0执行命令ping 192.168.2.10,执行过程如下:
通过上面的过程可以发现,网关是一个运行在路由器的一个转发进程,路由器担任网关这个角色,路由器从而把两个不同的网络互联起来。
总结

中继器和集线器属于物理层设备
网桥属于数据链路层设备,主要作用是实现数据帧的转发和过滤;现代网桥称作交换机。交换机在现代用于连接同一网络的不同设备。
路由器用于连接两个不同的网络,网关是一个运行在路由器上的转发进程。当两个不同网络的计算机通信时,路由器担任网关角色,以实现两个不同网络的计算机进行数据的交换。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4