TCPUDP协议第08章.ppt

上传人:小飞机 文档编号:6521815 上传时间:2023-11-08 格式:PPT 页数:43 大小:379KB
返回 下载 相关 举报
TCPUDP协议第08章.ppt_第1页
第1页 / 共43页
TCPUDP协议第08章.ppt_第2页
第2页 / 共43页
TCPUDP协议第08章.ppt_第3页
第3页 / 共43页
TCPUDP协议第08章.ppt_第4页
第4页 / 共43页
TCPUDP协议第08章.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《TCPUDP协议第08章.ppt》由会员分享,可在线阅读,更多相关《TCPUDP协议第08章.ppt(43页珍藏版)》请在三一办公上搜索。

1、2023/11/8,计算机网络技术,教学重点和难点:端口和套接字 TCP报文的格式及其字段的含义 TCP连接建立和拆除的过程 TCP可靠数据传输技术 TCP流量控制和拥塞控制 TCP重发机制 UDP报文格式 常用的TCP/IP应用用程序,第8章 TCP/UDP协议,2023/11/8,计算机网络技术,8.1 TCP/IP 的传输层,8.1.1 传输层协议,TCP/IP的传输层的协议,提供传输控制协议(TCP),用户数据报协议(UDP),UDP提供无连接的服务,UDP在传送数据之前不需要建立连接。,TCP则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广

2、播或多播服务。,2023/11/8,计算机网络技术,8.1 TCP/IP 的传输层,8.1.2 端口和套接字,传输层协议实现应用进程间端到端的通信。计算机中的不同进程可能同时进行通信,这时它们会用端口号进行区别,通过网络地址和端口号的组合达到惟一标识的目的,即套接字(Socket)。TCP和UDP都使用端口和套接字。套接字是IP地址加上一个端口。,2023/11/8,计算机网络技术,8.1 TCP/IP 的传输层,发送套接字源IP地址源端口号 接收套接字目的IP地址目的端口号,每个端口都拥有一个叫端口号的整数描述符,用来标识不同的端口或进程。,2023/11/8,计算机网络技术,8.1 TCP

3、/IP 的传输层,应用层与传输层之间的接口,2023/11/8,计算机网络技术,这种端口号一般都小于1024。它们基本上都被分配给了已知的应用协议。这些端口由于已经有了固定的使用者,不能被动态地分配给其他应用程序。,8.1 TCP/IP 的传输层,(1)保留端口,2023/11/8,计算机网络技术,8.1 TCP/IP 的传输层,TCP协议和UDP协议的一些常用保留端口,2023/11/8,计算机网络技术,这种端口的端口号一般都大于1024。这一类的端口没有固定的使用者,它们可以被动态地分配给应用程序使用。也就是说,在使用应用软件访问网络的时候,应用软件可以向系统申请一个大于1024的端口号临

4、时代表这个软件与传输层交换数据,并且使用这个临时的端口与网络上的其他主机通信。netstat命令查看端口使用情况,8.1 TCP/IP 的传输层,(2)动态分配的端口,2023/11/8,计算机网络技术,某些软件厂商通过使用注册端口,使它的特定软件享有固定的端口号,而不用向系统申请动态分配的端口号。一般,这些特定的软件要使用注册端口,其厂商必须向端口的管理机构注册。大多数注册端口的端口号大于1024。TCP协议和UDP协议都允许16位的端口值,分别能够提供65536个端口。不论端口号大于还是小于1024,以上三种端口都分别属于TCP协议和UDP协议。当然,也有些协议的端口既属于TCP协议也属于

