计算机网络(五):传输层

(PPT来源:王道网课)

重点知识

  • UDP ——用户数据报协议
    特点:无连接、不可靠(无确认重传机制)、面向数据报(读写不灵活、报文不拆分不合并,应用层手动分包)
    缓冲区:无发送缓冲区(数据直接交给内核)、有接收缓冲区(不保证顺序、满则丢弃)
    基本协议:NFS 网络文件系统、TFTP 简单文件传输协议、DHCP 动态主机配置协议
    BOOTP 启动协议(用于无盘设备启动)、DNS 域名解析协议

  • TCP —— 传输控制协议
    协议段格式的6位标志位:URG、ACK、PSH、RST、SYN、FIN
    机制:
    确认应答机制
    超时重传机制(数据包丢失(特定时间后重发)、ACK丢失(重复发来的数据报去重)、时间设置500ms)
    连接管理机制(三次握手、四次挥手、TIME-WAIT 时间 = 2MSL)
    滑动窗口机制(数据包丢失(3次同样ACK则重发,即高速重发机制)、ACK丢失(后续ACK推断确认))
    流量控制机制("窗口大小"字段、窗口探测数据段)
    拥塞控制机制(慢开始 + 拥塞避免、快重传 + 快恢复)
    延迟应答、捎带应答
    面向字节流
    粘包问题
    相关协议:HTTP HTTPS SSH Telnet FTP SMTP

传输层概述

在这里插入图片描述

  • 传输层的两个协议
    在这里插入图片描述

传输层的寻址与端口

  • 服务端:服务器一端
    客户端:使用服务器的主机
    在这里插入图片描述
    在这里插入图片描述

UDP协议

在这里插入图片描述

UDP首部格式

在这里插入图片描述

UDP校验过程

协议字段 17
在这里插入图片描述
在这里插入图片描述

TCP协议

在这里插入图片描述

TCP报文段的首部格式

首部的填充:要保证是4B的整数倍
在这里插入图片描述

  • 控制位字段
    URG:紧急位 —— 发送方应该尽快发送
    PSH:推送位 —— 接收方应该尽快交付
    RST:复位 —— 出现异常时一方发出,接收到的一方立即释放连接
    在这里插入图片描述
  • 协议字段 6
    在这里插入图片描述

TCP连接管理(***三次握手/四次挥手)

可靠性 & 连接?

  • 网络传输天生不可靠
    在这里插入图片描述
  • 连接:TCP 协议栈内部,通过一个个五元组来标识唯一的一条连接
    五元组(传输层协议、源 IP地址、源端口、目的 IP地址、目的端口)
    在这里插入图片描述

三次握手

  • 客户端 → 服务器端
    在这里插入图片描述
  • Round1:客户端 发送 连接请求
    SYN = 1:连接请求报文 / 连接请求的接受报文
    seq = x:序号位(4B),随机产生序号
    (ACK = 0:即此时ack无意义)
    (ack确认号位:此时无效,客户端没有收到服务器端发来的报文段)
  • Round2:服务器端 返回 确认报文段
    SYN = 1:连接请求报文 / 连接请求的接受报文
    ACK = 1:有效
    ack = x + 1:有效;期待对方接下来发送的报文段的第一个字节
    seq = y(随机)
  • Round3:客户端 发送 确认的确认
    SYN = 0
    ACK = 1:有效
    ack = y + 1
    seq = x + 1:确认收到,值更新为 对方所发送报文段的第一个字节
    在这里插入图片描述
  • SYN洪泛攻击
    在这里插入图片描述

四次挥手

  • TCP的连接释放
    在这里插入图片描述
  • Round1:客户端 发送 连接释放报文段
    FIN = 1:结束位
    seq = u
  • Round2:服务器端 返回 确认报文段
    (半关闭状态:客户停止发送数据,服务器还可以再发)

    ACK = 1
    seq = 上一个确认的报文段字节序列 + 1
    ack = u + 1;返回对接收到的报文段的确认,期待发送下一个
  • Round3:服务器端 发送 连接释放报文段
    FIN = 1:结束位
    ACK = 1
    seq = w
    ack = u + 1:和上一次的确认号一致,所期待的下一个报文段的字节是一样的
  • Round4:客户端 回送 确认报文段
    等待2MSL,再关闭

    原因:确认 服务器 是否 收到了 此次报文段
    在这里插入图片描述

异常情况

  • OS 可以帮忙:
  1. 进程终止 —— 应用层没有主动关闭连接时,OS 关闭
  2. 重启 —— OS 关闭
  • OS 无法帮忙:
  1. A 方进程出现某些异常,不在了 —— B 超时重传到达上限后,关闭自己这侧的连接,向应用层通知异常
  2. A 方正在读信息 —— B 定期发送消息 / 应用层自己解决,保持心跳;in.read(5s) 使用时间戳防止读入阻塞
  3. 中间路由器出问题 —— 连接双方 close 连接
  4. A 方死亡后醒来 —— A 已失忆,B 发送信息后 A 回复 RST,B收到后 close
    在这里插入图片描述

TCP可靠传输

可靠传输的机制

在这里插入图片描述

  • 序号
    在这里插入图片描述
  • 确认
    在这里插入图片描述
    在这里插入图片描述
  • 重传
    在这里插入图片描述
    在这里插入图片描述

TCP协议中的 窗口 发送过程中使用的协议等知识 与 链路层知识 大同小异

——————————————————

TCP流量控制

  • 让发送方发送慢一些
    在这里插入图片描述
  • TCP协议并不使用 停等协议,而是累计确认机制
    在这里插入图片描述

TCP拥塞控制

  • 资源:带宽等网络容量、交换结点中的缓存、交换结点中的处理机
  • 流量控制:点对点的问题
    拥塞控制:全局性的问题
    在这里插入图片描述
  • 接收窗口:接收方设置,反映接收方能力
    拥塞窗口:反映全局性的网络容量问题
    在这里插入图片描述
  • 慢开始 + 拥塞避免
    ssthresh:慢开始门限值;发生网络拥塞后,更新门限值=当前拥塞窗口/2
    在这里插入图片描述
  • 快重传 + 快恢复
    在这里插入图片描述

传输层总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值