计算机网络笔记2

119 阅读1分钟

HTTP三次握手与四次挥手

三次握手

1.当客户端与服务端通信时就需要建立TCP连接 TCP的连接是端到端 (IP点到点)

所以第一步由客户端发送syn(同步)

客户端---->服务端
syn (同步)

客户端生成 client_seq(客户端序列号)

第二步 服务端响应客户端 发送syn ack(英文单词的acknowledge 承让)

服务端---->客户端

syn+ack(同步+承认)

服务端生成server_seq  (服务端序列号)

讲客户端生成的client_seq+1  (应答号)

第三步

客户端---->服务端

客户端发送ack确认

ack(承认)

server_seq+1 (应答号)

三次握手的原因

  • 三次握手才可以阻止重复历史连接的初始化(主要原因)

  • 如 当客户端发送两次请求 里面的client_seq第一次是90 第二次是100  第一次的syn到达比第二次快 所以先返回的是90+1  客户端发现不是所需要的100+1(既第二次发送的syn)就会终止链接

  • 三次握手才可以同步双方的初始序列号

  • 三次握手才可以避免资源浪费

四次挥手

第一部客户端发起 fin(结束)

第二步 服务端发起ack

第三步 服务发起fin(结束)

第四步客户端发起ack最终结束

序列号与应答号与三次挥手一至 自己的序列号是对方的应答号 自己的应答号是对方的序列号