linux網(wǎng)絡(luò)編程系列(二)--OSI七層模型和TCP-IP四層模型

1. ISO七層網(wǎng)絡(luò)模型

為使不同計(jì)算機(jī)廠家之間的計(jì)算機(jī)能夠互相通信诡挂,以便在更大的范圍內(nèi)建立計(jì)算機(jī)網(wǎng)絡(luò)躺涝,國際標(biāo)準(zhǔn)化組織ISO在1981年正式推出了一個(gè)網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)--OSI七層網(wǎng)絡(luò)模型,此后各大計(jì)算機(jī)廠商迅速向它靠攏饮潦,大大推動(dòng)了計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展。
OSI七層網(wǎng)絡(luò)模型分別是:應(yīng)用層携狭、表示層继蜡、會(huì)話層、傳輸層逛腿、網(wǎng)絡(luò)層稀并、數(shù)據(jù)鏈路層、物理層单默。

1.1 應(yīng)用層

應(yīng)用層是最靠近用戶的OSI層碘举,這一層為用戶的應(yīng)用程序(例如電子郵件、文件傳輸和終端仿真)提供網(wǎng)絡(luò)服務(wù)搁廓,主要負(fù)責(zé)對軟件提供接口以使程序能使用網(wǎng)絡(luò)服務(wù)引颈,從實(shí)現(xiàn)上講耕皮,其實(shí)就是使用了特定的端口號(hào)和特定的數(shù)據(jù)格式封裝了tcp或者udp,從而產(chǎn)生了應(yīng)用層協(xié)議蝙场。

1.2 表示層

表示層是應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官凌停,可確保一個(gè)系統(tǒng)的應(yīng)用層所發(fā)送的信息可以被另一個(gè)系統(tǒng)的應(yīng)用層讀取。在表示層售滤,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進(jìn)行格式化罚拟,這種格式化也因所使用網(wǎng)絡(luò)的類型不同而不同。例如完箩,PC程序與另一臺(tái)計(jì)算機(jī)進(jìn)行通信赐俗,其中一臺(tái)計(jì)算機(jī)使用擴(kuò)展二一十進(jìn)制交換碼(EBCDIC),而另一臺(tái)則使用美國信息交換標(biāo)準(zhǔn)碼(ASCII)來表示相同的字符弊知,如有必要阻逮,表示層會(huì)通過使用一種通用格式來實(shí)現(xiàn)多種數(shù)據(jù)格式之間的轉(zhuǎn)換。
一些典型的應(yīng)用如下:

  • 數(shù)據(jù)的解密與加密吉捶,如系統(tǒng)口令的處理夺鲜;
  • 對圖片和文件格式信息進(jìn)行解碼和編碼;

1.3 會(huì)話層

會(huì)話層負(fù)責(zé)在網(wǎng)絡(luò)中的兩節(jié)點(diǎn)之間建立呐舔、維持和終止通信币励。會(huì)話層的功能包括:建立通信連接,保持會(huì)話過程通信連接的暢通珊拼,同步兩個(gè)節(jié)點(diǎn)之間的對話食呻,決定通信是否被中斷以及通信中斷時(shí)從何處開始重新發(fā)送。你可能常常聽到有人把會(huì)話層稱作網(wǎng)絡(luò)通信的“交通警察”澎现。當(dāng)通過撥號(hào)向你的 ISP (因特網(wǎng)服務(wù)提供商)請求連接到因特網(wǎng)時(shí)仅胞,ISP 服務(wù)器上的會(huì)話層向你與你的PC客戶機(jī)上的會(huì)話層進(jìn)行協(xié)商連接。若你的電話線偶然從墻上插孔脫落時(shí)剑辫,你終端機(jī)上的會(huì)話層將檢測到連接中斷并重新發(fā)起連接干旧。

1.4 傳輸層

傳輸層是OSI七層模型中最重要的一層,傳輸協(xié)議同時(shí)進(jìn)行流量控制或是基于接收方可接收數(shù)據(jù)的快慢程度規(guī)定適當(dāng)?shù)陌l(fā)送速率妹蔽。除此之外椎眯,傳輸層按照網(wǎng)絡(luò)能處理的最大尺寸將較長的數(shù)據(jù)包進(jìn)行強(qiáng)制分割。例如胳岂,以太網(wǎng)無法接收大于1 5 0 0 字節(jié)的數(shù)據(jù)包编整,發(fā)送方節(jié)點(diǎn)的傳輸層將數(shù)據(jù)分割成較小的數(shù)據(jù)片,同時(shí)對每一數(shù)據(jù)片安排一個(gè)序列號(hào)乳丰,以便數(shù)據(jù)到達(dá)接收方節(jié)點(diǎn)的傳輸層時(shí)掌测,能以正確的順序重組。該過程即被稱為排序产园。工作在傳輸層的一種服務(wù)是 T C P / I P 協(xié)議套中的T C P (傳輸控制協(xié)議)汞斧,另一項(xiàng)傳輸層服務(wù)是I P X / S P X 協(xié)議集的S P X (序列包交換)夜郁。

