TCP/IP学习笔记(二)TCP三次握手

TCP是一种面向连接的流传输协议,提供了对数据传输时的各种控制功能,比如

  • 当丢包时可以重新发送
  • 即使数据到达顺序错乱也可以保证数据的有序性

由于TCP是面向连接的协议,所以必须在确定通信对端存在时才会发送数据,即三次握手。

好比于A和B打电话,电话拨通后

A对B说:”你好,我是A,你能听见我说话吗”(第一次握手)

B听到A的询问回答说:”你好,我能听见你说话,你能听见我说话吗”(第二次握手)

A听见B的回复后告诉B说:”我也能听见你说话”(第三次握手)

此时A和B都已确定对方能够听见自己的声音,即A和B的通讯连接已经建立


三次握手

三次握手主要需要解决以下三个问题

  • 要使每一方能够知道对方的存在
  • 要允许双方协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量等)
  • 能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配

三次握手的时序图如下,其中,客户端进行主动连接,称为主动打开(执行connect),而服务器进行连接请求的接收,称为被动打开(执行accept)

三次握手流程

第一次握手

  • 客户端调用connect函数,请求连接服务器,并发送连接请求报文段,此时报文首部的同步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值