传输层

241 阅读2分钟

目录

  • 传输层协议:
  • TCP协议与UDP协议的区别:
  • TCP3次握手:
  • 扩展:有限状态机

传输层协议:

  1. TCP协议:传输控制协议
  2. UDP协议:用户数据包协议

TCP协议与UDP协议的区别:

tcp协议传输数据前需要先建立连接;安全可靠,稳定 udp协议传输数据前不需要事先建立连接;不安全,不稳定

tcp的优点:

  • 可以同时接受和传输数据
  • 半关闭状态
  • 错误检查
  • 确认发送的信息,确认机制
  • 协商,保证每个机器都能收到,稳定控制

udp协议的优点:

  • 传输性能高

tcp报文段和控制位:

image.png

控制位:

  1. URG(紧急位):报文中发送的数据是否有紧急数据
  2. ACK(确认位):确认字段是否有效;ack=1时(确认号要小写),确认字段才有效;ACK=1表示同意请求(ACK要大写)
  3. PSH(急切位):接收端应该立即从tcp接收缓冲区中读走数据
  4. PST(重置位):当rst=1,连接出现错误,释放连接,重新建立连接
  5. SYN(同步位):请求状态(SYN=1,ACK=0时);同步序号
  6. FIN(断开位):表示断开连接(FIN=1)

TCP3次握手:

image.png 当PC1想和PC2建立连接,就会将连接信息写入报文中,发送给PC2

  1. 第一步:PC1会发送一个请求连接的报文给PC2,有报文序号:seq=x和同步位SYN=1(表示请求建立连接)
  2. 第二部:当PC2接收到消息后,会回复一个报文序号seq=y,确认号ack=x+1(PC2希望PC1下一次发送x+1的序号报文),还有控制位的同步位SYN=1(表示请求连接)和确认位ACK=1(表示PC2确认并同意建立连接)
  3. 第三部:PC1收到PC2的同意连接报文之后,会发送一个序号seq=x+1,ACK=1(表示同意连接),还有ack=y+1(表示PC1希望PC2下次发送数据时,序号位y+1)

扩展:有限状态机:

  • closed:没有任何连接状态
  • listen:侦听状态,等待端口的请求
  • syn-sent:在发送连接请求后,等待对方确认
  • syn-received:在收到和发送一个连接请求后,等待对方确认
  • established:代表传输连接建立,双方进入数据传送状态
  • closing:双方同时尝试关闭传输连接,等待对方确认