网络原理-集线器,网桥,交换机,路由器,网关详解

    目前,科技的发展,很多网络设备的界限也越来越模糊。比如集线器和交换机之间的界限已变得模糊,交换机也出现了3层交换机(有网络层模块),4层交换机(有传输层模块)。本文主要整理一些典型的网络设备及其功能比较。

核心总结:

1、hub(集线器)就是物理层的,会面向全端口转发物理层的包。当然因为全部转发会造成网络堵塞,所以hub还顺带集成了CSMA/CD,碰撞检测模块。
2、网桥,主要是为了hub的不足,工作在数据链路层,检测数据包mac地址,对数据包进行特定端口转发,避免造成网络堵塞。
3、交换机。一般指常见的二层交换机,工作在数据链路层。功能和网桥差不多。区别就是,网桥只有两个端口,只能连接两个子网。而交换机端口多,可以连接的子网多。
4、路由器,工作在网络层。对ip数据包进行路由转发。
5、网关,工作在应用层。仅用于两个高层协议不同的网络互连

1、HUB(集线器)


HUB是一个多端口的转发器,在以HUB为中心设备时,即使网络中某条线路产生了故障,并不影响其它线路的工作。所以HUB在局域网中得到了广泛的应用。

HUB按照对输入信号的处理方式上,可以分为无源HUB、有源HUB、智能HUB。

大多数的时候它用在星型与树型网络拓扑结构中,以RJ45接口与各主机相连(也有BNC接口)。在这方面,集线器所起的作用相当于多端口的中继器。其实,集线器实际上就是中继器的一种,其区别仅在于集线器能够提供更多的端口服务,所以集线器又叫多口中继器
集线器工作于OSI/RM参考模型的物理层和数据链路层的MAC(介质访问控制)子层。物理层定义了电气信号,符号,线的状态和时钟要求,数据编码和数据传输用的连接器。因为集线器只对信号进行整形、放大后再重发,不进行编码,所以是物理层的设备。10M集线器在物理层有4个标准接口可用,那就是:10BASE-5、10BASE-2、10BASE-T、10BASE-F。10M集线器的10BASE-5(AUI)端口用来连接层1和层2。

集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在其他端口把这个 包转发一次,因为它不知道也不可能知道这个包是发给谁的(物理层设备只关心电压这些物理概念),它也只能对所有人广播(这里和下文提到的 广播该词的意思和ARP请求时的广播有些不同,这里的广播意思是:使用物理层转发设备,如HUB,导致的广播,可以说这个广播是被逼的,因为设备的问题! 是设备转发包引起的广播!而ARP请求的广播是自己要求的,主动的,因为ARP请求包的目标地址IP是255.255.255.255,但ARP请求的广 播涉及IP层的知识,不在这篇文章讨论的范围,所以这里提到的广播,除非特别说明,否则都是第一个意思,也就说是”因设备转发数据包引起的广播” ),让他们自己处理了。

  这样一来会有不少问题,你发的数据其他人都收到了,私隐这总东西是不存在的!别入可以随便监听你信息!所以会话劫持在那个年代相当容易(记得俺第一次接触会话劫持这个概念的时候还是高2,那是2001~2002,呵,那时候集线器还是比较普遍的)。

  另外一个比较严重的问题是,如果一个大型的局域网,比如有500台机器,全部用HUB连接的,后果会怎么样呢??相当慢,网络的效率极差!为什么?如果500台机器都发一个包,那就是说每台机器,都需要接收差不多499个无用包…并且如果是需要回应的话……无用的数据包会充斥着整个的局域网,这就是传说中的广播风暴!

        为了侦测广播风暴,集线器采用了CSMA/CD(载波帧听多路访问/冲突检测)协议,CSMA/CD为MAC层协议,所以集线器也含有数据链路层的内容。但HUB本身不能识别MAC 地址和IP地址。

  为了减少广播风暴,网桥产生了(注意这里用的时候“减少”,不是“杜绝”,仅仅是减少!如果仅仅用网桥说能杜绝广播风暴,个人觉得还是不太准确,后来交换机的出现才可以说是完全杜绝了广播风暴的发生)!

  在介绍网桥之前,还想简单介绍另一个物理层的设备:“中继器”,这种设备的作用是把物理层传输的信号放大,由于长距离的传输,信号会有一定的损耗的,这种设备主要解决的就是这个问题。它和HUB的区别是:HUB主要是为了在物理层上转发数据的,所以它不关心电压值的大小,也不会放大物理信号;而中继器它的作用就是为了放大信号用的,SO…..

核心总结:有源/无源HUB工作在物理层,智能HUB覆盖物理层、链路层、网络层。依据IEEE 802.2协议,集线器功能是随机选出某一端口的设备,并让它独占全部带宽,与集线器的上联设备(交换机、路由器或服务器等)进行通信。

简单来说:HUB收到网络信号时,因为工作在物理层(智能HUB可以路由这里不考虑,有源HUB会对收到的网络信号进行放大或再生,无源HUB不会),所以HUB会无脑转发该网络信号到其他所有处于工作状态的端口上。

2、网桥


网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
网桥可以是专门硬件设备,也可以由计算机加装的网桥软件来实现,这时计算机上会安装多个网络适配器(网卡)。
网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务,即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了解是靠“自学习”实现的,有透明网桥、转换网桥、封装网桥、源路由选择网桥。网桥示意如图1所示。

网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。

在网络互联中起到数据接收、地址过滤与数据转发的作用,用来实现多个网络系统之间的数据交换。
网桥的基本特征
1.网桥在数据链路层上实现局域网互连;
2.网桥能够互连两个采用不同数据链路层协议、不同传输介质与不同传输速率的网络
3.网桥以接收、存储、地址过滤与转发的方式实现互连的网络之间的通信;
4.网桥需要互连的网络在数据链路层以上采用相同的协议
5.网桥可以分隔两个网络之间的通信量,有利于改善互连网络的性能与安全性。

网桥连接不同网段的探讨:
首先网桥和普通的二层交换机都不具备网络层功能,也就是不能给网段上的pc机分配IP地址,然后一个网段只能有一个出口负责管理和外界连接,因为网段某节点pc发送的ARP请求,只能得到一个路由器的响应并分配ip。按照这样的推理。网桥连接的两个网段,只有一个地方的网段,连接有路由器并负责和外网进行数据交流。在路由器看来,内网是透明的,感觉就只有一个局域网。(上文的网段,应该就是网络分段的意思)

3、交换机


二层交换机工作于OSI参考模型的第二层,即数据链路层

交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域

具体可分为:

  • 直通转发(cut-through):数据包的前6个字节(MAC地址)一到达交换机,即确定目的地址,向相应端口转发该数据包。这时可能该数据包在接收端口还没有传输完。适用于网络质量好,误码率低的情形。
  • 存储转发(store-and-forward):交换机把收到的完整数据包暂存,然后检查其校验和或其他;通过检验的数据包再读取其目的地址,向相应端口转发。
  • 无帧(fragment-free):基本类似于直通转发。但对数据包的前64个字节做存储-校验-转发。因为大部分误码、碰撞(collision)发生在数据包头64字节。

通常,交换机采取直通转发,如果误码率上升到某个阈值,再改用存储转发。

当一台交换机安装配置好之后,其工作过程如下:

  • 收到某网段(设为A)MAC地址为X的计算机发给MAC地址为Y的计算机的数据包。交换机从而记下了MAC地址X在网段A。这称为学习(learning)。
  • 交换机还不知道MAC地址Y在哪个网段上,于是向除了A以外的所有网段转发该数据包。这称为泛洪(flooding)。
  • MAC地址Y的计算机收到该数据包,向MAC地址X发出确认包。交换机收到该包后,从而记录下MAC地址Y所在的网段。
  • 交换机向MAC地址X转发确认包。这称为转发(forwarding)。
  • 交换机收到一个数据包,查表后发现该数据包的来源地址与目的地址属于同一网段。交换机将不处理该数据包。这称为过滤(filtering)。
  • 交换机内部的MAC地址-网段查询表的每条记录采用时间戳记录最后一次访问的时间。早于某个阈值(用户可配置)的记录被清除。这称为老化(aging)。

对于全交换(full-switch)局域网,交换机每个端口只连接一台设备,因此不会发生碰撞。交换机也不需要做过滤。

分类:

传统交换机(二层交换机)

交换机被广泛应用于二层网络交换。中档的网管型交换机还具有VLAN划分、端口自动协商、MAC访问控制列表等功能,并提供命令行界面图形界面控制台,供网络管理员调整参数

网桥和二层交换机的区别

交换机与网桥的区别(这里说的交换机就是我们常见的最普通的二层交换机)
局域网交换机的基本功能与网桥一样,具有帧转发、帧过滤和生成树算法功能。但是,交换机与网桥相比还是存在以下不同:
(1)交换机工作时,实际上允许许多组端口间的通道同时工作。所以,交换机的功能体现出不仅仅是一个网桥的功能,而是多个网桥功能的集合。即网桥一般分有两个端口,而交换机具有高密度的端口。
(2)分段能力的区别
由于交换机能够支持多个端口,因此可以把网络系统划分成为更多的物理网段,这样使得整个网络系统具有更高的带宽。而网桥仅仅支持两个端口,所以,网桥划分的物理网段是相当有限的。
(3)传输速率的区别
交换机与网桥数据信息的传输速率相比,交换机要快于网桥。
(4)数据帧转发方式的区别
网桥在发送数据帧前,通常要接收到完整的数据帧并执行帧检测序列FCS后,才开始转发该数据帧。交换机具有存储转发和直接转发两种帧转发方式。直接转发方式在发送数据以前,不需要在接收完整个数据帧和经过32bit循环冗余校验码CRC的计算检查后的等待时间。

