No pains, No gain
          走過、路過、千萬別錯過
          posts - 23,comments - 1,trackbacks - 0

          TCP協議 

          ==> TCP首部

          ??? 源端口號、目的端口號、位序號、位確認序號、首部長度、標志位、窗口大小、檢驗和、緊急指針和其它選項。
          ???
          ??? 一個IP地址和一個端口號也成為一個插口(socket)。插口對可唯一確定互聯網中每個TCP連接的雙方。


          ==> TCP連接的建立與終止

          ??? TCP是一個面向連接的協議,無論哪方向另一方發送數據之前,都必須先在雙方之間建立一條連接。
          ??? TCP連接的建立——三次握手。
          ??? TCP連接的終止——四次握手。這是由TCP的半關閉造成的。因為TCP是全雙工的,因此每個方向必須單獨的進行關閉。


          ==> 最大報文段長度MSS

          ??? MSS越大,允許每個報文段傳遞的數據越多,相對TCP和IP的首部有更高的利用率。

          ??? 有些情況下,MSS是可以在建立TCP連接時進行協商的選項,但是有些情況下不行 。

          ??? * 如果是本地網絡,TCP可以根據網絡外出接口處的MTU值減去固定的IP首部(20)和TCP長度(20),對于以太網,可以達到1460。

          ??? * 如果IP地址為非本地的,則MSS通常定為默認值536字節(允許20字節的IP首部和20字節的TCP首部以適合576字節的IP數據報)。

          ??? MSS讓主機限制另一端發送數據的長度,同時也能控制它自己發送數據報的長度,避免較小MTU發生分片。


          ==> TCP的半關閉

          ??? TCP連接的一端在結束它的發送后還能接收來自另一端數據(直到它也發送FIN)的能力,這就是所謂的半關閉。應用程序很少用到。


          ==> 復位報文段

          ??? * 不存在的端口(目的端口沒有進程監聽)。目的主機將對SYN請求返回一個RST報文段。(UDP則將產生一個端口不可達的信息)

          ??? * 異常終止。

          ??? * 檢測半打開的連接。


          ==> TCP服務器的設計

          ??? * 大多數TCP服務器的進程是并發的.

          ??? * 只有處于監聽的進程才能處理客戶端的連接請求.

          ??? * TCP服務器可以對本地IP地址進行限制,但是一般不能對遠程IP地址進行限制.

            




          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=561075

          posted on 2006-12-04 09:35 一縷青煙 閱讀(354) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 田阳县| 剑河县| 江川县| 陇川县| 宁武县| 东源县| 改则县| 高雄市| 通榆县| 吉林省| 天津市| 金昌市| 分宜县| 达尔| 衡阳县| 霍林郭勒市| 邓州市| 台南县| 德格县| 沙湾县| 黑龙江省| 当雄县| 马边| 黑河市| 昌邑市| 巴南区| 云龙县| 阿克| 油尖旺区| 昌图县| 云林县| 平谷区| 贡嘎县| 乳源| 永善县| 濉溪县| 五常市| 湟中县| 资中县| 满洲里市| 康保县|