【Windows socket+IP+UDP+TCP】網路基礎

Love_Hulidear發表於2014-05-20

Windows Socket+網路


     Winsock是 Windows下套接字標準
         Winsock 程式設計分為UDP【Windows socket + UDP】,TCP【Windows socket + TCP】程式設計。Windows socket 建立在網路基礎之上,UDP程式設計採用使用者資料包協議(User Datagram Protocol ,UDP),TCP程式設計採用傳輸控制協議(Transmission Control Protocol,TCP)。UDP,TCP不同的特性,適應不同的應用需求。
         UDP,TCP協議建立在網際協議(Internet Protocol,IP)基礎上。
         
         1.網際協議(Internet Protocol,IP):

        IP協議的功能:相互連線的網路間資料的傳輸,即從一個IP主機傳輸到另一個IP主機。
       
         IP協議是主機與主機間資料傳輸協議,只能完成主機到主機間的資料包傳輸。IP資料包格式如下:

        IP首部:IP資料包的資訊,包含源IP,目標IP等IP資料,這些IP資料好比信件上的地址,保證資料包傳輸到目標IP主機上。
        IP資料:傳輸的資料。
        IP協議是不可靠協議,可能發生丟包,錯誤等,不保證資料一定交付到目標主機。

         2.使用者資料包協議(User Datagram Protocol ,UDP):
    
        UDP位於IP協議之上,使用IP作為底層傳輸協議,UDP將自己的UDP資料包封裝於IP資料內傳輸。

         UDP首部:包含源埠,目標埠等資料。埠保證資料能準確傳輸到指定的程式。
        UDP資料:傳輸的資料。
        UDP基於IP協議,IP協議是不可靠協議,UDP本身沒有任何確保可靠的措施,故UDP協議也是不可靠協議。UDP協議適用於對資料可靠性,順序交付無要求的程式,UDP能提供更快,更小消耗的傳輸服務。

       3.傳輸控制協議(Transmission Control Protocol,TCP):  
      
        同UDP協議,TCP也位於IP協議之上,將TCP資料包封裝於IP資料內傳輸。

        TCP首部:相比UDP,TCP同樣包含源埠,目標埠等資料的同時,TCP還包含序號,確認號等資訊,這些資料用於確認資料是否被完整交付,TCP是可靠協議的原因就在這裡。
        TCP資料:傳輸的資料。
        TCP雖然建立在不可靠協議IP之上,但TCP採用了多種機制,確保資料有序,可靠的交付。TCP多用於對資料安全要求較高的應用,如Web,電子郵件等。

         4.擴充套件:
         這裡只是簡單的介紹了IP,UDP,TCP協議之間的關係,以及這些協議的特點,無法做到面面俱到。讀者有興趣的話,可以閱讀計算機網路相關的書籍,《計算機網路》,《UNIX網路程式設計》等能解你之惑。


相關文章