1. ISO七層網(wǎng)絡(luò)模型
為使不同計算機廠家之間的計算機能夠互相通信,以便在更大的范圍內(nèi)建立計算機網(wǎng)絡(luò),國際標(biāo)準(zhǔn)化組織ISO在1981年正式推出了一個網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)--OSI七層網(wǎng)絡(luò)模型,此后各大計算機廠商迅速向它靠攏,大大推動了計算機網(wǎng)絡(luò)的發(fā)展。
OSI七層網(wǎng)絡(luò)模型分別是:應(yīng)用層、表示層、會話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層。
1.1 應(yīng)用層
應(yīng)用層是最靠近用戶的OSI層,這一層為用戶的應(yīng)用程序(例如電子郵件、文件傳輸和終端仿真)提供網(wǎng)絡(luò)服務(wù),主要負責(zé)對軟件提供接口以使程序能使用網(wǎng)絡(luò)服務(wù),從實現(xiàn)上講,其實就是使用了特定的端口號和特定的數(shù)據(jù)格式封裝了tcp或者udp,從而產(chǎn)生了應(yīng)用層協(xié)議。
1.2 表示層
表示層是應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官,可確保一個系統(tǒng)的應(yīng)用層所發(fā)送的信息可以被另一個系統(tǒng)的應(yīng)用層讀取。在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進行格式化,這種格式化也因所使用網(wǎng)絡(luò)的類型不同而不同。例如,PC程序與另一臺計算機進行通信,其中一臺計算機使用擴展二一十進制交換碼(EBCDIC),而另一臺則使用美國信息交換標(biāo)準(zhǔn)碼(ASCII)來表示相同的字符,如有必要,表示層會通過使用一種通用格式來實現(xiàn)多種數(shù)據(jù)格式之間的轉(zhuǎn)換。
一些典型的應(yīng)用如下:
- 數(shù)據(jù)的解密與加密,如系統(tǒng)口令的處理;
- 對圖片和文件格式信息進行解碼和編碼;
1.3 會話層
會話層負責(zé)在網(wǎng)絡(luò)中的兩節(jié)點之間建立、維持和終止通信。會話層的功能包括:建立通信連接,保持會話過程通信連接的暢通,同步兩個節(jié)點之間的對話,決定通信是否被中斷以及通信中斷時從何處開始重新發(fā)送。你可能常常聽到有人把會話層稱作網(wǎng)絡(luò)通信的“交通警察”。當(dāng)通過撥號向你的 ISP (因特網(wǎng)服務(wù)提供商)請求連接到因特網(wǎng)時,ISP 服務(wù)器上的會話層向你與你的PC客戶機上的會話層進行協(xié)商連接。若你的電話線偶然從墻上插孔脫落時,你終端機上的會話層將檢測到連接中斷并重新發(fā)起連接。
1.4 傳輸層
傳輸層是OSI七層模型中最重要的一層,傳輸協(xié)議同時進行流量控制或是基于接收方可接收數(shù)據(jù)的快慢程度規(guī)定適當(dāng)?shù)陌l(fā)送速率。除此之外,傳輸層按照網(wǎng)絡(luò)能處理的最大尺寸將較長的數(shù)據(jù)包進行強制分割。例如,以太網(wǎng)無法接收大于1 5 0 0 字節(jié)的數(shù)據(jù)包,發(fā)送方節(jié)點的傳輸層將數(shù)據(jù)分割成較小的數(shù)據(jù)片,同時對每一數(shù)據(jù)片安排一個序列號,以便數(shù)據(jù)到達接收方節(jié)點的傳輸層時,能以正確的順序重組。該過程即被稱為排序。工作在傳輸層的一種服務(wù)是 T C P / I P 協(xié)議套中的T C P (傳輸控制協(xié)議),另一項傳輸層服務(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ì)量以及可選路由的花費來決定從一個網(wǎng)絡(luò)中節(jié)點A 到另一個網(wǎng)絡(luò)中節(jié)點B的最佳路徑。由于網(wǎng)絡(luò)層處理,并智能指導(dǎo)數(shù)據(jù)傳送,路由器連接網(wǎng)絡(luò)各段,所以路由器屬于網(wǎng)絡(luò)層。在網(wǎng)絡(luò)中,“路由”是基于編址方案、使用模式以及可達性來指引數(shù)據(jù)的發(fā)送。
網(wǎng)絡(luò)層負責(zé)在源機器和目標(biāo)機器之間建立它們所使用的路由,這一層本身沒有任何錯誤檢測和修正機制,因此,網(wǎng)絡(luò)層必須依賴于端端之間可靠傳輸服務(wù)。
網(wǎng)絡(luò)層用于本地LAN網(wǎng)段之上的計算機系統(tǒng)建立通信,它之所以可以這樣做,是因為它有自己的路由地址結(jié)構(gòu),這種結(jié)構(gòu)與第二層機器地址是分開的、獨立的。這種協(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)兩個計算機系統(tǒng)處于不同的由路由器分割開的網(wǎng)段這種情況,或者當(dāng)通信應(yīng)用要求某種網(wǎng)絡(luò)層或傳輸層提供的服務(wù)、特性或者能力時。例如,當(dāng)兩臺主機處于同一個L A N網(wǎng)段的直接相連這種情況,它們之間的通信只使用L A N的通信機制就可以了(即OSI 參考模型的一二層)。
1.6 數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層控制網(wǎng)絡(luò)層與物理層之間的通信。它的主要功能是如何在不可靠的物理線路上進行數(shù)據(jù)的可靠傳遞。為了保證傳輸,從網(wǎng)絡(luò)層接收到的數(shù)據(jù)被分割成特定的可被物理層傳輸?shù)膸?。幀是用來移動?shù)據(jù)的結(jié)構(gòu)包,它不僅包括原始數(shù)據(jù),還包括發(fā)送方和接收方的物理地址以及檢錯和控制信息。其中的地址確定了幀將發(fā)送到何處,而糾錯和控制信息則確保幀無差錯到達。 如果在傳送數(shù)據(jù)時,接收點檢測到所傳數(shù)據(jù)中有差錯,就要通知發(fā)送方重發(fā)這一幀。
數(shù)據(jù)鏈路層的功能獨立于網(wǎng)絡(luò)和它的節(jié)點和所采用的物理層類型,它也不關(guān)心是否正在運行 Wo r d 、E x c e l 或使用I n t e r n e t 。有一些連接設(shè)備,如交換機,由于它們要對幀解碼并使用幀信息將數(shù)據(jù)發(fā)送到正確的接收方,所以它們是工作在數(shù)據(jù)鏈路層的。
數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯、重發(fā)等。 數(shù)據(jù)鏈路層協(xié)議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
1.7 物理層
物理層是最底層,該層包括物理連網(wǎng)媒介,如電纜連線連接器。物理層的協(xié)議產(chǎn)生并檢測電壓以便發(fā)送和接收攜帶數(shù)據(jù)的信號。在你的桌面P C上插入網(wǎng)絡(luò)接口卡,你就建立了計算機連網(wǎng)的基礎(chǔ)。換言之,你提供了一個物理層。盡管物理層不提供糾錯服務(wù),但它能夠設(shè)定數(shù)據(jù)傳輸速率并監(jiān)測數(shù)據(jù)出錯率。網(wǎng)絡(luò)物理問題,如電線斷開,將影響物理層。
用戶要傳遞信息就要利用一些物理媒體,如雙絞線、同軸電纜等,但具體的物理媒體并不在OSI的7層之內(nèi),有人把物理媒體當(dāng)做第0層,物理層的任務(wù)就是為它的上一層提供一個物理連接,以及它們的機械、電氣、功能和過程特性。如規(guī)定使用電纜和接頭的類型、傳送信號的電壓等。在這一層,數(shù)據(jù)還沒有被組織,僅作為原始的位流或電氣電壓處理,單位是bit比特。
主要定義物理設(shè)備標(biāo)準(zhǔn),如網(wǎng)線的接口類型、光纖的接口類型、各種傳輸介質(zhì)的傳輸速率等。它的主要作用是傳輸比特流(就是由1、0轉(zhuǎn)化為電流強弱來進行傳輸,到達目的地后在轉(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層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。這4層分別為:
應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠程訪問協(xié)議(Telnet)等。 負責(zé)應(yīng)用程序的網(wǎng)絡(luò)訪問,這里通過端口號來識別各個不同的進程。
傳輸層:在此層中,它提供了節(jié)點間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達并接收。 負責(zé)端對端之間的通信會話連接和建立。傳輸協(xié)議的選擇根據(jù)數(shù)據(jù)傳輸方式而定。
網(wǎng)絡(luò)層:負責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達目的主機(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。 負責(zé)將數(shù)據(jù)幀封裝成IP數(shù)據(jù)報,并運行必要的路由算法。
數(shù)據(jù)鏈路層:對實際的網(wǎng)絡(luò)媒體的管理,定義如何使用實際網(wǎng)絡(luò)(如Ethernet、Serial Line等)來傳送數(shù)據(jù),實現(xiàn)網(wǎng)卡接口的網(wǎng)絡(luò)驅(qū)動程序。負責(zé)將二進制流轉(zhuǎn)換為數(shù)據(jù)幀,并進行數(shù)據(jù)幀的發(fā)送和接收。
2.2 四層模型分別有哪些協(xié)議
應(yīng)用層{http超文本傳輸協(xié)議 ftp文件傳輸協(xié)議 telnet遠程登錄 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ò)中的硬件主機地址。
MPLS:(多協(xié)議標(biāo)簽交換)很有發(fā)展前景的下一代網(wǎng)絡(luò)協(xié)議。
IP:(網(wǎng)際互聯(lián)協(xié)議)負責(zé)在主機和網(wǎng)絡(luò)之間尋址和路由數(shù)據(jù)包。
ICMP:(網(wǎng)絡(luò)控制消息協(xié)議)用于發(fā)送報告有關(guān)數(shù)據(jù)包的傳送錯誤的協(xié)議。
IGMP:(網(wǎng)絡(luò)組管理協(xié)議)被IP主機用來向本地多路廣播路由器報告主機組成員的協(xié)議。
TCP:(傳輸控制協(xié)議)為應(yīng)用程序提供可靠的通信連接。適合于一次傳輸大批數(shù)據(jù)的情況。并適用于要求得到相應(yīng)的應(yīng)用程序。
UDP:(用戶數(shù)據(jù)包協(xié)議)提供了無連接通信,且不對傳送包進行可靠的保證。適合于一次傳輸少量數(shù)據(jù)。
2.3 最常見的應(yīng)用層協(xié)議
注意:可以使用cat /etc/services來查看有哪些應(yīng)用層協(xié)議,以及他們使用了傳輸層的哪些協(xié)議。
通常我們是使用ip地址后面跟上端口號來唯一確定一個連接:ip用來定位主機,port區(qū)別應(yīng)用(進程)。
例如:
http-->80 ssh-->22 telnet-->23 ftp-->21
系統(tǒng)使用端口號一般是1-1024,用戶可使用的是1025-65536。
本人在簡書上寫的內(nèi)容均為本人原創(chuàng),轉(zhuǎn)載需經(jīng)本人同意,歡迎轉(zhuǎn)載分享,請注明出處。