三层交换机

三层交换机则可以处理第三层网络层协议,用于连接不同网段,通过对缺省网关的查询学习来创建两个网段之间的直接连接。

三层交换机具有一定的“路由”功能,但只能用于同一类型的局域网子网之间的互连。这样,三层交换机可以像二层交换机那样通过MAC地址标识数据包,也可以像传统路由器那样在两个局域网子网之间进行功能较弱的路由转发,它的路由转发不是通过软件来维护的路由表,而是通过专用的ASIC芯片处理这些转发;

四层交换机

四层交换机可以处理第四层传输层协议,可以将会话与一个具体的IP地址绑定,以实现虚拟IP [1] ;

七层交换器

更加智能的交换器,可以充分利用频宽资源来过滤,识别和处理应用层数据转换的交换设备。

二层交换机与集线器的区别

交换机与集线器不同之处是,集线器会将网络内某一用户发送的数据包传至所有已连接到集线器的电脑。而交换机则只会将数据包发送到指定目的地的电脑(透过MAC表),相对上能减少数据碰撞及数据被窃听的机会。交换机更能将同时传到的数据包分别处理,而集线器则不能。

最大的不同之处在于:集线器的每一个接口都处于相同的冲突域,而交换机的每个接口处于一个冲突域。在性能方面尤为突出:例如在100Mb/s的以太网络中有100个用户,使用集线器,每个用户只有1Mb/s(100Mb/s/100),因为Hub是共享式的网络;而使用交换机,每个接口有100Mb/s,如果有100个接口,总带宽为100*100Mb/s(最终的带宽大小取决于输入接口的带宽;即如果输入端口只有10000M,则达到上限前,每个用户都能使用100M带宽,但一旦所有用户的总需求超过10000M,用户将在相同优先级的原则下进行带宽分配),因为交换机是独立式的网络。

二层交换机与路由器的区别

从时间线上看,路由器诞生于交换机之后,为了弥补交换机不能定向转发数据包的缺陷。

“交换”一词最早出现于电话系统,指两个不同电话交换机之间语音信号的交换。故从本意上讲,交换是完成信号由交换设备入口至出口的转发的技术的统称。路由器名称中的“路由”(router)来自于路由器的转发策略–路由选择(routing)。交换机和路由器的区别有但不局限于以下几点(这里的交换机和路由器都是常规型号的):

1.两者工作在OSI模型的不同层次上
交换机工作在OSI模型第二层数据链路层,路由器工作在OSI模型第三层网络层。网络层提供更多的协议信息,方便路由器做出更加智能的转发选择。
2.两者转发时所依据的对象不同
交换机是基于MAC地址识别,实现封装数据包转发。路由器基于网络ID号(IP地址)。MAC一般被固化在网卡中,不可更改。而IP地址可以被系统或网络管理员进行设置和分配。
3.两者转发广播数据包的域不同
被交换机连接起来的网络属于同一广播域,广播数据包会在网络内所有网段上进行传播。连接在路由器上的网段则被分区为不同广播域,广播数据包只在各自广播域内传播而无法穿透路由器。路由器的这种子网隔离功能可以在一定程度上防止广播风暴。

三层交换机与路由器的区别

虽然三层交换机与路由器都具有路由转发功能,二者都运行在OSI模型的第三层,即网络层,但是二者并不等同,适用范围也不同,不会相互替代。

1.主打功能不同
三层交换机的主打的功能点是二层交换技术,并附加一点路由转发功能。路由器的主打功能是路由转发,并可能附加一些备用功能,比如硬件防火墙、二层交换技术等其它功能。
2.适用环境不同
三层交换机的路由转发功能一般都比较粗略,由于它一般用在简单的接入网的连接。它在以太网中的主要作用还是提供快速的二层数据交换,功能特点还是针对频繁的以太网数据交换。
路由器的设计初衷就是为了跨网段连接。尽管它也能在局域网内用于连接网络,但是它的路由转发功能主要用于不同类型网络之间,例如连接局域网广域网,连接以太网令牌环网。它的主打功能就是路由转发,专业处理复杂路由路径和复杂的网络连接。因此,路由器的路由转发功能,比三层交换机强大得多。路由器的优势是能够选择最佳路由、负荷分担、链路备份以及与其他网络进行路由信息的交换等功能。为了能够适应各种类型的网络,路由器的接口类型非常丰富,例如以太网接口、令牌环网接口、WLAN网卡、光纤接口等等。三层交换机一般只有以太网接口。
3.性能不同
三层交换机的路由转发是由硬件实现的,使用专用ASIC芯片来处理路由转发。路由器的路由转发是由软件实现的,在CPU中运行一段程序来处理路由转发。
所以三层交换机的转发效率会高过路由器,但是路由转发的功能都比较弱,由于路由转发功能是固化在硬件中的,不具有软件可扩展性,也就不会具有路由器的附加功能(例如防火墙功能)。

