第五章 传输层

文章目录

  • 5.1 传输层提供的服务
    • 5.1.1 传输层功能
    • 5.1.2 传输层的寻址与端口
    • 5.1.3 无连接服务与面向连接服务
  • 5.2 UDP协议
    • 5.2.1 UDP数据报
    • 5.2.2 UDP校验
  • 5.3 TCP协议
    • 5.3.1 TCP协议的特点
    • 5.3.2 TCP报文段
    • 5.3.3 TCP连接管理
    • 5.3.4 TCP可靠传输
    • 5.3.5 TCP流量控制
    • 5.3.6 TCP拥塞控制

第五章 传输层_第1张图片

5.1 传输层提供的服务

5.1.1 传输层功能

第五章 传输层_第2张图片

传输层 网络层
进程与进程之间的通信 主机与主机之间的通信

第五章 传输层_第3张图片

5.1.2 传输层的寻址与端口

数据链路层 网络层 传输层
MAC地址 IP地址 端口

第五章 传输层_第4张图片
第五章 传输层_第5张图片

5.1.3 无连接服务与面向连接服务

TCP(面向连接) UDP (无连接)
HTTP、TELNET、FTP DNS、SMTP、TFTP、SNMP
面向字节/字节流 面向报文

5.2 UDP协议

第五章 传输层_第6张图片

5.2.1 UDP数据报

UDP首部格式

第五章 传输层_第7张图片

  • UDP协议实现分用依据 目的端口号
  • 长度:UDP数据报的整个长度(包括首部和数据) 最小是8B(仅有首部)
  • 校验和:检验UDP数据报是否有错

5.2.2 UDP校验

* **伪首部只在 才出现 ==计算完并不发送==**

第五章 传输层_第8张图片


例题
UDP首部为8B 源端口、目的端口、UDP数据报长度、校验和 都是2B/16bit



在这里插入图片描述

5.3 TCP协议

5.3.1 TCP协议的特点

第五章 传输层_第9张图片

5.3.2 TCP报文段

第五章 传输层_第10张图片

第五章 传输层_第11张图片

  • 源端口和目的端口:各占2B 用来实现复用和分用功能
  • 序号字段:占4B 本报文段所发送的数据字段的第一个序号 (因为是按字节/字节流发送;所以一个TCP报文段可汗多个字节)
  • 确认号字段:占4B 期望收到对方下一个报文段的数据的 第一个字节序号
  • 数据偏移:占4位 描述首部长度(数据起始处距离TCP报文段起始处的距离) 单位为4B
  • URG: URG=1表示有紧急数据(可以插队传送)
  • 确认位ACK:ACK=1时确认号才有效
  • 推送位PSH:PSH=1 收到报文段就交付,不用等缓存队列满了再交付
  • 复位位RST:RST=1表示连接出现严重差错
  • 同步位SYN:SYN=1表示是一个 连接请求/接收报文
SYN=1 ACK=0    #连接请求报文
SYN=1 ACK=1    #连接响应报文
  • 终止位FIN:FIN=1表示数据已发送完毕

  • 窗口:现在允许对方发送的数据量

  • 校验和:校验 首部和数据部分 (也要和UDP一样加上12B伪首部UDP是17、TCP是6)
    在这里插入图片描述

  • 紧急指针:配合URG=1时使用

5.3.3 TCP连接管理

第五章 传输层_第12张图片
第五章 传输层_第13张图片
第五章 传输层_第14张图片
第五章 传输层_第15张图片


例题



** ==seq== **

在这里插入图片描述

5.3.4 TCP可靠传输

第五章 传输层_第16张图片
第五章 传输层_第17张图片

第五章 传输层_第18张图片

* **也可以是 ==接收方如果有数据要发送,可以把数据和确认信息一起发送==**
第五章 传输层_第19张图片

5.3.5 TCP流量控制

第五章 传输层_第20张图片


在这里插入图片描述


第五章 传输层_第21张图片
第五章 传输层_第22张图片
因为发送窗口为400,seq=201虽然丢失,但也占用发送窗口,超时请求重传
第五章 传输层_第23张图片
rwnd=0:发送窗口为0,不要再发数据了

在这里插入图片描述


5.3.6 TCP拥塞控制

第五章 传输层_第24张图片
第五章 传输层_第25张图片
第五章 传输层_第26张图片

第五章 传输层_第27张图片

  • ssthresh慢开始门限
  • 出现拥塞时把拥塞窗口置为1 新的ssthresh 置为网络拥塞时的窗口1/2
    第五章 传输层_第28张图片

第五章 传输层_第29张图片

  • 出现拥塞时把拥塞窗口置为新的ssthresh(门限) ssthresh门限和慢开始一样,为拥塞时窗口的1/2==(而不是1) 然后拥塞窗口 线性增长因为拥塞窗口等于新的门限值所以只有线性增长不是指数增长

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