1.5 網(wǎng)絡(luò)層

網(wǎng)絡(luò)層主要功能是將網(wǎng)絡(luò)地址翻譯成對應(yīng)的物理地址,并決定如何將數(shù)據(jù)從發(fā)送方路由到接收方断箫。網(wǎng)絡(luò)層通過綜合考慮發(fā)送優(yōu)先權(quán)拂酣、網(wǎng)絡(luò)擁塞程度、服務(wù)質(zhì)量以及可選路由的花費(fèi)來決定從一個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)A 到另一個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)B的最佳路徑仲义。由于網(wǎng)絡(luò)層處理婶熬,并智能指導(dǎo)數(shù)據(jù)傳送,路由器連接網(wǎng)絡(luò)各段埃撵,所以路由器屬于網(wǎng)絡(luò)層赵颅。在網(wǎng)絡(luò)中,“路由”是基于編址方案暂刘、使用模式以及可達(dá)性來指引數(shù)據(jù)的發(fā)送饺谬。
網(wǎng)絡(luò)層負(fù)責(zé)在源機(jī)器和目標(biāo)機(jī)器之間建立它們所使用的路由,這一層本身沒有任何錯(cuò)誤檢測和修正機(jī)制谣拣,因此募寨,網(wǎng)絡(luò)層必須依賴于端端之間可靠傳輸服務(wù)。   
網(wǎng)絡(luò)層用于本地LAN網(wǎng)段之上的計(jì)算機(jī)系統(tǒng)建立通信森缠,它之所以可以這樣做拔鹰,是因?yàn)樗凶约旱穆酚傻刂方Y(jié)構(gòu),這種結(jié)構(gòu)與第二層機(jī)器地址是分開的贵涵、獨(dú)立的列肢。這種協(xié)議稱為路由或可路由協(xié)議。路由協(xié)議包括I P宾茂、N o v e l l公司的I P X以及A p p l e Ta l k協(xié)議瓷马。 網(wǎng)絡(luò)層是可選的,它只用于當(dāng)兩個(gè)計(jì)算機(jī)系統(tǒng)處于不同的由路由器分割開的網(wǎng)段這種情況跨晴,或者當(dāng)通信應(yīng)用要求某種網(wǎng)絡(luò)層或傳輸層提供的服務(wù)欧聘、特性或者能力時(shí)。例如端盆,當(dāng)兩臺(tái)主機(jī)處于同一個(gè)L A N網(wǎng)段的直接相連這種情況树瞭,它們之間的通信只使用L A N的通信機(jī)制就可以了(即OSI 參考模型的一二層)。

1.6 數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路層控制網(wǎng)絡(luò)層與物理層之間的通信爱谁。它的主要功能是如何在不可靠的物理線路上進(jìn)行數(shù)據(jù)的可靠傳遞。為了保證傳輸孝偎,從網(wǎng)絡(luò)層接收到的數(shù)據(jù)被分割成特定的可被物理層傳輸?shù)膸玫小怯脕硪苿?dòng)數(shù)據(jù)的結(jié)構(gòu)包,它不僅包括原始數(shù)據(jù)衣盾,還包括發(fā)送方和接收方的物理地址以及檢錯(cuò)和控制信息寺旺。其中的地址確定了幀將發(fā)送到何處爷抓,而糾錯(cuò)和控制信息則確保幀無差錯(cuò)到達(dá)。 如果在傳送數(shù)據(jù)時(shí)阻塑,接收點(diǎn)檢測到所傳數(shù)據(jù)中有差錯(cuò)蓝撇,就要通知發(fā)送方重發(fā)這一幀。
數(shù)據(jù)鏈路層的功能獨(dú)立于網(wǎng)絡(luò)和它的節(jié)點(diǎn)和所采用的物理層類型陈莽,它也不關(guān)心是否正在運(yùn)行 Wo r d 渤昌、E x c e l 或使用I n t e r n e t 。有一些連接設(shè)備走搁,如交換機(jī)独柑,由于它們要對幀解碼并使用幀信息將數(shù)據(jù)發(fā)送到正確的接收方,所以它們是工作在數(shù)據(jù)鏈路層的私植。
數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸忌栅。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀曲稼、流量控制索绪、數(shù)據(jù)的檢錯(cuò)、重發(fā)等贫悄。 數(shù)據(jù)鏈路層協(xié)議的代表包括:SDLC瑞驱、HDLC、PPP清女、STP钱烟、幀中繼等。

1.7 物理層

物理層是最底層嫡丙,該層包括物理連網(wǎng)媒介拴袭,如電纜連線連接器。物理層的協(xié)議產(chǎn)生并檢測電壓以便發(fā)送和接收攜帶數(shù)據(jù)的信號(hào)曙博。在你的桌面P C上插入網(wǎng)絡(luò)接口卡拥刻,你就建立了計(jì)算機(jī)連網(wǎng)的基礎(chǔ)。換言之父泳,你提供了一個(gè)物理層般哼。盡管物理層不提供糾錯(cuò)服務(wù),但它能夠設(shè)定數(shù)據(jù)傳輸速率并監(jiān)測數(shù)據(jù)出錯(cuò)率惠窄。網(wǎng)絡(luò)物理問題蒸眠,如電線斷開,將影響物理層杆融。
用戶要傳遞信息就要利用一些物理媒體楞卡,如雙絞線、同軸電纜等,但具體的物理媒體并不在OSI的7層之內(nèi)蒋腮,有人把物理媒體當(dāng)做第0層淘捡,物理層的任務(wù)就是為它的上一層提供一個(gè)物理連接,以及它們的機(jī)械池摧、電氣焦除、功能和過程特性。如規(guī)定使用電纜和接頭的類型作彤、傳送信號(hào)的電壓等膘魄。在這一層,數(shù)據(jù)還沒有被組織宦棺,僅作為原始的位流或電氣電壓處理瓣距,單位是bit比特。
主要定義物理設(shè)備標(biāo)準(zhǔn)代咸,如網(wǎng)線的接口類型蹈丸、光纖的接口類型、各種傳輸介質(zhì)的傳輸速率等呐芥。它的主要作用是傳輸比特流(就是由1逻杖、0轉(zhuǎn)化為電流強(qiáng)弱來進(jìn)行傳輸,到達(dá)目的地后在轉(zhuǎn)化為1、0思瘟,也就是我們常說的數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換)荸百。這一層的數(shù)據(jù)叫做比特。

2. TCP/IP四層模型

TCP/IP是一組協(xié)議的代名詞滨攻,它還包括許多協(xié)議够话,組成了TCP/IP協(xié)議簇。TCP/IP協(xié)議簇分為四層光绕,IP位于協(xié)議簇的第二層(對應(yīng)OSI的第三層)女嘲,TCP位于協(xié)議簇的第三層(對應(yīng)OSI的第四層)。

2.1 四層模型

TCP/IP通訊協(xié)議采用了4層的層級(jí)結(jié)構(gòu)诞帐,每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求欣尼。這4層分別為:

  • 應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)停蕉、文件傳輸協(xié)議(FTP)愕鼓、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。 負(fù)責(zé)應(yīng)用程序的網(wǎng)絡(luò)訪問慧起,這里通過端口號(hào)來識(shí)別各個(gè)不同的進(jìn)程菇晃。

  • 傳輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù)蚓挤,如傳輸控制協(xié)議(TCP)磺送、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等剩失,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又校@一層負(fù)責(zé)傳送數(shù)據(jù)册着,并且確定數(shù)據(jù)已被送達(dá)并接收。 負(fù)責(zé)端對端之間的通信會(huì)話連接和建立脾歧。傳輸協(xié)議的選擇根據(jù)數(shù)據(jù)傳輸方式而定甲捏。

  • 網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收)鞭执,如網(wǎng)際協(xié)議(IP)司顿。 負(fù)責(zé)將數(shù)據(jù)幀封裝成IP數(shù)據(jù)報(bào),并運(yùn)行必要的路由算法兄纺。

  • 數(shù)據(jù)鏈路層:對實(shí)際的網(wǎng)絡(luò)媒體的管理大溜,定義如何使用實(shí)際網(wǎng)絡(luò)(如Ethernet、Serial Line等)來傳送數(shù)據(jù)估脆,實(shí)現(xiàn)網(wǎng)卡接口的網(wǎng)絡(luò)驅(qū)動(dòng)程序钦奋。負(fù)責(zé)將二進(jìn)制流轉(zhuǎn)換為數(shù)據(jù)幀,并進(jìn)行數(shù)據(jù)幀的發(fā)送和接收疙赠。

