




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、教学重点和难点: 端口和套接字 TCP报文的格式及其字段的含义 TCP连接建立和拆除的过程 TCP可靠数据传输技术 TCP流量控制和拥塞控制 TCP重发机制 UDP报文格式 常用的TCP/IP应用用程序第8章 TCP/UDP协议 7/20/2022 计算机网络技术8.1 TCP/IP 的传输层 8.1.1 传输层协议 TCP/IP的传输层的协议提供传输控制协议(TCP)用户数据报协议(UDP)UDP提供无连接的服务,UDP在传送数据之前不需要建立连接。TCP则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或多播服务。 7/20/2022 计算机网络
2、技术8.1 TCP/IP 的传输层 8.1.2 端口和套接字 传输层协议实现应用进程间端到端的通信。计算机中的不同进程可能同时进行通信,这时它们会用端口号进行区别,通过网络地址和端口号的组合达到惟一标识的目的,即套接字(Socket)。TCP和UDP都使用端口和套接字。套接字是IP地址加上一个端口。7/20/2022 计算机网络技术8.1 TCP/IP 的传输层 发送套接字源IP地址源端口号 接收套接字目的IP地址目的端口号 每个端口都拥有一个叫端口号的整数描述符,用来标识不同的端口或进程。 7/20/2022 计算机网络技术 8.1 TCP/IP 的传输层 FTPTelnetSMTPDNST
3、FTPHTTPSNMPRIP212325536980161520TCPUDP端口号传输层应用层应用层与传输层之间的接口7/20/2022 计算机网络技术这种端口号一般都小于1024。它们基本上都被分配给了已知的应用协议。 这些端口由于已经有了固定的使用者,不能被动态地分配给其他应用程序。 8.1 TCP/IP 的传输层 (1) 保留端口7/20/2022 计算机网络技术 8.1 TCP/IP 的传输层 TCP协议和UDP协议的一些常用保留端口UDP保留端口举例端 口 号关 键 字应 用 协 议53DNS域名服务69TFTP简单文件传输协议161SNMP简单网络管理协议520RIPRIP路由选择
4、协议TCP保留端口举例21FTP文件传输协议23Telnet虚拟终端协议25SMTP简单邮件传输协议53DNS域名服务80HTTP超文本传输协议119NNTP网络新闻传输协议7/20/2022 计算机网络技术这种端口的端口号一般都大于1024。这一类的端口没有固定的使用者,它们可以被动态地分配给应用程序使用。也就是说,在使用应用软件访问网络的时候,应用软件可以向系统申请一个大于1024的端口号临时代表这个软件与传输层交换数据,并且使用这个临时的端口与网络上的其他主机通信。 netstat命令查看端口使用情况 8.1 TCP/IP 的传输层 (2) 动态分配的端口7/20/2022 计算机网络技
5、术某些软件厂商通过使用注册端口,使它的特定软件享有固定的端口号,而不用向系统申请动态分配的端口号。一般,这些特定的软件要使用注册端口,其厂商必须向端口的管理机构注册。大多数注册端口的端口号大于1024。TCP协议和UDP协议都允许16位的端口值,分别能够提供65536个端口。不论端口号大于还是小于1024,以上三种端口都分别属于TCP协议和UDP协议。当然,也有些协议的端口既属于TCP协议也属于UDP协议。 8.1 TCP/IP 的传输层 (3) 注册端口7/20/2022 计算机网络技术8.1 TCP/IP 的传输层 端口概念示意图( )( )( )( )( )( )( )( )主机B主机C
6、端口1端口2端口3端口4端口1端口2端口3端口4连接1连接2连接3连接47/20/2022 计算机网络技术TCP的协议数据单元被称为报文段(Segment),TCP通过报文段的交互来建立连接、传输数据、发出确认、进行差错控制、流量控制及关闭连接。报文段分为两部分,即报文段头和数据,所谓报文段头就是TCP为了实现端到端可靠传输所加上的控制信息,而数据则是指由高层即应用层来的数据。 8.2 传输控制协议TCP 15.2.1 TCP报文段的格式 7/20/2022 计算机网络技术8.2 传输控制协议TCP 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留编码位TCP首部TCP数据部分
7、IP数据部分IP首部TCP数据报TCP首部比特048169243120字节的固定首部TCP报文段的首部7/20/2022 计算机网络技术源端口和目的端口字段:各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 8.2 传输控制协议TCP 比特0481692431目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN7/20/2022 计算机网络技术序号字段:占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的
8、序号。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术确认号字段:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术数据偏移:占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是 3
9、2 bit 字(4 字节为计算单位)。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术保留字段:占 6 bit,保留为今后使用,但目前应置为 0。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术紧急比特 URG :当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先
10、级的数据)。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术确认比特 ACK :只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术推送比特 PSH (PuSH) :接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再
11、等到整个缓存都填满了后再向上交付。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术复位比特 RST (ReSeT) :当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术同步比特 SYN :同步比
12、特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术终止比特 FIN (FINal) :用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术窗口字段:占 2 字节。窗
13、口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术检验和:占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN
14、8.2 传输控制协议TCP 7/20/2022 计算机网络技术紧急指针字段:占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。 目的端口源端口序号确认号窗口紧急指针校验和任选项填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFIN8.2 传输控制协议TCP 7/20/2022 计算机网络技术选项字段 :长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS (Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。” 目的端口源端口序号确认号窗口紧急指针校验和
15、任选项(长度可变)填充数据偏移保留TCP首部20字节的固定首部URGACKPSHRSTSYNFINMSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。MSS的选择较小,网络的利用率就降低。选择较大,TCP报文段太长,则IP层传输时就有可能分解成多个短数据报片,传输时开销增大。MSS(TCP报文段数据部分大小)默认值是536字节。TCP报文段是536+20字节。8.2 传输控制协议TCP 7/20/2022 计算机网络技术TCP将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,然后对每一个数据流编一个序号。在连接建立
16、时,双方要商定初始序号。TCP就将每一次所传送的报文段中的第一个数据字节的序号,放在 TCP首部的序号字段中。 TCP的确认是对接收到的数据的最高序号(即收到的数据流中的最后一个序号)表示确认。但返回的确认序号是已收到的数据的最高序号加1。也就是说,确认序号表示期望下次收到的第一个数据字节的序号。 8.2 传输控制协议TCP 15.2.2 序号与确认 7/20/2022 计算机网络技术TCP连接包括建立连接、数据传输和拆除连接三个过程。TCP通过TCP端口提供连接服务,最后通过连接服务来接收和发送数据。TCP连接的申请、打开和关闭必须遵守TCP协议的规定。TCP使用三次握手协议来建立连接。连接
17、可以由任何一方发起,也可以由双方同时发起。一旦一台主机上的TCP软件已经主动发起连接请求,运行在另一台主机上的TCP软件就被动地等待握手。 8.2 传输控制协议TCP 15.2.3 TCP连接的建立和拆除 7/20/2022 计算机网络技术8.2 传输控制协议TCP 主机A主机B连接请求SYN=1,seq=x确认确认SYN=1,ACk=1,seq=y,ACKx+1ACK=1,seq=x+1,ACKy+1三次握手建立TCP连接7/20/2022 计算机网络技术8.2 传输控制协议TCP 发送4个数据段的过程7/20/2022 计算机网络技术8.2 传输控制协议TCP 主机B应用进程释放连接应用进
18、程释放连接主机A确认确认FIN=1, ACk=1,seq=y,ACKx+1 ACK=1,seq=y,ACKx+1FIN=1,seq=x通知主机应用进程A不再发送报文 ACK=1,seq=x+1,ACKy+1B不再发送报文TCP连接释放的过程7/20/2022 计算机网络技术 8.2 传输控制协议TCP 8.2.4 TCP可靠数据传输技术 TCP协议采用了许多与数据链路层类似的机制来保证可靠的数据传输,如采用序列号、确认、滑动窗口协议等。 TCP协议的目的是为了实现端到端结点之间的可靠数据传输,而数据链路层协议则为了实现相邻结点之间的可靠数据传输。 7/20/2022 计算机网络技术1. 流量控
19、制8.2 传输控制协议TCP 8.2.5 TCP流量控制与拥塞控制 TCP采用大小可变的滑动窗口机制实现流量控制功能。7/20/2022 计算机网络技术主机A主机B主机A还能发送200字节利用可变滑动窗口进行流量控制SEQ1SEQ101SEQ201ACK201,WIN300SEQ301SEQ401SEQ201ACK501,WIN200ACK601,WIN0SEQ501丢失!主机A还能发送300字节允许A再发送300字节(序号201至500)A还能发送200字节(序号301至500)A还能发送100字节(序号401至500)A超时重发,但不能发送序号500以后的数据允许A再发送200字节(序号5
20、01至700)A还能发送100字节(序号601至700)不允许A再发送,(到序号600的数据都收到了)7/20/2022 计算机网络技术8.2 传输控制协议TCP 8.2.6 重发机制 TCP每发送一个报文段,就设置一次定时器。只要定时器设置的重发时间到而还没有收到确认,就要重发这一报文段。大家知道,TCP是在一个互连网的环境下工作。发送的报文段可能只经过一个高速率的局域网,但也可能是经过多个低速率的广域网。报文段的端到端的时延会相差很多倍。 7/20/2022 计算机网络技术(1)发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。(2)UDP不使用拥塞控制,也不保证可靠交付,因此主
21、机不需要维持具有许多参数的、复杂的连接状态表。(3)UDP用户数据报只有8个字节的首部。(4)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送效率降低。 8.3 用户数据报协议UDP 8.3.1 UDP概述 7/20/2022 计算机网络技术应用层协议使用的传输层协议应 用关 键 字传输层协议域名服务DNSUDP简单文件传输协议TFTP路由选择协议RIPIP地址配置BOOTP、DHCP简单网络管理协议SNMP远程文件服务器NFSIP电话专用协议流式多媒体通信专用协议多播IGMP文件传输协议FTPTCP远程虚拟终端协议Telnet万维网HTTP简单邮件传输协议SMTP域名服务DNS7
22、/20/2022 计算机网络技术8.3 用户数据报协议UDP 8.3.2 UDP数据报的首部格式 目的端口源端口校验和UDP报文长度首部UDP数据部分数据(UDP报文)IP报头首部比特0481692431封装传送7/20/2022 计算机网络技术 8.3 用户数据报协议UDP 8.3.3 UDP报文的发送和接收 UDP报文也是通过IP协议来发送和接收的。 在发送数据时,UDP实体构造好UDP报文后,交付给IP协议,IP协议将整个UDP报文封装在IP数据报中,形成IP数据报发送到网络中。 在接收数据时,UDP实体判断UDP报文的目的端口是否与当前使用的某个端口匹配。若匹配,则将报文存入接收队列;若不匹配,则向源端发送一个端口不可达的ICMP报文,同时丢弃UDP报文。 7/20/2022 计算机网络技术Ipconfig命令可以显示所有当前的 TCP/IP 网络配置值(如IP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抗敏修复的临床护理
- 新质生产力科普基地
- 描述新质生产力
- 2025派遣家政服务员劳动合同模板AA
- 2025年股权质押借款合同范本
- 2204湖北千楚传媒有限公司实验室检测员招聘1人笔试参考题库附带答案详解
- 2025年公用设备工程师之专业知识(暖通空调专业)模考预测题库(夺冠系列)
- 2025年职测理论考试106题(附答案)
- 2025年上海崇明区初三二模语文试题及答案
- 2025鲁控环保科技有限公司招聘20人(山东)笔试参考题库附带答案详解
- 新媒体与社交媒体管理制度
- 2025年中考物理终极押题猜想(长沙卷)(考试版A4)
- 2024年西藏初中学业水平考试生物卷试题真题(含答案解析)
- 北大医院中心实验室规章制度
- 成人脑室外引流护理-中华护理学会团体 标准
- 初二家长会课件
- DB52T 1212-2017 煤矿地面在用瓦斯泵及瓦斯泵站安全检查规范
- 2024-2030年中国矿山工程行业发展前景预测规划分析报告
- 培训机构招生合作合同范例
- 校企合作与专业共建合作方案
- 电梯修理(T)特种作业取证(安徽)考试复习题及答案
评论
0/150
提交评论