集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中
的基础设备,采用CSMA/CD(一种检测协议)访问方式。
它工作于OSI参考模型第一层,即“物理层”,像一个信号放大器而已。
单个局域网内通过集线器进行布局,多个局域网中间也可以通过多个集线器相连,组成一个更大的局域网。
HUB 集线器就是一种共享设备,HUB本身不能识别目的地址,当同一局域网内的A主机给B主机传输数据时,数据包在以HUB为架构的网络上是以广播方式传输
的,由每一台终端通过验证数据包头的地址信息来确定是否接收。也就是说,在这种工作方式下,同一时刻网络上只能传输一组数据帧的通讯,如果发生碰撞还得重试。这种方式就是共享网络带宽。
集线器属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力
。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送
。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。集线器(HUB)属于数据通信系统中的基础设备,它和双绞线等传输介质一样,是一种不需任何软件支持或只需很少管理软件管理的硬件设备。它被广泛应用到各种场合。
优点包括:
缺点包括:
集线器不具备交换功能,只能全部广播
。
我们以图一的布局为例,2个局域网1和2通过集线器相连,当局域网1中的某个设备A发送设备B,如果设备B也在局域网1中,则集线器仍然会发送到局域网2中,造成浪费。
如果集线器能发现B和A在同一网段,拒绝向局域网2中广播消息,则叫交换功能,作用是隔离网络。
集线器所有端口是共享集线器的总带宽,同一个时刻,只能一个端口(对应局域网中的某台设备上的某个网卡)发送一条数据,效率低
。
一般集线器对数据包的处理大部分都是简单地将数据包复制并放大后,送到目前连接该集线器的各县设备商,因此数据包充斥在整个连通的局域网中,同时仅有一组数据交换的信号,所以在数据包传输量较大的居于网中,集线器将无法有效地传输数据,因为可能同时传送多份数据,从而造成数据包的冲突问题问题增加。
网桥(Bridge)是早期的两端口数据链路层网络设备,用来连接不同网段的计算机网络设备同时它又可隔离冲突域
。
可隔离冲突域
就是指我们前面提到的交换功能,集线器的缺点就是全部广播,此时,网桥能区分2个网络,如果发现B和A在同一网段,拒绝向局域网2中广播消息。
为什么能隔离? 原理就是利用MAC地址,有个类似笔记本,记录某个局域网内的所有机器的MAC,当发现在A的mac和B的mac都在局域网1中,则认为是同一个网络。
为什么工作在数据链路层? 因为mac是数据数据链路层的概念,只有工作在数据链路层,才能看见mac,这样联想起来,永远不会忘!
因为它的两个端口不是共享一条背板总线(分别有一条独立的交换信道),比当时的集线器(Hub)性能更好(集线器上各端口都是共享同一条背板总线的)。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。
也就说交换机和网桥类似,只是功能更强大一些。因此,他的工作模式和网桥也类似。
网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1 和网络2 通过网桥连接后,网桥接收网络1 发送的数据包,检查数据包中的地址,如果地址属于网络1 ,它就将其放弃,相反,如果是网络2 的地址,它就继续发送给网络2.这样可利用网桥隔离信息,将同一个网络号划分成多个网段(属于同一个网络号),隔离出安全网段,防止其他网段内的用户非法访问。由于网络的分段,各网段相对独立(属于同一个网络号),一个网段的故障不会影响到另一个网段的运行。
网桥的端口一般比较少,最简单的网桥只有2个,有的可以有多个,但是比交换机少的多。
也有人把“网桥”比喻成一个聪明的中继器(Repeater)。因为中继器只是对所接收的信号进行放大,然后直接发送到另一个端口连接的电缆上,主要用于扩展网络的物理连接范围;而网桥除了可以扩展网络的物理连接范围外,还可以对MAC 地址进行分区,隔离不同物理网段之间的碰撞(也就是隔离“冲突域”)。集线器和中继器都是物理层设备,而网桥属于二层设备(数据链路层)。
上图是用一个网桥连接的两个网络,网桥的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表中找到对应则,抛弃该包,如果不是,则转发给B子网,然后检查源MAC地址,是否在表中已经存在,如果不存在,在表A中增加一条记录。
网桥优点:
网桥缺点:
交换机(Switch)可以说同时是集线器和网桥的升级换代产品,因为交换机具有集线器一样的集中连接功能,同时它又具有网桥的数据交换功能。所以可以这样说,交换机是带有交换功能的集线器,或者说交换机是多端口的网桥。外形上,集线器与交换机产品没什么太大区别。
工作原理与网桥类似,总结如下:
当交换机从某个端口收到一个数据帧后,先读取帧头部的源MAC 地址,并与自己缓存中的映射表(CAM 表)进行比较,如果没有找到,则在CAM 表中添加一个该源MAC 地址与发送该帧的源端口映射表项。这就是交换机的MAC 地址自动学习功能。
如果在CAM 表项查到了帧中源MAC 地址,则继续查看是否有帧中目的MAC 地址所对应的映射表项。如果有,则直接把该帧转发到目的MAC 地址节点所连接的交换机端口,然后由该端口发送到目的主机。
如果在交换机CAM 表中没有找到帧中目的MAC 地址所对应的表项,则把该数据帧向除源端口外的其他所有端口上进行泛洪。
当MAC 地址与帧中目的MAC 地致的主机接收了该数据帧后就会向源主机产生一个应答帧,交换机获取该应答帧后从其中的源MAC 地址中获取了对应的MAC 地址和所连接端口的映射关系,并添加到CAM 表中。这样下次再有MAC 地址为这个MAC 地址的帧发送时交换机就可以直接从CAM 表中找到对应的转发端口,直接转发,不用再泛洪了。
网桥通常只是两个交换端口,其设计目的主要就是用来连接两个距离超过单段网线传输限制的物理网段(当然也可以用来直接连接两台主机),所以它的应用受到比较多的限制。再加上当时用于主机和其他网络设备集中连接的设备仍是传输效率和信道利用率都非常低下的集线器,根本不适应于计算机网络的发展。有了交换机后,一台交换机可以有多个端口,而且与网桥一样,不仅每个端口可以连接一个不同的物理网段(交换机上一个端口对应一个物理网段),还可以有大量的端口来集中连接主机,这时交换机就可以同时担当集线器和网桥的双重角色,而且在使用性能和扩展性能、交换性能等方面都有较大提高,大大促进了计算机网络的发展。
在网桥时代,集中连接主机的仍是集线器,而我们知道集线器发送数据是采用广播方式,所以信道中的无效载荷比例相当高,造成数据转发率和信道利用率都非常低。而有了交换机后,因为大多数主机都是直接连接在交换机端口上,即使不是,也主要是连接在其他交换机端口,所以数据的转发基本上都是通过提取帧中的MAC 地址直接发送到目的主机上的,而不是通过广播方式(仅在未知目的MAC 地址时采用广播),数据转发效率和信道利用率都大幅提高。
们知道,网桥通常只有两个端口,仅可以连接两个由集线器集中连接的物理网段,所以它的MAC 地址自动学习功能仅限于它的两个端口与对应的物理网段的映射。这样就造成了,一个网桥端口要与多个源主机MAC 地址之间的映射,也就是一对多映射关系。而交换机上的端口多数是直接连接主机的,所以在映射表中基本上都是一个源主机MAC 地址与一个交换端口间的一对一映射。一对一的映射查找起来明显比一对多的映射效率要高,所以交换机在数据转发效率要高于网桥。另外,交换机的缓存通常比网桥的要大,所以交换机中可以保存的MAC 地址与端口映射表较多,更适用于较大网络。
集线器工作在第一层(物理层),而交换机至少是工作在第二层,更高级的交换机可以工作在第三层(网络层)、第四层(传输层)和第七层(应用层),对应也就有三层交换机、四层交换机、七层交换机等之说了。一般我们说的就是二层交换机。
集线器的数据传输方式是多次复制方式的广播传输,而交换机的数据传输是有目的的,数据只对目的节点发送,只是在自己的MAC 地址表中找不到的情况下第一次使用以FF-FFFF-FF-FF-FF 作为MAC 地址的“泛洪”广播方式传输。所以,交换机在数据传输效率和信道利用率方面要远高于集线器,集线器更容易产生“广播风暴”。
随交换机产品价格的日益下降,集线器市场日益痿缩,不过,在特定的场合,集线器以其低延迟的特点可以用更低的投入带来更高的效率。交换机不可能完全代替集线器。
工作在网络层(L3),基于IP地址做转发,不同网络之间互相连接用到的设备。
路由器(Router)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器来完成。因此,路由器具有判断网络地址和选择路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。它不关心各子网使用的硬件设备,但要求运行与网络层协议相一致的软件。
路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。 路由器的基本功能是,把数据(IP 报文)传送到正确的网络,细分则包括:
路由器构成了 Internet 的骨架。它的处理速度是网络通信的主要瓶颈之一,它的可靠性则直接影响着网络互连的质量。因此Internet 研究领域中,路由器技术始终处于核心地位。
这个用一图流表达之:
工作站A需要向工作站B传送信息(并假定工作站B的IP地址为120.0.5),它们之间需要通过多个路由器的接力传递,路由器的分布如图2所示。 工作过程如下所示:
事实上,路由器除了这一功能外,还具有网络流量控制功能。有的路由器仅支持单一协议,但大部分路由器可以支持多种协议的传输,即多协议路由器。由于每一种协议都有自己的规则,要在一个路由器中完成多种协议的算法,势必会降低路由器的性能。因此,我们以为,支持多协议的路由器性能相对较低。用户购买路由器时,需要根据自己的实际情况选择自己需要的网络协议的路由器。
近年来出现了交换路由器产品,从本质上来说它不是什么新技术,而是为了提高通信能力,把交换机的原理组合到路由器中,使数据传输能力更快、更好。
优点包括
缺点包括:
传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域。由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
路由器(路由器的安装和配置)提供了防火墙的服务,它仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。
最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。
网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连
,网关既可以用于广域网互连,也可以用于局域网互连。
网关是用于连接网络层之上执行不同协议的子网,组成异构的互连网,网关能实现异构设备之间的通信,对不同的传输层、会话层、表示层、应用层协议进行翻译和变换。网关具有对不兼容的高层协议进行转换的功能。当连接两个完全不同结构的网络时,必须使用网关。网关工作在OSI模型的最高层应用层。网关的主要功能:把一种协议变成另一种协议,把一种数据格式变成另一种数据格式,把一种速率变成另一种速率,以求两者的统一。
网关地址和网关IP不是设备。
1、网关实质上是一个网络通向其它网络地IP地址。
2、比方有网络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地某个主机。网络B向网络A转发数据包地进程也是如此。
3、一个用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址。配置默认网关可以在 IP 路由表中创建一个默认路径。 一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关
,由这个网关来处理数据包。
现在主机使用的网关,一般指的是默认网关。 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。