計算機網路,是計算機的基礎課程,也是對網際網路應用開發人員,必須要了解或者深入理解的一門網路課程,也是必要的基礎。一般,在面試中,都被涉及或者解剖的問題。
OSI 模型各層間關係和通訊時的資料流向如圖所示:
圖1
只看以上圖,對剛接觸網路協議層或者理解不深刻的童鞋來說,這7層,還是比較抽象。
首先再看下以下一張圖,看下這七層協每層對應了哪些儀器或者協議
圖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)等;
規定資料的傳輸協議;複製程式碼
按照上面的剖析,各層的關聯理解如下:
物理層的主要功能就是利用物理傳輸介質,為資料鏈路層提供物理連結,以便透明地傳輸位元流。
資料鏈路層的主要任務是加強物理層對位元流的原始傳輸,為網路層提供一條無措的線路。
網路層主要就是為原始資料,提供原始埠到目標埠的路由選擇,使資料能夠正常無損的傳輸。
傳輸層的主要任務就是從會話層接收資料,針對資料量的大小,把資料適當的分成較小的單元,然後保證各段資料完好無損的傳輸。
會話層允許不同機器上的使用者建立會話服務。
表示層主要關心的是如何傳輸資訊的語法和語義,為了讓不同方法的計算機之間可以正常通訊。
應用層的主要任務就是接收資料,把資料傳輸給底層處理,然後把資料展示顯示給終端使用者。