网络互联设备概述
首先看网络通信中需要解决的问题:
1. 不同网络之间的互联:以太网,令牌环,FDDI等,这些网络链路层的帧格式都不相同,所以需要专门的设备能进行相互转换使之可以互相通信;
2. 局域网中同一个子网的多台机器之间相互通信,需要有设备来使之相互连通,实现数据转发;
3. 不同子网之间通信需要有设备来完成子网之间的路由,把数据发往正确的地址;
4.私有网络访问公网需要有设备来完成数据包的正确分发,这里说的“私有网络”是指使用以下保留地址的局域网:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 -192.168.255.255
再看目前网络通信中常见的设备名词:中继器(RP repeater), 集线器(HUB), 交换机(Switcher), 网桥(Bridge), 网关(Gateway), 路由器(Router); 需要说明的是这些概念没有严格的界限,由于现在各种设备功能都在不断增强,成本也在下降,所以很多功能都集成到了一起,这里就各种设备最初的基本功能作简要分析辨别。
中继器(RP repeater):很简单,工作在物理层,因为网线传输的信号会随着距离的增加而衰减,而中继器就是在中间进行信号放大,让信号可以传的更远;
集线器(HUB):可以用来解决一个网段内局域网各台主机之间的通信;HUB也是工作在物理层的,可以认为是多端口的中继器,因为其工作在物理层,所以连接各主机的端口是没有MAC地址的;可以认为HUB只是一个网线连接的作用。假如一个HUB上连接了5台主机:192.168.0.1~192.168.0.5,现在主机A(192.168.0.1)要给主机B(192.168.0.5)发送数据,发送第一个数据包时,主机A发出ARP消息,里面包含IP地址192.168.0.5,HUB会把这个消息发送到所有端口,主机B收到该ARP消息后填入自己的MAC地址发送给主机A,此后主机A发往主机B的所有数据包的目的MAC就是主机B的MAC地址, 但是数据包经过HUB的时候HUB并不知道主机B是在哪个端口,所以HUB还是把这个数据包广播到所有的端口,当然只有主机B会将其收下。
交换机(Switcher):工作在链路层,根据MAC地址分发消息,可以用来解决一个网段内局域网各台主机之间的通信,比HUB先进的地方体现在它里面维护了一张表,这张表记录了各台主机MAC和其所连接的端口的对应关系,还看上面HUB中的例子,假如主机B连接在交换机的第五个端口,那么经过第一个数据包的发送之后交换机就会建立一个主机B的MAC地址和端口五的一个对应关系记录,此后交换机发现目的地址是主机B的MAC的数据包就直接发往端口五,而不再广播。这里说的主要是二层交换机,后来又出现所谓的三层交换机,实际上又加入了网络层的路由功能,和路由器的功能基本类似。
网桥(Bridge):工作在链路层,根据MAC地址分发消息,用来连接多个局域网。网桥也有交换机中相应的映射表,能够将相应MAC地址的包发到相应的端口。此外网桥的另一个作用是能够进行协议转换,可以连接两种不同架构的局域网,比如将FDDI的数据包发往以太网。
网关(Gateway):主要用来连接多种不同架构的网络(以太网,令牌环等),同时也有路由的作用,现在来讲和路由器的概念很难分清;
路由器(Router):工作在网络层,根据IP地址进行路由,内部维护一张路由表,决定数据包的下一跳应该发往哪里。路由表中每条记录包含Destination,Gateway和Netmask以及其他项目,Destination可以是一个网络地址也可以是一台主机地址,通常还有一个Default值;GateWay中指应该是和路由器直接相连的一台主机或者路由器的地址;路由器收到一个IP包后取出其目的IP地址,然后和路由表中每一项的Netmask做与运算看是否和该项的Destination一致,如果一直则发往该项中指定的Gateway,如果最终没有找到一致的条目则发往Destination为Default的Gateway。此外路由器的另一个功能就是实现NAT功能,也就是能把“私有网络”中的一台注意映射成一台公网上的主机,使得“私有网络”中的主机可以和公网上的其他主机一样访问公网。
综上,中继器,集线器都是工作在物理层,端口没有MAC地址,主要负责一个局域网中的数据包的转发;交换机,网桥工作在链路层,可以根据MAC地址转发消息;交换机用于局域网内部主机通信,网桥用于局域网直接的相互连接;网关,路由器工作在网络层,可以根据网络层地址进行路由,完成不同网络架构之间的互连,以及各不同子网之间的消息路由和私有网络访问公网的功能。