TCP(可靠传输)netstat -n

TCP面向连接(保证链接建立 三次握手) 可靠交付 全双工 面向字节流 点对点(且)

eg 文件传输

TCP如何实现可靠传输

停止等待协议 一个往返时间

ARQ 自动重传请求

确认丢失

  1. 丢弃重复m1
  2. 重传确认m1

确认迟到

  1. 收下迟到确认 什么都不做

改进 流水线连续ARQ

image-20210701170342962

每次需要等窗口前数据收到才移动窗口 移动过去的窗口都发送 窗口前移清除

改进 累计确认

image-20210701223814250

TCP实现流量控制

URG 不进缓存 直接传输 针对发送方

SYN 请求建立会话

ACK 确认收到消息

PSH 发送不变 接收的数据要进入缓冲区但不用等缓冲区满就交给上一层。

滑动窗口

image-20210702011656237

存在选择性确认

image-20210702011723459

RTTn = (1-a)RTTo +aRTTne

TCP避免网络拥塞

image-20210702014818515

image-20210702014646666

慢开始

$$ x =2^n \thinspace\thinspace\thinspace\thinspace x< ssthresh(慢开始)\\ x++ \thinspace\thinspace\thinspace\thinspace ssthresh<x< cwnd(丢包)(加法增大)\\ (再次赋值)ssthresh /=2 \thinspace\thinspace\thinspace\thinspace x=0 \\ x =2^n \thinspace\thinspace\thinspace\thinspace x< ssthresh\\ x++ \thinspace\thinspace\thinspace\thinspace ssthresh<x< cwnd(丢包)(加法增大)\\ $$

快恢复

快重传 立刻确认丢包

$$ x =2^n \thinspace\thinspace\thinspace\thinspace x< ssthresh(慢开始)\\ x++ \thinspace\thinspace\thinspace\thinspace ssthresh<x< cwnd(丢包)(加法增大)\\ (再次赋值)ssthresh /=2 \thinspace\thinspace\thinspace\thinspace x=cwnd/2 \\ x++ \thinspace\thinspace\thinspace\thinspace ssthresh<x< cwnd(丢包)(加法增大)\\ $$

UDP(不可靠传输)

一个数据包就能完成数据的通信

eg 聊天 多播

DNS UDP+53 or TCP 53


夜航船
1 声望0 粉丝