计算机网络-tcp/ip协议群

303 阅读2分钟

tcp/ip协议是什么?

tcp/ip协议,不是一种协议,而是一堆协议的总称,一共有4个层

  • 应用层:主要是用户通信工作(http协议)
  • 传输层:主机到主机之间传递数据,包含主机的端口,这里会格式化信息,提供可靠的传输 (tcp/udp协议)
  • 网络层:是地址和地址之间的通信 (ip协议)
  • 链路层:是设备到设备之间的通信

tcp的三次握手

  • SEQ: 消息发前,一共发送了多少字节
  • ACK:消息发送前,一共收到了多少字节 通过seq和ack可以准确保证,链接对话的正确行

三次握手的时候,客户端先发出问候到达服务端,服务端作出回应,客户端确认服务端可以通信之后,在发出现在开始通信的信号。保证了数据传输的稳定性。

udp

upd协议加快数据传输的速度,但是不保证数据传输的稳定性。

http状态码

  1. 1xx:提示信息-请求被成功接收,继续处理
  2. 2xx:成功-请求成功,接受处理
  3. 3xx:重定向-要完成请求必须进行下一步处理
  4. 4xx:客户端错误-请求有语法错误或者请求无法实现
  5. 5xx:服务器错误-服务器没能实现合法请求

http1.0

缓存使用If-Modified-Since,Expires

http1.1

  • 缓存使用 Entity tag,If-Unmodified-Since, If-Match, If-None-Match
  • http1.1中,多个文件公用一个tcp链接,这样多个文件只用进行一次三次握手,避免了三次握手的消耗,但是文件之间产生了排队的问题。一个文件传递失败,或者传递过慢,别的文件就必须等待,会造成队头阻塞。

http2.0

  • 多个请求多路复用:流的形式传输,每个流都有固定的id,确保接受方,能够识别
  • 防止队头阻塞
  • 压缩http头部:使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
  • 服务端推送
  • 采用二进制格式

https

https采用对称加密和非对称加密混合的方式,在https数据传输中最开始还要经历一次tcp的三次握手