第7讲:计算机网络故障诊断与排除 TCPIP故障诊断与排除课件.PPT
《第7讲:计算机网络故障诊断与排除 TCPIP故障诊断与排除课件.PPT》由会员分享,可在线阅读,更多相关《第7讲:计算机网络故障诊断与排除 TCPIP故障诊断与排除课件.PPT(117页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、黎连业计算机网络故障诊断与排除计算机网络故障诊断与排除中科院计算所计算机职业技能培训中心中科院计算所计算机职业技能培训中心 计算机网络故障诊断与排除计算机网络故障诊断与排除讲座教材讲座教材 计算机网络故障诊断与排除计算机网络故障诊断与排除第第 2 2 版版 清华大学出版社清华大学出版社( 2010.12 ) 第第7讲:讲:TCP/IP故障诊断与排除故障诊断与排除 本章重点介绍以下内容: TCP/IP协议发展模型; TCP/IP体系结构; TCP/IP网络会话; DNS协议和故障; Internet控制报文协议; BIND问题; DHCP问题; 周知端口服务程序; TCP/IP常见故障诊断与排除
2、。7.1 TCP/IP协议发展模型协议发展模型 TCP/IP架构的出现源于1964年,当时美国国防部(DoD)要组建一个“美国本土范围的智慧的网络”,美国一家资讯公司RAND公司为了满足国防部的要求而提出了一个解决方案。在这一个方案中,有两项非常独特的见解:w 网络没有中控点,除非敌人将整个系统破坏掉,否则系统在不完全破坏下仍可以继续运作。w 当网络传送过程中资料传送有问题时,系统可以自动检测错误重新传递,而将资料完整地传送完。 w 美国1969年便赋予ARPA(Advanced Research Projects Agency,美国国防部高级研究计划署)这一任务。于是在1971年研究出了NC
3、P协议(Network Control Protocol),并真正架构出23个节点的网络系统。但随着网络的进步,网络的传输设备也不断更新,从网线一直发展到卫星传送系统。NCP协议已无法满足人们的要求,不同的网络系统无法顺利地传送资料。为此美国史丹佛大学、BNN公司与英国伦敦大学共同研究TCP(Transmission Control Protocol)协议,这个协议可以让不同网络系统通过网线、无线电波或卫星传送等方式连起来,并彼此沟通即传递信息。w 虽然TCP协议较稳定而且也很少出错,但有时传送的封包资料仍然会遗失而要求系统重新传送,这样会大大降低系统的效率,浪费传送时间。为了解决这一问题,便
4、将TCP协议再度细分为两层:上层称为TCP协议,主要工作为管理封包的切割、整合与重传;而下一层称为IP(Internet Protocol)协议,主要工作为管理数据包的资料传送与传送位置。因此,这样的协议便称为TCP/IP协议。 7.2 TCP/IP体系结构体系结构w ARPANET是由美国国防部 of Defense)赞助的研究网络。逐渐地,它通过租用的电话线连接了数百所大学和政府部门。当卫星和无线网络出现以后,现有的协议在和它们互联时出现了问题,所以需要一种新的参考体系结构,能无缝隙地连接多个网络的能力,这个体系结构被称为TCP/IP参考模型(TCP/IP Reference Model)
5、。w 为了防止主机、路由器和互联网关可能会突然崩溃,所以网络必须实现的另一个主要目标是网络不受子网硬件损失的影响,已经建立的会话不会被取消。换句话说,希望只要源端和目的端机器都在工作,连接就能保持住,即使某些中间机器或传输线路突然失去控制。而且,整个体系结构必须相当灵活,因为已经看到了各种各样从文件传输到实时声音传输的需求。 w 所有的这些需求导致了基于无连接互联网络层的分组交换网络。这一层被称作互联网层(Internet Layer),它是整个体系结构的关键部分。它的功能是使主机可以把分组发往任何网络并使分组独立地传向目标(可能经由不同的网络)。这些分组到达的顺序和发送的顺序可能不同,因此如
6、果需要按顺序发送和接收时,高层必须对分组排序。必须注意到这里使用的“互联网”是基于一般意义的,虽然因特网中确实存在互联网层。w 互联网层定义了正式的分组和协议,即IP协议(Internet Protocol)。互联网层的功能就是把IP分组发送到应该去的地方。分组路由和避免阻塞是这里主要的设计问题。由于这些原因,我们有理由说TCP/IP互联网层和OSI网络层在功能上非常相似。图7-2 显示了它们的对应关系。如图7-2中描述,对应于OSI模型的7层结构,TCP/IP协议组可大致分为4层,如图7-3所示。 1. 应用层w 大致对应于OSI模型的应用层、表示层和会话层,借助于协议如Winsock AP
7、I、FTP(文件传输协议)、TFTP(普通文件传输协议)、HTTP(超文本传输协议)、SMTP(简单邮件传输协议)和DHCP(动态主机配置协议),应用程序通过该层利用网络。 w 在TCP/IP模型中,位于互联网层之上的那一层,现在通常被称为传输层。它的功能是使源端和目标端主机上的对等实体可以进行会话,和OSI的传输层一样。传输层的基本作用是管理源和目的之间的报文传输,在TCP/IP的传输层中主要有两个协议 TCP协议和UDP协议。w 第一个是传输控制协议TCP。它是一个面向连接的协议,允许从一台机器发出的字节流无差错地发往互联网上的其他机器。它把输入的字节流分成报文段并传给互联网层。在接收端,
8、TCP接收进程把收到的报文再组装成输出流。TCP还要处理流量控制,以避免快速发送方向低速接收方发送过多报文而使接收方无法处理。w 第二个是用户数据报协议UDP。它是一个不可靠的、无连接协议,用于不需要TCP的排序和流量控制能力而是自己完成这些功能的应用程序。它也被广泛地应用于只有一次的、客户-服务器模式的请求-应答查询,以及快速递交比准确递交更重要的应用程序,如传输语音或影像。TCP/IP传输流程如图7-5所示。 (1) TCP协议w TCP全称为Transmission Control Protocol,即传输控制协议,是TCP/IP传输层的重要协议。在分组交换的IP网络中提供主机之间的互联
9、。它是一个高可靠性的传输协议,可以保证数据到达目的地,提供可靠的、面向连接的分组传输服务。 w TCP的一个主要功能是分段和重组,差错重传,流量控制。在发送方大的数据会被分割成为小的数据块,把每一个小块数据分别传输,在接收方再把收到的很多小数据块重组装成一个大的数据包。TCP连接一旦建立,应用程序就不断地把数据送到TCP发送缓存(TCP Send Buffer),TCP把数据流分成一块(Chunk),再装上TCP协议包头(TCP Header)以形成TCP分组(TCP Segment)。这些分组封装成IP数据包(IP Datagram)之后发送到网络上。当对方接收到TCP分组后会把它存放到TC
10、P接收缓存(TCP Receive Buffer)中,应用程序就不断地从这个缓存中读取数据。 w TCP为典型的传输大量数据或需要接收数据许可的应用程序提供连接定向和可靠的通信。w 由于TCP连接是一个全双工的数据通道,一个连接的关闭必须由通信双方共同完成。当通信的一方没有数据需要发送给对方时,可以FIN段向对方发送关闭连接的请求。这时,它虽然不再发送数据,但并不排斥在这个连接上继续接收数据。只有当通信的对方也递交了关闭连接的请求后,这个TCP连接才会完全关闭。在关闭连接时,既可以由一方发起而另一方响应,也可以双方同时发起。无论怎样,收到关闭连接请求的一方必须使用ACK段给予确认。实际上,TC
11、P连接的关闭过程也是一个三次握手的过程。w 滑动窗口是两台主机间传送数据时的缓冲区。每台TCP/IP主机支持两个滑动窗口:一个用于接收数据,另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。当TCP从应用层中接收数据时,数据位于Send窗口。TCP将一个带序列号的报头加入数据包并将其交给IP,由IP将它发送到目标主机。当每一个数据包传送时,源主机设置重发计时器(描述在重新发送数据包之前将等待ACK的时间)。在Send窗口中有每一个数据包的备份,直到收到ACK。当数据包到达服务器Receive窗口,它们按照序列号放置。当接收完段时就向源主机发送一个关于数据的认可(ACK),其中带有当前
12、窗口尺寸。一旦源主机接收到认可,Send窗口将由已获得认可的数据滑动到等待发送的数据。如果在重发计时器设定的时间内,源主机没有接收到对现存数据的认可,数据将重新传送。重发数据包将加重网络和源主机的负担。如果Receive窗口接收数据包的顺序错乱,那么将强制启动,延迟发送认可。TCP报文各字段含义如表7-1所示。 (3) TCP的连接和帧格式w TCP是面向连接的协议。面向连接的意思是在一个应用程序开始传送数据到另一个应用程序之前,它们之间必须相互沟通,也就是它们之间需要相互传送一些必要的参数,以确保数据的正确传送。接收数据时TCP接收缓存中读出的数据是否正确,是通过检查传送的序列号(Seque
13、nce Number)、确认(Acknowledgement)和出错重传(Retransmission)等措施给予保证的。由于Internet的不同部分可能具有不同的拓扑结构、带宽、延迟、分组大小等传输特性,TCP有很强的适应能力和健壮性,适应各种不同的需求。TCP协议报文的格式如图7-7所示。 在使用TCP协议传输数据时,通常在传输数据之前要做一些准备工作,如源主机首先向目标主机发送连接请求,然后目标主机响应源主机的请求,最后源主机向目标主机发送确认信息,之后源主机和目的主机才开始传输数据,这就是常说的TCP的三次握手,如图7-8所示。 (4) UDP协议w UDP是同TCP并列的另一传输层
14、协议。它是一种面向非连接(Connectionless)的协议。UDP协议不提供端到端的确认和重传功能,它不保证信息包一定能到达目的地,因此是不可靠协议。应用开发人员选择UDP时,应用层协议软件几乎是直接与IP通信。 w UDP有下述几个特性: UDP是一个无连接协议,传输数据之前源端和目标端不建立连接,当它想传送时就简单把来自应用程序的数据,尽可能快地传到线路上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个收到的数据块放在接收缓冲区中,由应用程序以数据块为单位读取。 由于传输数据不建立连接,因此也就不需要维护连接状态,包括
15、收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。也就是说,UDP有广播的功能。而TCP协议只能点到点传输,没有广播的功能。 UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。 (5) 端口号w 在上面讲到的TCP、UDP的包结构中已经看到,无论是TCP还是UDP都把端口号作为包头中的第一个内容,足见它的重要性。那么什么是端口呢?这里的端口不同于物理的端口的概念,它就是包头中的一个16位的数,范围从0到65 535。它用于指明是哪个应用层的应用程序发出的数
16、据包,及该数据包应被发送给接收方的哪个应用程序。例如,浏览器在访问网站时,由浏览器发出的数据包的TCP包头中的目标端口都是80,指明数据包是发给目标主机的WWW浏览服务的。w 端口号中有源端口(Source Port)和目标端口(Destination Port)之分,源端口是对发出数据包的应用程序的标识,目标端口是对要接收数据包的应用程序的标识。常见的端口号有HTTP端口号80、FTP端口号21、简单邮件传输协议SMTP的端口号25、Telnet的端口号23,类似于这样的端口号叫做众所周知的端口号(Well-Known Port),其范围为01023。还有一些大于1024的端口已经被注册,称
17、作Registered Number。端口号的分配定义在RFC 1700中,并在1994年成为一个标准,标准号是STD0002。常见的一些端口如表7-3所示。 3. 互联网层w TCP/IP模型没有会话层和表示层。由于没有需要,所以把它们排除在外。来自OSI模型的经验已经证明,它们对大多数应用程序都没有用处。w 传输层的上面是应用层。它包含所有的高层协议。最早引入的是虚拟终端协议(Telnet)、文件传输协议(FTP)和电子邮件协议(SMTP),虚拟终端协议允许一台机器上的用户登录到远程机器上并且进行工作。文件传输协议提供了有效地把数据从一台机器移到另一台机器的方法。电子邮件协议最初仅是一种文
18、件传输,但是后来为它提出一专门的协议。这些年来又增加了不少的协议。例如,域名系统服务(Domain Name Service,DNS)用于把主机名映射到网络地址,NNTP协议用于传递新闻文章,HTTP协议用于在万维网(WWW)上获取主页等。 4. 网络层w 互联网层下面什么都没有,TCP/IP参考模型没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便能在其上传递IP分组。这个协议未被定义,并且随主机和网络的不同而不同。w 网络层处理报文的路由管理。这一层根据接收报文的信息决定报文的去向。w 网络层的主要工作是在网络层进行有大小限制的数据包的正确传输,它有两个主要功能 寻址(Ad
19、dressing)和路由(Routing)。另外,在TCP/IP的网络层的IP协议中还有数据包的分段的功能。在TCP/IP的网络层中主要有4个协议,最重要的协议是IP协议,还有用于寻址的ARP协议,用于报错的ICMP协议,用于组播的IGMP协议。 (1) IP协议w IP协议是TCP/IP协议在进行数据传输时的核心,TCP/IP协议集中的大多数协议都是基于IP协议进行传输的。IP是Internet Protocol的缩写,这里的Internet是TCP/IP模型中第3层Internet层(与网络层对应)的名字,不是通常所指的互联网。w IP协议是被设计用来在分组交换(Packet Switch
20、ing)的计算机中用定长的地址实现系统互联的。Internet层的最主要的两个功能是 寻址Addressing和路由Routing,IP协议会帮助它实现这个功能。另外,它还有对数据包进行分段和重组(Fragmentation and Reassembly)的能力。IP是一个无连接、不可靠的传输协议,无连接意味着在交换数据之前没有确定一个对话,不可靠则意味着传送不能被保证。IP协议只负责将数据包从源端发到目的端,如果有错误发生,IP并不试图从错误中进行恢复,恢复工作是由更高层次的协议来负责,如TCP。 (2) IP数据报格式w IP数据报有两层含义:第一是指IP层的无连接数据报传输机制和IP提供
21、的无连接服务,第二是指IP数据报格式。w 一个数据报携带的数据量不固定,发送方根据特定的用途选择合适的数据量。允许数据量可变使IP可以适应各种应用。在IP的版本4中,一个数据报的数据量可以小到1个字节,而数据报本身可以大到64KB(包括头部在内)。在大部分的数据报中,头部比数据区要小得多。在数据传输中,头部是一种开销,而真正要传输的是数据。很明显,当数据报大时,数据传输的效率较高。 w IP支持最长为65 535字节的数据报,大多数网络不能处理如此大的数据报,因而需要手段。w 被分割的大数据报的第一个报文到达信宿时,接收计算机的IP层启动重组计时器,如果计时器达到某一预定值,而还没有接收到数据
22、报的所有分段报文,就丢弃接收到的所有该数据报的报文。接收计算机根据IP头标中的信息就能知道重组各段的顺序。分段的数据报安全到达信宿的概率比不分段的数据报安全到达信宿的概率低,所以应用程序应尽可能地不将数据报分段。w IP数据报文由头部和数据区两部分组成,头部由一个长度为20字节的固定项和一个长度任意的可选项组成,如图7-9所示。 其中: 版本号 版本号具有4位字段,表示协议所支持的IP版本,它指明了如何对头标的其他信息进行译码。使用最多的版本是4,版本6目前正在测试。 头标长度 这也是一个4位字段,表示由发送计算机生成的IP头标的长度,所表示的单位为4字节,32位。最短的头标长度为5,即20字
23、节;最长的头标长度为6,即24字节。IP必须知道头标何时开始,何时结束,才能对头标进行正确地译码,头标长度就是用来表明头标何时开始、何时结束的。 接下来的是控制延迟、处理能力和数据报的可靠性的1位特征位。如果位设置为0,则表明是正常情况;如果是1,则分别表明是短延迟、高处理能力和高可靠性。该字段最后2位未用。这些位中的大部分被当前的IP执行所忽略,所有数据报都是用相同的延迟、处理能力和可靠性设置来处理的。 数据报长度(或包长度) 该字段给出数据报的总长度,包括头标,用字节表示。数据本身的长度可用此项减去头标的长度来计算。数据报长度共16位,因此数据报的最大长度为65 535字节。 标识 该字段
24、是由发送接点创建的数据报的惟一标识符,在重组数据报的各分段时需要这个标识。每个分段都具有这个标识符,标识符相同的各分段属于同一个数据报。 标志w 该标志字段是3位,第一位未用,另两位分别称为DF和MF,其作用是在数据报分段时控制对数据报的处理。w 如果DF值为1,则表示当前数据报后面还跟着更多的数据报(常称作子包),这些子包可重组,以拼装成一个完整的报文。最后一个分段的MF为0,从而使接收设备知道整个数据报已经结束。由于数据报的各分段到达的顺序可能与发送时的顺序不一致,所以MF标志和段偏移字段一起用来表明接收报文的上下完整性。 标志偏移量w 如果MF为1,表明分段未完,则分段偏移包含当前的子报
25、文在整个数据报中的位置,借此IP可以用正确的顺序重组数据报。w 偏移总是相对于报文开头的位置而给的,它是一个13位的字段,偏移以8个字节为单位来计算,所对应的最大数据报长度为65535字节,接收计算机的IP可根据分段偏移来重组数据报。 生存时间TTLw 该字段给出了数据报被抛弃前保存在网络中的时间(以秒计),时间(通常为15或30秒)是由发送接点在组装数据报时设置的。w TCP/IP标准规定每个处理数据报的接点必须至少将生存时间减少1s,同时,当网关接收数据报时,必须标记到达时间,以便当数据报的处理要等待一段时间时,可以在此基础上计算。如果网关过度超载,不能及时处理数据报,等待处理的时间超时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7讲:计算机网络故障诊断与排除 TCPIP故障诊断与排除课件 计算机网络 故障诊断 排除 TCPIP 课件
限制150内