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 一縷青煙 閱讀(353) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 兰坪| 沙田区| 鄂尔多斯市| 屯昌县| 祁连县| 永新县| 岳阳市| 库尔勒市| 浮山县| 南陵县| 固阳县| 依安县| 庆阳市| 上思县| 浮梁县| 偏关县| 拉萨市| 乌审旗| 保山市| 锦州市| 仁怀市| 东光县| 余庆县| 务川| 山西省| 清远市| 广河县| 丰原市| 黄山市| 遂平县| 保亭| 台湾省| 沙河市| 大同市| 二连浩特市| 日照市| 高密市| 翼城县| 泗洪县| 辉南县| 墨脱县|