四、路由器


路由器英语:Router,又称路径器)是一种电讯网络设备,提供路由转送两种重要机制,可以决定数据包从来源端到目的端所经过的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转送。路由工作在OSI模型的第三层——即网络层,例如网际协议(IP)。
用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。

路由器的结构

路由器从功能上可以划分为:路由选择和分组转发。
分组转发结构由三个部分组成:交换结构、一组输入端口和一组输出端口。

路由器分组转发流程

从数据报的首部提取目的主机的 IP 地址 D,得到目的网络地址 N。
若 N 就是与此路由器直接相连的某个网络地址,则进行直接交付;
若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给表中所指明的下一跳路由器;
若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;
若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;
否则报告转发分组出错。

路由选择协议

路由选择协议都是自适应的,能随着网络通信量和拓扑结构的变化而自适应地进行调整。
互联网可以划分为许多较小的自治系统 AS,一个 AS 可以使用一种和别的 AS 不同的路由选择协议。
可以把路由选择协议划分为两大类:

  • 自治系统内部的路由选择:RIP 和 OSPF
  • 自治系统间的路由选择:BGP

1. 内部网关协议 RIP

RIP 是一种基于距离向量的路由选择协议。距离是指跳数,直接相连的路由器跳数为 1。跳数最多为 15,超过 15 表示不可达。

RIP 按固定的时间间隔仅和相邻路由器交换自己的路由表,经过若干次交换之后,所有路由器最终会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器地址。

距离向量算法:

  • 对地址为 X 的相邻路由器发来的 RIP 报文,先修改报文中的所有项目,把下一跳字段中的地址改为 X,并把所有的距离字段加 1;
  • 对修改后的 RIP 报文中的每一个项目,进行以下步骤:
  • 若原来的路由表中没有目的网络 N,则把该项目添加到路由表中;
  • 否则:若下一跳路由器地址是 X,则把收到的项目替换原来路由表中的项目;否则:若收到的项目中的距离 d 小于路由表中的距离,则进行更新(例如原始路由表项为 Net2, 5, P,新表项为 Net2, 4, X,则更新);否则什么也不做。
  • 若 3 分钟还没有收到相邻路由器的更新路由表,则把该相邻路由器标为不可达,即把距离置为 16。

RIP 协议实现简单,开销小。但是 RIP 能使用的最大距离为 15,限制了网络的规模。并且当网络出现故障时,要经过比较长的时间才能将此消息传送到所有路由器。

2. 内部网关协议 OSPF

开放最短路径优先 OSPF,是为了克服 RIP 的缺点而开发出来的。

开放表示 OSPF 不受某一家厂商控制,而是公开发表的;最短路径优先表示使用了 Dijkstra 提出的最短路径算法 SPF。

OSPF 具有以下特点:

  • 向本自治系统中的所有路由器发送信息,这种方法是洪泛法。
  • 发送的信息就是与相邻路由器的链路状态,链路状态包括与哪些路由器相连以及链路的度量,度量用费用、距离、时延、带宽等来表示。
  • 只有当链路状态发生变化时,路由器才会发送信息。

所有路由器都具有全网的拓扑结构图,并且是一致的。相比于 RIP,OSPF 的更新过程收敛的很快。

3. 外部网关协议 BGP

BGP(Border Gateway Protocol,边界网关协议)

AS 之间的路由选择很困难,主要是由于:

  • 互联网规模很大;
  • 各个 AS 内部使用不同的路由选择协议,无法准确定义路径的度量;
  • AS 之间的路由选择必须考虑有关的策略,比如有些 AS 不愿意让其它 AS 经过。

BGP 只能寻找一条比较好的路由,而不是最佳路由。

每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息。

五、网关


网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连 
【说明:由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器的IP!】 
OSI中,网关有两种:一种是面向连接的网关,一种是无连接的网关。当两个子网之间有一定距离时,往往将一个网关分成两半,中间用一条链路连接起来,我们称之为半网关。
按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。
所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
在和 Novell NetWare 网络交互操作的上下文中,网关在 Windows 网络中使用的服务器信息块 (SMB) 协议以及NetWare网络使用的 NetWare 核心协议 (NCP) 之间起着桥梁的作用。网关也被称为 IP路由器。

整理自:百度百科、维基百科、https://www.cnblogs.com/hyddd/archive/2009/01/18/NetWorking.html

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments