搜尋
首頁常見問題tcp/ip參考模型分為哪幾層?

tcp/ip參考模型分為4層,分別為:1、資料鏈結層,實現網卡介面的網路驅動程序,以處理資料在實體媒介上的傳輸;2、網路層,實現資料包的選路與轉送;3、傳輸層,為兩台主機上的應用程式提供端對端的通訊;4、應用層,負責處理應用程式的邏輯。

tcp/ip參考模型分為哪幾層?

TCP/IP協定族是四層協定係統,自底而上分別是資料鏈結層、網路層、傳輸層、應用層。每一層完成不同
的功能,且透過若干協定來實現,上層協定使用下層協定提供的服務。
tcp/ip參考模型分為哪幾層?

資料鏈結層(網路介面層)

#資料鏈結層實作了網路卡接口的網路驅動程序,以處理資料在實體媒介(如乙太網路、令牌環等)上的傳輸。

資料鏈結層兩個常用的協定是ARP協定(Address Resolve Protocol,位址解析協定)和RARP協定(ReverseAddress Resolve Protocol,逆位址解析協定)。它們實現了IP位址和機器實體位址(通常是MAC位址,乙太網路、令牌環和802.11無線網路都使用MAC位址)之間的相互轉換。

網路層使用IP位址尋址一台機器,而資料鏈結層使用實體位址尋址一台機器,因此網路層必須先將目標機器的IP位址轉換成其實體位址,才能使用資料鏈結層提供的服務,這就是ARP協定的用途。

RARP協定僅用於網路上的某些無磁碟工作站。因為缺乏儲存設備,無磁碟工作站無法記住自己的IP位址,但它們可以利用網路卡上的實體位址來向網
絡管理者(伺服器或網路管理軟體)查詢自身的IP位址。運行RARP服務的網路管理者通常存有該網路上所有機器的實體位址到IP位址的對應。

網路層

網路層實作封包的選路與轉送。
WAN(Wide Area Network,廣域網路)通常使用眾多分級的路由器來連接分散的主機或LAN(Local Area Network,區域網路),因此,通訊的兩台主機一般不是直接相連的,而是透過多個中間節點(路由器)連接的。網路層的任務就是選擇這些中間節點,以決定兩台主機之間的通訊路徑。同時,網路層對上層協定隱藏了網路拓撲連接的細節,使得在傳輸層和網路應用程式看來,通訊的雙方是直接相連的。

網路層最核心的協定是IP協定(Internet Protocol,因特網協定)。 IP協定根據封包的目的IP位址來決定如何投遞它。如果封包無法直接傳送給目標主機,那麼IP協定就為它尋找一個合適的下一跳(next hop)路由器,並將封包交付給該路由器來轉送。多次重複此過程,資料包最終到達目標主機,或因發送失敗而被丟棄。可見,IP協定使用逐跳(hop by hop)的方式來決定通訊路徑。

網路層另一個重要的協定是ICMP協定(Internet Control Message Protocol,因特網控制封包協定)。它是IP協定的重要補充,主要用於偵測網路連線。
tcp/ip參考模型分為哪幾層?

8位元類型欄位用於區分封包類型。它將ICMP封包分為兩大類
錯誤封包,這類封包主要用來回應網路錯誤,例如目標無法到達(類型值為3)和重定向(類型值為5);
查詢封包,這類封包用來查詢網路信息,例如ping程式就是使用ICMP封包查看目標是否可到達(類型值為8)的。
有的ICMP封包也使用8位元代碼欄位來進一步細分不同的條件。例如重定向封包使用代碼值0表示對網路重定向,代碼值1表示對主機重定向。
ICMP封包使用16位元校驗和欄位對整個封包(包括頭部和內容​​部分)進行循環冗餘校驗(Cyclic Redundancy Check,CRC),以檢驗封包在傳輸過程中是否損壞。不同的ICMP封包類型有不同的正文內容。

傳輸層

傳輸層為兩台主機上的應用程式提供端到端(end to end)的通信。與網路層所使用的逐跳通訊方式不同,傳輸層只關心通訊的起始端和目的端,而不在乎封包的中轉過程。

tcp/ip參考模型分為哪幾層?

#

