0%

传输层

传输层.png

作用

网络层把数据包发送到目的主机,但真正通信的是主机间的进程

传输层提供了进程间的逻辑通信,向高层屏蔽了底层的核心细节

UDP

User Datagram Protocol

特点

  • 无连接
  • 尽力而为
  • UDP连接可以一对一、一对多、多对一、多对多

Header格式

UDP首部.png

TCP

Transmission Control Protocol

特点

  • 面向连接
  • 可靠的
  • TCP连接是点对点的

Header格式

TCP首部.png

建立连接

三次握手.png

  • 客户端A,服务端B

  • 三次握手

    • B处于监听状态,监听指定的端口

    • A向B发送连接请求报文

      • SYN=1,ACK=0
    • B收到请求后,如果同意建立连接,则向A发送连接确认报文

      • SYN=1,ACK=1
    • A收到B的确认报文后,再向B发送一个确认报文

      • ACK=1
    • B收到A的确认后,建立连接

  • 第三次握手的必要性

关闭连接

四次挥手.png

  • 四次挥手

    • A向B发送连接释放报文

      • FIN=1,ACK=0
    • B收到报文后向A发送确认报文

      • ACK=1
    • 当B不再需要连接时,向A发送连接释放报文

      • FIN=1
    • A收到后向B发送确认报文,等待2MSL后释放连接

    • B收到A的确认报文后释放连接

  • 第四次挥手的必要性

  • 2MSL的必要性

TCP可靠传输

实现

  • 超时重传

    如果一个已经发送的报文段在超时时间内没有收到确认,那么就重传这个报文段。

超时时间RTO

  • 应该略大于RTT

TCP滑动窗口

发送方窗口

  • 已经发送但未收到确认
  • 可以发送但未发送的

接受方窗口

  • 对最后一个按序到达的字节确认

TCP流量控制

作用

  • 使得发送方的发送速率和接收方的接受速率有一个好的匹配

实现

  • 通过控制确认报文中窗口字段的大小来控制发送方窗口大小,进而控制发送速率

TCP拥塞控制

网络拥塞引起超时,超时引起重发,重发加剧了拥塞,正反馈

作用

  • 降低网络的拥塞程度

算法

  • 慢开始+拥塞避免慢开始+拥塞避免.png

    • cwdn从1开始指数增长,超过慢开始门限 ssthresh时线性增长,超时后ssthresh=cwnd/2,重新慢开始
  • 快重传+快恢复快重传与快恢复.png

    • 三个同样的ACK说明丢包了,不等超时,直接重传,之后执行快恢复ssthresh=cwnd/2,cnwd设定为ssthresh,直接进入拥塞避免状态