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

目录

运输层协议概述

进程之间的通信

运输层的两个主要协议

运输层的端口

用户数据报协议 UDP

UDP 概述

UDP的首部格式

传输控制协议 TCP 概述

 TCP 最主要的特点

TCP的连接

可靠传输的工作原理

停止等待协议

连续 ARQ 协议

TCP 报文段的首部格式

TCP可靠传输的实现

以字节为单位的滑动窗口

超时重传时间的选择

选择确认 SACK

TCP的流量控制

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

TCP 的传输效率

TCP的拥塞控制

 拥塞控制的一般原理

TCP 的拥塞控制方法

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

TCP 的运输连接管理

 TCP 的连接建立

TCP 的连接释放

 TCP 的有限状态机


运输层协议概述

进程之间的通信

运输层的两个主要协议

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

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

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

运输层的端口

用户数据报协议 UDP

UDP 概述

 

UDP的首部格式

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

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

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

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


伪首部的第三个字段为全0
第四个字段17代表,封装UDP报文的IP数据报首部协议字段是17。
UDP长度:UDP首部8B+数据部分长度(不包括伪首部)

传输控制协议 TCP 概述

 TCP 最主要的特点

TCP的连接

可靠传输的工作原理

停止等待协议

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

连续 ARQ 协议

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

TCP 报文段的首部格式

源端口和目的端口:各占 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

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

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

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

TCP可靠传输的实现

以字节为单位的滑动窗口

超时重传时间的选择

选择确认 SACK

TCP的流量控制

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

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

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

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

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

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

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

TCP 的传输效率

TCP的拥塞控制

 拥塞控制的一般原理

TCP 的拥塞控制方法

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

拥塞窗口的单位应该是SMSS 

慢开始门限变为MAX(原拥塞窗口的一半,2) 拥塞窗口大小为1

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

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

TCP 的运输连接管理

 TCP 的连接建立

TCP 的连接释放

 TCP 的有限状态机

王道计网补充 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值