2.2 四層模型分別有哪些協(xié)議

應(yīng)用層{http超文本傳輸協(xié)議 ftp文件傳輸協(xié)議 telnet遠(yuǎn)程登錄 ssh安全外殼協(xié)議 stmp簡單郵件發(fā)送 pop3收郵件}
傳輸層{tcp傳輸控制協(xié)議,udp用戶數(shù)據(jù)包協(xié)議}
網(wǎng)絡(luò)層{ip網(wǎng)際互聯(lián)協(xié)議 icmp網(wǎng)絡(luò)控制消息協(xié)議 igmp網(wǎng)絡(luò)組管理協(xié)議}
數(shù)據(jù)鏈路層{arp地址轉(zhuǎn)換協(xié)議,rarp反向地址轉(zhuǎn)換協(xié)議付材,mpls多協(xié)議標(biāo)簽交換}

部分協(xié)議注解如下:
ARP:(地址轉(zhuǎn)換協(xié)議)用于獲得同一物理網(wǎng)絡(luò)中的硬件主機(jī)地址。
MPLS:(多協(xié)議標(biāo)簽交換)很有發(fā)展前景的下一代網(wǎng)絡(luò)協(xié)議圃阳。
IP:(網(wǎng)際互聯(lián)協(xié)議)負(fù)責(zé)在主機(jī)和網(wǎng)絡(luò)之間尋址和路由數(shù)據(jù)包厌衔。
ICMP:(網(wǎng)絡(luò)控制消息協(xié)議)用于發(fā)送報(bào)告有關(guān)數(shù)據(jù)包的傳送錯(cuò)誤的協(xié)議。
IGMP:(網(wǎng)絡(luò)組管理協(xié)議)被IP主機(jī)用來向本地多路廣播路由器報(bào)告主機(jī)組成員的協(xié)議捍岳。
TCP:(傳輸控制協(xié)議)為應(yīng)用程序提供可靠的通信連接富寿。適合于一次傳輸大批數(shù)據(jù)的情況。并適用于要求得到相應(yīng)的應(yīng)用程序锣夹。
UDP:(用戶數(shù)據(jù)包協(xié)議)提供了無連接通信页徐,且不對傳送包進(jìn)行可靠的保證。適合于一次傳輸少量數(shù)據(jù)晕城。

2.3 最常見的應(yīng)用層協(xié)議

注意:可以使用cat /etc/services來查看有哪些應(yīng)用層協(xié)議泞坦,以及他們使用了傳輸層的哪些協(xié)議。
通常我們是使用ip地址后面跟上端口號(hào)來唯一確定一個(gè)連接:ip用來定位主機(jī)砖顷,port區(qū)別應(yīng)用(進(jìn)程)贰锁。
例如:
http-->80 ssh-->22 telnet-->23 ftp-->21
系統(tǒng)使用端口號(hào)一般是1-1024,用戶可使用的是1025-65536滤蝠。

本人在簡書上寫的內(nèi)容均為本人原創(chuàng)豌熄,轉(zhuǎn)載需經(jīng)本人同意,歡迎轉(zhuǎn)載分享物咳,請注明出處锣险。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子芯肤,更是在濱河造成了極大的恐慌巷折,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崖咨,死亡現(xiàn)場離奇詭異锻拘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)击蹲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門署拟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人歌豺,你說我怎么就攤上這事推穷。” “怎么了类咧?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵馒铃,是天一觀的道長。 經(jīng)常有香客問我轮听,道長骗露,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任血巍,我火速辦了婚禮萧锉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘述寡。我一直安慰自己柿隙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布鲫凶。 她就那樣靜靜地躺著禀崖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪螟炫。 梳的紋絲不亂的頭發(fā)上波附,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音昼钻,去河邊找鬼掸屡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛然评,可吹牛的內(nèi)容都是我干的仅财。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼碗淌,長吁一口氣:“原來是場噩夢啊……” “哼盏求!你這毒婦竟也來了抖锥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤碎罚,失蹤者是張志新(化名)和其女友劉穎磅废,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荆烈,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡还蹲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耙考。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡潭兽,死狀恐怖倦始,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情山卦,我是刑警寧澤鞋邑,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站账蓉,受9級(jí)特大地震影響枚碗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铸本,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一肮雨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧箱玷,春花似錦怨规、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至舶得,卻和暖如春掰烟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沐批。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工纫骑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人珠插。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓惧磺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捻撑。 傳聞我的和親對象是個(gè)殘疾皇子磨隘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容