OSI 七層網路協議的定義與理解

地中有山發表於2018-03-26

計算機網路,是計算機的基礎課程,也是對網際網路應用開發人員,必須要了解或者深入理解的一門網路課程,也是必要的基礎。一般,在面試中,都被涉及或者解剖的問題。

OSI 模型各層間關係和通訊時的資料流向如圖所示:

OSI 七層網路協議的定義與理解

                                                  圖1

只看以上圖,對剛接觸網路協議層或者理解不深刻的童鞋來說,這7層,還是比較抽象。

首先再看下以下一張圖,看下這七層協每層對應了哪些儀器或者協議

OSI 七層網路協議的定義與理解

                                                               圖2

七層模型介紹 

物理層: (線路、無線電、光纖、訊號)

物理層負責最後將資訊編碼成電流脈衝或其它訊號用於網上傳輸;

eg:RJ45等將資料轉化成0和1; 複製程式碼

資料鏈路層: (乙太網、令牌環、幀中繼、HDLC等)

資料鏈路層通過物理網路鏈路?供資料傳輸。不同的資料鏈路層定義了不同的網路和協 議特徵,其中包括物理編址、網路拓撲結構、錯誤校驗、資料幀序列以及流控; 

可以簡單的理解為:規定了0和1的分包形式,確定了網路資料包的形式;複製程式碼

網路層:(IP、ICMP、IPX等)

網路層負責在源和終點之間建立連線;

可以理解為,此處需要確定計算機的位置,怎麼確定?IPv4,IPv6!複製程式碼

傳輸層:(TCP、UDP、SCTP等)

傳輸層向高層?提供可靠的端到端的網路資料流服務。 

可以理解為:每一個應用程式都會在網路卡註冊一個埠號,該層就是埠與埠的通訊!常用的(TCP/IP)協議;複製程式碼

會話層:(ASAP、TLS、SSH、BSD sockets等)

會話層建立、管理和終止表示層與實體之間的通訊會話; 

建立一個連線(自動的手機資訊、自動的網路定址);複製程式碼

表示層: (XDR、SMB等)

為不同終端的上層使用者提供資料和資訊正確的語法表示變換方法。如文字檔案的ASCII格式和EBCDIC,用於表示數字的1S或2S補碼錶示形式

可以理解為:解決不同系統之間的通訊,eg:Linux下的QQ和Windows下的QQ可以通訊;複製程式碼

應用層: (HTTP、SMTP、FTP等)

OSI 的應用層協議包括檔案的傳輸、訪問及管理協議(FTAM) ,以及檔案虛擬終端協議(VIP)和公用管理系統資訊(CMIP)等; 

規定資料的傳輸協議;複製程式碼

按照上面的剖析,各層的關聯理解如下:

物理層的主要功能就是利用物理傳輸介質,為資料鏈路層提供物理連結,以便透明地傳輸位元流。 

資料鏈路層的主要任務是加強物理層對位元流的原始傳輸,為網路層提供一條無措的線路。 

網路層主要就是為原始資料,提供原始埠到目標埠的路由選擇,使資料能夠正常無損的傳輸。 

傳輸層的主要任務就是從會話層接收資料,針對資料量的大小,把資料適當的分成較小的單元,然後保證各段資料完好無損的傳輸。 

會話層允許不同機器上的使用者建立會話服務。 

表示層主要關心的是如何傳輸資訊的語法和語義,為了讓不同方法的計算機之間可以正常通訊。 

應用層的主要任務就是接收資料,把資料傳輸給底層處理,然後把資料展示顯示給終端使用者。


相關文章