详解 TCP 连接的 三次握手 与 四次挥手

客户端client:能向服务器发送信息,提出请求。

服务器server:能接受客户端发来的请求,并能够发送数据给客户端以做出回应。

套接字是通信的基石,是支持tcp/ip协议网络通信的基本单元,包含进行网络通信必须的5种信息:连接使用的协议,本地主机的ip地址,本地进程的协议端口,远地主机的ip地址,远地进程的协议端口。

互联网一般是五层结构,由上到下:

  • 应用层:专门针对某些应用提供服务。
  • 传输层:传输层负责进程与主机(host)间的传输,传输层也称为端到端传送。
  • 网络层:解包,进行路由选择(routing),从源通过路由选择到目的地的过程,达到从源主机到目标主机的传送(host-to-host)。
  • 数据链路层:通过物理网络传送包,这里的包是指通过网络层传递的数据报文,是单跳传送。
  • 物理层:通过线路(可以是有线或者是无线)传送原始的bit流,只完成一个节点到另一个节点的传送(单跳)。

       客户端与服务器之间数据的发送和返回需要创建一个叫 TCP Connection 的东西。由于 TCP 不存在连接的概念,只存在请求和响应。 TCP 创建的【从客户端发起,由服务器接收的类似连接的通道】,在这个连接上可以发送一个或者多个 HTTP 请求。

 

在 HTTP/1.0 中这个 TCP 连接是在 HTTP 请求创建的时候同步创建的,HTTP 请求发送到服务器端,服务器端响应了之后,这个 TCP 连接就关闭了。HTTP/1.1 中可以以某种方式声明这个连接一直保持,一个请求传输完之后,另一个请求可以接着传输。


TCP 报文格式

比较重要的字段有:

序号(sequence number):Seq 序号,占 32 位,用来标识从 TCP 源端向目的端发送的字节流,发起方发送数据时对此进行标记。

确认号(acknowledgement number):Ack 序号,占 32 位,只有 AC

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值