[计算机网络](四十六) TCP协议

185 阅读2分钟

1》TCP协议的特点

  • TCP是面向连接的(虚连接)的传输层协议

  • 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的

  • TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。可靠有序,不丢不重

  • TCP提供全双工通信

        - `发送缓存` 准备发送的数据&已发送但尚未收到确认的数据
        - `接收缓存` 按序到达但尚未被应用程序读取的数据&不按序到达的数据
    
  • 面向字节流

      - `流` 流入到进程或从进程流出的字节序列
      - TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流
    

2》TCP报文段的首部格式

1609.png

1610.png

1611.png

3》TCP连接管理

TCP传输的三个阶段

连接建立 ---- 数据传送 ---- 连接释放

连接建立:

采用客户服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器!!!

1612.png

洪泛攻击

1614.png

连接释放

1613.png

4》TCP可靠传输

可靠保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的

实现可靠传输的机制

1615.png

确认 采用累计确认

1616.png

重传

1617.png

冗余确认实现快速重传 1618.png

5》TCP流量控制 --- 点到点、端到端

1619.png

利用滑动窗口来解决!!! 发送方动态确定自己的发送窗口,发送窗口等于接收方接收窗口and拥塞窗口的最小值!!!!

1620.png

  • 接收到零窗口通知后,会启动持续计时器,到时间就会发送一个零窗口的探测报文段!!!

6》TCP拥塞控制 --- 全局性问题

出现拥塞的条件:

对资源需求的总和 > 可用资源

网络中有许多资源同时呈现供应不足 ---> 网络性能变坏 ---> 网络吞吐量将随输入负荷增大而下降

防止过多的数据注入到网路中!!!

拥塞控制四种算法:

1621.png

前提: 1622.png

慢开始和拥塞避免

1624.png

快重传和快恢复

1625.png