網絡中的網絡模型拆分詳解,困擾已久終于明白了,一分鐘看下
七層模型分解
從應用層上層往下進行了解:
1. Application layer【應用層】
Application layer 作為實際應用程序和presentation layer 的接口通過某種方式把應用程序的有關信息送達到協議棧的下面各層,它只是應用程序的一個接口,需要處理遠程資源時才會起作用,應用層還負責識別并建立想要通信的計算機一方的可用性。
2. Presentation layer【表示層】
表示層因為它的用途而得名,它為應用層提供數據,并負責數據轉換和代碼的格式化。主要提供數據壓縮加密轉換服務,例如tiff jpeg midi rtf 等…
3. Session layer【會話層】
負責建立,管理和終止表示層實體之間的session 連接,他在系統之間協調通信過程,并提供3 種不同的方式來組織他們之間的通信 全雙工,半雙工,單工(full duplex ,half duplex simplex)通信,總之,會話層基本上用來使不同應用程序的數據與其它應用程序的數據保持隔離.
一些Session layer 協議和接口的例子:
- Network File System(NFS)
- Structured Query Language(SQL)
- Remote Procedure Call(RPC)
- X Window
- AppleTalk Session Protocol
- Digital Network Architecture Session Control Protocol(DNA SCP)
4. Transport layer【傳輸層】
將數據分段并重組為數據流(data stream)。TCP UDP 都工作在傳輸層,當采用TCP/IP 協議時,程序開發者可以在這2 者之間做出選擇。傳輸層負責為實現上層應用程序的多路復用,建立會話連接和斷開虛電路提供機制.通過提供透明的數據傳輸,他也對高層隱藏了任何與網絡有關的細節信息。
(1) 流量控制:(flow control)
在傳輸層通過進行流量控制,以及通過在系統之間允許用戶請求可靠的數據傳輸, 就可以保證數據的完整性。流量控制可以防止在連接的一側的發送主機使接受主機的緩沖區產生溢出。緩沖區溢出將導致數據的不完整.如果數據發送方傳輸數據過快,接受方將數據報(datagrams)暫時存儲在緩沖區(buffer)可靠的數據傳輸采用了面向連接
(connection-oriented)通信方式,保證:
- 接受方接受到被傳輸的段(segment)以后將發回確認(acknowledge)給發送方
- 任何沒有經過確認的段將被重新傳輸
- 段在達到接受方之前應按照適當的順序
- 可以進行管理的流控制技術用于避免擁塞,超載(overloading)和數據的丟失
面向連接的通信:( connection-oriented communication)
在可靠的傳輸層操作中,一個想要傳送的設備同過創建會話與遠程設備建立連接,通常稱為3 次握手協議。
(2) 握手協議:(three-way handshake);
- 第一個”同意連接”數據段用來請求同步,
- 第二個,第三個數據段用來確認請求,并在主機之間建立連接參數。 這里,接受方的排序也要求進行同步,以便建立雙向連接.
- 最后一個數據段也用來確認。她通知目的主機已同意建立連接,并且已經建立了實際的連接??梢蚤_始
數據傳輸了.傳輸數據量過大時,會出現一些問題,某一臺機器收到大量的數據包,數度太快,造成緩沖區溢出,最后不得不丟棄.隨后到來的所有數據包。但不用擔心,網絡中有流量控制系統,出現這種情況,接收方會發出一個not ready 的信號, 待處理完畢后,又發出 ready,go on 的信號,繼續傳輸。 流量控制類型: 窗口機制, 緩沖和擁塞避免。
a. 窗口機制( windowing)
發送方在沒有收到確認是,別允許發送的數據段的數量,稱為窗口。
窗口的尺寸大小控制了有多少信息從一端傳向另一端,雖然有些協議以數據包的數量來量化信息,但tcp/ip通過計算字節數來量化信息。
b. 確認
為了保證數據傳送的不重復性和不被丟失,可以同過“帶重傳的肯定確認”來實現,方法是要求接收方在收到數據是,發給發送方一個確認信息,來與發送方機器保持通信。 當發送一個數據包時,發送方及其啟動一個計時器,在規定時間內,未收到對方確認是, 顯示request time out, 重新發送一次。
5. Network layer【網絡層】
負責設備的尋址,跟蹤網絡中設備的位置,并決定傳送數據的最佳路徑。 路由器和3 層交換機工作在這個層上。
路由工作原理:
首先,接受到一個包,然后檢查其目的ip,查詢路由表,選擇最佳路徑,選擇一個interface,包就被送到那個端口,并被封裝成幀,送出本地網絡,如果在路由表里找不到相應的目的網絡的表項,則自動丟棄該包。網絡層有2 種類型的包(packets):數據包(data)和路由更新(router update)包,前者,很顯然,用來傳送用戶數據。后者,用來向相鄰路由器通知連接到網絡的所有路由器的更新信息。這種協議為主動路由協議,如RIP EiGRPOSPF.
路由表:
- CCIE Routing and Switching note by Ka\(^oo^)/Ka
- Part 1. - 4 -
包含如下信息:
- Network Address:他們與特定的協議有關的網絡地址。
- Interface : 當數據包被發送到特定的網絡時,數據包將選擇一個外出接口
- Metric : 指到遠程網絡的距離。不同的協議度量方式不同。
路由器特點:
- 屏蔽廣播包和組播包(multicast)
- 使用logic address, 它存在于網絡層的報頭中,用來決定下一跳(hop)的路由地址
- 可管理,創建訪問列表
- 可提供第2 層的橋接功能,并通過同一個接口傳送。
- 可提供vlan 間的連接
- 提供quality of service(Qos)
6. Data link layer【數據鏈路層】
the Data Link layer 負責數據的物理傳輸,錯誤檢測,網絡拓撲和流控制.這個意味著在數據LAN 上將根據硬件地址來進行投遞,還要把Network layer 的包翻譯成比特用于在Physicallayer 上傳輸。
IEEE 以太網(Ehernet)的Data Link layer 有2 個子層:
- Media Access Control(MAC)802.3:這層定義了物理地址和拓撲結構,錯誤檢測,流控制等.共享帶寬,先到先服務原則(first come/first served)
- Logical Link Control(LLC)802.2:負責識別Network layer 協議然后封裝(encapsulate)數據.LLC 頭部信息告訴Data Link layer 如何處理接收到的幀,LLC 也提供流控制和控制比特的編號
- Switches and Bridges at the Data Link Layer
第二層的設備switches 被認為是基于硬件的bridges, 因為采用的是1 種叫做application-specific integrated circuit(ASIC)的特殊硬件.ASICs 可以在很低的延時(latency)里達到gigabit 的速度;而bridges 是基于軟件性質的。
延時:1 個幀從進去的端口到達出去的端口所耗費的時間
透明橋接(transparent bridging):如果目標設備和幀是在同1個網段,那么2層 設備將堵塞端口防止該幀被傳送到其他網段;如果是和目標設備處于不同網段,則該幀將只會被傳送到那個目標設備所在的網段每個和switches 相連的網段必須是相同類型的設備,比如你不能把令牌環(Token Ring)上的主機和以太網上的主機用switches 混合相連,這種方式叫做media translation,不過你可以用routers 來連接這樣不同類型的網絡.在LAN 內使用switches 比使用hubs 的好處:
- 插入switches 的設備可以同時傳輸數據,而hubs 不可以
- 在switches 中,每個端口處于1 個單獨的沖突域里,而hubs 的所有端口處于1 個大的沖突域里,可想而知,前者在LAN 內可以有效的增加帶寬.但是這2 種設備的所有端口仍然處于1 個大的廣播域里
7. Physical layer【物理層】
the Physical layer 負責發送和接受比特,比特由1 或者0 組成.這層也用于識別數據終端裝備(data terminal equipment,DTE)和數據通信裝備(data communication equipment,DCE)的接口,DCE 一般位于服務商(sevice provider)而DTE 一般是附屬設備.可用的DTE 服務通常是經由modem 或者channel service unit/data sevice unit(CSU/DSU)來訪問hubs:其實是多端口的repeaters,重新放大信號用,解決線路過長,信號衰減等問題。
1 個物理星形(star)拓撲結構,實際在邏輯上是邏輯總線(bus)拓撲結構: