網絡協議各層概述

網絡協議概述

OSI是一個開放性的通信系統互連參考模型,他是一個定義得非常好的協議規范。OSI模型有7層結構,每層都可以有幾個子層。 OSI的7層從上到下分別是 7 應用層 6 表示層 5 會話層 4 傳輸層 3 網絡層 2 數據鏈路層 1 物理層;

其中高層(即7、6、5、4層)定義了應用程序的功能,下面3層(即3、2、1層)主要面向通過網絡的端到端的數據流。

通常把567歸為一層的協議圖示:

一、物理層(physical layer)?

定義:定義了物理設備標準,如網線的接口類型、光纖的接口類型、各種傳輸介質的傳輸速率等。它的主要作用是傳輸比特流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地后在轉化為1、0,也就是我們常說的數模轉換與模數轉換),這一層的數據叫做比特。物理層常用多個規范完成對所有細節的定義。

二、鏈路層(link layer):本地地址(郵差)? ?

以太網(Ethernet)和WiFi是現在最常見的鏈路層協議。

定義:如何讓格式化數據以進行傳輸,以及如何讓控制對物理介質的訪問,這一層通常還提供錯誤檢測和糾正,以確保數據的可靠傳輸。

在鏈路層,信息以幀(frame)為單位傳輸。在幀中,有收信地址(Source, SRC)和送信地址(Destination, DST),還有能夠探測錯誤的校驗序列(Frame Check Sequence)。當然,幀中最重要的最重要是所要傳輸的數據 (payload)。幀中最重要的最重要是所要傳輸的數據 (payload)。這些數據往往符合更高層協議,供網絡的上層使用。

三、網絡層(network layer)郵編(郵局)? ? ? ?

這層對端到端的包傳輸進行定義,它定義了能夠標識所有結點的邏輯地址,還定義了路由實現的方式和學習的方式。為了適應最大傳輸單元長度小于包長度的傳輸介質,網絡層還定義了如何將一個包分解成更小的包的分段方法。

定義:在位于不同地理位置的網絡中的兩個主機系統之間提供連接和路徑選擇,Internet的發展使得從世界各站點訪問信息的用戶數大大增加,而網絡層正是管理這種連接的層。

讓WiFi上的一臺計算機和以太網上的另一臺計算機通信呢?我們需要一個“中間人“:路由器。路由器有多個網卡(NIC,Network Interface Controller),每個NIC可以接入多個網絡,并理解相應的連接層協議。在幀經過路由到達另一個網絡的時候,路由會讀取幀的信息,并改寫以發送到另一個網絡。所以路由器就像是在兩個社區都有分支的郵局。所以郵局要求,信紙上寫的地址必須是一個符合官方規定的“郵編”,也就是IP地址。每個郵局一般連接多個社區,而一個社區也可以有多個郵局,分別通往不同的社區。有時候一封信要通過多個郵局轉交,才能最終到達目的地,這個過程叫做route。郵局將分離的局域網絡連接成了internet,并最終構成了覆蓋全球的互聯網。

四、傳輸層(transport layer)收信人(管理員)? ??

上面的三層協議讓不同的計算機之間可以通信。但計算機中實際上有許多個進程,每個進程都可能有通信的需求。傳輸層協議,比如TCP和UDP,使用端口號(port number)來識別收信人(某個進程)。在寫信的時候,我們寫上目的地的端口。當信到達目的地的管理員手中,他會根據傳輸層協議,識別端口號,將信送給不同的人。

定義:定義了一些傳輸數據的協議和端口號(WWW端口80等),如:TCP(傳輸控制協議,傳輸效率低,可靠性強,用于傳輸可靠性要求高,數據量大的數據),UDP(用戶數據報協議,與TCP特性恰恰相反,用于傳輸可靠性要求不高,數據量小的數據,如QQ聊天數據就是通過這種方式傳輸的), 主要是將從下層接收的數據進行分段和傳輸,到達目的地址后再進行重組,常常把這一層數據叫做段。

TCP和UDP協議是兩種不同的傳輸層協議。UDP協議類似于我們的信件交流過程。TCP協議則好像兩個情人間的頻繁通信。一個小情人要表達的感情太多,以致于連續寫了好幾封信。而另一方必須將這些信按順序排列起來,才能看明白全部的意思。TCP協議還有控制網絡交通等功能。

五、會話層? ?

它定義了如何開始、控制和結束一個會話,包括對多個雙向消息的控制和管理,以便在只完成連續消息的一部分時可以通知應用,從而使表示層看到的數據是連續的,在某些情況下,如果表示層收到了所有的數據,則用數據代表表示層。

六、表示層? ??

? ? ? ? ?這一層的主要功能是定義數據格式及加密。例如,FTP允許你選擇以二進制或ASCII格式傳輸。如果選擇二進制,那么發送方和接收方不改變文件的內容。如果選擇ASCII格式,發送方將把文本從發送方的字符集轉換成標準的ASCII后發送數據。在接收方將標準的ASCII轉換成接收方計算機的字符集。

七、應用層(application layer)收信人地址(行業用語規范)

定義:是最靠近用戶的OSI層,這一層為用戶的應用程序(例如電子郵件、文件傳輸和終端仿真)提供網絡服務。

通過上面的幾層協議,我們已經可以在任意兩個人(進程)之間進行通信。然而每個人實際上從事的是不同的行業。有的人是律師,有的人外交官。比如說律師之間的通信,會用嚴格的律師術語,以免產生糾紛。再比如外交官之間的通信,必須符合一定的外交格式,以免發生外交誤會。再比如間諜通過暗號來傳遞加密信息。應用層協議是對信件內容進一步的用語規范。應用層的協議包括用于Web瀏覽的HTTP協議,用于傳輸文件的FTP協議,用于Email的IMAP等等。

?

把通信的過程比喻為寄快遞:

發快遞的過程(http,應用層),你向順豐下單(第一次請求),順豐接單(應答),你向手機小伙聯系(回應應答),你將消息放進盒子里(開始封裝請求,會話層),快遞員封裝一層盒子貼上快遞單帶回網店(傳輸層),到快遞點檢查是否區域快件(網絡層),將快件交給運輸車(鏈路層),各個快遞轉運中心(物理層),快件到達收件市轉運中心(物理層),轉運輸車(鏈路層),到達區域分發(網絡層),網點派送(傳輸層),快遞員方面簽收(會話層),拆開檢查(表示層),收到快遞(應用層)。

?

各層協議種類

物理層:
  ?以太網物理層 、調制解調器 、 PLC 、SONET/SDH 、G.709、光導纖維、同軸電纜 、 雙絞線

數據鏈路層:
   Wi-Fi?、以太網、802.11 、802.16、 WiMAX、ATM、DTM 、令牌環、
?FDDI、 幀中繼、GPRS、EVDO、HSPA、HDL

網絡層:

  • ? ? ? ? ?IP(IPv4 · IPv6) Internet Protocol(網絡之間互連的協議)
  • ? ? ? ? ?ARP : Address Resolution Protocol即地址解析協議,實現通過IP地址得知其物理地址
  • ? ? ? ? ?RARP :Reverse Address Resolution Protocol 反向地址轉換協議允許局域網的物理機器從網關服務器的 ARP 表或者緩存上請求其 IP 地址
  • ? ? ? ? ?ICMP :(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間傳遞控制消息
  • ? ? ? ? ?ICMPv6
  • ? ? ? ? ?IGMP :Internet 組管理協議(IGMP)是因特網協議家族中的一個組播協議,用于IP 主機向任一個直接相鄰的路由器報告他們的組成員情況
  • ? ? ? ? ?RIP : 路由信息協議(RIP)是一種在網關與主機之間交換路由選擇信息的標準
  • ? ? ? ? ?OSPF : (Open Shortest Path First開放式最短路徑優先)
  • ? ? ? ? ?BGP :(Border Gateway Protocol )邊界網關協議,用來連接Internet上獨立系統的路由選擇協議
  • ? ? ? ? ?IS-IS:(Intermediate System to Intermediate System Routing Protocol)中間系統到中間系統的路由選擇協議
  • ? ? ? ? ?IPsec:“Internet 協議安全性”是一種開放標準的框架結構,通過使用加密的安全服務以確保在 Internet 協議 (IP) 網絡上進行保密而安全的通訊

傳輸層:

  •  ? ?? TCP(Transmission Control Protocol)傳輸控制協議
  •   ? ?UDP (User Datagram Protocol)用戶數據報協議
  •   ? ?DCCP (Datagram Congestion Control Protocol)數據報擁塞控制協議
  •   ? ?SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)流控制傳輸協議
  •   ? ?RTP(Real-time Transport Protocol或簡寫RTP)實時傳送協議
  •   ? ?RSVP (Resource ReSer Vation Protocol)資源預留協議
  •   ? ?PPTP ( Point to Point Tunneling Protocol)點對點隧道協議

應用層:

  •   ?DHCP(動態主機分配協議)
  •   ? DNS (域名解析)
  •   ? FTP(File Transfer Protocol)文件傳輸協議
  •   ? Gopher (英文原義:The Internet Gopher Protocol 中文釋義:(RFC-1436)網際Gopher協議)
  •   ? HTTP (Hypertext Transfer Protocol)超文本傳輸協議
  •   ? IMAP4 (Internet Message Access Protocol 4) 即 Internet信息訪問協議的第4版本
  •   ? IRC (Internet Relay Chat )網絡聊天協議
  •   ? NNTP (Network News Transport Protocol)RFC-977)網絡新聞傳輸協議
  •   ? XMPP 可擴展消息處理現場協議
  •   ? POP3 (Post Office Protocol 3)即郵局協議的第3個版本
  •   ? SIP 信令控制協議
  •   ? SMTP (Simple Mail Transfer Protocol)即簡單郵件傳輸協議
  •   ? SNMP (Simple Network Management Protocol,簡單網絡管理協議)
  •   ? SSH (Secure Shell)安全外殼協議
  •   ? TELNET 遠程登錄協議
  •   ? RPC (Remote Procedure Call Protocol)(RFC-1831)遠程過程調用協議
  •   ? RTCP (RTP Control Protocol)RTP 控制協議
  •   ? RTSP (Real Time Streaming Protocol)實時流傳輸協議
  •   ? TLS (Transport Layer Security Protocol)安全傳輸層協議
  •   ? SDP( Session Description Protocol)會話描述協議
  •   ? SOAP (Simple Object Access Protocol)簡單對象訪問協議
  •   ? GTP 通用數據傳輸平臺
  •   ? STUN (Simple Traversal of UDP over NATs,NAT 的UDP簡單穿越)是一種網絡協議
  •   ? NTP (Network Time Protocol)網絡校時協議

轉載于:https://www.cnblogs.com/kumata/p/8969390.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250383.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250383.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250383.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

A start job is running for Raise network interface(5min 13s )問題解決方法

命令:sudo vim /etc/systemd/system/network-online.target.wants/networking.service將里面的TimeoutStartSec5min 修改為TimeoutStartSec2sec 然后重啟系統,就可以生效了,開機速度很快 轉載于:https://www.cnblogs.com/sea-stream/p/98615…

javascript --- 實現對象的深拷貝

