TCP/IP协议群简介

也叫互联网协议群

  • 类型OSI模型,一种网络协议的概念模型

    应用层

    提供应用间通信能力
    HTTP协议

    传输层

    提供主机到主机的通信能力
    TCP/UDP协议

TCP协议封包:
每一个封包称为一个TCP信息段
Header用于描述传输行为(如原端口、目标端口)
Header后面跟若干个byte数据,每个byte拥有自己的序列号
image.png
建立链接为什么需要三次握手?
客户端发送SYN的请求,服务端返回SYN_ACK的回应,如果这个就完了,服务端不知道自己是否已经发送成功了,
所以客户端还要再次发送ACK的数据

如何防止请求乱序?
增加了seq

为什么会有四次挥手?

网络层

提供地址到地址到通信能力
IP协议
增加了 原地址、目标地址

链路层

提供设备到设备到通信能力多种底层网络协议Ethernet,wi-fi
mac地址

物理层

UDP和TCP,HTTP2.0和3.0

UDP和TCP

udp的优势

  • 比TCP节省网络资源和迅速
    • 不需要建立联结(延迟更低)
    • 封包体积更小(传输速度快)
    • 不关心数据顺序(不需要序号和ACK,传输快速)
    • 不保证数据不丢失
  • UDP自由度更高
    • 需要用户程序在应用层定义类似的机制
    • TCP面向流(API接受流),UDP面向消息(API接收数据包)
  • 场景不同
    • 界限开始模糊:文件、文本、多媒体
    • TCP:远程控制
    • UDP:DNS查询

      HTTP3.0

      之所以要有HTTP3主要原因还在于上⽂提到的HTTP2存在的问题,这些问题的根源是底层⽀撑的TCP协议造成的。Google意识到这些问题之后,于是就提出了基于UDP协议的QUIC协议,让HTTP跑在QUIC上,⽽不是TCP上,这就是HTTP3,HTTP3解决了HTTP2存在的队头阻塞问题。

image.png