计算机网络05---运输层

目录

运输层协议概述

进程之间的通信

运输层的两个主要协议

运输层的端口

用户数据报协议 UDP

UDP 概述

UDP的首部格式

传输控制协议 TCP 概述

 TCP 最主要的特点

TCP的连接

可靠传输的工作原理

停止等待协议

连续 ARQ 协议

TCP 报文段的首部格式

TCP可靠传输的实现

以字节为单位的滑动窗口

超时重传时间的选择

选择确认 SACK

TCP的流量控制

利用滑动窗口实现流量控制

TCP 的传输效率

TCP的拥塞控制

 拥塞控制的一般原理

TCP 的拥塞控制方法

主动队列管理 AQM(了解即可)

TCP 的运输连接管理

 TCP 的连接建立

TCP 的连接释放

 TCP 的有限状态机


运输层协议概述

进程之间的通信

计算机网络05---运输层_第1张图片

计算机网络05---运输层_第2张图片

计算机网络05---运输层_第3张图片

计算机网络05---运输层_第4张图片

运输层的两个主要协议

计算机网络05---运输层_第5张图片

两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU 。

TCP 传送的数据单位协议是 TCP 报文段 (segment)。

UDP 传送的数据单位协议是 UDP 报文或用户数据报。

计算机网络05---运输层_第6张图片

计算机网络05---运输层_第7张图片

运输层的端口

计算机网络05---运输层_第8张图片

计算机网络05---运输层_第9张图片

计算机网络05---运输层_第10张图片

计算机网络05---运输层_第11张图片

计算机网络05---运输层_第12张图片

计算机网络05---运输层_第13张图片

用户数据报协议 UDP

UDP 概述

计算机网络05---运输层_第14张图片

计算机网络05---运输层_第15张图片

计算机网络05---运输层_第16张图片

计算机网络05---运输层_第17张图片

 计算机网络05---运输层_第18张图片

计算机网络05---运输层_第19张图片

UDP的首部格式

源端口:源端口号。在需要对方回信时选用。不需要时可用全 0

目的端口:目的端口号。终点交付报文时必须使用

长度:UDP 用户数据报的长度,其最小值是 8(仅有首部)

检验和:检测 UDP 用户数据报在传输中是否有错。有错就丢弃

计算机网络05---运输层_第20张图片
伪首部的第三个字段为全0
第四个字段17代表,封装UDP报文的IP数据报首部协议字段是17。
UDP长度:UDP首部8B+数据部分长度(不包括伪首部)

计算机网络05---运输层_第21张图片

传输控制协议 TCP 概述

 TCP 最主要的特点

计算机网络05---运输层_第22张图片

计算机网络05---运输层_第23张图片

计算机网络05---运输层_第24张图片

计算机网络05---运输层_第25张图片

TCP的连接

计算机网络05---运输层_第26张图片

计算机网络05---运输层_第27张图片

计算机网络05---运输层_第28张图片

可靠传输的工作原理

计算机网络05---运输层_第29张图片

计算机网络05---运输层_第30张图片

停止等待协议

计算机网络05---运输层_第31张图片

计算机网络05---运输层_第32张图片

计算机网络05---运输层_第33张图片

计算机网络05---运输层_第34张图片

计算机网络05---运输层_第35张图片

计算机网络05---运输层_第36张图片

假设A发送确认分组时间为TD B发送确认分组时间为TA

计算机网络05---运输层_第37张图片

计算机网络05---运输层_第38张图片

计算机网络05---运输层_第39张图片

连续 ARQ 协议

计算机网络05---运输层_第40张图片

计算机网络05---运输层_第41张图片

确认丢失也不必重传指的是发送方在超时计时器到期后也不必重发某些分组 只需要等待累计确认再进行重发即可

计算机网络05---运输层_第42张图片

TCP 报文段的首部格式

计算机网络05---运输层_第43张图片

源端口和目的端口:各占 2 字节。端口是运输层与应用层的服务接口。 运输层的复用和分用功能通过端口实现

序号:占 4 字节。TCP 连接中传送的数据流中的每一个字节都有一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号

