網路層設計問題有哪些?
網路層的設計問題包括為傳輸層提供服務、在子網上路由資料包、擁塞控制以及多個網路的互連。
網路層的設計問題如下:
網路層的目標是為連線到多個網路的多個使用者提供邏輯服務。因此,提供的服務應獨立於底層技術。這樣,客戶端使用服務時無需瞭解網路的物理實現即可傳送訊息。
主機上的傳輸層不需要知道如何建立到目標主機的通訊連線。
必須有一些統一的網路位置定址方案。
通訊型別主要有兩種:
面向連線的服務
在面向連線的服務中,每個資料包都與源/目標連線相關聯。這些資料包沿一條稱為虛擬電路的相同路徑路由。因此,它為使用者提供端到端連線以進行可靠的資料傳輸。它按順序傳輸資料,沒有並行或丟失的資訊。它不會造成傳輸介質和接收裝置緩衝區的擁塞。
在面向連線的服務中,使用者在連線持續時間內佔用網路的頻寬和資源,因此需要更多的開銷。即使在連線期間沒有傳輸資料,此服務也會維護相關的網路資源。
無連線的服務
在無連線的服務中,路由器獨立地處理每個資料包。資料包透過網路的不同路徑路由,根據路由器的決策進行路由。
在無連線的服務中,網路或通訊通道不保證主機到目標主機的資料交付。要傳輸的記錄被分割成資料包。這些獨立的資料包類似於電報中的資料報。資料包包含目標裝置的地址。
服務質量 (QOS)
每種服務都可以透過其服務質量來區分。
這些服務可以分為以下兩種型別:
可靠服務
可靠服務是指從不丟失資料的服務。通常透過讓接收方確認每個訊息的接收來實現可靠服務。因此,傳送方可以確保訊息到達。例如,遠端登入需要可靠的服務。但是,確認會引入開銷和延遲,這在某些情況下是不希望的。
不可靠服務
不可靠服務會丟失少量資料或位或影像的畫素,但這對結果沒有顯著影響。例如,移動使用者偶爾聽到線路上的噪音或錯誤的單詞,而不是等待確認而造成延遲。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP