You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

三HTTP和TCP的关系

  • TCP是传输层协议而HTTP是应用层协议
  • TCP是底层通讯协议定义的是数据传输和连接方式的规范
  • TCP/IP实际上是一组协议它包括上百个各种功能的协议远程登录、文件传输和电子邮件等而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族而不单单是TCP和IP。
  • TCP就是单纯建立连接不涉及任何我们需要请求的实际数据简单的传输。
  • 要和服务端连接TCP连接需要通过三次连接包括请求确认建立连接。

三次握手建立连接

  • img_2.png

单工、全双工、半双工

  • 单工:收音机
  • 半双工:不能同时说话、对讲机
  • 全双工可以同时收发双绞线8根线

三次握手

  • 目的:确保双线畅通
  • syn标识标志第几次握手
  • 第一次客户端序列号随机数seq=x回应序列号ack=0syn标识表示探测询问
  • 第二次服务端seq=yack=x+1表示收到ack标识表示收到syn标识表示收到
  • 第三次客户端seq=x+1表示收到ack=y+1ack标识表示收到
  • img_3.png
  • 第一次握手:客户端尝试连接服务器,向服务器发送 syn 包同步序列编号Synchronize Sequence Numberssyn=j客户端进入 SYN_SEND 状态等待服务器确认
  • 第二次握手服务器接收客户端syn包并确认ack=j+1同时向客户端发送一个 SYN包syn=k即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态
  • 第三次握手第三次握手客户端收到服务器的SYN+ACK包向服务器发送确认包ACK(ack=k+1此包发送完毕客户端和服务器进入ESTABLISHED状态完成三次握手
  • 第三次握手的时候,是可以携带数据的。 但是,第一次、第二次握手不可以携带数据