确认号:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号

若确认号 = N,则表明:到序号 N – 1 为止的所有数据都已正确收到

数据偏移(即首部长度):占 4 位,指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。单位是 32 位字(以 4 字节为计算单位)

保留:占 6 位,保留为今后使用,但目前应置为 0

紧急 URG:控制位。当 URG = 1 时,表明紧急指针字段有效,告诉系统此报文段中有紧急数据,应尽快传送 (相当于高优先级的数据)

确认 ACK:控制位。只有当 ACK =1 时,确认号字段才有效。当 ACK =0 时,确认号无效

推送 PSH (PuSH) :控制位。接收 TCP 收到 PSH = 1 的报文段后,就尽快(即“推送”向前)交付接收应用进程,而不再等到整个缓存都填满后再交付

复位 RST (ReSeT) :控制位。当 RST=1 时,表明 TCP 连接中出现严重差错(如主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接

同步 SYN (SYNchronization) :控制位。 同步 SYN = 1 表示这是一个连接请求或连接接受报文。 当 SYN = 1,ACK = 0 时,表明这是一个连接请求报文段。 当 SYN = 1,ACK = 1 时,表明这是一个连接接受报文段。

终止 FIN (FINish) :控制位。用来释放一个连接。 FIN=1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接

窗口:占 2 字节。 窗口值告诉对方:从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量(以字节为单位)

检验和:占 2 字节。检验和字段检验的范围包括首部和数据这两部分。 在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部 与UDP不同的是第四个字段为6 该字段代表封装TCP报文的IP数据报首部协议字段为6

计算机网络05---运输层_第44张图片

紧急指针:占 2 字节。在 URG = 1时,指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据),指出了紧急数据的末尾在报文段中的位置

选项:长度可变,最长可达 40 字节

填充:使整个 TCP 首部长度是 4 字节的整数倍

计算机网络05---运输层_第45张图片计算机网络05---运输层_第46张图片计算机网络05---运输层_第47张图片

计算机网络05---运输层_第48张图片

计算机网络05---运输层_第49张图片计算机网络05---运输层_第50张图片

TCP可靠传输的实现

以字节为单位的滑动窗口

计算机网络05---运输层_第51张图片计算机网络05---运输层_第52张图片计算机网络05---运输层_第53张图片计算机网络05---运输层_第54张图片计算机网络05---运输层_第55张图片

计算机网络05---运输层_第56张图片

计算机网络05---运输层_第57张图片

计算机网络05---运输层_第58张图片

超时重传时间的选择

计算机网络05---运输层_第59张图片计算机网络05---运输层_第60张图片计算机网络05---运输层_第61张图片计算机网络05---运输层_第62张图片计算机网络05---运输层_第63张图片计算机网络05---运输层_第64张图片

选择确认 SACK

计算机网络05---运输层_第65张图片计算机网络05---运输层_第66张图片计算机网络05---运输层_第67张图片

TCP的流量控制

利用滑动窗口实现流量控制

计算机网络05---运输层_第68张图片

MSS TCP报文段中数据部分的最大长度

确认 ACK:控制位。只有当 ACK =1 时,确认号字段才有效。当 ACK =0 时,确认号无效

序号(seq):占 4 字节。TCP 连接中传送的数据流中的每一个字节都有一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号

确认号(ack):占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号

计算机网络05---运输层_第69张图片计算机网络05---运输层_第70张图片

当接收方接收窗口已满要求发送发不再发送后,若接收窗口空闲了允许A发送,但此信息丢失,会导致A等待接收B允许发送的消息,B等待接收A要发送的消息 造成死锁

为解决该问题 引入持续计时器

计算机网络05---运输层_第71张图片

TCP 的传输效率

计算机网络05---运输层_第72张图片

计算机网络05---运输层_第73张图片计算机网络05---运输层_第74张图片计算机网络05---运输层_第75张图片计算机网络05---运输层_第76张图片

TCP的拥塞控制

 拥塞控制的一般原理

