详解tcp/ip连接建立与释放

       最近一段时间参加一些公司的笔试,多次遇到tcp协议关于连接建立与释放方面的题目,虽然能答对一些,但未能回答完整,事后查阅资料总结如下。

       在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手: 建立连接时, 客户端发送 syn 包(syn=j)到服务器, 并进入 SYN_SEND 状态,等待服务器确认; 第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己 也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态; 第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三 次握手。 完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的 概念: 未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客 户端的 SYN 包(syn=j)开设一个条目,该条目表明服务器已收到 SYN 包,并向 客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于 Syn_RECV 状态,当服务器收到客户的确认包时,删除该条目,服务器进入 ESTABLISHED 状态。 Backlog 参数:表示未连接队列的最大容纳数目。 SYN-ACK 重传次数服务器发送完 SYN-ACK 包,如果未收到客户确认包,服务器 进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传 次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注 意,每次重传等待的时间不一定相同。 半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到 SYN 包到确认这个报文无效的最长时间, 该时间值是所有重传请求包的最长等待时间 总和。有时我们也称半连接存活时间为 Timeout 时间、SYN_RECV 存活时间。
   也称作TCP传输控制协议,Transport Control Protocol。可靠的主机到主机层协议。这里要先强调一下,传输控制协议是 OSI 网络的第四层的叫法,TCP 传输控制协议是 TCP/IP 传输的 6 个基本协议的一种。两个TCP意思非相同。TCP 是一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。通过每个TCP传输的字段指定顺序号,以获得可靠性。是在 OSI 参考模型中的第四层,TCP是使用IP的网间互联功能而提供可靠的数据传输,IP不停的把报文放到网络上,而TCP是负责确信报文到达。在协同IP的操作中 TCP 负责:握手过程、报文管理、流量控制、错误检测和处理(控制),可以根据一定的编号顺序 对非正常顺序的报文

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值