数通 | 某些基本知识梳理
路由环路
路由环路,就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。
这里引用百度百科中的一个示例来理解路由环路产生的原因。
如图所示,在网络11.4.0.0发生故障之前,所有的路由器都具有正确一致的路由表,网络是收敛的。
图源百度百科
在本例中,路径开销用跳数来计算,所以,每条链路的开销是1。路由器C与网络11.4.0.0
直连,跳数为0。路由器B经过路由器C 到达网络11.4.0.0
,跳数为1。路由器A 经过路由器B到达网络11.4.0.0
,跳数为2。
如果网络11.4.0.0
故障,就可能会在路由器之间产生路由环路,下面是产生路由环路的步骤:
- 当网络
11.4.0.0
发生故障,路由器C 最先收到故障信息,路由器C 把网络11.4.0.0
设为不可达,并等待更新周期到来通告这一路由变化给相邻路由器。如果,路由器B的路由更新周期在路由器C之前到来,那么路由器C就会从路由器B那里学习到去往11.4.0.0
的新路由(实际上,这一路由已经是错误路由了)。这样路由器C的路由表中就记录了一条错误路由(经过路由器B,可去往网络11.4.0.0
,跳数增加到2 )。- 路由器C 学习了一条错误信息后,它会把这样的路由信息再次通告给路由器B,根据通告原则,路由器B也会更新这样一条错误路由信息,认为可以通过路由器C去往网络
11.4.0.0
,跳数增加到 3 。- 这样,路由器 B 认为 可以通过路由器C 去往网络
11.4.0.0
,路由器C 认为 可以通过路由器B 去往网络11.4.0.0
,就形成了环路。(以上示例摘自百度百科)
概括来讲,解决路由环路问题的方法主要分为六种:
- 定义最大值;
- 水平分割技术;
- 路由中毒;
- 反向路由中毒;
- 控制更新时间;
- 触发更新
参考阅读:
直通网线和交叉网线
在学校的网络实验中也有自己动手制作直通网线,这里也算是回顾一下:
![](https://img.haomeiwen.com/i9934558/c2cac4fa277a67a4.png)
直通线是指一根双绞线的两端水晶头(最常见的就是RJ45水晶头)压线的标准一致,这样做出来的线叫直通线。也就是一根网线的一头是用T568A标准压的,那另一头也用T568A标准来压,或者两头都用T568B标准来做,这叫直通线。交叉线就是一根双绞线的两端水晶头压线的标准不同,一头用T568A标准做,一头用T568B标准来做,那这根线就叫交叉线。(即两个水晶头的连线交叉连接,A水晶头的1,2对应B水晶头的3,6;而A水晶头的3,6对应B水晶头的1,2。)
上面提到了两种水晶头压线的国际标准——T568A标准、T568B标准(其中,T568B为平常所使用的线序)!
- T568A:从左到右依次为1-绿白、2-绿、3-橙白、4-蓝、5-蓝白、6-橙、7-棕白、8-棕。
- T568B:从左到右依次为1-橙白、2-橙、3-绿白、4-蓝、5-蓝白、6-绿、7-棕白、8-棕。
既然直通线与交叉线的两端水晶头压线不同,那么用途自然也有区别:
- 直通线主要用于交换机(或者集线器Hub)UPLINK口来连接另一台交换机(或者集线器Hub)的普通端口,或者交换机普通端口连接计算机(终端)网卡。
- 交叉线主要用于交换机(或者集线器Hub)普通端口连接到交换机(或者集线器Hub)普通端口,或者计算机(终端)网卡连接计算机(终端)网卡。
某些网络测试工具
ping
ping 程序通常用来检测网络的连通性和延时
- 命令格式:
- ping IP地址或主机名 [-t] [-a] [-n count] [-l size]
- 参数含义:
- -t不停地向目标主机发送数据;
- -a 以IP地址格式来显示目标主机的网络地址 ;
- -n count 指定要ping 多少次,具体次数由count来指定 ;
- -l size 指定发送到目标主机的数据包的大小。
![](https://img.haomeiwen.com/i9934558/0d695069d068ee6e.png)
tracert
- tracert用来跟踪报文到达目的地所经过的路由器,也是常见的网络诊断工具之一(基于ICMP协议),UNIX下与之对应的是traceroute(基于UDP协议)。
- 通常的网络诊断顺序是首先使用ping程序来检测网络的连通性,如果不通,则使用Trace程序来跟踪报文在那台路由器上丢失,然后再进行下一步的处理。
- 处理机制:
tracert通过发送端口大于30000的UDP报文达到目的地,目的地的应用程序不能识别该端口,会返回ICMP的错误消息“port unreachable”给源;tracert同时使用IP header的TTL值,通过设置TTL值从1到最大值逐渐增加,UDP报文每经过一台设备,TTL值加一,并返回ICMP的消息,同时在返回的ICMP消息中记录设备接口地址,并打印处理。
tracert在每个TTL都发送三个UDP /ICMP报文,并记录每个报文返回的ICMP的时间值,如果在5秒内不能收到返回的ICMP报文,该时间值记录为“*”号。
![](https://img.haomeiwen.com/i9934558/07566bd4139c1b04.png)