故障分析:模拟数据通信
故障分析:模拟数据通信
5 K5 L( O/ @: t3 D, X% {8 L: J! ^, Y
再看网络层,这台电脑能够访问因特网,只不过有丢包而已,似乎网络层也不应该有问题,那么所有问题似乎就集中在数据链路层了。数据链路层的问题会是哪里呢?思考了几天,毫无头绪,最后只好仔细地想一想网络通信的过程,看能不能找到问题。- x0 _7 G; h7 B- D
' y- M3 n1 B c
假设这台电脑有一个数据包需要发送到因特网,那么首先它会检查目的地址与本机地址是否在一个网络中,如果不在一个网络中,就会将数据包发送给默认网关。本案例中目的IP为因特网地址,肯定不在一个网络中,所以数据包会发送给默认网关。在这里默认网关为那台Cisco三层交换机,IP地址为192.168.24.10。这时192.168.24.55这台电脑会检查本机的ARP表,查找192.168.24.10所对应的MAC地址,如果在ARP表中没有发现相应的ARP表项,它就会发送一个ARP请求包,并将它发送给网络中的所有设备来获得192.168.24.10的MAC地址。由于ARP请求包是以广播方式发送的,网络中的所有设备都会接收到这个包,然后传送给网络层检验。
* O$ N r% @" \6 m: k f6 `6 w$ W, y; j- c4 t' K/ p
当Cisco三层交换机接收到这个ARP请求时,就会检查本机的IP地址和ARP请求包中的目的IP地址是否相同,如果相同,交换机就会做出ARP应答,将它的MAC地址发送给源,也就是192.168.24.55这台电脑。这台电脑收到ARP应答包后,就会将交换机的IP地址(192.168.24.10)和MAC地址写入ARP表,然后将交换机的MAC地址作为目的MAC地址封装到数据包中,并将数据包发送到交换机。交换机在收到数据包后,就会检查目的IP是否在本网段中,若发现不在本网段中,就会查找路由表,看看有没有到目的IP的路由条目,如果没有,就会将数据包发送给默认路由。在本案例中这台交换机的默认路由是那台IP为192.168.24.7的防火墙。所以交换机就会发送一个ARP广播,以获得防火墙的MAC地址。防火墙做出ARP应答后,交换机就会将防火墙的MAC地址作为目的MAC地址封装到数据包中,数据包就会发送到防火墙,然后防火墙就会又重复上述过程,将数据包发送给因特网上的目的地址。这一切过程都是正常的,没有什么问题。在电脑和交换机的ARP表中都能找到相应的ARP记录,用tracert命令跟踪路由也是正常的。那问题究竟在什么地方呢?看来还得继续分析。