網路的四層五層七層網路

little小新發表於2024-07-12
Markdown Example

聊聊網路協議

參考:https://zhuanlan.zhihu.com/p/665914921
參考:https://blog.csdn.net/weixin_43988680/article/details/123754721

網路的七層協議概念

1、物理層:這一層的資料叫做位元-將資料傳遞給訪問物件
解決兩個硬體之間怎麼通訊的問題,常見的物理媒介有光纖、電纜、中繼器等。
它主要定義物理裝置標準,如網線的介面型別、光纖的介面型別、各種傳輸介質的傳輸速率等。
它的主要作用是傳輸位元流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地後在轉化為1、0,也就是我們常說的數模轉換與模數轉換)。
。

2、資料鏈路層:(訪問)這一層的資料叫做幀-新增通訊物件(google)的mac地址
在計算機網路中由於各種干擾的存在,物理鏈路是不可靠的。
該層的主要功能就是:透過各種控制協議,將有差錯的物理通道變為無差錯的、能可靠傳輸資料幀的資料鏈路。
它的具體工作是接收來自物理層的位流形式的資料,並封裝成幀,傳送到上一層;
同樣,也將來自上層的資料幀,拆裝為位流形式的資料轉發到物理層。
。

3、網路層:(訪問)IP協議-新增訪問伺服器的IP地址(google)
計算機網路中如果有多臺計算機,怎麼找到要發的那臺?如果中間有多個節點,怎麼選擇路徑?這就是路由要做的事。
該層的主要任務就是:透過路由選擇演算法,為報文(該層的資料單位,由上一層資料打包而來)透過通訊子網選擇最適當的路徑。
這一層定義的是IP地址,透過IP地址定址,所以產生了IP協議。

4、傳輸層:(訪問)確定訪問物件(如google)所使用的傳輸協議(tcp、udp等協議)、通訊埠
當傳送大量資料時,很可能會出現丟包的情況,另一臺電腦要告訴是否完整接收到全部的包。如果缺了,就告訴丟了哪些包,然後再發一次,直至全部接收為止。
簡單來說,傳輸層的主要功能就是:監控資料傳輸服務的質量,保證報文的正確傳輸。

5、會話層:建立維護與應用程式之間的當前會話(socket)
雖然已經可以實現給正確的計算機,傳送正確的封裝過後的資訊了。
但我們總不可能每次都要呼叫傳輸層協議去打包,然後再呼叫IP協議去找路由,所以我們要建立一個自動收發包,自動定址的功能。
於是會話層出現了:它的作用就是建立和管理應用程式之間的通訊。

6、表示層:(訪問請求)將訪問的資料傳輸轉換加密(SSL/TLS)-將應用層的資料接收翻譯成機器語言-傳送到會話層
表示層負責資料格式的轉換,將應用處理的資訊轉換為適合網路傳輸的格式,或者將來自下一層的資料轉換為上層能處理的格式。

7、應用層:(返回)將資料展示給使用者-(訪問)使用者訪問的資料-透過http協議傳送到表示層
-- (http、https-http+ssl、ftp-檔案傳輸協議、POP3-郵局協議、SMTP-郵箱、telnet-遠端終端協議)
應用層是計算機使用者,以及各種應用程式和網路之間的介面,其功能是直接向使用者提供服務,完成使用者希望在網路上完成的各種工作。
前端同學對應用層肯定是最熟悉的。

模型參考圖
圖一
圖二

四層協議

應用層(http+ssl/tls+socket)
傳輸層(tcp/udp)
網路層(ip)
網路介面層(mac地址)
參考圖

資料通訊流程

發包流程

應用層資料:首先,應用程式生成需要傳送的資料。這可以是HTTP請求、電子郵件、檔案傳輸等。
套接字傳送:應用程式使用套接字介面將資料傳送到傳輸層協議,例如TCP或UDP。套接字負責將資料封裝為資料包,並提供介面供應用程式傳送。
傳輸層處理:傳輸層協議(例如TCP或UDP)在這裡負責將應用層資料分割成適當的資料包,新增首部資訊,然後將它們傳遞給網路層。
網路層處理:網路層協議(通常是IP協議)接受傳輸層的資料包,並根據目標IP地址進行路由選擇。它新增IP首部資訊,然後將資料包傳遞給鏈路層。
鏈路層處理:鏈路層負責將資料包封裝為幀,併傳送到物理網路介質,如乙太網、Wi-Fi等。這一層還可以進行MAC地址解析和ARP操作,以確定目標主機的實體地址。
物理層傳輸:資料包透過物理層傳送到網路中,經過各種中間裝置,例如交換機、路由器等,最終到達目標主機。

收包流程

物理層接收:在目標主機上,物理層接收到資料包,然後將其傳遞到鏈路層。
鏈路層處理:鏈路層接收到資料包後,進行物理層解封裝,然後將資料包傳遞給網路層。
網路層處理:網路層接收到資料包後,解析IP首部,檢查目標IP地址,然後將資料包傳遞給傳輸層。
傳輸層處理:傳輸層接收到資料包,解析傳輸層首部,將資料包分發給相應的套接字,完成資料包的重新組裝。
套接字接收:應用程式透過套接字介面接收資料包,並將其傳遞給應用層進行處理。
應用層處理:應用層接收到資料包後,進行資料解析和處理,以完成通訊過程。

資料的封裝

當應用程式用TCP傳送資料時,資料被送入協議棧中,然後逐個透過每一層直到被當作一串位元流送入網路。
其中每一層對收到的資料都要增加一些首部資訊(有時還要增加尾部資訊),該過程如圖所示:

資料的傳輸

相關文章