新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 嵌入式Linux網(wǎng)絡(luò)編程之:TCP/IP協(xié)議概述

        嵌入式Linux網(wǎng)絡(luò)編程之:TCP/IP協(xié)議概述

        作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

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

        10.1概述

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

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

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

        圖10.1OSI模型和TCP/IP參考模型對應關(guān)系

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

        n 網(wǎng)絡(luò)接口層:負責將二進制流轉(zhuǎn)換為數(shù)據(jù)幀,并進行數(shù)據(jù)幀的發(fā)送和接收。要注意的是數(shù)據(jù)幀是獨立的網(wǎng)絡(luò)信息傳輸單元。

        n 網(wǎng)絡(luò)層:負責將數(shù)據(jù)幀封裝成IP數(shù)據(jù)包,并運行必要的路由算法。

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

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

        10.1.2

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

        n ARP:用于獲得同一物理網(wǎng)絡(luò)中的硬件主機地址。

        n MPLS:多協(xié)議標簽協(xié)議,是很有發(fā)展前景的下一代網(wǎng)絡(luò)協(xié)議。

        n IP:負責在主機和網(wǎng)絡(luò)之間尋址和路由數(shù)據(jù)包。

        n ICMP:用于發(fā)送有關(guān)數(shù)據(jù)包的傳送錯誤的協(xié)議。

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

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

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

        10.1.3TCP和UDP

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

        1.TCP

        (1)概述。

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

        通常應用程序通過打開一個socket來使用TCP服務,TCP管理到其他socket的數(shù)據(jù)傳遞。可以說,通過IP的源/目的可以惟一地區(qū)分網(wǎng)絡(luò)中兩個設(shè)備的連接,通過socket的源/目的可以惟一地區(qū)分網(wǎng)絡(luò)中兩個應用程序的連接。

        (2)三次握手協(xié)議。

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

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

        n 初始化主機通過一個同步標志置位的數(shù)據(jù)段發(fā)出會話請求。

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

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

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

        linux相關(guān)文章:linux教程


        tcp/ip相關(guān)文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 九江市| 上高县| 阜康市| 霍州市| 汽车| 景宁| 隆安县| 大田县| 中西区| 三明市| 榆中县| 吴桥县| 大连市| 广德县| 明溪县| 漳浦县| 东安县| 偃师市| 博爱县| 广德县| 盱眙县| 涿鹿县| 佛坪县| 凌云县| 桦川县| 广河县| 仁布县| 中牟县| 鸡泽县| 年辖:市辖区| 秦皇岛市| 易门县| 辽中县| 西峡县| 房产| 太原市| 夏邑县| 遵义县| 甘孜| 涞水县| 密山市|