5、UDP协议。,8.1 TCP/IP 的传输层,(3)注册端口,2023/11/8,计算机网络技术,8.1 TCP/IP 的传输层,端口概念示意图,2023/11/8,计算机网络技术,TCP的协议数据单元被称为报文段(Segment),TCP通过报文段的交互来建立连接、传输数据、发出确认、进行差错控制、流量控制及关闭连接。报文段分为两部分,即报文段头和数据,所谓报文段头就是TCP为了实现端到端可靠传输所加上的控制信息,而数据则是指由高层即应用层来的数据。,8.2 传输控制协议TCP,15.2.1 TCP报文段的格式,2023/11/8,计算机网络技术,8.2 传输控制协议TCP,TCP报文段的首

6、部,2023/11/8,计算机网络技术,源端口和目的端口字段:各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,8.2 传输控制协议TCP,比特,0,4,8,16,9,24,31,2023/11/8,计算机网络技术,序号字段:占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,确认号字段:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,8.2 传输控制协议TCP,2023/11/8,计算

7、机网络技术,数据偏移:占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是 32 bit 字(4 字节为计算单位)。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,保留字段:占 6 bit,保留为今后使用,但目前应置为 0。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,紧急比特 URG:当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,确认比特 ACK:只有当 ACK

8、1 时确认号字段才有效。当 ACK 0 时,确认号无效。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,推送比特 PSH(PuSH):接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,复位比特 RST(ReSeT):当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,同步比特 SYN:同步比特 SYN 置为 1,就表示

9、这是一个连接请求或连接接受报文。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,终止比特 FIN(FINal):用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,窗口字段:占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,检验和:占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计

10、算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,紧急指针字段:占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,选项字段:长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”,MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段

11、。MSS的选择较小,网络的利用率就降低。选择较大,TCP报文段太长,则IP层传输时就有可能分解成多个短数据报片,传输时开销增大。MSS(TCP报文段数据部分大小)默认值是536字节。TCP报文段是536+20字节。,8.2 传输控制协议TCP,2023/11/8,计算机网络技术,TCP将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,然后对每一个数据流编一个序号。在连接建立时,双方要商定初始序号。TCP就将每一次所传送的报文段中的第一个数据字节的序号,放在 TCP首部的序号字段中。TCP的确认是对接收到的数据的最高序号(即收到的数据流中的最后一个序号)表示确认。但返回

12、的确认序号是已收到的数据的最高序号加1。也就是说,确认序号表示期望下次收到的第一个数据字节的序号。,8.2 传输控制协议TCP,15.2.2 序号与确认,2023/11/8,计算机网络技术,TCP连接包括建立连接、数据传输和拆除连接三个过程。TCP通过TCP端口提供连接服务,最后通过连接服务来接收和发送数据。TCP连接的申请、打开和关闭必须遵守TCP协议的规定。TCP使用三次握手协议来建立连接。连接可以由任何一方发起,也可以由双方同时发起。一旦一台主机上的TCP软件已经主动发起连接请求,运行在另一台主机上的TCP软件就被动地等待握手。,8.2 传输控制协议TCP,15.2.3 TCP连接的建立

13、和拆除,2023/11/8,计算机网络技术,8.2 传输控制协议TCP,主机A,主机B,连接请求,SYN=1,seq=x,确认,确认,SYN=1,ACk=1,seq=y,ACKx+1,ACK=1,seq=x+1,ACKy+1,三次握手建立TCP连接,2023/11/8,计算机网络技术,8.2 传输控制协议TCP,发送4个数据段的过程,2023/11/8,计算机网络技术,8.2 传输控制协议TCP,主机B,应用进程释放连接,应用进程释放连接,TCP连接释放的过程,2023/11/8,计算机网络技术,8.2 传输控制协议TCP,8.2.4 TCP可靠数据传输技术,TCP协议采用了许多与数据链路层类

