“传输层”学习提纲

前言

计算机网络的知识抽象、晦涩、不易理解并记忆,在此对“传输层”一章中重点知识总结成提纲。


传输层提供的服务

传输层的功能

  • 端到端通信(应用进程间的逻辑通信)(网络层是主机到主机通信)
  • 复用和分用(网络层的复用和分用概念与之不同)
  • 两种传输层协议:用户数据报协议(UDP)和传输控制协议(TCP)(网络层不能同时实现两种协议)
  • 差错控制:检测数据报/报文段的首部+数据(网络层只检测分组的首部)
  • 流量控制(传输控制协议(TCP)实现)
  • 拥塞控制(传输控制协议(TCP)实现)

注意:

  • 传输层:端到端通信
  • 网络层:主机到主机通信
  • 数据链路层:点到点通信

传输层、网络层和数据链路层的服务访问点(SAP)

  • 传输层:端口
  • 网络层:网际协议(IP)地址
  • 数据链路层:介质访问控制(MAC)地址

端口号的类型(依据端口号的范围)

服务器使用的端口号:

  • 熟知端口号:0-1023
  • 登记端口号:1024-49151

客户端使用的端口号/临时端口号:49152-65535


常用的熟知端口号

  • 文件传输协议(FTP):数据连接:20,控制连接:21
  • 远程登录(TELNET):23
  • 简单邮件传输协议(SMTP):25
  • 域名系统(DNS):53
  • 简单文件传输协议(TFTP):69
  • 超文本传输协议(HTTP):80
  • 简单网络管理协议(SNMP):161

套接字的组成

  • 端口号——进程
  • 网际协议(IP)地址——主机

传输层提供的服务类型

  • 无连接:用户数据报协议(UDP)
  • 面向连接:传输控制协议(TCP)

用户数据报协议(UDP):面向报文

用户数据报协议(UDP)的服务

相对网际协议(IP)服务增加:

  • 复用和分用
  • 差错控制

用户数据报协议(UDP)数据报的格式

首部:8字节(B)

  • 源端口号:2字节(B)
  • 目的端口号:2字节(B)
  • 长度(首部+数据):2字节(B)
  • 校验和(校验用户数据报协议(UDP)数据报的首部+伪首部+数据):2字节(B)

数据

伪首部(只用于计算校验和而临时添加,既不向上递交也不向下传送):12字节(B)

  • 源网际协议(IP)地址:4字节(B)
  • 目的网际协议(IP)地址:4字节(B)
  • 值0:1字节(B)
  • 协议:值17:1字节(B)
  • 用户数据报协议(UDP)数据报的长度:2字节(B)

基于用户数据报协议(UDP)的应用

  • 域名系统(DNS)
  • 简单文件传输协议(TFTP)
  • 简单网络管理协议(SNMP)
  • 实时传输协议(RTP)
  • 客户端/服务器模型
  • 远程过程调用(RPC)
  • 实时多媒体

传输控制协议(TCP):面向字节流

传输控制协议(TCP)报文段的格式

首部:

  • 固定部分:20字节(B)
  • 可变部分:4字节(B)的整数倍

固定部分:

  • 源端口:2字节(B)
  • 目的端口:2字节(B)
  • 序号:4字节(B):本传输控制协议(TCP)报文段的数据的第一个字节的序号
  • 确认号:4字节(B):期望传输控制协议(TCP)报文段的数据的第一个字节的序号
  • 数据偏移/首部长度:4比特/位(b):值的基本单位:4字节(B)
  • 保留:6比特/位(b)
  • 标志位:6比特/位(b)
  • 窗口:2字节(B)
  • 校验和(首部+数据):4字节(B)
  • 紧急指针:2字节(B)

标志位:

  • 紧急位URG:1比特/位(b)
  • 确认位ACK:1比特/位(b)
  • 推送位PSH:1比特/位(b)
  • 复位位RST:1比特/位(b)
  • 同步位SYN:1比特/位(b)
  • 终止位FIN:1比特/位(b)

可变部分:

  • 选项:最大报文段长度(MSS)(数据)
  • 填充

