A. 計算機網路自學筆記:選路演算法
網路層必須確定從發送方到接收方分組所經過的路徑。選路就是在網路中的路由瞎物器里的給某個數據報確定好路徑(即路由)。
一 台主機通常直接與一台路由器相連接,該路由器即為該主機的默認路由器,又稱為該主機的默認網關。 每當某主機向外部網路發送一個分組時,該分組都被傳送給它的默認網關。
如果將源主機的默認網關稱為源路由器,把目的主機的默認網關稱為目的路由器。為一個分組從源主機到目的主機選路的問題於 是可歸結為從源路由器到目的路由器的選路問題。
選路演算法的目標很簡單:給定一組路由器以及連接路由器的鏈路,選路演算法要找到一條從源路由器到目的路由器的最好路徑,通常一條好路徑是指具有最低費用的路徑。
圖 G=(N,E)是一個 N 個節點和 E 條邊的集合,其中每條邊是來自 N 的一對節點。在網 絡選路的環境中,節點表示路由器,這是做出分組轉發決定的節點,連接節點的邊表示路由 器之間的物理鏈路。
一條邊有一個值表示它的費用。通常一條邊的費用可反映出對應鏈路的物理長度、鏈路速度或與該鏈路相關的費用。
對於 E 中的任一條邊(xy)可以用 c(xy )表示節點 x 和 y 間邊的費用。一般考慮的都是無向 圖,因此邊(xy)與邊(y x)是相同的並且開銷相等。節點 y 也被稱為節點 x 的鄰居。
在圖中為各條邊指派了費用後,選路演算法的目標自然是找出從源到目的間的最低費用路徑。圖 G=(N,E)中的一條路徑(Path)是一個節點的序列,使得每一對以(x1,x2), (x2,x3),…,是 E 中的邊。路徑的費用是沿著路徑所有邊費用的總和。
從廣義上來說,我們對 選路演算法分類的一種方法就是根據該演算法是全局性還是分布式來區分的。
.全局選路演算法: 用完整的、全局性的網路信息來計算從源到目的之間的最低費用路徑。
實際上, 具有全局狀態信息裂殲的演算法常被稱作鏈路狀態 LS 演算法, 因為該演算法必須知道網路中每條鏈路的費用。
.分布式選路演算法: 以迭代的、分布式的方式計算出最低費用路徑。通過迭代計算並與相鄰節點交換信息,逐漸計算出到達某目的節點或一組目的節點的最低費用路徑。
DV 演算法是分布式選路演算法, 因為每個節點維護到網路中的所有其他節點的費用(距離)估計的矢量。
選路演算法的第二種廣義分類方法是根據演算法是靜態的還是動態的來分類。
一: 鏈路狀態選路演算法 LS
在鏈路狀態演算法中,通過讓每個節點向所有其他路由器廣播鏈路狀態分組, 每個鏈路狀態分組包含它所連接的鏈路的特徵和費用, 從而網路中每個節點都建立了關於整個網路的拓撲。
Dijkstra 演算法計算從源節點到網路中所有其他節點的最低費用路徑.
Dijkstra 演算法是磨源液迭代演算法,經演算法的第 k 次迭代後,可知道到 k 個目的節點的最低費用路徑。
定義下列記號:
D(V)隨著演算法進行本次迭代,從源節點到目的節點的最低費用路徑的費用。
P(v)從源節點到目的節點 v 沿著當前最低費用路徑的前一節點(,的鄰居)。
N`節點子集;如果從源節點到目的節點 v 的最低費用路徑已找到,那麼 v 在 N`中。
Dijkstra 全局選路演算法由一個初始化步驟和循環組成。循環執行的次數與網路中的節點個數相同。在結束時,演算法會計算出從源節點 u 到網路中每個其他節點的最短路徑。
考慮圖中的網路,計算從 u 到所有可能目的地的最低費用路徑。
.在初始化階段 ,從 u 到與其直接相連的鄰居 v、x、w 的當前已知最低費用路徑分別初始化為 2,1 和 5。到 y 與 z 的費用被設為無窮大,因為它們不直接與 u 連接。
.在第一次迭代時, 需要檢查那些還未加到集合 N`中的節點,找出在前一次迭代結束時具有最低費用的節點。那個節點是 x 其費用是 1,因此 x 被加到集合 N`中。然後更新所有節點的 D(v),產生下表中第 2 行(步驟)所示的結果。到 v 的路徑費用未變。經過節點 x 到 w 的 路徑的費用被確定為 4。因此沿從 u 開始的最短路徑到 w 的前一個節點被設為 x。類似地, 到 y 經過 x 的費用被計算為 2,且該表項也被更新。
.在第二次迭代時 ,節點 v 與 y 被發現具有最低費用路徑 2。任意選擇將 y 加到集合 N` 中,使得 N』中含有 u、x 和 y。通過更新,產生如表中第 3 行所示的結果。
.以此類推…
當 LS 演算法結束時,對於每個節點都得到從源節點沿著它的最低費用路徑的前繼節點, 對於每個前繼節點,又有它的前繼節點,按照此方式可以構建從源節點到所有目的節點的完 整路徑。
根據從 u 出發的最短路徑,可以構建一個節點(如節點 u)的轉發表。
二 距離矢量選路演算法 DV
LS 演算法是一種使用全局信息的演算法,而距離矢量演算法是一種迭代的、非同步的和分布式的演算法。
Bellman-Ford 方程:
設 dx(y)是從節點 x 到節點 y 的最低費用路徑的費用,則有 dx(y) = min {c(x,v) + dv(y) }
PS: 方程中的 min,是指取遍 x 的所有鄰居。
Bellman-Ford 方程含義相當直觀,意思是從 x 節點出發到 y 的最低費用路徑肯定經過 x 的某個鄰居,而且 x 到這個鄰居的費用加上這個鄰居到達目的節點 y 費用之和在所有路徑 中其總費用是最小的。 實際上,從 x 到 v 遍歷之後,如果取從 v 到 y 的最低費用路徑,該路 徑費用將是 c(x,v)+ dv(y)。因此必須從遍歷某些鄰居 v 開始,從 x 到 y 的最低費用是對所有鄰 居的 c(x,v)+dv(y)的最小值。
在該 DV 演算法中,當節點 x 看到它的直接相連的鏈路費用變化,或從某個鄰居接收到一 個距離矢量的更新時,就根據 Bellman-Ford 方程更新其距離矢量表。
三 LS 與 DV 選路演算法的比較
DV 和 LS 演算法採用不同的方法來解決計算選路問題。
在 DV 演算法中,每個節點僅與它的直接相連鄰居交換信息,但它為它的鄰居提供了從其 自己到網路中(它所知道的)所有其他節點的最低費用估計。
在 LS 演算法中,每個節點(經廣播)與所有其他節點交換信息,但它僅告訴它們與它直接 相連鏈路的費用。
·報文復雜性:
LS 演算法要求每個節點都知道網路中每條鏈路的費用,需要發送 O(nE)個消息。
DV 演算法要求在每次迭代時,在兩個直接相連鄰居之間交換報文,演算法收斂所需的時間 依賴於許多因素。當鏈路費用改變時,DV 演算法僅當在會導致該節點的最低費用路徑發生改 變時,才傳播已改變的鏈路費用。
·收效速度:
DV演算法收斂較慢,且在收斂時會遇到選路環路。DV演算法還會遭受到計數到無窮的問題。
•健壯性: 在 LS 演算法中,如果一台路由器發生故障、或受到破壞,路由器會向其連接的鏈路廣播 不正確費用,導致整個網路的錯誤。
在 Dv 演算法下, 每次迭代時,其中一個節點的計算結果會傳遞給它的鄰居,然後在下次迭代時再間接地傳遞給鄰居的鄰居。在這種情況下,DV 演算法中一個不正確的計算結果也會擴散到整個網路。
四.層次選路
兩個原因導致層次的選路策略:
•規模: 隨著路由器數目增長,選路信息的計算、存儲及通信的開銷逐漸增高。
•管理自治: 一般來說,一個單位都會要求按自己的意願運行路由器(如運行其選擇的某 種選路演算法),或對外部隱藏其內部網路的細節。
層次的選路策略是通過將路由器劃分成自治系統 AS 來實施的。
每個 AS 由一組通常在相同管理控制下的路由器組成(例如由相同的 ISP 運營或屬於相同 的公司網路)。在相同的 AS 內的路由器都全部運行同樣的選路演算法。
在一個自治系統內運行的選路演算法叫做自治系統內部選路協議。 在一個 AS 邊緣的一台 或多台路由器,來負責向本 AS 之外的目的地轉發分組,這些路由器被稱為網關路由器
在各 AS 之間,AS 運行相同的自治系統間選路協議。
B. 計算機網路原理
計算機網路原理按廣義定義一個計算機網路組成包括傳輸介質和通信設備。 ... 有它調用完成用戶所調用的資源,而整個網路像一個大的計算機系統一樣,對用戶是透明的。
一個比較通用的定義是:利用通信線路將地理上分散的、具有獨立功能的計算機系統和通信設備按不同的形式連接起來,以功能完善的網路軟體及協議實現資源共享和信息傳遞的系統。
ISBN:7040196492
書名:計算機網路原理
出版時間:2006年6月1日
出版社:高等學校教材
開本:16開
《計算機網路原理》是一本採用全新體系結構的計算機網路基礎教材。全書共分為3篇,分別從3個角度觀察計算機網路,理解計算機網路的工作原理:
第1篇是在平面上觀察計算機網路,把計算機網路看做由節點、鏈路和協議三個元素組成的系統,並介紹了鏈路和節點上的基本通信技術;
第2篇是立體地觀察計算機網路,認識計算機網路體系結構,介紹了ISO/OSI參考模型和IEEE 802、TCP/IP兩種計算機網路主流體系結構;
第3篇介紹計算機網路應用程序的C/S工作模式和基於C/S模式的計算機網路應用程序的開發方法。這3篇將計算機網路的基本原理分解成相對獨立的3個層次。
每完成一個層次內容的學習,對計算機網路工作原理的認識就會上升到一個新的高度,並最後歸結到計算機網路應用層的實現上來。
C. 網路攝像頭和電腦通信原理
網路攝像頭視頻信號傳輸原理有三大類:模擬信號傳輸原理、數字信號傳輸原理和綜合無線電傳輸原理。
1、模擬信號傳輸。屬於短距離傳輸方式。就是將攝像頭採集到的視頻信號直接通過線纜進行傳輸,模擬信號是隨時間變化的正玄波信號,其傳輸過程受導線的截面和線間電容影響,會隨著傳輸距離的越長,信號衰減越厲害,通常只能在千米級范圍內應用。
2、數字信號傳輸。屬於長距離方式。就是將攝像頭採集到的視頻信號(圖像信號),經過量化、採集、編碼而形成視頻數字編碼,區別於模擬信號是數字信號是不隨時間變化的脈沖編碼(視頻數字編碼)。其特點是抗干擾性強,由於數字信號不隨時間變化(數字化編碼),傳輸、存儲都變得簡單和高效。可以用於計算機網路傳輸,距離不受限制。
3、綜合無線電傳輸。是指模擬信號可以用無線電波為載體,不用導線直接從一個空間傳輸到所有空間或另一個空間。數字信號也是如此,可以使用無線電波為載體,將數字信號,從一個空間傳輸到所有空間或專門的空間。他們的傳輸距離視無線電波功率大小和頻率高低而定。
D. 計算機網路基本原理是什麼
本尺早散教程操作環境:windows7系統、Dell G3電腦。
計算機網路工作原理是將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網路操作系統,網路管理軟體及網路通信協議的管理和協調下,實現資源共享和信息傳遞。
計算機網路向用戶提供的最重要的功能有兩個,即連通性和共享。
計算機網路的功能
數據通信
數據通信是計算機網路的最主要睜橘的功能之一。數據通信是依照一定的通信協議,利用數據傳輸技術在兩個終端之間傳遞數據信息的一種通信方式和通信業務。它可實現計算機和計算機、計算機和終端以及終端與終端之間的數據信息傳遞,是繼電報、電話業務之後的第三種最大陵氏的通信業務。數據通信中傳遞的信息均以二進制數據形式來表現,數據通信的另一個特點是總是與遠程信息處理相聯系,是包括科學計算、過程式控制制、信息檢索等內容的廣義的信息處理。
資源共享
資源共享是人們建立計算機網路的主要目的之一。計算機資源包括硬體資源、軟體資源和數據資源。硬體資源的共享可以提高設備的利用率,避免設備的重復投資,如利用計算機網路建立網路列印機;軟體資源和數據資源的共享可以充分利用已有的信息資源,減少軟體開發過程中的勞動,避免大型資料庫的重復建設。
集中管理
計算機網路技術的發展和應用,已使得現代的辦公手段、經營管理等發生了變化。目前,已經有了許多管理信息系統、辦公自動化系統等,通過這些系統可以實現日常工作的集中管理,提高工作效率,增加經濟效益。
實現分布式處理
網路技術的發展,使得分布式計算成為可能。對於大型的課題,可以分為許許多多小題目,由不同的計算機分別完成,然後再集中起來,解決問題。
負荷均衡
負荷均衡是指工作被均勻的分配給網路上的各台計算機系統。網路控制中心負責分配和檢測,當某台計算機負荷過重時,系統會自動轉移負荷到較輕的計算機系統去處理。
由此可見,計算機網路可以大大擴展計算機系統的功能,擴大其應用范圍,提高可靠性,為用戶提供方便,同時也減少了費用,提高了性能價格比。
E. 什麼是鏈路狀態路由演算法,和DV演算法
鏈路狀態演算法(也稱最短路徑演算法)發送路由信息到互聯網上所有的結點,然而對於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法(也稱為Bellman-Ford演算法)則要求每個路由器發送其路由表全部或部分信息,但僅跡告發送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新信息發送至網路各處,而距離向量演算法發送大量更新信息至鄰接路由器。 ——由於鏈路狀態演算法收斂更快,因此它在一定程度上比距離向量演算法更不易產生路由循環。但另一方面,鏈路狀態算帆手法要求比距離向量演算法有更強的CPU能力和更多的內存空間,因此鏈路狀態演算法將會在實現姿轎明時顯得更昂貴一些。除了這些區別,兩種演算法在大多數環境下都能很好地運行。
F. 《計算機網路-自頂向下方法》第四章-網路層 要點
網路層的作用:實現主機到主機的通信服務,將分組從一台發送主機移動到一台接收主機。
1、轉發涉及分組在單一的路由器中從一條入鏈路到一條出鏈路的傳送。
2、路由選擇涉及一個網路的所有路由器,它們經路由選擇協議共同交互,以決定分組從源到目的地結點所採用的路徑。計算這些路徑的演算法稱為路由選擇演算法。
每台路由器都有一張轉發表,路由器通過檢查到達分組首部欄位的值來轉發分組,然後使用該值在該路由器的轉發表中索引查找。路由選擇演算法決定了插入路由器轉發表中的值。
路由選擇演算法可能是集中式的,或者是分布式的。但在這兩種情況下,都是路由器接收路由選擇協議報文,該信息被用於配置其轉發表。
網路層也能在兩台主機之間提供無連接服務或連接服務。同在運輸層的面向連接服務和無連接服務類似,連接服務需要握手步驟,無連接服務不需要握手。但它們之間也有差異:
1、 在網路層中,這些服務是由網路層向運輸層提供的主機到主機的服務。在運輸層中,這些服務則是運輸層向應用層提供的進程到進程的服務。
2、 在網路層提供無連接服務的計算機網路稱為數據報網路;在網路層提供連接服務的計算機網路稱為虛電路網路。
3、 在運輸層實現面向連接的服務與在網路層實現連接服務是根本不同的。運輸層面向連接服務是在位於網路邊緣的端系統中實現的;網路層連接服務除了在端系統中,也在位於網路核心的路由器中實現。(原因很簡單:端系統和路由器都有網路層)
虛電路網路和數據報網路是計算機網路的兩種基本類型。在作出轉發決定時,它們使用了非常不同的信息。
IP地址有32比特,如果路由器轉發表採用「蠻力實現」將對每個可能的目的地址有一個表項。因為有超過40億個可能的地址,這種選擇完全不可能(即使用二分查找也十分慢)。
我們轉發表的表項可以設計為幾個表項,每個表項匹配一定范圍的目的地址,比如有四個表項
(你可能也會考慮到,IP地址有32比特,如果每個路由器設計為只有2個表項,那麼也只需要有32個路由器就可以唯一確定這40億個地址中的一個。)
最長前綴匹配規則,是在轉發表中尋找最長的匹配項,並向與最長前綴匹配相關聯的鏈路介面轉發分組。這種規則是為了與網際網路的編址規則相適應。
1、輸入埠
「使用轉發表查找輸出埠」是輸入埠最重要的操作(當然還有其他一些操作)。輸入埠執行完這些所需的操作後,就把該分組發送進入交換結構。如果來自其他輸入埠的分組當前正在使用交換結構,一個分組可能會在進入交換結構時被暫時阻塞,在輸入埠處排隊,並等待稍後被及時調度以通過交換結構。
2、交換結構
交換結構的三種實現方式
3、輸出埠
分組調度程序 處理在輸出埠中排隊的分組
4、路由選擇處理器
</br>
</br>
IP協議版本4,簡稱為IPv4;IP協議版本6,簡稱為IPv6。
如上圖所示,網路層有三個主要的組件
1、IP協議
2、路由選擇協議
3、ICMP協議 (Internet Control Message Protocol, 網際網路控制報文協議)
</br>
不是所有鏈路層協議都能承載相同長度的網路層分組。有的協議能承載大數據報,而有的協議只能承載小分組。例如,乙太網幀能夠承載不超過1500位元組的數據,而某些廣域網鏈路的幀可承載不超過576位元組的數據。
一個鏈路層幀能承載的最大數據量叫做最大傳送單元(Maximun Transmission Unit, MTU)
所以鏈路層協議的MTU嚴格限制著IP數據報的長度。這也還不是主要的問題,問題在於發送方與目的地路徑上的每段鏈路可能使用不同的鏈路層協議,且每種協議可能具有不同的MTU。
舉個例子:假定從某條鏈路收到一個IP數據報,通過檢查轉發表確定出鏈路,並且該出鏈路的MTU比該IP數據報的長度要小。那麼如何將這個過大的IP分組壓縮進鏈路層幀的有效載荷欄位呢?
解決辦法是,將IP數據報中的數據分片成兩個或更多個較小的IP數據報,用單獨的鏈路層幀封裝這些較小的IP數據報;然後向輸出鏈路上發送這些幀。每個這些較小的數據報都被稱為片(fragment)。
路由器完成分片任務。同時,為了使得網路內核保持簡單,IPv4設計者把數據報的重組工作放到端系統中,而非放到網路路由器中。
前提:一個4000位元組的數據報(20位元組IP首部加上3980位元組IP有效載荷)到達一台路由器,且必須被轉發到一條MTU為1500位元組的鏈路上。假定初始數據報貼上的標識號為777。
這意味著初始數據報中3980位元組數據必須被分配到3個獨立的片(其中的每個片也是一個IP數據報)
IP分片:
IP地址有32比特,分為網路號和主機號。
IP地址的網路部分(即網路號)被限制為長度為8、16或24比特,這是一種稱為分類編址的編址方案。具有8、16和24比特子網地址的子網分別被稱為A、B和C類網路。
但是它在支持數量迅速增加的具有小規模或中等規模子網的組織方面出現了問題。一個C類(/24)子網僅能容納多大2^8 - 2 = 254台主機(2^8 = 256, 其中的兩個地址預留用於特殊用途),這對許多組織來說太小了。然而一個B類(/16)子網可支持多達65534台主機,又太大了。這導致B類地址空間的迅速損耗以及所分配的地址空間的利用率低。
廣播地址255.255.255.255。當一台主機發出一個目的地址為255.255.255.255的數據報時,該報文會交付給同一個網路中的所有主機。
某組織一旦獲得了一塊地址,它就可以為本組織內的主機與路由器介面逐個分配IP地址。既可手工配置IP地址,也可以使用動態主機配置協議(Dynamic Host Configuration Protocol, DHCP)自動配置。DHCP還允許一台主機得知其他信息,如它的子網掩碼、它的第一跳路由器地址(常稱為默認網關)與它的本地DNS伺服器的地址。
由於DHCP具有能將主機連接進一個網路相關方面的自動能力,它又被稱為即插即用協議。
DHCP是客戶-伺服器協議。客戶通常是新達到的主機,它要活的包括自身使用的IP地址在內的網路配置信息。在最簡單的場合下,每個子網將具有一台DHCP伺服器。如果在某子網中沒有伺服器,則需要一個DHCP中繼代理(通常是一台路由器),這個代理知道用於該網路的DHCP伺服器的地址。
DHCP協議工作的4個步驟:
網路地址轉換(Network Address Translation, NAT)
ICMP通常被認為是IP的一部分,但從體系結構上將它是位於IP之上的,因為ICMP報文是承載在IP分組中的。即ICMP報文是作為IP有效載荷承載的,就像TCP與UDP報文段作為IP有效載荷被承載那樣。
眾所周知的ping程序發送一個ICMP類型8編碼0的報文到指定主機。看到該回顯請求,目的主機發回一個類型0編碼0的ICMP回顯回答。大多數TCP/IP實現直接在操作系統中支持ping伺服器,即該伺服器不是一個進程。
新型IPv6系統可做成向後兼容,即能發送、路由和接收IPv4數據報,要使得已部署的IPv4系統能夠處理IPv6數據報,最直接的方式是採用一種雙棧方法。
1、鏈路狀態(Link State, LS)演算法:屬於全局式路由選擇演算法,這種演算法必須知道網路中每條鏈路的費用。費用可理解為鏈路的物理長度、鏈路速度,或與該鏈路相關的金融上的費用。鏈路狀態演算法採用的是Dijkstra演算法。
2、距離向量(Distance-Vector, DV)演算法:屬於迭代的、非同步的和分布式的路由選擇演算法。
「迭代的」,是因為此過程一直要持續到鄰居之間無更多信息要交換為止。
「非同步的」,是因為它不要求所有結點相互之間步伐一致地操作。
「分布式的」,是因為每個結點都要從一個或多個直接相連鄰居接收某些信息,執行計算,然後將其計算結果分發給鄰居。
DV演算法的方程:
其中,dx(y)表示從結點x到結點y的最低費用路徑的費用,c(x, v)是結點x到結點v的費用,結點v指的是所有x的相連結點,所以x的所有相連結點都會用minv方程計算。
(N是結點(路由器)的集合,E是邊(鏈路)的集合)
為了減少公共網際網路的路由選擇計算的復雜性以及方便企業管理網路,我們將路由器組織進自治系統。
在相同AS中的路由器全都運行同樣的路由選擇演算法,且擁有彼此的信息。在一個自治系統內運行的路由選擇演算法叫做自治系統內部路由選擇協議。
當然,將AS彼此互聯是必需的,因此在一個AS內的一台或多台路由器將有另外的任務,即負責向在本AS之外的目的地轉發分組。這些路由器被稱為網關路由器。
分為自治系統內部的路由選擇和自治系統間的路由選擇
1、網際網路中自治系統內部的路由選擇:路由選擇信息協議(Routing Information Protocol, RIP)
2、網際網路中自治系統內部的路由選擇:開放最短路優先(Open Shortest Path First, OSPF)
3、自治系統間的路由選擇:邊界網關協議(Broder Gateway Protocol, BGP)
為什麼要使用不同的AS間和AS內部路由選擇協議?
實現廣播的方法
1、無控制洪泛。該方法要求源結點向它的所有鄰居發送分組的副本。當某結點接收了一個廣播分組時,它復制該分組並向它的所有鄰居(除了從其接收該分組的那個鄰居)轉發之。
致命缺點: 廣播風暴 ,如果圖具有圈,那麼每個廣播分組的一個或多個分組副本將無休止地循環。
2、受控洪泛。用於避免廣播風暴,關鍵在於正確選擇何時洪泛分組,何時不洪泛分組。受控洪泛有兩種方法:序號控制洪泛、反向路徑轉發(Reverse Path Forwarding, RPF)
3、生成樹廣播。雖然序號控制洪泛和RPF能避免廣播風暴,但是它們不能完全避免冗餘廣播分組的傳輸。
多播:將分組從一個或多個發送方交付到一組接收方
每台主機有一個唯一的IP單播地址,該單播地址完全獨立於它所參與的多播組的地址。
網際網路網路層多播由兩個互補組件組成:網際網路組管理協議(Internet Group Management Protocol, IGMP)和多播路由選擇協議
IGMP只有三種報文類型:membership_query報文,membership_report報文,leave_group報文。
與ICMP類似,IGMP報文也是承載在一個IP數據報中。
網際網路中使用的多播路由選擇
1、距離向量多播路由選擇協議
2、協議無關的多播路由選擇協議
G. 第四章 網路層
1.轉發。當一個分組到達路由器的一條輸入鏈路時,路由器必須將該分組移動到適當的輸出鏈路。
2.路由選擇。當分組從發送方流向接收方時,網路層必須決定這些分組所採用的路由或路徑。
3.每台路由器都有一張轉發表,鏈路層交換機基於鏈路層欄位中的值做轉發決定,路由器則是基於網路層的欄位
4.連接建立
1.確保交付
2.具有延時上界的確保交付
3.對於分組流:(1)有序分組交付(2)確保最小帶寬(3)確保最大時延抖動(4)安全性服務
4.網際網路提供的是盡力而為服務(best-effort service)
5.兩個重要的ATM服務模型:(1)恆定比特率ATM網路服務CBR(2)可用比特率ATM網路服務ABR
1.僅在網路層提供連接服務的計算機網路稱為虛電路VC網路;僅在網路層提供無連接服務的計算機網路逗老稱為數據報網路。
1.每個數據報都帶有VC標識
2.網路的路由器必須為進行中的連接維持連接狀態信息
3.虛電路中有3個明顯的不同階段:(1)虛電路建立(2)數據傳送(3)虛電路拆除
4.相比與運輸層的連接(只有兩個端系統知情,路由器完全不知道),虛電路的連接,沿兩個端系統之間路徑上的路由器都要參與虛電路的建立,且每台路由器都完全知道經過它的所有虛電路。
5.信令報文/信令協議
1.路由器用目的地址的前綴與轉發表中的表項進行匹配
2.轉發表能夠在任何時刻被修改
1.網際網路服務模型使服務保證最少
1.路由器的四個組成部分:(1)輸入埠,物理介面(2)交換結構(3)輸出埠(4)路由選擇處理器
1.經內存交換,吞吐量小於B/2,B為內存單位時間讀寫分組數
2.經匯流排交換,吞吐量為1
3.經互聯網路交換,如縱橫交換,克服匯流排帶寬限制
1.輸出埠排隊,需要的緩存空間為 ,C為鏈路容量,N為TCP流。
2.輸出埠排隊就需要分組調度程序,用於挑選一個來發送,提供了服務質量保證。
3.緩存填滿前就丟棄一個分組,以便向發送方提供一個擁塞信號。主動隊列管理
1.線路前部阻塞,即本身是可以發送的,但前一個阻塞了。
1.網路范圍的路由選擇控制平面因此是分布式的
1.路由選擇協議2.IP協議3.ICMP協議
1.首部檢驗和只檢驗首部,而TCP/UDP檢驗和是對整個報文段進行的。
1.一個鏈路層幀能承載的最大數據量叫做最大傳送單元MTU。
2.標識、標志山沒升和片偏移欄位。最後一個片的標志比特被設為0,其他的標志比特被設為1
1.點分十進製法
2.子網,如223.1.1.0/24,/24稱為子網掩碼
3.網際網路的地址分配策略被稱為無類別域間路由選擇CIDR,對於子網可以寫作a,b,c,d/x
4.分類編址,A類(/8)、B類(/16)、C類(/24)
5.廣播地址,全為1
ICANN
1.動態主機配置協議DHCP,即插即用協議。每個子網都有DHCP伺服器。DHCP可以返回子網掩碼、第一跳路由地址(默認網關)以及本地DNS伺服器地址
2.DHCP客戶-伺服器交互四個步驟:(1)DHCP伺服器發現,目的IP為廣播,封裝在UDP里(2)DHCP伺服器提供,目的IP為廣播,返回給用戶推薦的地址、網路掩碼以及IP地址租用期(3)DHCP請求(4)DHCP ACK
1.NAT轉換表,埠號和IP地址轉換
2.NAT是有爭議的。如修改埠號,路由器應當處理第三層分察伏組,NAT違反了端到端原則,可以直接用IPv6
3.存在NAT之外的客戶端要訪問NAT之內的伺服器存在問題。
為某些請求的公共埠號請求一個NAT映射,位於(專用IP地址,專用埠號)和(公共IP地址,公共埠號)之間
也可以使用外部伺服器中繼的方式解決
1.ICMP最典型的用途是差錯報告。被主機和路由器用來彼此溝通網路層的信息。ICMP報文是承載在IP分組中的
2.Traceroute程序是由ICMP報文實現的。
3.源主機將一系列普通IP數據報發送到目的地,每個都攜帶了一個不可達的UDP埠號和UDP報文段,並設置第一個數據報的TTL為1,第二個為2...;當第n個數據報到達第n個路由器時,則返回第n台路由器的名字與IP地址.目的主機向源地主發送一個不可達的ICMP報文來結束發送UDP報文
流標簽:給屬於特殊流的分組加上標簽
跳限制:每經過一個路由器跳限制減1
1.雙棧al-stack,會發生IPv4到IPv6轉換過程中信息的丟失
2.建隧道tunneling(一種雙棧方法)可以解決,將IPv6數據報封裝進IPv4的數據中,等到接收端的IPv6接收到之後再從數據中取出來
1.全局式路由選擇演算法,常被稱作鏈路狀態演算法LS/分散式路由選擇演算法,距離向量演算法DV
2.也可以分為靜態路由演算法和動態路由演算法
3.分為負載敏感和負載遲鈍
1.網路拓撲和所有鏈路費用都是已知的。
2.Dijkstra演算法和prim演算法
3.Dijkstra演算法時迭代演算法,經過k次迭代,可知到k個結點的最低費用路徑。
D(v):到演算法的本次迭代,從源結點到目的結點v的最低費用路徑的費用
p(v):從源到v沿著當前最低費用路徑的前一結點
N『:結點子集;如果從源到v的最低費用路徑已經確定,則v在N'中
復雜度為 ,但可以優化到 ,有可能發生振盪(如果費用等於承載的負荷)
1.每個結點都要從一個或多個直接相連鄰居接收某些信息,執行結算,然後將其結果分發給鄰居。
2.DV演算法是一個迭代的、非同步的和分布式的演算法
3.
4.如果x的距離向量更新了就向每個鄰居發送其更新後的距離向量。
當其中一個路徑變大時可能要迭代很多次才能全部更新一致(先更新在發送消息)
如果z通過y到達x,則z將告訴y,它到x的距離是無窮大
1.報文復雜性。LS演算法要求發送O(NE)個報文,DV演算法只要給鄰居發送
2.收斂速度。LS演算法O(N^2),DV演算法很慢,還會遇到無窮計數問題
3.健壯性。LS演算法是分離的,DV演算法會將不正確的結點計算值擴散到整個網路。
1.自治系統AS。在相同的AS中的路由器全部運行相同的路由演算法,且擁有彼此的信息
2.連接不同的AS的路由器叫網關路由器。
3.當一個AS連有多個AS時,該AS需要知道多個AS的目的地並把信息告訴該AS中的每個路由器。
4.如果多個網關都可達則選擇費用最小的(熱土豆法)
1.內部網關協議
2.路由選擇信息協議RIP和開放最短路優先OSPF
3.在RIP中,路由選擇更新信息在鄰居之間通過使用一種RIP響應報文來交換
4.路由選擇表
5.每隔30s,路由器會根據收到的通告更新轉發表
6.如果過了180s沒有收到鄰居的報文,則可以認為該鄰居將不再是可達的了。此時該路由器修改轉發表並告知可達的鄰居。也可以通過RIP請求報文,請求其鄰居到指定目的地的費用(在UDP上使用埠520互相發送RIP報文)。
7.RIP在UNIX中是被當作應用層進程來實現的。
1.OSPF的核心就是一個使用洪泛鏈路狀態信息的鏈路狀態協議和一個Dijkstra最低費用路徑演算法。
2.OSPF的優點:(1)安全(2)多條相同費用的路徑(3)對單播或多播路由選擇的綜合支持(4)支持在單個路由選擇域內的層次結構
邊界網關協議
1.BGP為每個AS提供一下工作的手段:(1)從相鄰AS處獲得子網可達性信息。(2)向本AS內部的所有路由器傳播這些可達性信息(3)基於可達性信息和AS策略,決定到達子網的路由
1.半永久TCP連接來交換路由選擇信息,對於每條連接的兩台路由器稱為BGP對等方,整個連接稱為BGP會話,包括外部會話和內部會話
2.在BGP中目的地不是主機而是CIDR化的前綴
3.當一台路由器得知一個新前綴時,它為該前綴在其轉發表中創建一個項
1.一個自治系統由全局唯一的自治系統號所標識
2.當一台路由器通過BGP會話通告一個前綴時,它在前綴中包括一些BGP屬性。帶有屬性的前綴稱為一條路由。兩個較為重要的屬性是AS-PATH(前綴通告已經通過的AS)和NEXT-HOP
3.當一台網關路由器接收到一台路由通告時,它使用其輸入策略來決定是否接收或過濾該路由,是否設置某種屬性
1.BGP順序調用下列消除規則,直到留下一條路由。
(1)路由被指派一個本地偏好值作為它們的屬性之一
(2)在餘下的路由中,具有最短AS-PATH的路由將被選擇
(3)選擇具有最靠近NEXT-HOP路由器的路由
(4)使用BGP標識符來選擇路由
(1)OPEN(2)UPDATE(3)KEEPLIVE(4)NOTIFICATION
X不會告訴B,X能經過C到達Y,因此B也不會經過X轉發目的地為C或Y的流量
對於提供商網路,比如B知道A能到W,B就會告訴X經過BA能到W,但B不會告訴C,A能到W,防止X走CA到W
H. 計算機網路原理
計算機網路工作原理是:將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網路操作系統,網路管理軟體及網路通信協議的管理和協調下,實現資源共享和信息傳遞。
計算機網路向用戶提供的最重要的功能有兩個,即連通性和共享。計算機聯網後,各計算機可以通過網路互為後備,一旦某台計算機發生故障,則由別處的計算機代為處理,還可以在網路的一些結點上設置一定的備用設備。
計算機網路作用
數據通信是計算機網路最基本的功能。它用來快速傳送計算機與終端、計算機與計算機之間的各種信息,包括文字信件、新聞消息、咨詢信息、圖片資料、報紙版面等。
利用這一特點,可實現將分散在各個地區的單位或部門用計算機網路聯系起來,進行統一的調配、控制和管理。使用計算機網路不僅可以使用自身的硬體資源,也可共享網路上的資源。
I. 計算機網路工作原理是什麼
關於計算機網路的定義。
廣義的觀點:計算機技術與通信技術相結合,實現遠程信息處理或進一步達到資源共享的系統;資源共享的觀點:以能夠相互共享資源的方式連接起來,並且各自具有獨立功能的計算機系統的集合;對用戶透明的觀點:存在一個能為用戶自動管理資源的網路操作系統,由它來調用完成用戶任務所需要的資源,而整個網路像一個大的計算機系統一樣對用戶是透明的,實際上這種觀點描述的是一個分布式系統。
1、支撐計算機網路的有兩大技術原理:
1)計算機(廣義上的計算機) 2)通信技術(包括接入和輸出技術)
前者的存在使得用戶有了強大的數據錄入、處理、輸出能力,後者使得信息的遠程即時交換和共享成為可能。
2. 計算機網路的拓樸結構。
答:計算機網路採用拓樸學的研究方法,將網路中的設備定義為結點,把兩個設備之間的連接線路定義為鏈路。計算機網路也是由一組結點和鏈路組成的的幾何圖形,這就是拓樸結構。
分類:按信道類型分,分為點---點線路通信子網和廣播信道的通信子網。採用點——點連線的通信子網的基本結構有四類:星狀、環狀、樹狀和網狀;廣播信道通子網有匯流排狀、環狀和無線狀。
3. 計算機網路的體系結構
答:將計算機網路的層次結構模型和分層協議的集合定義為計算機網路體系結構。
4.計算機網路的協議三要素
答:三要素是:1,語法:關於諸如數據格式及信號電平等的規定;2,語義:關於協議動作和差錯處理等控制信息;3,定時:包含速率匹配和排序等。
5.OSI七層協議體系結構和各級的主要作用
答:七層指:由低到高,依次是物理層,數據鏈路層,網路層,傳輸層,會話層,表示層和應用層。
6.TCP/IP協議體系結構
答:TCP/IP是一個協議系列,目前已飲食了100多個協議,用於將各種計算機和數據通信設備組成計算機網路。
TCP/IP協議具有如下特點:1,協議標准具有開放性,其獨立於特定的計算機硬體與操作系統,可以免費使用;2,統一分配網路地址,使得整個TCP/IP設備在網路中都具有惟一的IP地址。
分層:應用層(SMTP, DNS, NFS, FTP, Telnet, Others)、傳輸層(TCP,UDP)、互聯層(IP,ICMP, ARP, RARP)、主機——網路層(Ethernet, ARPANET, PDN ,Others)。
傳輸控制協議TCP:定義了兩台計算機之間進行可靠數據傳輸所交換的數據和確認信息的格式,以及計算機為了確保數據的正確到達而採取的措施。
7、計算機通信常用原理
虛電路可分為永久虛電路和交換虛電路。
X.25協議描述了主機(DTE)與分組交換網(PSN)之間的介面標准。
X.25的分組級相當於OSI參考模型中的網路層,主要功能是向主機提供多信道的虛電路服務。
幀中繼的層次結構中只有物理層和鏈路層,採用光纖作為傳輸介質。
幀中繼的常見應用:1,區域網的互聯,2,語音傳輸,3,文件傳輸。
ATM(非同步傳輸模式),ATM的信元具有固定的長度,53個位元組,5個自己是信頭,48個位元組是信息段。
ATM網路環境由兩部分組成:ATM網路和ATM終端用戶。
區域網L3交換技術:Fast IP技術,Net Flow技術
廣域網L3交換技術:Tag Switching
虛擬區域網:是通過路由和交換設備在網路的物理拓撲結構基礎上建立的邏輯網路。
虛擬區域網的交換技術:埠交換、幀交換、元交換。
虛擬區域網的劃分方法:按交換埠號、按MAC地址、按第三層協議。
VPN(虛擬專用網),特點:1,安全保障,2,服務質量保證,3,可擴充性和靈活性,4,可管理性。
VPN的安全技術:隧道技術、加解密技術、密鑰管理技術、使用者與設備身份認證技術。
網路管理基本功能:故障管理、計費管理、配置管理、性能管理、安全管理。
SNMP(簡單網路管理協議),CMIS/CMIP(公共管理信息服務和公共管理信息協議)。
J. 計算機網路知識點
一、計算機網路概述
1.1 計算機網路的分類
按照網路的作用范圍:廣域網(WAN)、城域網(MAN)、區域網(LAN);
按照網路使用者:公用網路、專用網路。
1.2 計算機網路的層次結構
TCP/IP四層模型與OSI體系結構對比:
1.3 層次結構設計的基本原則
各層之間是相互獨立的;
每一層需要有足夠的靈活性;
各層之間完全解耦。
1.4 計算機網路的性能指標
速率:bps=bit/s 時延:發送時延、傳播時延、排隊時延、處理時延 往返時間RTT:數據報文在端到端通信中的來回一次的時間。
二、物理層
物理層的作用:連接不同的物理設備,傳輸比特流。該層為上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。
物理層設備:
中繼器【Repeater,也叫放大器】:同一區域網的再生信號;兩埠的網段必須同一協議;5-4-3規程:10BASE-5乙太網中,最多串聯4個中繼器,5段中只能有3個連接主機;
集線器:同一區域網的再生、放大信號(多埠的中繼器);半雙工,不能隔離沖突域也不能隔離廣播域。
信道的基本概念:信道是往一個方向傳輸信息的媒體,一條通信電路包含一個發送信道和一個接受信道。
單工通信信道:只能一個方向通信,沒有反方向反饋的信道;
半雙工通信信道:雙方都可以發送和接受信息,但不能同時發送也不能同時接收;
全雙工通信信道:雙方都可以同時發送和接收。
三、數據鏈路層
3.1 數據鏈路層概述
數據鏈路層在物理層提供的服務的基礎上向網路層提供服務,其最基本的服務是將源自網路層來的數據可靠地傳輸到相鄰節點的目標機網路層。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。
該層的作用包括: 物理地址定址、數據的成幀、流量控制、數據的檢錯、重發 等。
有關數據鏈路層的重要知識點:
數據鏈路層為網路層提供可靠的數據傳輸;
基本數據單位為幀;
主要的協議:乙太網協議;
兩個重要設備名稱:網橋和交換機。
封裝成幀:「幀」是 數據鏈路層 數據的基本單位:
透明傳輸:「透明」是指即使控制字元在幀數據中,但是要當做不存在去處理。即在控制字元前加上轉義字元ESC。
3.2 數據鏈路層的差錯監測
差錯檢測:奇偶校驗碼、循環冗餘校驗碼CRC
奇偶校驗碼–局限性:當出錯兩位時,檢測不到錯誤。
循環冗餘檢驗碼:根據傳輸或保存的數據而產生固定位數校驗碼。
3.3 最大傳輸單元MTU
最大傳輸單元MTU(Maximum Transmission Unit),數據鏈路層的數據幀不是無限大的,數據幀長度受MTU限制.
路徑MTU:由鏈路中MTU的最小值決定。
3.4 乙太網協議詳解
MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進製表示。
乙太網協議:是一種使用廣泛的區域網技術,是一種應用於數據鏈路層的協議,使用乙太網可以完成相鄰設備的數據幀傳輸:
區域網分類:
Ethernet乙太網IEEE802.3:
乙太網第一個廣泛部署的高速區域網
乙太網數據速率快
乙太網硬體價格便宜,網路造價成本低
乙太網幀結構:
類型:標識上層協議(2位元組)
目的地址和源地址:MAC地址(每個6位元組)
數據:封裝的上層協議的分組(46~1500位元組)
CRC:循環冗餘碼(4位元組)
乙太網最短幀:乙太網幀最短64位元組;乙太網幀除了數據部分18位元組;數據最短46位元組;
MAC地址(物理地址、區域網地址)
MAC地址長度為6位元組,48位;
MAC地址具有唯一性,每個網路適配器對應一個MAC地址;
通常採用十六進製表示法,每個位元組表示一個十六進制數,用 - 或 : 連接起來;
MAC廣播地址:FF-FF-FF-FF-FF-FF。
四、網路層
網路層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括定址和路由選擇、連接的建立、保持和終止等。數據交換技術是報文交換(基本上被分組所替代):採用儲存轉發方式,數據交換單位是報文。
網路層中涉及眾多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。
與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、網際網路報文協議ICMP、網際網路組管理協議IGMP。具體的協議我們會在接下來的部分進行總結,有關網路層的重點為:
1、網路層負責對子網間的數據包進行路由選擇。此外,網路層還可以實現擁塞控制、網際互連等功能;
2、基本數據單位為IP數據報;
3、包含的主要協議:
IP協議(Internet Protocol,網際網路互聯協議);
ICMP協議(Internet Control Message Protocol,網際網路控制報文協議);
ARP協議(Address Resolution Protocol,地址解析協議);
RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。
4、重要的設備:路由器。
路由器相關協議
4.1 IP協議詳解
IP網際協議是 Internet 網路層最核心的協議。虛擬互聯網路的產生:實際的計算機網路錯綜復雜;物理設備通過使用IP協議,屏蔽了物理網路之間的差異;當網路中主機使用IP協議連接時,無需關注網路細節,於是形成了虛擬網路。
IP協議使得復雜的實際網路變為一個虛擬互聯的網路;並且解決了在虛擬網路中數據報傳輸路徑的問題。
其中,版本指IP協議的版本,佔4位,如IPv4和IPv6;首部位長度表示IP首部長度,佔4位,最大數值位15;總長度表示IP數據報總長度,佔16位,最大數值位65535;TTL表示IP數據報文在網路中的壽命,佔8位;協議表明IP數據所攜帶的具體數據是什麼協議的,如TCP、UDP。
4.2 IP協議的轉發流程
4.3 IP地址的子網劃分
A類(8網路號+24主機號)、B類(16網路號+16主機號)、C類(24網路號+8主機號)可以用於標識網路中的主機或路由器,D類地址作為組廣播地址,E類是地址保留。
4.4 網路地址轉換NAT技術
用於多個主機通過一個公有IP訪問訪問互聯網的私有網路中,減緩了IP地址的消耗,但是增加了網路通信的復雜度。
NAT 工作原理:
從內網出去的IP數據報,將其IP地址替換為NAT伺服器擁有的合法的公共IP地址,並將替換關系記錄到NAT轉換表中;
從公共互聯網返回的IP數據報,依據其目的的IP地址檢索NAT轉換表,並利用檢索到的內部私有IP地址替換目的IP地址,然後將IP數據報轉發到內部網路。
4.5 ARP協議與RARP協議
地址解析協議 ARP(Address Resolution Protocol):為網卡(網路適配器)的IP地址到對應的硬體地址提供動態映射。可以把網路層32位地址轉化為數據鏈路層MAC48位地址。
ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
RARP(Reverse Address Resolution Protocol)協議指逆地址解析協議,可以把數據鏈路層MAC48位地址轉化為網路層32位地址。
4.6 ICMP協議詳解
網際控制報文協議(Internet Control Message Protocol),可以報告錯誤信息或者異常情況,ICMP報文封裝在IP數據報當中。
ICMP協議的應用:
Ping應用:網路故障的排查;
Traceroute應用:可以探測IP數據報在網路中走過的路徑。
4.7網路層的路由概述
關於路由演算法的要求:正確的完整的、在計算上應該盡可能是簡單的、可以適應網路中的變化、穩定的公平的。
自治系統AS: 指處於一個管理機構下的網路設備群,AS內部網路自治管理,對外提供一個或多個出入口,其中自治系統內部的路由協議為內部網關協議,如RIP、OSPF等;自治系統外部的路由協議為外部網關協議,如BGP。
靜態路由: 人工配置,難度和復雜度高;
動態路由:
鏈路狀態路由選擇演算法LS:向所有隔壁路由發送信息收斂快;全局式路由選擇演算法,每個路由器計算路由時,需構建整個網路拓撲圖;利用Dijkstra演算法求源端到目的端網路的最短路徑;Dijkstra(迪傑斯特拉)演算法
距離-向量路由選擇演算法DV:向所有隔壁路由發送信息收斂慢、會存在迴路;基礎是Bellman-Ford方程(簡稱B-F方程);
4.8 內部網關路由協議之RIP協議
路由信息協議 RIP(Routing Information Protocol)【應用層】,基於距離-向量的路由選擇演算法,較小的AS(自治系統),適合小型網路;RIP報文,封裝進UDP數據報。
RIP協議特性:
RIP在度量路徑時採用的是跳數(每個路由器維護自身到其他每個路由器的距離記錄);
RIP的費用定義在源路由器和目的子網之間;
RIP被限制的網路直徑不超過15跳;
和隔壁交換所有的信息,30主動一次(廣播)。
4.9 內部網關路由協議之OSPF協議
開放最短路徑優先協議 OSPF(Open Shortest Path First)【網路層】,基於鏈路狀態的路由選擇演算法(即Dijkstra演算法),較大規模的AS ,適合大型網路,直接封裝在IP數據報傳輸。
OSPF協議優點:
安全;
支持多條相同費用路徑;
支持區別化費用度量;
支持單播路由和多播路由;
分層路由。
RIP與OSPF的對比(路由演算法決定其性質):
4.10外部網關路由協議之BGP協議
BGP(Border Gateway Protocol)邊際網關協議【應用層】:是運行在AS之間的一種協議,尋找一條好路由:首次交換全部信息,以後只交換變化的部分,BGP封裝進TCP報文段.
五、傳輸層
第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。
傳輸層的任務是根據通信子網的特性,最佳的利用網路資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。
網路層只是根據網路地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的埠。
有關網路層的重點:
傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,用戶數據報協議);
重要設備:網關。
5.1 UDP協議詳解
UDP(User Datagram Protocol: 用戶數據報協議),是一個非常簡單的協議。
UDP協議的特點:
UDP是無連接協議;
UDP不能保證可靠的交付數據;
UDP是面向報文傳輸的;
UDP沒有擁塞控制;
UDP首部開銷很小。
UDP數據報結構:
首部:8B,四欄位/2B【源埠 | 目的埠 | UDP長度 | 校驗和】 數據欄位:應用數據
5.2 TCP協議詳解
TCP(Transmission Control Protocol: 傳輸控制協議),是計算機網路中非常復雜的一個協議。
TCP協議的功能:
對應用層報文進行分段和重組;
面向應用層實現復用與分解;
實現端到端的流量控制;
擁塞控制;
傳輸層定址;
對收到的報文進行差錯檢測(首部和數據部分都檢錯);
實現進程間的端到端可靠數據傳輸控制。
TCP協議的特點:
TCP是面向連接的協議;
TCP是面向位元組流的協議;
TCP的一個連接有兩端,即點對點通信;
TCP提供可靠的傳輸服務;
TCP協議提供全雙工通信(每條TCP連接只能一對一);
5.2.1 TCP報文段結構:
最大報文段長度:報文段中封裝的應用層數據的最大長度。
TCP首部:
序號欄位:TCP的序號是對每個應用層數據的每個位元組進行編號
確認序號欄位:期望從對方接收數據的位元組序號,即該序號對應的位元組尚未收到。用ack_seq標識;
TCP段的首部長度最短是20B ,最長為60位元組。但是長度必須為4B的整數倍
TCP標記的作用:
5.3 可靠傳輸的基本原理
基本原理:
不可靠傳輸信道在數據傳輸中可能發生的情況:比特差錯、亂序、重傳、丟失
基於不可靠信道實現可靠數據傳輸採取的措施:
差錯檢測:利用編碼實現數據包傳輸過程中的比特差錯檢測 確認:接收方向發送方反饋接收狀態 重傳:發送方重新發送接收方沒有正確接收的數據 序號:確保數據按序提交 計時器:解決數據丟失問題;
停止等待協議:是最簡單的可靠傳輸協議,但是該協議對信道的利用率不高。
連續ARQ(Automatic Repeat reQuest:自動重傳請求)協議:滑動窗口+累計確認,大幅提高了信道的利用率。
5.3.1TCP協議的可靠傳輸
基於連續ARQ協議,在某些情況下,重傳的效率並不高,會重復傳輸部分已經成功接收的位元組。
5.3.2 TCP協議的流量控制
流量控制:讓發送方發送速率不要太快,TCP協議使用滑動窗口實現流量控制。
5.4 TCP協議的擁塞控制
擁塞控制與流量控制的區別:流量控制考慮點對點的通信量的控制,而擁塞控制考慮整個網路,是全局性的考慮。擁塞控制的方法:慢啟動演算法+擁塞避免演算法。
慢開始和擁塞避免:
【慢開始】擁塞窗口從1指數增長;
到達閾值時進入【擁塞避免】,變成+1增長;
【超時】,閾值變為當前cwnd的一半(不能<2);
再從【慢開始】,擁塞窗口從1指數增長。
快重傳和快恢復:
發送方連續收到3個冗餘ACK,執行【快重傳】,不必等計時器超時;
執行【快恢復】,閾值變為當前cwnd的一半(不能<2),並從此新的ssthresh點進入【擁塞避免】。
5.5 TCP連接的三次握手(重要)
TCP三次握手使用指令:
面試常客:為什麼需要三次握手?
第一次握手:客戶發送請求,此時伺服器知道客戶能發;
第二次握手:伺服器發送確認,此時客戶知道伺服器能發能收;
第三次握手:客戶發送確認,此時伺服器知道客戶能收。
建立連接(三次握手):
第一次: 客戶向伺服器發送連接請求段,建立連接請求控制段(SYN=1),表示傳輸的報文段的第一個數據位元組的序列號是x,此序列號代表整個報文段的序號(seq=x);客戶端進入 SYN_SEND (同步發送狀態);
第二次: 伺服器發回確認報文段,同意建立新連接的確認段(SYN=1),確認序號欄位有效(ACK=1),伺服器告訴客戶端報文段序號是y(seq=y),表示伺服器已經收到客戶端序號為x的報文段,准備接受客戶端序列號為x+1的報文段(ack_seq=x+1);伺服器由LISTEN進入SYN_RCVD (同步收到狀態);
第三次: 客戶對伺服器的同一連接進行確認.確認序號欄位有效(ACK=1),客戶此次的報文段的序列號是x+1(seq=x+1),客戶期望接受伺服器序列號為y+1的報文段(ack_seq=y+1);當客戶發送ack時,客戶端進入ESTABLISHED 狀態;當服務收到客戶發送的ack後,也進入ESTABLISHED狀態;第三次握手可攜帶數據;
5.6 TCP連接的四次揮手(重要)
釋放連接(四次揮手)
第一次: 客戶向伺服器發送釋放連接報文段,發送端數據發送完畢,請求釋放連接(FIN=1),傳輸的第一個數據位元組的序號是x(seq=x);客戶端狀態由ESTABLISHED進入FIN_WAIT_1(終止等待1狀態);
第二次: 伺服器向客戶發送確認段,確認字型大小段有效(ACK=1),伺服器傳輸的數據序號是y(seq=y),伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);伺服器狀態由ESTABLISHED進入CLOSE_WAIT(關閉等待);客戶端收到ACK段後,由FIN_WAIT_1進入FIN_WAIT_2;
第三次: 伺服器向客戶發送釋放連接報文段,請求釋放連接(FIN=1),確認字型大小段有效(ACK=1),表示伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);表示自己傳輸的第一個位元組序號是y+1(seq=y+1);伺服器狀態由CLOSE_WAIT 進入 LAST_ACK (最後確認狀態);
第四次: 客戶向伺服器發送確認段,確認字型大小段有效(ACK=1),表示客戶傳輸的數據序號是x+1(seq=x+1),表示客戶期望接收伺服器數據序號為y+1+1(ack_seq=y+1+1);客戶端狀態由FIN_WAIT_2進入TIME_WAIT,等待2MSL時間,進入CLOSED狀態;伺服器在收到最後一次ACK後,由LAST_ACK進入CLOSED;
為什麼需要等待2MSL?
最後一個報文沒有確認;
確保發送方的ACK可以到達接收方;
2MSL時間內沒有收到,則接收方會重發;
確保當前連接的所有報文都已經過期。
六、應用層
為操作系統或網路應用程序提供訪問網路服務的介面。應用層重點:
數據傳輸基本單位為報文;
包含的主要協議:FTP(文件傳送協議)、Telnet(遠程登錄協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議(Hyper Text Transfer Protocol)。
6.1 DNS詳解
DNS(Domain Name System:域名系統)【C/S,UDP,埠53】:解決IP地址復雜難以記憶的問題,存儲並完成自己所管轄范圍內主機的 域名 到 IP 地址的映射。
域名解析的順序:
【1】瀏覽器緩存,
【2】找本機的hosts文件,
【3】路由緩存,
【4】找DNS伺服器(本地域名、頂級域名、根域名)->迭代解析、遞歸查詢。
IP—>DNS服務—>便於記憶的域名
域名由點、字母和數字組成,分為頂級域(com,cn,net,gov,org)、二級域(,taobao,qq,alibaba)、三級域(www)(12-2-0852)
6.2 DHCP協議詳解
DHCP(Dynamic Configuration Protocol:動態主機設置協議):是一個區域網協議,是應用UDP協議的應用層協議。作用:為臨時接入區域網的用戶自動分配IP地址。
6.3 HTTP協議詳解
文件傳輸協議(FTP):控制連接(埠21):傳輸控制信息(連接、傳輸請求),以7位ASCII碼的格式。整個會話期間一直打開。
HTTP(HyperText Transfer Protocol:超文本傳輸協議)【TCP,埠80】:是可靠的數據傳輸協議,瀏覽器向伺服器發收報文前,先建立TCP連接,HTTP使用TCP連接方式(HTTP自身無連接)。
HTTP請求報文方式:
GET:請求指定的頁面信息,並返回實體主體;
POST:向指定資源提交數據進行處理請求;
DELETE:請求伺服器刪除指定的頁面;
HEAD:請求讀取URL標識的信息的首部,只返回報文頭;
OPETION:請求一些選項的信息;
PUT:在指明的URL下存儲一個文檔。
6.3.1 HTTP工作的結構
6.3.2 HTTPS協議詳解
HTTPS(Secure)是安全的HTTP協議,埠號443。基於HTTP協議,通過SSL或TLS提供加密處理數據、驗證對方身份以及數據完整性保護
原文地址:https://blog.csdn.net/Royalic/article/details/119985591