14、似的机制来保证可靠的数据传输,如采用序列号、确认、滑动窗口协议等。TCP协议的目的是为了实现端到端结点之间的可靠数据传输,而数据链路层协议则为了实现相邻结点之间的可靠数据传输。,2023/11/8,计算机网络技术,1.流量控制,8.2 传输控制协议TCP,8.2.5 TCP流量控制与拥塞控制,TCP采用大小可变的滑动窗口机制实现流量控制功能。,2023/11/8,计算机网络技术,主机A,主机B,主机A还能发送200字节,利用可变滑动窗口进行流量控制,SEQ1,SEQ101,SEQ201,ACK201,WIN300,SEQ301,SEQ401,SEQ201,ACK501,WIN200,ACK60

15、1,WIN0,SEQ501,丢失!,主机A还能发送300字节,允许A再发送300字节(序号201至500),A还能发送200字节(序号301至500),A还能发送100字节(序号401至500),A超时重发,但不能发送序号500以后的数据,允许A再发送200字节(序号501至700),A还能发送100字节(序号601至700),不允许A再发送,(到序号600的数据都收到了),2023/11/8,计算机网络技术,8.2 传输控制协议TCP,8.2.6 重发机制,TCP每发送一个报文段,就设置一次定时器。只要定时器设置的重发时间到而还没有收到确认,就要重发这一报文段。大家知道,TCP是在一个互连网

16、的环境下工作。发送的报文段可能只经过一个高速率的局域网,但也可能是经过多个低速率的广域网。报文段的端到端的时延会相差很多倍。,2023/11/8,计算机网络技术,(1)发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。(2)UDP不使用拥塞控制,也不保证可靠交付,因此主机不需要维持具有许多参数的、复杂的连接状态表。(3)UDP用户数据报只有8个字节的首部。(4)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送效率降低。,8.3 用户数据报协议UDP,8.3.1 UDP概述,2023/11/8,计算机网络技术,应用层协议使用的传输层协议,2023/11/8,计算机网络技术,

17、8.3 用户数据报协议UDP,8.3.2 UDP数据报的首部格式,2023/11/8,计算机网络技术,8.3 用户数据报协议UDP,8.3.3 UDP报文的发送和接收,UDP报文也是通过IP协议来发送和接收的。,在发送数据时,UDP实体构造好UDP报文后,交付给IP协议,IP协议将整个UDP报文封装在IP数据报中,形成IP数据报发送到网络中。,在接收数据时,UDP实体判断UDP报文的目的端口是否与当前使用的某个端口匹配。若匹配,则将报文存入接收队列;若不匹配,则向源端发送一个端口不可达的ICMP报文,同时丢弃UDP报文。,2023/11/8,计算机网络技术,Ipconfig命令可以显示所有当前

18、的 TCP/IP 网络配置值(如IP地址、网关、子网掩码)、刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。语法格式为:ipconfig/all/renewAdapter/release Adapter/flushdns/displaydns/registerdns/showclassidAdapter/setclassidAdapter ClassID,8.4 任务:常用TCP/IP 实用程序的使用,8.4.1 hostname命令此程序用于显示当前计算机的名称,即主机名。,8.4.2 ipconfig命令,2023/11/8,计算机网络技术,8.4.3 netstat命令,8.4

19、 任务:常用TCP/IP 实用程序的使用,netstat命令可以显示当前活动的TCP连接、计算机侦听的端口、以太网统计信息、IP路由表、IPv4统计信息(对于IP、ICMP、TCP和UDP协议)以及IPv6统计信息(对于IPv6)。netstat-a-e-n-o-p Protocol-r-s Interval,2023/11/8,计算机网络技术,8.4.4 Nbtstat命令,8.4 任务:常用TCP/IP 实用程序的使用,Nbtstat命令可以显示基于 TCP/IP 的 NetBIOS(NetBT)协议统计资料、本地计算机和远程计算机的 NetBIOS 名称表和 NetBIOS 名称缓存。Nbtstat 可以刷新 NetBIOS 名称缓存和使用 Windows Internet 名称服务(WINS)注册的名称。nbtstat-a RemoteName-A IPAddress-c-n-r-R-RR-s-S Interval,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号