码迷,mamicode.com
首页 > 其他好文 > 详细

TCP连接的三路握手

时间:2014-11-26 11:23:45      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:tcp   网络编程   socket   

        本文内容参考《Unix网络编程》,大概描述了TCP连接的三次握手过程,这是我看到的最清楚的描述,记录在这里,希望能帮助到大家对于TCP连接过程的理解。


        传输控制协议(TCP)是TCP/IP协议簇里非常重要的一个协议。它提供客户与服务器之间的连接,并且提供可靠的数据传输功能。关于这个协议的具体规定,请参考相关文献。这里简单讲述一下三路握手。


        建立一个TCP连接时会发生以下几个过程:

        1.服务器必须做好接受外来的连接的准备。这个过程通过调用socket、bind和listen这三个函数来完成。

        2.客户通过调用connect发起主动打开。这个过程中,客户发送一个SYN分节告诉服务器,客户将在连接中发送数据的初始序列号。

        3.服务器确认客户的SYN,同时自己发送一个SYN,包含服务器将在该连接中发送的数据的初始序列号。

        4.客户确认服务器的SYN。bubuko.com,布布扣

        非常形象的一个描述:

        建立TCP连接就好比一个电话系统。socket函数等同于有电话可用。bind函数是在告诉别人你的电话号码,这样他们可以给你打电话。listen函数是打开电话铃声,这样当有外来呼叫时你可以听到。connect函数要求我们知道对方的号码并拨打它。accept函数就好比是被呼叫者接听电话了。当呼叫者听到对方接听之后,就相当于最后一次确认,然后就可以通话了。


TCP连接的三路握手

标签:tcp   网络编程   socket   

原文地址:http://blog.csdn.net/bing_bing304/article/details/41512115

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!