计算机网络05---运输层_第77张图片计算机网络05---运输层_第78张图片计算机网络05---运输层_第79张图片计算机网络05---运输层_第80张图片计算机网络05---运输层_第81张图片计算机网络05---运输层_第82张图片计算机网络05---运输层_第83张图片

计算机网络05---运输层_第84张图片计算机网络05---运输层_第85张图片计算机网络05---运输层_第86张图片

TCP 的拥塞控制方法

计算机网络05---运输层_第87张图片

计算机网络05---运输层_第88张图片

计算机网络05---运输层_第89张图片计算机网络05---运输层_第90张图片计算机网络05---运输层_第91张图片

下列增加量可简单理解为发送发每收到一个确认 拥塞窗口就加一

拥塞窗口的单位应该是SMSS 

计算机网络05---运输层_第92张图片

计算机网络05---运输层_第93张图片计算机网络05---运输层_第94张图片计算机网络05---运输层_第95张图片计算机网络05---运输层_第96张图片计算机网络05---运输层_第97张图片计算机网络05---运输层_第98张图片

慢开始门限变为MAX(原拥塞窗口的一半,2) 拥塞窗口大小为1计算机网络05---运输层_第99张图片

计算机网络05---运输层_第100张图片

计算机网络05---运输层_第101张图片

计算机网络05---运输层_第102张图片

rwnd代表滑动窗口 cwnd代表拥塞窗口

主动队列管理 AQM(了解即可)

计算机网络05---运输层_第103张图片

计算机网络05---运输层_第104张图片计算机网络05---运输层_第105张图片计算机网络05---运输层_第106张图片计算机网络05---运输层_第107张图片计算机网络05---运输层_第108张图片计算机网络05---运输层_第109张图片计算机网络05---运输层_第110张图片计算机网络05---运输层_第111张图片计算机网络05---运输层_第112张图片

TCP 的运输连接管理

计算机网络05---运输层_第113张图片计算机网络05---运输层_第114张图片

 TCP 的连接建立

计算机网络05---运输层_第115张图片计算机网络05---运输层_第116张图片

计算机网络05---运输层_第117张图片

TCP 的连接释放

计算机网络05---运输层_第118张图片

计算机网络05---运输层_第119张图片

计算机网络05---运输层_第120张图片计算机网络05---运输层_第121张图片计算机网络05---运输层_第122张图片计算机网络05---运输层_第123张图片计算机网络05---运输层_第124张图片计算机网络05---运输层_第125张图片

 TCP 的有限状态机

计算机网络05---运输层_第126张图片

王道计网补充 

通信子网包括物理层、数据链路层、网络层,资源子网包括会话层、表示层、应用层

传输层负责向高层用户屏蔽下面通信子网的细节(如网络拓扑、路由协议)

传输协议是否可靠取决于是否采用确认机制来确保传输的数据不丢失

套接字(IP地址:端口号)可以唯一确定一个在网络上通信的进程

端口号只标识本计算机应用层的各个进程,同一台计算机中的TCP和UDP分别拥有自己的端口号,二者互不干扰

当用户采用不可靠的UDP进行传输时,可靠性方面交由应用层负责

UDP中的伪首部字段仅仅是为了计算校验和 并不会一起发送出去

端口号分为服务器端和客户端        熟知端口号都属于服务器端,即某某端口号对应某服务器进程或客户端进程

IP首部中的协议字段 17代表UDP 6代表TCP

TCP报文段独有而UDP没有的是序列号字段 ---> 与可靠传输有关

滑动窗口(发送窗口和接收窗口)以字节为单位       

发送窗口的大小 = min{接收窗口,拥塞窗口}        有可能接收方只接受而不取走 会导致接收窗口逐渐变小 从而影响发送窗口 要注意题目条件

TCP面向字节发送,每次发送xx大小的字节,但是发送确认是对发送了一个报文段大小的字节后进行确认,并非每发送一次字节数就发一次确认

注意SYN报文段和FIN报文段都需要消耗一个序列号

TCP规定SYN报文段不能携带数据        注意TCP建立和释放的状态转换

计算机网络05---运输层_第127张图片

计算机网络05---运输层_第128张图片

你可能感兴趣的:(计算机网络,计算机网络,网络)