Linux C/C++ or 嵌入式面试之《网络编程系列》(3) tcp三次握手若干问题

TCP三次握手是网络编程面试中的常见问题,本文详细介绍了三次握手的流程、为何需要三次握手以及其作用。通过三次握手,确保双方都准备好并能正确协商初始序列号,防止死锁和资源浪费。
摘要由CSDN通过智能技术生成

tcp建立连接时的三次握手几乎是校招面试在考察网络编程知识时,必问的一个问题。必须清楚的知道tcp三次握手的流程,面试官可能会拿出一张白纸,让你简单画出该流程,然后展开追问。

tcp建立连接三次握手流程

tcp三次握手的流程如下(客户端主动发起连接):

建立过程为:
(1)B首先建立传输控制块TCB,进入LISTEN(收听)状态,等待用户的连接请求。如有,则建立连接。(这个过程在套接字编程中为服务器端调用socket函数、bind函数和listen函数的过程)

备注:一个TCB数据块包含了数据发送双方对应的socket信息以及用于装载数据的缓冲区。在两个设备要建立连接发送数据之前,双方都必须要做一些准备工作,分配内存建立起TCB数据块就是连接建立前必须要做的准备工作。

(2)A建立传输控制块TCB,然后向B发送连接请求报文段,报文段中首部的同步位SYN=1,同时选择一个序列号seq=x&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值