垂直的實線箭頭表示TCP/IP協定族各層之間的實體通訊(資料包確實是沿著這些線路傳遞的),而水平的虛線箭頭表示邏輯通訊線路。此圖中也附帶描述了不同實體網路的連接方法。可見,
資料鏈結層(驅動程式)封裝了實體網路的電氣細節;網路層封裝了網路連接的細節;傳輸層則為應用程式封裝了一條端到端的邏輯通訊鏈路,它負責資料的收發、連結的超時重連等。

傳輸層協定:TCP協定、UDP協定。

  • TCP協定(Transmission Control Protocol,傳輸控制協定)為應用層提供可靠的、連接導向的和基於流(stream)的服務。 TCP協定使用逾時重傳、資料確認等方式來確保資料包正確地傳送至目的端,因此TCP服務是可靠的。使用TCP協定通訊的雙方必須先建立TCP連接,並在核心中為此連接維持一些必要的資料結構,例如連接的狀態、讀寫緩衝區,以及諸多定時器等。當通訊結束時,雙方必須關閉連線以釋放這些核心資料。 TCP服務是基於流的。基於流的資料沒有邊界(長度)限制,它源源不斷地從通訊的一端流入另一端。發送端可以逐個位元組地向資料流中寫入數據,接收端也可以逐個位元組地將它們讀出。

  • UDP協定(User Datagram Protocol,使用者資料報協定)則與TCP協定完全相反,它為應用層提供不可靠、無連線和基於資料報的服務。 「不可靠」表示UDP協定無法保證資料從傳送端正確傳送到目的端。如果資料在中途遺失,或者目的端透過資料校驗發現資料錯誤而將其丟棄,則UDP協定只是單地通知應用程式發送失敗。因此,使用UDP協定的應用程式通常要自行處理資料確認、逾時重傳等邏輯。 UDP協定是無連線的,即通訊雙方不保持一個長久的聯繫,因此應用程式每次發送資料都要明確指定接收端的位址(IP位址等資訊)。基於數據報的服務,是相對基於流的服務而言的。每個UDP資料封包都有一個長度,接收端必須以該長度為最小單位將其所有內容一次讀出,否則資料將被截斷。

應用層

#應用程式層負責處理應用程式的邏輯。
資料鏈結層、網路層和傳輸層負責處理網路通訊細節,這部分必須既穩定又高效,因此它們都在核心空間中實現。而應用層則在用戶空間實現,因為它負責處理眾多邏輯,例如檔案傳輸、名稱查詢和網路管理等。如果應用層也在核心中實現,則會使核心變得非常龐大。當然,也有少數伺服器程式是在核心中實現的,這樣程式碼就無須在用戶空間和核心空間來回切換(主要是資料的複製),大大提高了工作效率。不過這種程式碼實現起來較複雜,不夠靈活,且不便於移植。

ping是應用程序,而不是協議,前面說過它利用ICMP報文檢測網路連接,是調試網路環境的必備工具。

telnet協議是一種遠端登入協議,它使我們可以在本地完成遠端任務。

OSPF(Open Shortest Path First,開放最短路徑優先)協議是一種動態路由更新協議,用於路由器之間的通信,以告知對方各自的路由資訊。

DNS(Domain Name Service,網域名稱服務)協定提供機器網域到IP位址的轉換。

應用層協定(或程式)可能會跳過傳輸層直接使用網路層提供的服務,例如ping程式和OSPF協定。應用層協定(或程式)通常既可以使用TCP服務,又可以使用UDP服務,例如DNS協定。我們可以透過/etc/services檔案查看所有知名的應用層協議,以及它們都能使用哪些傳輸層服務。

五層協定背後的想法:上層屏蔽下層細節,只使用其提供的服務。 高內聚低耦合,每一層專注於其功能,各層之間的關係依賴不大。

封包在每層有不同的格式,從上到下依序叫段,資料報,幀,資料從應用層透過協定堆疊向下傳遞,每經過一層加上對應層協定的報頭,最後封裝成訊框發送到傳輸媒體上,到達路由器或目的主機剝掉頭部,交付給上層需要者。 這個過程稱為封裝,傳輸,分離,分用。

以上是tcp/ip參考模型分為哪幾層?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。