OSI/RM參考模型
該模型定義了不同計算機互聯的標準,是設計和描述計算機網絡通信的基本框架。OSI參考模型共分為7個層次,從低到高依次為物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。
? ? ? ?第一層到第三層屬于OSI參考模型的低三層,負責創建網絡通信連接的鏈路;第五層到第七層為OSI參考模型的高三層,具體負責端到端的數據通信;第四層負責高低層的連接。
? ? ? ?每層完成一定的功能,每層都直接為其上層提供服務,并且所有層次都互相支持,而網絡通信則可以自上而下(在發送端)或者自下而上(在接收端)雙向進行。并不是每一通信都需要經過OSI的全部七層,有的甚至只需要雙方對應的某一層即可。
? ? ? ?物理接口之間的轉接,以及中繼器與中繼器之間的連接就只需在物理層中進行即可;而路由器與路由器之間的連接則只需經過網絡層以下的三層即可。總的來說,雙方的通信是在對等層次上進行的,不能在不對稱層次上進行通信。
OSI/RM分層
對等層通信的實質:
? ? ? ?對等層實體之間虛擬通信;下層向上層提供服務;實際通信在最底層完成;發送方數據由最高層逐漸向下層傳遞,到接收方數據由最低層逐漸向高層傳遞。
協議數據單元PDU
? ? ? ?OSI參考模型中,對等層協議之間交換的信息單元統稱為協議數據單元
而傳輸層及以下各層的PDU另外還有各自特定的名稱:
? ? ? ?傳輸層——數據段(Segment)
? ? ? ?網絡層——分組(數據包)(Packet)
? ? ? ?數據鏈路層——數據幀(Frame)
? ? ? ?物理層——比特(Bit)
<OSI參考模型的層次結構>
第一層:物理層。
? ? ? ?物理層是OSI分層結構體系中最重要、最基礎的一層,它建立在傳輸媒介基礎上,實現設備之間的物理接口。物理層關注在一條通信信道上傳輸原始比特,只需確保當一方發送了比特1時,另一方收到的也是比特1,并不需要考慮信息的意義和信息的結構。
? ? ? ?這里涉及的典型問題包括用什么電子信號來表示1和0、一個比特持續多少納秒、傳輸是否可以在兩個方向上同時進行、初始連接如何建立、當雙方結束之后如何撤銷連接、網絡連接器有多少針以及每一針的用途是什么等。
? ? ? ?在這一層,數據的單位為比特bit;目前屬于物理層定義的典型規范代表有EIA/TIA RS-232,EIA/TIA RS-449,V.35,RJ-45等;
? ? ? ?常見的網絡設備——中繼器、集線器、Modem工作在該層上。第二層:數據鏈路層。
? ? ? ?數據鏈路層在物理層提供比特流服務的基礎上,建立相鄰結點之間的數據鏈路,將一個原始的傳輸設施轉變成一條沒有漏檢傳輸錯誤的線路,使得發送方發送的數據幀在信道上無差錯地傳輸,同時為其上面的網絡層提供有效的服務。
? ? ? ?在這一層,數據的單位稱為幀frame;典型的協議包括SDLC,HDLC,PPP,Stp等;
? ? ? ?常見的網絡設備——二層交換機、網橋工作在該層上。第三層:網絡層。
? ? ? ?網絡層也稱為通信子網層,用于控制通信子網的操作,是通信子網與資源子網的接口。在計算機網絡中進行通信的兩個計算機之間可能會經過很多個數據鏈路,也可能要經過很多通信子網,網絡層的任務就是解封數據鏈路層收到的幀,提取數據包,并選擇合適的網間路由和交換結點,確保數據包即時傳送。其中數據包中封裝有網絡層包頭,含有邏輯地址信息、源站點和目的站點地址的網絡地址。
? ? ? ?在這一層,數據的單位稱為數據包或分組packet;典型的協議包括Ip,IPX,RIP等;
? ? ? ?常見的網絡設備——路由器、具有路由功能的三層交換機工作在該層上。
第四層:傳輸層。
? ? ? ?傳輸層是真正的點到點,即主機到主機的層,它自始至終將數據從源端攜帶到接收方。傳輸層獲得下層(網絡層)提供的服務包括:發送和接受正確的數據塊分組序列,并用其構成傳輸層數據;獲得網絡層地址,包括虛擬信道和邏輯信道。傳輸層向上層(會話層)提供的服務包括:無差錯的有序的報文收發;提供傳輸連接;進行流量控制。
? ? ? ?在這一層,數據的單位稱為數據段segment;典型的協議包括TCP,UDP,Spx等;
? ? ? ?常見的網絡設備——傳輸網關工作在該層上。第五層:會話層。
? ? ? ?管理主機之間的會話進程,即負責建立、管理、終止進程之間的會話,一次連接就稱為一次會話。會話層還利用在數據中插入校驗點來實現數據的同步,以便在系統崩潰之后還能恢復到崩潰之前的狀態繼續運行。
- 第六層:表示層。
? ? ? ?表示層以下的五層關注的是如何傳遞數據位,而表示層關注的是所傳遞信息的語法和語義。不同的計算機可能有不同的內部數據表示法,為了讓這些計算機能夠進行通信,表示層會對上層(應用層)的數據或者信息進行變換,以保證一個主機應用層的信息可以被另一個主機的應用程序所理解。
? ? ? ?表示層的數據轉換包括數據語法轉換、語法表示、表示連接管理、數據的加密/壓縮/格式轉換等。
- 第七層:應用層。
? ? ? ?應用層直接面對用戶的具體應用,它包含用戶應用程序執行通信任務時所需要的協議和功能,應用層為操作系統或者網絡應用程序提供了訪問網絡服務的接口。
? ? ? ?常見的應用層協議的有:超文本傳輸協議(該協議為瀏覽器程序訪問因特網中其它主機中web頁面提供了基本的網絡訪問服務接口。)、FTP,DNS等。
<OSI參考模型中的數據傳輸>
在OSI參考模型中數據是如何在不同主機的不同應用進程中進行數據傳輸的呢?
假定主機1的應用進程AP1向主機2的應用進程AP2傳送數據。
AP1先將其數據交給主機1的最高層(應用層),如使用SMTP協議來處理數據(在該數據前加上SMTP標記,以便對方主機2收到后了解使用什么軟件來處理該數據。);
? ? ? ?應用層處理后交給下面的表示層,表示層會進行必要的格式轉換,使用一種通信雙方都能識別的編碼來處理數據;
? ? ? ?表示層處理完成后將數據交給會話層,會話層會在主機1和主機2之間建立一條只用于傳輸該數據的會話通道,并監視它的連接狀態,直到數據同步完成才會斷開會話;
? ? ? ?會話通道建立后,為保證數據傳輸中的可靠性,主機1的傳輸層會對數據進行必要的處理,如分段、編號、差錯校驗、確認、重傳等;
? ? ? ?網絡層是實際傳輸數據的層次,它將傳輸層中處理完成的數據再次封裝,添加上雙方的地址信息,并為每個數據包找到一條到主機2的最好的路徑,然后按照最佳路徑發送到網絡中;
? ? ? ?數據鏈路層則會對網絡層的數據再次進行封裝,添加上能唯一表示每臺設備的MAC物理地址;
? ? ? ?主機1的物理層則將上層的數據轉換成電流傳輸的物理線路,通過物理線路將數據傳送到主機2后,
? ? ? ?主機2會將電信號轉變成數據鏈路層的數據幀,數據鏈路層再去掉本層的Mac物理地址后將數據遞交給網絡層,網絡層同樣去掉主機1網絡層所添加的內容后交給傳輸層,就這樣層層遞減后最終數據到達了主機2的應用層,應用層接受到數據使用STMP協議封裝,就知道應用電子郵件的軟件來處理了。
? ? ? ?雖然應用進程數據要經過這么復雜的過程才能送到終點,但這些復雜過程對用戶來說,都被屏蔽掉了,以致主機1的應用進程AP1覺得好像直接把數據交給了主機2的應用進程Ap2。
TCP/IP協議
TCP/IP協議
? ? ? ?由網絡層的IP協議和傳輸層的TCP協議組成。TCP/IP 定義了電子設備如何連入因特網,以及數據如何在它們之間傳輸的標準。
<TCP/IP模型的層次結構>
? ? ? ?TCP/IP模型分為四個層次:應用層,傳輸層,網絡互聯層和網絡接口層。
? ? ? ?在TCP/IP模型中,去掉了OSI參考模型中的會話層和表示層(這兩層的功能被合并到應用層實現)。同時將OSI參考模型中的數據鏈路層和物理層合并為網絡接口層。
第一層:網絡接口層
? ? ? ?該層主要功能是負責與物理網絡的連接。實際上TCP/IP模型沒有真正描述這一層的實現,只是要求能夠提供給其上層——網絡互連層一個訪問接口,以便在其上傳遞IP分組。由于這一層次未被定義,所以其具體的實現方法將隨著網絡類型的不同而不同。第二層:網絡互聯層
? ? ? ?網絡互聯層是將整個網絡體系結構貫穿在一起的關鍵層,它的功能是把數據分組發往目標網絡或主機。同時,為了盡快地發送分組,允許分組沿不同的路徑同時進行傳遞。因此,分組到達的順序和發送的順序可能不同,這就需要其上層(傳輸層)對分組進行排序。網絡互聯層定義了標準的數據分組格式和協議,即IP協議(Internet Protocol),與之相伴的還有一個輔助協議ICMP協議。網絡互聯層的任務是將IP分組投遞到它們應該去的地方,很顯然,IP分組的路由是最重要的問題,同時還需要完成擁塞控制的功能。第三層:傳輸層
? ? ? ?傳輸層的功能是使源主機和目標主機上的對等實體可以進行會話。該層上定義了兩種服務質量不同的協議。即:傳輸控制協議TCP(transmission control protocol)和用戶數據報協議UDP(user datagram protocol)
? ? ? ?TCP協議是一個面向連接的、可靠的協議,允許從一臺主機發出的字節流無差錯地發往互聯網上的其他主機。在發送端,它負責把上層(應用層)傳送下來的字節流分割成離散的報文,并把每個報文傳遞給下層(網絡互聯層)。在接收端,它負責把收到的報文進行重組后遞交給上層(應用層)。TCP協議還要處理端到端的流量控制,以便確保一個快速的發送方,不會因為發送太多的報文而淹沒掉一個處理能力跟不上的慢速的接受方。
? ? ? ?UDP協議是一個不可靠的、無連接協議,主要適用于不需要對報文進行排序和流量控制的場合。其被廣泛用于那些一次性的請求-應答應用,以及那些及時交付比精確交付更加重要的應用,如傳輸語音或者視頻。
-
第四層:應用層。
? ? ? ?應用層簡單包含了所需的任何會話和表示功能,它面向不同的網絡應用引入不同的應用層協議。最早的高層協議包括文件傳輸協議FTP(File TransferProtocol)、虛擬終端協議TELNET、簡單郵件傳輸協議SMTP,后來許多其他協議被加入到了應用層,如超文本鏈接協議HTTP(Hyper Text Transfer Protocol),域名系統DNS(Domain Name System),實時傳輸協議RTP(Real-time Transport Protocol)
<TCP/IP模型的特點>
? ? ? ?TCP/IP模型能夠打敗法律意義上的國際標準ISO/Rm參考模型,而成為事實上的國際標準,有它滋身的特點:
? ? ? ?首先它是一個開放的協議標準:可以免費使用,并且獨立于特定的計算機硬件與操作系統。
? ? ? ?其次它獨立于特定的網絡硬件:可以運行在局域網、廣域網,更適用在互聯網中。
? ? ? ?其統一的網絡地址分配方案,使得整個TCP/IP設備在網中都具有唯一的IP地址。
他所提供的標準化的高層協議,提供了多種可靠的用戶服務。
<TCP/IP模型與OSI/Rm模型的比較>
TCP/IP模型與OSI模型有著很多共同點:
? ? ? ?兩者都以協議棧概念為基礎,并且協議棧中的協議彼此相互獨立。兩個模型功能大致相同,都采用了層次結構,存在可比的傳輸層和網絡層,但不是嚴格意義上的一一對應。
兩者的不同點:
? ? ? ?OSI模型的最大貢獻在于明確區分了3個概念:服務、接口和協議;而TCP/IP模型并沒有明確區分服務、接口和協議,因此OSI模型中的協議比TCP/IP模型中的協議有更好的隱蔽性,當技術發生變化時OSI模型中的協議相對更容易被新協議所替換。
? ? ? ?OSI模型在協議發明之前就已經產生了,而TCP/IP模型則正好相反:
? ? ? ?先有協議,TCP/IP模型只是已有協議的一個描述而已,這導致協議和模型結合得非常完美,能夠解決很多實際問題,如異構網的互聯問題。
兩者在無連接和面向連接的通信領域有所不同:
? ? ? ?OSI模型的網絡層同時支持無連接和面向連接的通信,但是傳輸層只支持面向連接的通信;
? ? ? ?TCP/IP模型在網絡層只支持一種模式(無連接),但是在傳輸層同時支持兩種通信模式。
? ? ? ?OSI模型有7層,而TCPIP模型只有4層,兩者在層次劃分與使用協議上有很大差別。
網卡,交換機,路由器——網絡通信連接設備