【计算机网络】第五章:TCP/IP五层实用模型 &四层传输层&

【计算机网络】第五章:TCP/IP五层实用模型 &四层传输层&

/*----------------------------------------------------------------------------------------------*/

目录

重点知识

传输层概述

传输层的寻址与端口

UDP协议

UDP首部格式

UDP校验过程

TCP协议

TCP报文段的首部格式

TCP连接管理(***三次握手/四次挥手)可靠性 & 连接?

三次握手

四次挥手

异常情况

TCP可靠传输--可靠传输的机制

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

TCP流量控制

TCP拥塞控制

传输层总结

/*----------------------------------------------------------------------------------------------*/

重点知识

 

  • 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 无法帮忙:

      3.A 方进程出现某些异常,不在了 —— B 超时重传到达上限后,关闭自己这侧的连接,向应用层通知异常
      4.A 方正在读信息 —— B 定期发送消息 / 应用层自己解决,保持心跳;in.read(5s) 使用时间戳防止读入阻塞
      5.中间路由器出问题 —— 连接双方 close 连接
      6.A 方死亡后醒来 —— A 已失忆,B 发送信息后 A 回复 RST,B收到后 close

在这里插入图片描述

TCP可靠传输--可靠传输的机制

在这里插入图片描述

  • 序号

在这里插入图片描述

  • 确认

在这里插入图片描述

在这里插入图片描述

  • 重传

在这里插入图片描述

在这里插入图片描述
TCP协议中的 窗口 发送过程中使用的协议等知识 与 链路层知识 大同小异


——————————————————
TCP流量控制

 

  • 让发送方发送慢一些

在这里插入图片描述

  • TCP协议并不使用 停等协议,而是累计确认机制

在这里插入图片描述

TCP拥塞控制

 

  • 资源:带宽等网络容量、交换结点中的缓存、交换结点中的处理机
  • 流量控制:点对点的问题
  • 拥塞控制:全局性的问题

在这里插入图片描述

  • 接收窗口:接收方设置,反映接收方能力

       拥塞窗口:反映全局性的网络容量问题

在这里插入图片描述

  • 慢开始 + 拥塞避免

        ssthresh:慢开始门限值;发生网络拥塞后,更新门限值=当前拥塞窗口/2

在这里插入图片描述

  • 快重传 + 快恢复

在这里插入图片描述

传输层总结

在这里插入图片描述

 

 

在这里插入图片描述

 

在这里插入图片描述

 

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

参考来源

https://blog.csdn.net/weixin_42351470/article/details/105871081

 

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页