数据

伪首部(只用于计算校验和而临时添加,既不向上递交也不向下传送):12字节(B)

  • 源网际协议(IP)地址:4字节(B)
  • 目的网际协议(IP)地址:4字节(B)
  • 值0:1字节(B)
  • 协议:值6:1字节(B)
  • 传输控制协议(TCP)报文段的长度:2字节(B)

传输控制协议(TCP)连接管理

模式:客户机/服务器(C/S)模式

过程:

  1. 连接建立(三次握手)
  2. 数据传输
  3. 连接释放(四次挥手)

注意:连接端点/套接字,而不是点、主机和端(应用进程)


传输控制协议(TCP)连接建立(三次握手)的过程

注释:

  • SYN:同步位
  • ACK:确认位
  • seq:序号
  • ack:确认号
  1. 客户机:SYN=1,seq=x
  2. 服务器:SYN=1,ACK=1,seq=y,ack=x+1
  3. 客户机:ACK=1,seq=x+1,ack=y+1

传输控制协议(TCP)连接释放(四次挥手)的过程

注释:

  • FIN:终止位
  • ACK:确认位
  • seq:序号
  • ack:确认号
  1. 客户机:FIN=1,seq=u
  2. 服务器:ACK=1,seq=v,ack=u+1
  3. 服务器:FIN=1,ACK=1,seq=w,ack=u+1
  4. 客户机:ACK=1,seq=u+1,ack=w+1

传输控制协议(TCP)的可靠传输机制

  • 校验(与用户数据报协议(UDP)的校验机制同)
  • 序号:对字节(B)编号
  • 确认(默认是累积确认):对传输控制协议(TCP)报文段确认
  • 重传

重传事件:

  • 冗余确认(ACK)->拥塞控制的快重传
  • 超时

传输控制协议(TCP)的流量控制机制

  • 滑动窗口+拥塞控制:发送窗口上限值=min[接收窗口(rwnd),拥塞窗口(cwnd)]

传输控制协议(TCP)的拥塞控制机制/算法

慢开始算法中,初始拥塞窗口(cwnd)=1=最大传输控制协议(TCP)报文段长度(MSS)

  • 慢开始(指数增大):拥塞窗口(cwnd)<=阈值/门限(ssthresh);拥塞窗口(cwnd)×2
  • 拥塞避免(加法增大):拥塞窗口(cwnd)>=阈值/门限(ssthresh);拥塞窗口(cwnd)+1
  • 快重传:接收三个冗余确认(ACK)立即重传,不等待超时
  • 快恢复

网络拥塞处理(乘法减小):

  1. 阈值/门限(ssthresh)=拥塞窗口(cwnd)÷2
  2. 拥塞窗口(cwnd)=1
  3. 执行慢开始算法

快恢复算法过程:

  1. 阈值/门限(ssthresh)=拥塞窗口(cwnd)÷2
  2. 拥塞窗口(cwnd)=拥塞窗口(cwnd)÷2/阈值/门限(ssthresh)
  3. 执行拥塞避免算法

总结:

  • 冗余确认(ACK)事件:快重传算法+快恢复算法
  • 超时事件:慢开始算法+拥塞避免算法+网络拥塞处理

基于传输控制协议(TCP)的应用

  • 文件传输协议(FTP)
  • 远程登录(TELNET)
  • 简单邮件传输协议(SMTP)
  • 超文本传输协议(HTTP)

总结

计算机网络的知识抽象、晦涩、不易理解并记忆,在此对“传输层”一章中重点知识总结成提纲。


参考资料

  • 《2023年计算机网络考研复习指导》组编:王道论坛

作者的话

  • 感谢参考资料的作者/博主
  • 作者:夜悊
  • 版权所有,转载请注明出处,谢谢~
  • 如果文章对你有帮助,请点个赞或加个粉丝吧,你的支持就是作者的动力~
  • 文章在描述时有疑惑的地方,请留言,定会一一耐心讨论、解答
  • 文章在认识上有错误的地方, 敬请批评指正
  • 望读者们都能有所收获

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值