网络硬件设备工作原理
本文主要对网络通讯中的硬件设备,如中继器、集线器、网桥、二层交换机、路由器和三层交换机的原理进行分析。
1. 中继器工作原理
中继器又叫“放大器”,起放大信号的左右,解决无论线路不够长,而引起的信号衰减问题。缺点:放大通信信号的同时会放大噪声。它处于OSI七层模型的物理层设备,无法读懂和修改OSI的上层数据,无法完成更多的选路和优化转发的特性,只有放大信号和延长线路的作用,端口少,不是一种密集型端口的网络设备,现在已被淘汰。
2. 集线器
集线器又叫Hub,是一种用于“星形”网络组织的中心设备。它具备中继器的特点,端口比中继器更密集,因此又把集线器叫做端口更多的集线器。集线器是一种半双工(同一时间只能接收或发送数据,不能同时既接受又发送数据)、冲突型设备,共享带宽,放大信号的同时放大噪声,不隔离广播,不能成环,不安全,一般不建议使用。集线器工作原理如下所示。A端口给D端口发送数据时,从集线器1号端口进入的数据,会发给2,3,4三个端口,然后2,3端口发现不是发给自己的数据,所以丢弃,只有4端口的D计算机发现目标地址是自己的地址,所以就接受,发送数据以广播的形式,因此这样是一种不安全的通讯设备,容易被别人监听到数据报。同时,当A发数据的时候,B是不能发送数据的,就会发生冲突,
3. 网桥
网桥(bridge)处于OSI模型的数据链路层(链路层设备不隔离广播),作用是减少集线器因共享和半双工特性引发的网络冲突问题。网桥的性能比集线器更好,因为网桥能够基于MAC地址进行数据链路层选路,能够基于学习构造MAC地址表,对MAC地址进行控制与过滤,所以网桥可以基于MAC地址进行选路,比集线器性能更好,将冲突域划分的更小,转发行能比集线器更高。但同样是不能隔离广播,所以不能让网桥形成闭合的环路。
网桥MAC地址自学习:在网桥的接口上记录数据报文的源MAC地址,来完成整个MAC地址表的构建。
开始,网桥的MAC地址表是空的,第一次发生数据的时候不知道目的地址在哪,同样会发广播,但此时的广播不是发送数据的广播,而是一个ARP(地址解析协议)的请求广播,这个广播不带要发送的数据(即使被监听到也是不能得到主机间通信的数据),是一个轻量的广播,可以忽略不计,这次广播的目的在于建立MAC地址表,记录源MAC地址对应的网桥端口。例如这样一次广播过程:A要给D发送数据,A先ARP广播D,A作为源主机,网桥记录了A 的MAC地址,B和C收到后不做反应,然后D收到广播后单播方式回应ARP,D回应的时候对于网桥就是源主机,就会记录D主机的MAC地址,这样就完成了一次记录。请求当MAC表构建后,网桥不在进行广播,而是利用MAC表进行快速选路并转发,所以就算网桥上装有数据分析仪也不能监听到数据,监听到的广播也是不带主机间通信的数据,而集线器每次都以广播的形式发送数据(直接将数据广播出去),所以不安全。(网桥广播和集线器广播有很大区别)
网桥不能成环的原因:①网桥不隔离广播,所以广播不能在网桥环路中发散,从而形成广播风暴,将整个网络的正常通信资源占据。②由于网桥不能隔离广播,所以会导致MAC地址自学习错误。
对②进行解析:当主机B给主机A发送数据时,网桥B的2端口会记录主机B的MAC地址,而在网桥环路中,网桥不隔离广播,对于ARP的请求广播,网桥B又相当于一根线,所以广播会穿过网桥B到的网桥A,即主机B发送的数据会直接到网桥A的1端口,因此网桥A的1端口也会记录主机B的MAC地址,但是网桥A的1端口连接主机A,应该记录主机A的MAC地址,所以就产生了错误。但实际情况中,网桥是物理成环的,以提供冗余的路径,这又违背了网桥不能成环的原则,所以后面会讲到一种生成树协议STP来解决这个问题。
4. 二层交换机
二层交换机是一种代替网桥的新型产物,所以现在的组网设备基本没有网桥了。二层交换机与网桥的工作原理一样,都能自学习构造MAC地址表,基于MAC地址表进行转发、划分冲突域,对MAC地址实现过滤等功能。二层交换机是基于专用的集成电路来决定交换逻辑的算法的,没有瓶颈现象转发速度比网桥(软件方式决定交换逻辑算法)更优良,而且端口比网桥更密集,所以二层交换机代替了网桥。
二层交换机的转发技术:存储转发式、直通转发式和碎片切头式。
存储转发式:交换机首先接收到下图所示的数据帧(整个数据帧)进行缓存,然后检查数据帧的正确性,最后再从数据帧读取目的MAC地址,通过查找MAC表找到要发送的交换机端口,然后将数据帧发送出去。这种方式转发数据延时大,但错误率低。传统网桥和早期的二层交换机都是使用这种方式转发数据。
直通转发式:特点是速度快,它仅需读取上图中的目标MAC地址字段,就将数据帧进行转发,而不需要缓存整个数据帧,但由于没被交换机缓存,所以无法很好的检查所传输的数据帧是否有误,不能更好提高错误检查能力。
碎片切头式:这种方式集成了上面两种方式的优点,不需要读完并缓存整个数据帧,但也不是只读目标MAC地址就转发数据帧,而是在转发前先检查数据帧长度是否够64字节,如果不够,则认为是“残帧”(因为以太网介质访问发生冲突的帧,一般都小于64字节)。因为转发速度和容错率在两者之间,所以别广泛应用。
冲突域识别原则:①集线器上的所以无论接口属于一个冲突域;②二层交换机上的单个物理接口对应一个独立的冲突域。
5. 路由器
路由器属于OSI模型中的网络层,作用是网络层的IP寻址、路由和隔离广播等功能。
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽,"交通警察"。路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。
如上图所示,源主机192.168.1.2/24要给目标主机192.168.3.2/24发送数据,源主机发现目标主机与自己不在同一个网段里,所以源主机根据自己的默认网关将数据投递到默认网关192.168.1.1/24,然后路由器R1根据自己的路由进行表路由,将数据从192.168.2.1/24路由到192.168.2.2/24,最后路由器R2将数据投递到目标主机192.168.3.2/24,完成数据发送。
上面描述路由器的工作原理的过程仅限于在第三层(网络层)中进行讨论,但一次完整的通信是不能脱离数据链路层工作环境的,当然路由器也包括在内,所以在这里会对路由器转发数据包时,数据链路层的MAC地址变化过程做补充说明。在路由器执行路由的过程,数据包的目标IP地址和源IP地址始终保持不变,但在不同路由环境中对应的MAC地址是随时变化的。
路由器端口 |
IP地址 |
MAC地址 |
R1-E1/1 |
192.168.1.1/24 |
ca00.0d4c.001d |
R1-E1/0 |
192.168.2.1/24 |
ca00.0d4c.001c |
R2-E1/0 |
192.168.2.2/24 |
ca01.0d4c.001c |
R2-E1/1 |
192.168.3.1/24 |
ca01.0d4c.001d |
6. 三层交换机
三层交换机是现代化组网不可缺少的设备,是现金最流行的组网设备之一。三层交换机就是具有部分路由器功能的交换机。既可以转发数据(交换机)又可以对数据进行路由(路由器)。从宏观上讲,三层交换技术就是二层交换技术与三层路由技术相集成的,传统交换技术是在OSI模型的第二层进行基于MAC地址表的选路操作,而三层交换技术是在网络模型中的第三层实现路由数据包的高速转发。三层交换机使企业的网络模型更加精简和清晰,较传统的路由器具有更高的端口密集程度,因为对于数据包的转发是通过专业的硬件实现的,而传统的路由的路由更新、维护、计算等都是基于软件实现的。
为什么三层交换机比传统路由器的转发速度快?因为三层交换机的工作原理是“一次路由,多次交换”。
在同一个会话中,如果传输的数据较大,就会将数据分成许多小的数据包,然后依次发送。路由器是将每一次的数据报多进行路由选择,然后发送。而三层交换机转发过程是,第一个数据报以路由方式发送,执行传统路由,建立基于一次路由,多次交换的缓存表,然后同一会话的后面的数据报不再进行第三层的路由,而是通过缓存表直接构建新的MAC地址,然后查询对应的端口直接转发数据。所以路由器发送数据都会经过网络层,而三层交换机只有第一次经过网络层,后面都是在数据链路层交换数据,所以更快。但三层交换机不能完全代替路由器,路由器的功能还是比较全面的。