淺拷貝和深拷貝 淺拷貝: 只拷貝一層.當對象是復雜數據類型(Object、 Array)時,只拷貝引用深拷貝: 多層拷貝.復雜數據類型,會重新分配內存空間. 實現淺拷貝的2種方法 使用for ... in 實現 var obj {name: marron,age: 18,msg: {sex: "1" } } var o {}; for(let …

Qt與FFmpeg聯合開發指南(二)——解碼(2):封裝和界面設計

與解碼相關的主要代碼在上一篇博客中已經做了介紹,本篇我們會先討論一下如何控制解碼速度再提供一個我個人的封裝思路。最后回歸到界面設計環節重點看一下如何保證播放器界面在縮放和拖動的過程中保證視頻畫面的寬高比例。 一、解碼速度 播放器播放媒體文件的時候播…

Bzoj1051 受歡迎的牛

每一頭牛的愿望就是變成一頭最受歡迎的牛。現在有 N 頭牛,給你 M 對整數 (A,B),表示牛 A 認為牛 B 受歡迎。這種關系是具有傳遞性的,如果 A 認為 B 受歡迎,B 認為 C 受歡迎,那么牛 A 也認為牛 C 受歡迎。你的任務是求出…

node --- 模塊加載機制

1. Node.js中模塊加載機制 1.1 模塊查找規則-當模塊擁有路徑但沒有后綴時 require(./find.js); require(./find);require方法根據模塊路徑查找模塊,如果是完整路徑,直接進入模塊如果模塊后綴省略,先找同名JS文件再找同名JS文件夾 require(./find); // 以上會先找到命令行目錄…

51Nod 蜥蜴和地下室(搜索)

哈利喜歡玩角色扮演的電腦游戲《蜥蜴和地下室》。此時,他正在扮演一個魔術師。在最后一關,他必須和一排的弓箭手戰斗。他唯一能消滅他們的辦法是一個火球咒語。如果哈利用他的火球咒語攻擊第i個弓箭手(他們從左到右標記)&#xff…

多線程——實現Runnable接口實現一個多線程

實現Runnable接口實現一個多線程 Runnable接口源碼: package java.lang; //Runnable接口源碼只有一個run方法 public interface Runnable {public abstract void run(); } 實現Runnable的兩個多線程類: public class RunnableThread1 implements Runnabl…

javascript --- 文件上傳即時預覽 閉包實現多圖片即時預覽

使用javascript原生功能實現,點擊上傳文件,然后再網頁上顯示出來 1. 初級顯示 1.1 準備一個input標簽和一個img標簽 <input typefile id"file"> <img id"preview" src"">1.2 js代碼如下 // 將上傳的圖片顯示到頁面上function sho…

第一次作業:深入Linux源碼分析進程模型

一.進程的概念 第一&#xff0c;進程是一個實體。每一個進程都有它自己的地址空間&#xff0c;一般情況下&#xff0c;包括文本區域&#xff08;text region&#xff09;、數據區域&#xff08;data region&#xff09;和堆棧&#xff08;stack region&#xff09;。文本區域存…

關于模型驗證那點事兒

今天應笑笑老師之問&#xff0c;做了一個模型驗證的例子&#xff0c;發現之前對這個東西的理解太片面&#xff0c;重新整理了一下思路 字段驗證優先級高于類驗證 什么是類驗證呢&#xff1f;就是兩個字段組合的驗證&#xff0c;比如你Admin不允許修改密碼&#xff0c;你修改密碼…

mongoose --- createUser

說明 源代碼記錄、遺忘回顧mongoDB默認不需要使用賬號密碼即可訪問數據庫.下面是給mongoDB添加超級管理員和普通用戶的方法 以系統管理員的方式運行powershell連接數據庫 mongo查看數據庫: show dbs切換到admin數據庫: use admin創建超級管理員賬戶: db.createUser({user: roo…

Win10安裝MySQL5.7.22 解壓縮版(手動配置)方法

1.下載地址&#xff1a;https://dev.mysql.com/downloads/mysql/5.7.html#downloads 直接點擊下載項 下載后&#xff1a; 2.可以把解壓的內容隨便放到一個目錄&#xff0c;我的是如下目錄&#xff08;放到C盤的話&#xff0c;可能在修改ini文件時涉及權限問題&#xff0c;之后我…

Elemant-UI日期范圍的表單驗證

Form 組件提供了表單驗證的功能&#xff0c;只需要通過 rules 屬性傳入約定的驗證規則&#xff0c;并將 Form-Item 的 prop 屬性設置為需校驗的字段名即可。但是官網的示例只有普通日期類型的驗證&#xff0c;沒有時間范圍的驗證。 一開始&#xff0c;我認為時間時間范圍的是一…

node --- [express項目] 開發環境下使用morgan控制臺輸出訪問信息

說明 源代碼記錄、遺忘回顧 process.env node中提供了一個process.env接口用于訪問計算機中的系統環境變量. 可以利用以上屬性來區分當前的環境是開發環境還是生產環境,代碼如下: if (process.env.NODE_ENV development) {console.log(當前環境是開發環境) } else {consol…

Dynamics CRM 訪問團隊的使用

訪問團隊和負責人團隊的區別是&#xff1a;負責人團隊可以擁有記錄&#xff0c;訪問團隊不能擁有記錄也不能加入解決方案中。 訪問團隊用法1&#xff1a;可以將不同組織的人員加入到訪問組實現數據的更新、刪除、共享 訪問團隊用法2&#xff1a;訪問團隊模板的使用 步驟一&…

業務邏輯

快捷支付接口規范 問題背景 持卡人身份驗證持卡人在發卡銀行提供的身份驗證服務器進行驗證&#xff0c;將結果告知商戶資金清算資金清算在身份驗證通過后進行即時清算&#xff0c;也可能是通過專用資金清算網絡進行傳統方法弊端 持卡人需要訪問很多網站才能完成一次完整支付 &a…

node --- [express] cookie/session 機制與 中間件的使用(路由守衛)

說明 源代碼記憶、遺忘回顧使用 cookie/session 機制,讓 客戶端/服務器 的訪問變得有狀態 cookie 與 session 由于 HTTP 協議的無狀態性,當一次連接斷開后. 服務器并不會記錄用戶是否登錄. 因此需要引入 cookie/session 機制 cookie cookie: 瀏覽器在電腦硬盤中開辟的一塊空…

kprobe原理解析

參考 http://www.cnblogs.com/honpey/p/4575928.html kprobe是linux內核的一個重要特性&#xff0c;是一個輕量級的內核調試工具&#xff0c;同時它又是其他一些更高級的內核調試工具&#xff08;比如perf和systemtap&#xff09;的“基礎設施”&#xff0c;4.0版本的內核中&a…

02 數據類型

轉載于:https://www.cnblogs.com/theoup/p/9875293.html

css --- [學習筆記]背景圖片小結 css三大特性

源代碼 參考 1. 行高(line-height) 目標 理解 - 能說出行高和高度三種關系 - 能簡單理解為什么行高等于單行文字會垂直居應用 使用行高實現單行文字垂直居中能會測量行高 2. CSS 背景(background) 目標 理解 - 背景的作用css 背景圖片和插入圖片的區別 應用 通過 css 背景…