《TCP IP协议与网络编程》课件第3章 传输层协议UDP和TCP.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《TCP IP协议与网络编程》课件第3章 传输层协议UDP和TCP.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCP IP协议与网络编程 TCP IP协议与网络编程课件第3章 传输层协议UDP和TCP TCP IP 协议 网络 编程 课件 传输 UDP
- 资源描述:
-
1、第第3章章 传输层协议传输层协议UDP和和TCP第3章 传输层协议UDP和TCP 3.1 端到端通信和端口号端到端通信和端口号3.2 用户数据报协议用户数据报协议UDP 3.3 传输控制协议传输控制协议TCP3.4 TCP与与UDP的比较的比较习题习题 第第3章章 传输层协议传输层协议UDP和和TCP3.1 端到端通信和端口号端到端通信和端口号3.1.1 端到端通信在互联网中,任何两台通信的主机之间,从源端到目标端的信道都是由一段一段的点到点通信线路组成的(一个局域网中两台主机通信时只有一段点到点的线路)。如图3-1所示。第第3章章 传输层协议传输层协议UDP和和TCP主机1路由器路由器主机2
2、端到端点到点点到点点到点网络1网络2图3-1 传输层端到端通信第第3章章 传输层协议传输层协议UDP和和TCP由第2章的知识可知,点到点通信是由网络互联层来实现的,网络互联层只屏蔽了不同网络之间的差异,构建了一个逻辑上的通信网络,因此它只解决了数据通信问题。端到端通信是建立在点到点通信基础之上的,它是比网络互联层通信更高一级的通信方式,完成应用程序(进程)之间的通信。端到端的通信是由传输层来实现的。第第3章章 传输层协议传输层协议UDP和和TCP3.1.2 传输层端口的概念为了识别传输层之上不同的网络通信程序(进程),传输层引入了端口的概念。在一台主机上,要进行网络通信的进程首先要向系统提出动
3、态申请,由系统(操作系统内核)返回一个本地惟一的端口号,进程再通过系统调用把自己和这个特定的端口联系在一起,这个过程叫绑定(Binding)。这样,每个要通信的进程都与一个端口号对应,传输层就可以使用其报文头中的端口号,把收到的数据送到不同的应用程序,如图3-2所示。第第3章章 传输层协议传输层协议UDP和和TCP应用程序应用程序应用程序应用程序ICMPTCPUDPARPIPRARP以太网网络接口层以太网由传输层报头中的端口字段标识由IP数据报头中的上层协议字段标识由以太网帧类型字段标识图3-2 传输层端到端通信 第第3章章 传输层协议传输层协议UDP和和TCP在TCP/IP协议中,传输层使用
4、的端口号用一个16位的二进制数表示。因此,在传输层如果使用TCP协议进行进程通信,则可用的端口号共有216个。由于UDP也是传输层一个独立于TCP的协议,因此使用UDP协议时也有216个不同的端口。一些常用服务的TCP和UDP的众所周知端口号见表3-1和表3-2。第第3章章 传输层协议传输层协议UDP和和TCP表3-1 常用的众所周知的TCP端口号TCP 端口号 关键词 描 述 20 FTP-DATA 文件传输协议(数据连接)21 FTP 文件传输协议(控制连接)23 Telnet 远程登录协议 25 SMTP 简单邮件传输协议 53 Domain 域名服务器 80 HTTP 超文本传输协议
5、110 POP3 邮局协议 3 119 NNTP 网络新闻传递协议 第第3章章 传输层协议传输层协议UDP和和TCP表3-2 常用的众所周知的UDP端口号UDP 端口号 关键词 描 述 53 Domain 域名服务器 67 BootPS 引导协议服务器 68 BootPC 引导协议客户机 69 TFTP 简单文件传输协议 161 SNMP 简单网络管理协议 162 SNMP-TRAP 简单网络管理协议陷阱 第第3章章 传输层协议传输层协议UDP和和TCP 2561023之间的端口号通常都是由Unix系统占用的,以提供一些特定的Unix服务。现在IANA管理11023之间所有的端口号。任何TCP
6、/IP实现所提供的服务都使用11023之间的端口号。客户端口号又称为临时端口号(即存在时间很短暂)。这是因为客户端口号是在客户程序要进行通信之前,动态地从系统申请的一个端口号,然后以该端口号为源端口,使用某个众所周知的端口号为目标端口号(如在TCP协议上要进行文件传输时使用21)进行客户端到服务器端的通信。综上所述,我们知道两台要通信的主机,每一端要使用一个二元地址(IP地址,端口号)才可以完成它们之间的通信。第第3章章 传输层协议传输层协议UDP和和TCP3.2 用户数据报协议用户数据报协议UDP 3.2.1 UDP数据报的封装及其格式UDP协议在工作时是建立在IP协议之上的,UDP从进程的
7、缓冲区接收进程每一次产生的输出,对每次输出都生成一个UDP数据报,然后把生成的UDP数据报直接封装在IP数据报中进行传输,因此在传输层使用UDP协议时,发送端不需要发送缓冲区,如图3-3所示。第第3章章 传输层协议传输层协议UDP和和TCPUDP数据报头区UDP数据区IP数据区IP报头区UDP数据报IP数据报图3-3 UDP数据报的封装 第第3章章 传输层协议传输层协议UDP和和TCP被封装在IP中的UDP数据报通过网络传输到目标主机的IP层后,由目标主机的UDP层根据目标端口号送到接收该数据的相应进程。UDP数据报的格式如图3-4所示。第第3章章 传输层协议传输层协议UDP和和TCPUDP目
8、标端口号(16位)015 1631UDP源端口号(16位)UDP长度(16位)UDP校验和(16位)数 据 区图3-4 UDP数据报格式 第第3章章 传输层协议传输层协议UDP和和TCP3.2.2 UDP校验和的计算方法 顾名思义,这个伪头部并不是UDP的真正组成部分,它只是为了UDP在进行差错检查时可以把更多的信息包含进去而人为加上的。伪头部的格式如图3-5所示。第第3章章 传输层协议传输层协议UDP和和TCP协议(8位,UDP值为17)UDP长度(16位)填充域(8位,全0)目标端IP地址(32位)源 端IP地 址(32位)015 16317 8图3-5 UDP伪头部格式 第第3章章 传输
9、层协议传输层协议UDP和和TCP伪头部包含IP头部的一些字段,填充域全填0,目的是使伪头部为16位二进制数的整数倍,这是计算校验和时所需要的。协议字段的值为17(表示为UDP协议,见表2-4),UDP长度为UDP数据报的总长(当然不能包括虚构的伪头部)。源端在发送UDP数据报时,使用构造的UDP伪头部和UDP数据报计算出校验和(校验和计算方法与IP头部校验和的计算方法相同),然后填入UDP头部。第第3章章 传输层协议传输层协议UDP和和TCP3.2.3 UDP协议的特点从UDP协议的数据报格式可以看出,UDP对数据的封装非常简单,主要是增加了端口号与校验和,然后就可以直接通过IP层进行传输了,
10、因此它具有以下特点:(1)UDP是一种无连接、不可靠的数据报传输服务协议。(2)UDP对数据传输过程中惟一的可靠保证措施是进行差错校验,如果发生差错,则只是简单地抛弃该数据报。(3)如果目标端收到的UDP数据报中的目标端口号不能与当前已使用的某端口号匹配,则将该数据报抛弃,并发送目标端口不可达的ICMP差错报文。第第3章章 传输层协议传输层协议UDP和和TCP(4)UDP协议在设计时的简单性,是为了保证UDP在工作时的高效性和低延时性。因此,在服务质量较高的网络中(如局域网),UDP可以高效地工作。(5)UDP常用于传输延时小,对可靠性要求不高,有少量数据要进行传输的情况,如DNS(域名服务)
11、、TFTP(简单文件传输)等。第第3章章 传输层协议传输层协议UDP和和TCP3.3 传输控制协议TCP3.3.1 TCP报文段格式TCP报文段(常称为段)与UDP数据报一样也是封装在IP中进行传输的,只是IP报文的数据区为TCP报文段。TCP报文段的格式如图3-6所示。第第3章章 传输层协议传输层协议UDP和和TCPTCP目标端口号(16位)0151631TCP源端口号(16位)序列号(32位)窗口大小(16位)确认号(32位)FINSYNRSTPSHACKURG保留(6位)首部长度(4位)校 验 和(16位)紧急指针(16位)选项 填充 数 据 区图3-6 TCP报文段的格式第第3章章 传
12、输层协议传输层协议UDP和和TCP1TCP源端口号 TCP源端口号长度为16位,用于标识发送方通信进程的端口。目标端在收到TCP报文段后,可以用源端口号和源IP地址标识报文的返回地址。2TCP目标端口号TCP目标端口号长度为16位,用于标识接收方通信进程的端口。源端口号与IP头部中的源端IP地址,目标端口号与目标端IP地址,这4个数就可以惟一确定从源端到目标端的一对TCP连接。3序列号序列号长度为32位,用于标识TCP发送端向TCP接收端发送数据字节流的序号。第第3章章 传输层协议传输层协议UDP和和TCP4确认号确认号长度为32位。5头部长度该字段用4位二进制数表示TCP头部的长短,它以32
13、位二进制数为一个计数单位。TCP头部长度一般为20个字节,因此通常它的值为5。6保留保留字段长度为6位,该域必须置0,准备为将来定义TCP新功能时使用。第第3章章 传输层协议传输层协议UDP和和TCP7标志标志域长度为6位,每1位标志可以打开或关闭一个控制功能,这些控制功能与连接的管理(3.3.2小节讲述)和数据传输控制有关,其内容如下所述:URG:紧急指针标志,置1时紧急指针有效。ACK:确认号标志,置1时确认号有效。如果ACK为0,那么TCP头部中包含的确认号字段应被忽略。PSH:push操作标志,当置1时表示要对数据进行push操作。RST:连接复位标志,表示由于主机崩溃或其他原因而出现
14、错误时的连接。第第3章章 传输层协议传输层协议UDP和和TCPSYN:同步序列号标志,它用来发起一个连接的建立,也就是说,只有在连接建立的过程中SYN才被置1。FIN:连接终止标志,当一端发送FIN标志置1的报文时,告诉另一端已无数据可发送,即已完成了数据发送任务,但它还可以继续接收数据。第第3章章 传输层协议传输层协议UDP和和TCP8窗口大小窗口大小字段长度为16位,它是接收端的流量控制措施,用来告诉另一端它的数据接收能力。9校验和校验和字段长度为16位,用于进行差错校验。校验和覆盖了整个的TCP报文段的头部和数据区。10紧急指针紧急指针字段长度为16位,只有当URG标志置1时紧急指针才有
展开阅读全文