- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 传输层协议UDP和TCP TCP协议格式主要字段及含义和功能 连接的建立与关闭过程 滑动窗口协议进行流量控制 TCP超时重发的原理 3.1 端到端通信和端口号 3.1.1 端到端通信 3.1.2 传输层端口的概念 3.1.1 端到端通信 3.1.2 传输层端口概念 3.1.2 传输层端口概念 端口:16位二进制数,则可用端口共有216个。 256~1023之间的端口号通常都是由Unix系统占用的,以提供一些特定的Unix服务。现在IANA管理1~1023之间所有的端口号。任何TCP/IP实现所提供的服务都使用1~1023之间的端口号。 客户端口号又称为临时端口号(即存在时间很短暂)。这是因为客户端口号是在客户程序要进行通信之前,动态地从系统申请的一个端口号,然后以该端口号为源端口,使用某个众所周知的端口号为目标端口号(如在TCP协议上要进行文件传输时使用21)进行客户端到服务器端的通信。 3.1.2 传输层端口概念 综上所述: 通信主机,每一端使用一个二元地址(IP地址,端口), 端到端的一条通信就可表示为: (协议,源IP地址,源端口号,目标IP地址,目标端口号) 3.2 用户数据报协议UDP 3.2.1 UDP 数据报封装及其格式 3.2.2 UDP检验和的计算方法 3.2.3 UDP协议的特点 3.2.1 UDP 数据报封装及其格式 UDP协议在工作时是建立在IP协议之上的,UDP从进程的缓冲区接收进程每一次产生的输出,对每次输出都生成一个UDP数据报,然后把生成的UDP数据报直接封装在IP数据报中进行传输,因此在传输层使用UDP协议时,发送端不需要发送缓冲区,如图3-3所示。 3.2.1 UDP 数据报封装及其格式 3.2.2 UDP检验和的计算方法 顾名思义,这个伪头部并不是UDP的真正组成部分,它只是为了UDP在进行差错检查时可以把更多的信息包含进去而人为加上的。伪头部的格式如图3-5所示。 伪头部包含IP头部的一些字段,填充域全填0,目的是使伪头部为16位二进制数的整数倍,这是计算校验和时所需要的。协议字段的值为17(表示为UDP协议,见表2-4),UDP长度为UDP数据报的总长(当然不能包括虚构的伪头部)。 源端在发送UDP数据报时,使用构造的UDP伪头部和UDP数据报计算出校验和(校验和计算方法与IP头部校验和的计算方法相同),然后填入UDP头部。 3.2.3 UDP协议的特点 一种无连接、不可靠的数据报传输服务协议。 可靠性保证措施:差错校验,如果发生差错,则只是简单地抛弃该数据报。 如果目标端收到的UDP数据报的目标端口号不能与当前使用的某端口号匹配,则该数据报被抛弃,并发送目标端口不可达ICMP差错报文。 UDP协议在设计时的简单性,保证了UDP在工作时的高效性和低延时性。 UDP常用于传输延时小,对可靠性要求不高,有少量数据要进行传输的情况,如DNS(域名服务)、TFTP (简单文件传输)等。 3.3 传输控制协议TCP TCP提供种面向连接的、可靠的数据流服务。 3.3.1 TCP报文段格式 3.3.2 TCP连接的建立与关闭 3.3.3 TCP的流量控制和拥塞控制机制 3.3.4 TCP的超时重发机制 3.3.1 TCP报文格式 1.TCP?源端口号 TCP源端口号长度为16位,用于标识发送方通信进程的端口。目标端在收到TCP报文段后,可以用源端口号和源IP地址标识报文的返回地址。 2.TCP目标端口号 TCP目标端口号长度为16位,用于标识接收方通信进程的端口。源端口号与IP头部中的源端IP地址,目标端口号与目标端IP地址,这4个数就可以惟一确定从源端到目标端的一对TCP连接。 3.序列号 序列号长度为32位,用于标识TCP发送端向TCP接收端发送数据字节流的序号。 4.确认号 确认号长度为32位。 5.头部长度 该字段用4位二进制数表示TCP头部的长短,它以32位二进制数为一个计数单位。TCP头部长度一般为20个字节,因此通常它的值为5。 6.保留 保留字段长度为6位,该域必须置0,准备为将来定义TCP新功能时使用。 7.标志 标志域长度为6位,每1位标志可以打开或关闭一个控制功能,这些控制功能与连接的管理(3.3.2小节讲述)和数据传输控制有关,其内容如下所述: ●URG:紧急指针标志,置1时紧急指针有效。 ●ACK:确认号标志,置1时确认号有效。如果ACK为0,那么TCP头部中包含的确认号字段应被忽略。 ●PSH:push操作标志,当置1时表示要对数据进行push操作。 ● RST:连接复位标志,表示由于主机崩溃或其他原因而出现错误时的连接。 ●S
文档评论(0)