项目1双机互连对等网络的组建 显示桌面.scf 7.1 项目提出 某一天,一直使用正常的公司计算机突然打 不开任何网页了。张飞焦急万分却不知从何 处下手,聊天室里面那早已约好时间的赵云 也打电话催促他赶快上网和他联系。 张飞的计算机究竟出现了什么问题?该如何 检查和维护呢? 7.2 项目分析 随着网络应用的日益广泛,计算机或各种网络设备出现这样那 样的故障是在所难免的。 网络管理员除了使用各种硬件检测设备和测试工具之外,还可 利用操作系统本身内置的一些网络命令,对所在的网络进行故 障检测和维护。 ipconfig命令查看TCP/IP配置信息(如IP地址、网关、子网掩 ping命令可测试网络的连通性;tracert命令可以获得从本地计算机到目的主机的路径信息; netstat命令可以查看本机各端口的网络连接情况; arp命令可以查看IP地址与MAC地址的映射关系。 7.3 相关知识点 7.3.1 TCP/UDP协议 TCP协议和UDP协议是传输层中最重要的两个协 TCP是一种面向连接的、端到端的、可靠的数据包传送协议,可将一台主机的字节流无差错 地传送到目的主机。 UDP则不为IP提供可靠性、流量控制或差错恢 复功能,它是不可靠的无连接协议,不要求分 组顺序到达目的地。 1.TCP报文段的格式 源端口号和目的端口号:各占16位,标识发送端和接收端的应用进程。1024以下的端口号被称为知名端 口,它们被保留用于一些标准的服务。 序号:占32位,所发送的消息的第一字节的序号,用以标识从TCP发送端和TCP接收端发送的数据字节流。 确认号:占32位,期望收到对方的下一个消息第一字节的序号。只有在“标识”字段中的ACK位设置为1 时,此序号才有效。 首部长度:占4位,以32位为计算单位的TCP报文段首部的长度。 复位位(RST):复位由于主机崩溃或其他原因而出现的错误的连接。 同步位(SYN):SYN=1,ACK=0表示连接请求消息,SYN=1,ACK=1表示同意建立连接消息。 紧急指针:占16位,当前序号到紧急数据位置的偏移量。(10) 选项:用于提供一种增加额外设置的方法,如连接建立 时,双方说明最大的负载能力。 (11) 填充:当“选项”字段长度不足32位时,需要加以填充。 (12) 数据:来自高层(即应用层)的协议数据。 2.三次握手机制 3.滑动窗口协议 报文1、2、3已发送且确认;报文4、5已发送,但至 少报文4未确认。假如报文5先确认,报文4后确认, 后面的报文还未确认,则窗口一次向前滑动两个位置。 报文4确认之前,窗口是不能滑动的,报文4确认后窗 口立即滑动。 4.确认与重传机制 TCP建立在一个不可靠的虚拟通信系统上,数 据的丢失可能经常发生,一般发送方利用重 传技术补偿数据包的丢失。 接收方正确接收数据包时,要回复一个确认 信息给发送方;而发送方发送数据时启动一 个定时器,在定时器超时之前,如果没有收 到确认信息,则重新传送该数据。 5.UDP数据报格式 报文长度:包括UDP报头和数据在内的报文长度值,以字节为单位,最小为8。 校验和:计算对象包括伪协议头、UDP报头和数据。校验和为可选字段,如果该字段设置为0,则表示发送者没有为该UDP数据报 提供校验和。 TCP/UDP端口 7.3.2 ARP和RARP协议 ARP(Address Resolution Protocol) 址解析协议,实现通过IP地址得知其物理地址(MAC地址)。 在以太网协议中规定,同一局域网中的一台 主机要和另一台主机进行直接通信,必须要 知道目标主机的MAC地址。 1.ARP的工作原理 在每台安装有TCP/IP协议的计算机中都有一个ARP缓 存表,表里的IP地址与MAC地址是一一对应的。 以主机A(192.168.1.5)向主机B(192.168.1.1)发送数 当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。 如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面,就可以发送了。 如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播:“我是192.168.1.5,我的MAC 地址是00-aa-00-66-d8-13,请问IP地址为192.168.1.1 的MAC地址是什么?” 网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1 的MAC地址是00-aa-00-62-c6-09”。 这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。 主机A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下 次A再向主机B或者B向A发送信息时,直接从各自的 ARP缓存表里查找就可以了。 ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般为15~20分钟)如果表中的某一行 内容(IP地址与MAC地址的映射关系)没有被使用过, 该行内容就会被删除,这样可以大大减少ARP缓存表 的长度,加快查询速度。 2.RARP的工作原理 RARP(Reverse Address Resolution Protocol),即反向地址解析协议。 如果某站点被初始化后,只有自己的物理地址 (MAC地址)而没有IP地址,则它可以通过RARP 协议发出广播请求,征询自己的IP地址,RARP 服务器负责回答。 RARP协议广泛用于无盘工作站获取IP地址。 RARP的工作原理: 源主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址。 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。 如果存在,RARP服务器就向源主机发送一个响应数据包,并将此IP地址提供给源主机使用。 源主机收到RARP服务器的响应信息,就利用得到的IP地址进行通信;如果一直没有收到RARP服务器的响应信息,表示初始化失败。 7.3.3 ICMP协议 在任何网络体系结构中,控制功能是必不可少的。 网络层使用的控制协议是网际控制报文协议 ICMP(Internet Control Message Protocol)。 ICMP不仅用于传输控制报文,而且还用于传输差错报文。 实际上,ICMP报文是作为IP数据报的数据部分而传输的。 1.ICMP差错报文 差错报告不享受特别优先权和可靠性,作为一般数据传输。在传输过程中,它完全有可能丢失、损坏或被丢弃。 ICMP差错报告数据中,除包含故障IP数据报报头外,还包含故障IP数据报报区的前64位数据。通常,利用这64位数据可以了解高层协 议(如TCP协议)的重要信息。 ICMP差错报告是伴随着丢弃出错IP数据报而产生的。IP软件一旦发现传输错误,它首先把出错报文丢弃,然后调用ICMP向源主机报告 差错信息。 ICMP差错报告包括目的地不可达报告、超时报告、参 数出错报告等。 目的地不可达报告路由器的主要功能是进行IP数据报的路由选择和转发, 但是路由器的路由选择和转发并不是总能成功的。 在路由选择和转发出现错误的情况下,路由器便发出 目的地不可达报告。目的地不可达可以分为网络不可 达、主机不可达、协议不可达、端口不可达等多种情 超时报告如果路由器发现当前数据报的生存时间(TTL)已减为0, 则该路由器将丢弃该数据报,并且向源主机发送一个 ICMP超时差错报告,通知源主机该数据报已被丢弃。 参数出错报告路由器或目的主机在处理收到的数据报时,如果发现 报头参数中存在无法继续完成处理任务的错误,则将 该丢弃该数据报,并向源主机发送参数出错报告,指 出可能出现错误的参数位置。 2.ICMP控制报文 所谓拥塞,就是路由器被大量涌入的IP数据报“淹没”的现象,其原因主要有: 为控制拥塞,IP软件采用“源站抑制”技术。路由器对每个接口进行监视,一旦发现拥塞,立即向相应源主机发送ICMP源抑制报 文,请求源主机降低发送IP数据报的速率。 6.4 项目实现 如果路由器的某输出队列已满,在缓冲区空出之前,该队列将抛弃新来的IP数据报。每抛弃一个数据报,路由器就向该数据 报的源主机发送一个ICMP源抑制报文。 为路由器的输出队列设定一个阈值,当队列中的数据报积累到一定数量,超过阈值后,如果再有新的数据报到来,路由器就 向数据报的源主机发送ICMP源抑制报文。 更为复杂的源站抑制技术是有选择地抑制IP数据报发送速率较高的源主机。 什么时候解除拥塞,路由器不通知源主机,源主机根据当前一段时间内是否收到ICMP源抑制报文自主决定。 路由控制与重定向报文在IP互联网中,主机可以在传输数据的过程中不断从 相邻的路由器获得新的路由信息。通常,主机在启动 时都具有一定的路由信息,但路径不一定是最优的。 路由器一旦检测到某IP数据报经非优路径传输,它一 方面继续将该数据报转发出去,另一方面将向源主机 发送一个重定向ICMP报文,通知源主机到达相应目的 主机的最优路径。 ICMP重定向报文的优点是保证主机拥有一个动态的、 既小且优的路由表。 3.ICMP回应请求与应答报文 为便于进行故障诊断和网络控制,可利用ICMP回应请 求与应答报文来获取某些有用的信息。 回应请求与应答报文:用于测试目的主机或路由器的可达性。请求者向特定目的IP地址发送一个包含任 选数据区的回应请求,当目的主机或路由器收到该请 求后,返回相应的回应应答。 如果请求者收到一个成功的应答,说明传输路径以及 数据传输正常。 时间戳请求与应答报文:利用该请求与应答报文,可以从其他机器获得其时钟的当前时 间,经估算后再同步时钟。 掩码请求与应答报文:当主机不知道自己所在网络的子网掩码时,可向路由器发送掩码 请求报文,路由器收到请求后发回掩码应答 报文,告知主机所在网络的子网掩码。 7.4 项目实现 7.4.1 任务1:ipconfig命令的使用 ipconfig命令可以查看主机当前的TCP/IP配置信息(如IP地址、网关、子网掩码等)、刷新动态主 机配置协议(DHCP)和域名系统(DNS)设置。 ipconfig[/all] [/renew[Adapter]] [/release [Adapter]] [/flushdns] [/displaydns] [/registerdns] [/showclassid Adapter] [/setclassid Adapter [ClassID]] 使用不带参数的ipconfig可以显示所有适配器的IP地址、子网掩码和默认网关。 要显示完整的TCP/IP配置信息(主机名、MAC地址、IP地址、子网掩码、默认网关、DNS服务器等),可执行“ipconfig /all” 命令,并把显示结果填入表7-3中。 仅更新“本地连接”适配器的由DHCP分配的IP地址配置,可执行“ipconfig /renew” 命令。 要在排除DNS的名称解析故障期间刷新DNS解析器缓存,可执行“ipconfig /flushdns” 命令。 7.4.2 任务2: ping命令的使用 ping命令是利用回应请求/应答ICMP报文来测试目的主 机或路由器的可达性的。 通过执行 ping命令可获得如下信息: 监测网络的连通性,检验与远程计算机或本地计算机的连接。 确定是否有数据报被丢失、复制或重传。ping命令在所发送的数据报中设置唯一的序列号(Sequence Number),以此检查其接收到应答报文的序列号。 ping命令在其所发送的数据报中设置时间戳(Timestamp),根据返回的时间戳信息可以计 算数据包交换的时间,即RTT(Round Trip Time)。 ping命令校验每一个收到的数据报,据此可以确定数据报是否损坏。 count][-lsize][-f][-i TTL][-v TOS][-r count][-s count] host-list]|[-khost-list]][-w timeout] 目的IP地址 测试本机TCP/IP协议是否正确安装执行“ping 127.0.0.1”命令,如果能ping成功,说明 TCP/IP协议已正确安装。“127.0.0.1”是回送地址,它 永远回送到本机。 测试本机IP地址是否正确配置或者网卡是否正常工作执行“ping 本机IP地址”命令,如果能ping成功,说 明本机IP地址配置正确,并且网卡工作正常。 测试与网关之间的连通性执行“ping 网关IP地址”命令,如果能ping成功,说 明本机到网关之间的物理线路是连通的。 测试能否访问Internet执行“ping 202.96.96.68”命令,如果能ping成功,说 明本机能访问Internet。其中,“202.96.96.68”是 Internet上某服务器的IP地址。 测试DNS服务器是否正常工作执行“ping www.sina.com.cn”命令,如果能ping成功, 如图7-7所示,说明DNS服务器工作正常,能把网址 (www.sina.com.cn)正确解析为IP地址(61.172.201.195)。 否则,说明主机的DNS未设置或设置有误等。 张飞的计算机打不开任何网页,可通过上述的5个步骤来 诊断故障的位置,并采取相应的解决措施。 如果指定的探测报文的长度太长,同时又不允许分片,探测数据报就不可能到达目的地并返回应答。 7.4.3 任务3: tracert命令的使用 tracert(跟踪路由)是路由跟踪实用程序,用 于获得IP数据报访问目标时从本地计算机到 目的主机的路径信息。 tracert 命令的语法格式为: SrcAddr][-4][-6] TargetName 要跟踪名为“www.qq.com”的主机的路径,执行“tracertwww.qq.com”命令,结果如图7-12所示。 要跟踪名为“www.qq.com”的主机的路径,并防止将每个IP地址解析为它的名称,执行“tracert www.qq.com”命令,结果如图7-13所示。 7.4.4 任务4: netstat命令的使用 netstat命令可以显示当前活动的TCP连接、 计算机侦听的端口、以太网统计信息、IP路 由表、IPv4统计信息以及IPv6统计信息等。 netstat命令的语法格式为: netstat 要显示所有活动的TCP 连接以及计算机侦听的TCP和UDP端口, 执行“netstat –a”命令,结果如图7-14所示。 要显示以太网统计信息,如发送和接收的字节数、数据包数等,执行 “netstat –s”命令,结果如图7-15所示。