網(wǎng)絡通訊協(xié)議是什么

2016 11 3 BOAC


計算機網(wǎng)絡理論把這整個過程定義成一個分層服務體系。在國際標準組織(ISO)的著名標準開放式系統(tǒng)互聯(lián)參考模型(OSI)里,這個復雜的體系依次有應用層、表示層、會話層、傳輸層、網(wǎng)絡層、數(shù)據(jù)鏈路層、物理層,稱為ISO七層模型。

在數(shù)據(jù)的實際傳輸中,發(fā)送方將數(shù)據(jù)送到自己的應用層,加上該層的控制信息后傳給表示層;表示層也將數(shù)據(jù)加上自己的標識傳給會話層;以此類推,每一層都在收到的數(shù)據(jù)上加上本層的控制信息并傳給下一層;最后到達物理層時,數(shù)據(jù)通過實際的物理媒體傳到接收方。接收端則執(zhí)行與發(fā)送端相反的操作,由下往上,將逐層標識去掉,重新還原成最初的數(shù)據(jù)。由此可見,數(shù)據(jù)通訊雙方在對等層必須采用相同的協(xié)議,定義同一種數(shù)據(jù)標識格式,這樣才可能保證數(shù)據(jù)的正確傳輸。

最初,各個廠商的設備,系統(tǒng),各有各的一套,彼此之間很難互相通信,要建立一個網(wǎng)絡,就只能選一家廠商的設備,比如說全IBM的,或全DECnet的,用一種系統(tǒng),那時UNIX大行其道。后來用Windows的網(wǎng)絡也慢慢多了起來,基于將不同網(wǎng)絡互連的迫切要求,國際標準化組織ISO于上世紀70年代發(fā)布了OSI七層網(wǎng)路模型,以規(guī)范化網(wǎng)絡設計。那為什么要分層呢?是因為出于將數(shù)據(jù)處理分步的考慮??偨Y(jié)來說,OSI網(wǎng)七層絡模型的用處如下:

1.使不同廠商在開發(fā)設備的時候有個公共的標準,讓不同廠商開發(fā)出來的設備能夠互相通信。
2.使不同系統(tǒng)之間能夠互相通信,如UNIX、Winsows和Mac。
3.分層使數(shù)據(jù)處理分步,互相之間不造成影響。

OSI七層網(wǎng)絡模型由下至上為1至7層,分別為物理層(Physical layer),數(shù)據(jù)鏈路層(Data link layer),網(wǎng)絡層(Network layer),傳輸層(Transport layer),會話層(Session layer),表示層(Presentation layer),應用層(Application layer)。其中上三層稱之為高層,定義應用程序之間的通信和人機界面。什么意思呢,就是上三層負責把電腦能看懂的東西轉(zhuǎn)化為你能看懂的東西,或把你能看懂的東西轉(zhuǎn)化為電腦能看懂的東西。下四層稱之為底層,定義的是數(shù)據(jù)如何端到端的傳輸(end-to-end),物理規(guī)范以及數(shù)據(jù)與光電信號間的轉(zhuǎn)換。

應用層,很簡單,就是應用程序。這一層負責確定通信對象,并確保由足夠的資源用于通信,這些當然都是想要通信的應用程序干的事情。

表示層,負責數(shù)據(jù)的編碼、轉(zhuǎn)化,確保應用層的正常工作。這一層,是將我們看到的界面與二進制間互相轉(zhuǎn)化的地方,就是我們的語言與機器語言間的轉(zhuǎn)化。數(shù)據(jù)的壓縮、解壓,加密、解密都發(fā)生在這一層。這一層根據(jù)不同的應用目的將數(shù)據(jù)處理為不同的格式,表現(xiàn)出來就是我們看到的各種各樣的文件擴展名。

會話層,負責建立、維護、控制會話,區(qū)分不同的會話,以及提供單工(Simplex)、半雙工(Half duplex)、全雙工(Full duplex)三種通信模式的服務。我們平時所知的NFS,RPC,X Windows等都工作在這一層。
傳輸層,負責分割、組合數(shù)據(jù),實現(xiàn)端到端的邏輯連接。數(shù)據(jù)在上三層是整體的,到了這一層開始被分割,這一層分割后的數(shù)據(jù)被稱為段(Segment)。三次握手(Three-way handshake),面向連接(Connection-Oriented)或非面向連接(Connectionless-Oriented)的服務,流控(Flow control)等都發(fā)生在這一層。

網(wǎng)絡層,負責管理網(wǎng)絡地址,定位設備,決定路由。我們所熟知的IP地址和路由器就是工作在這一層。上層的數(shù)據(jù)段在這一層被分割,封裝后叫做包(Packet),包有兩種,一種叫做用戶數(shù)據(jù)包(Data packets),是上層傳下來的用戶數(shù)據(jù);另一種叫路由更新包(Route update packets),是直接由路由器發(fā)出來的,用來和其他路由器進行路由信息的交換。

數(shù)據(jù)鏈路層,負責準備物理傳輸,CRC校驗,錯誤通知,網(wǎng)絡拓撲,流控等。我們所熟知的MAC地址和交換機都工作在這一層。上層傳下來的包在這一層被分割封裝后叫做幀(Frame)。

物理層,就是實實在在的物理鏈路,負責將數(shù)據(jù)以比特流的方式發(fā)送,接收,就不多說了。

TCP/IP四層協(xié)議 應用層 表示層 會話層 傳輸層 網(wǎng)絡層 數(shù)據(jù)鏈路層 物理層 網(wǎng)絡接口層

TCP/IP的多數(shù)應用協(xié)議將OSI應用層、表示層、會話層的功能合在一起,組成應用層,典型協(xié)議有:HTTP、FTP、TELNET等;TCP/UDP協(xié)議對應OSI的傳輸層,提供上層數(shù)據(jù)傳輸保障;IP協(xié)議對應OSI的網(wǎng)絡層;TCP/IP的最底層功能由網(wǎng)絡接口層實現(xiàn),相當于OSI的物理層和數(shù)據(jù)鏈路層,TCP/IP應用已有的底層網(wǎng)絡實現(xiàn)傳輸,對該層并未作嚴格定義。