新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式Linux網絡編程之:TCP/IP協議概述

        嵌入式Linux網絡編程之:TCP/IP協議概述

        作者: 時間:2013-09-13 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257117.htm

        10.1概述

        10.1.1OSI參考模型及TCP/IP參考模型

        讀者一定都聽說過著名的OSI協議參考模型,它是基于國際標準化組織(ISO)的建議發展起來的,從上到下共分為7層:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層及物理層。這個7層的協議模型雖然規定得非常細致和完善,但在實際中卻得不到廣泛的應用,其重要的原因之一就在于它過于復雜。但它仍是此后很多協議模型的基礎,這種分層架構的思想在很多領域都得到了廣泛的應用。

        與此相區別的模型從一開始就遵循簡單明確的設計思路,它將TCP/IP的7層協議模型簡化為4層,從而更有利于實現和使用。TCP/IP的協議參考模型和OSI協議參考模型的對應關系如圖10.1所示。

        圖10.1OSI模型和TCP/IP參考模型對應關系

        下面分別對TCP/IP的4層模型進行簡要介紹。

        n 網絡接口層:負責將二進制流轉換為數據幀,并進行數據幀的發送和接收。要注意的是數據幀是獨立的網絡信息傳輸單元。

        n 網絡層:負責將數據幀封裝成IP數據包,并運行必要的路由算法。

        n 傳輸層:負責端對端之間的通信會話連接與建立。傳輸協議的選擇根據數據傳輸方式而定。

        n 應用層:負責應用程序的網絡訪問,這里通過端口號來識別各個不同的進程。

        10.1.2

        雖然TCP/IP名稱只包含了兩個協議,但實際上,TCP/IP是一個龐大的協議族,它包括了各個層次上的眾多協議,圖10.2列舉了各層中一些重要的協議,并給出了各個協議在不同層次中所處的位置,如下所示。

        n ARP:用于獲得同一物理網絡中的硬件主機地址。

        n MPLS:多協議標簽協議,是很有發展前景的下一代網絡協議。

        n IP:負責在主機和網絡之間尋址和路由數據包。

        n ICMP:用于發送有關數據包的傳送錯誤的協議。

        n IGMP:被IP主機用來向本地多路廣播路由器報告主機組成員的協議。

        n TCP:為應用程序提供可靠的通信連接。適合于一次傳輸大批數據的情況。并適用于要求得到響應的應用程序。

        n UDP:提供了無連接通信,且不對傳送包進行可靠性保證。適合于一次傳輸少量數據,可靠性則由應用層來負責。

        10.1.3TCP和UDP

        在此主要介紹在中涉及的傳輸層TCP和

        1.TCP

        (1)概述。

        同其他任何協議棧一樣,TCP向相鄰的高層提供服務。因為TCP的上一層就是應用層,因此,TCP數據傳輸實現了從一個應用程序到另一個應用程序的數據傳遞。應用程序通過編程調用TCP并使用TCP服務,提供需要準備發送的數據,用來區分接收數據應用的目的地址和端口號。

        通常應用程序通過打開一個socket來使用TCP服務,TCP管理到其他socket的數據傳遞。可以說,通過IP的源/目的可以惟一地區分網絡中兩個設備的連接,通過socket的源/目的可以惟一地區分網絡中兩個應用程序的連接。

        (2)三次握手協議。

        TCP對話通過三次握手來進行初始化。三次握手的目的是使數據段的發送和接收同步,告訴其他主機其一次可接收的數據量,并建立虛連接。

        下面描述了這三次握手的簡單過程。

        n 初始化主機通過一個同步標志置位的數據段發出會話請求。

        n 接收主機通過發回具有以下項目的數據段表示回復:同步標志置位、即將發送的數據段的起始字節的順序號、應答并帶有將收到的下一個數據段的字節順序號。

        n 請求主機再回送一個數據段,并帶有確認順序號和確認號。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程


        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 屯门区| 沐川县| 筠连县| 潜江市| 肇源县| 临高县| 鹤壁市| 新昌县| 高要市| 平潭县| 三台县| 吴旗县| 中西区| 玛沁县| 罗甸县| 醴陵市| 临江市| 永靖县| 平南县| 新昌县| 杭锦后旗| 出国| 昌平区| 望城县| 闽侯县| 天峨县| 运城市| 上林县| 邢台县| 东明县| 呈贡县| 应用必备| 宁强县| 平潭县| 繁峙县| 大荔县| 柳江县| 龙川县| 武山县| 和田县| 噶尔县|