❶ 計算機網路筆記——數據鏈路層(停等協議、GBN、SR)
流量控制:防止發送端發送和接收端接收速度不匹配造成傳輸錯誤
傳輸層和數據鏈路層均有流量控制,但是控制手法不一樣
傳輸層:端到端,接收端向發送端發送一個窗口公告。告訴發送端目前我能接收多少
數據鏈路層:點到點,接收端接收不下的就不回復確認(ack),讓發送端自己重傳
涉及協議較多分批寫
優點 :最簡單的控制協議
缺點 :但是性能較弱,信道利用率低
控制方法 :
發送方:發送一個幀
接收方:接收到幀後返回改幀的ack
發送方:接收到ack後發送下一個幀
差錯控制 :
注意 :
滑動窗口協議是基於停止等待協議的優化版本
停止等待協議性能是因為需要等待ack之後才能發送下一個幀,在傳送的很長時間內信道一直在等待狀態
滑動窗口則利用緩沖思想,允許連續發送(未收到ack之前)多個幀,以加強信道利用
窗口 :其實就是緩沖幀的一個容器,將處理好的幀發送到緩沖到窗口,可以發送時就可以直接發送,藉此優化性能。一個幀對應一個窗口。
GBN是滑動窗口中的一種,其中 發送窗口 > 1 , 接收窗口=1 因發送錯誤後需要退回到最後正確連續幀位置開始重發,故而得名。
控制方法 :
發送端:在將發送窗口內的數據連續發送
接收端:收到一個之後向接收端發送累計確認的ack
發送端:收到ack後窗口後移發送後面的數據
累計確認 :累計確認允許接收端一段時間內發送一次ack而不是每一個幀都需要發送ack。該確認方式確認代表其前面的幀都以正確接收到
eg:發送端發送了編號 0,1,2,3,4,5 的幀,等待一段時間後(超過3的超時計時器)累計收到的ack對應 0,2 幀,則證明已經成功 0,1,2 均已經成功接收, 3 傳輸錯誤。並且哪怕 4,5 兩個幀接收成功後也不會返回 4,5 的ack會一直等待從 3 開始重傳
差錯控制 :
發送幀丟失、ack丟失、ack遲到 等處理方法基本和停等協議相同,不同的是採用累計確認恢復的方式,當前面的幀出錯之後後面幀無論是否發送成功都要重傳
優點:信道利用率高(利用窗口有增加發送端佔用,並且減少ack回復次數)
缺點:累計確認使得該方法只接收正確順序的幀,而不接受亂序的幀,錯誤重傳浪費嚴重
發送窗口大小問題
窗口理論上是越多性能越好,但是窗口不能無限大,n比特編碼最大隻能2^(n-1)個窗口,否則會造成幀無法區分(本質就是留了一個比特區分兩組幀)
SR協議可以說是GBN的plus版本,在GBN的基礎上改回每一個幀都要確認的機制,解決了累計確認只接收順序幀的弊端只需要重發錯誤幀。
其中 發送窗口 > 1 , 接收窗口 > 1 , 接收窗口 > 發送窗口 (建議接 收窗口 = 發送窗口 接收窗口少了溢出多了浪費).
控制方法 :
發送端:將窗口內的數據連續發送
接收端:收到一個幀就將該幀緩存到窗口中並回復一個ack
接收端:接收到順序幀後將數據提交給上層並接收窗口後移(若接收到的幀不是連續的順序幀時接收窗口不移動)
發送端:接收到順序幀的ack後發送窗口後移(同理發送窗口接收到的ack不連續也不移動)
差錯控制 :
發送幀丟失、ack丟失、ack遲到 三類處理方式仍然和停等協議相同,不同的是SR向上層提交的是多個連續幀,停等只提交一個幀(不連續的幀要等接收或重傳完成後才會提交)
發送窗口大小問題
同GBN一樣,發送窗口和接收窗口都不能無限多,且不說緩存容量問題,當兩組幀同時發送時會造成無法區分,大小上限仍然是2^(n-1)個窗口(本質就是留了一個比特寫組號)
窗口大小這里留一張截圖,方便理解
假設窗口大小都為3(圖中編號到了3是借4窗口的圖,正常應編號到2,但是不妨礙理解)
左邊是錯誤重發,第一組的0幀ack丟失了
右邊是正常收發
三種協議對比:
停等協議:單線程的傻子,簡單不易出錯,但是效率極其低下
GBN:假的多線程(接收端太坑啦),接收端是情種,只等待自己哪一個幀,丟棄了後來的幀
SR:多線程,接收端有收藏癖,等待集齊一套召喚神龍(提交給上層這只神龍……)
❷ 計算機網路自學筆記:選路演算法
網路層必須確定從發送方到接收方分組所經過的路徑。選路就是在網路中的路由器里的給某個數據報確定好路徑(即路由)。
一 台主機通常直接與一台路由器相連接,該路由器即為該主機的默認路由器,又稱為該主機的默認網關。 每當某主機向外部網路發送一個分組時,該分組都被傳送給它的默認網關。
如果將源主機的默認網關稱為源路由器,把目的主機的默認網關稱為目的路由器。為一個分組從源主機到目的主機選路的問題於 是可歸結為從源路由器到目的路由器的選路問題。
選路演算法的目標很簡單:給定一組路由器以及連接路由器的鏈路,選路演算法要找到一條從源路由器到目的路由器的最好路徑,通常一條好路徑是指具有最低費用的路徑。
圖 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 運行相同的自治系統間選路協議。
❸ 【山外筆記-計算機網路·第7版】第02章:物理層
[學習筆記]第02章_物理層-列印版.pdf
本章最重要的內容是:
(1)物理層的任務。
(2)幾種常用的信道復用技術。
(3)幾種常用的寬頻接入技術,主要是ADSL和FTTx。
1、物理層簡介
(1)物理層在連接各種計算機的傳輸媒體上傳輸數據比特流,而不是指具體的傳輸媒體。
(2)物理層的作用是盡可能地屏蔽掉傳輸媒體和通信手段的差異。
(3)用於物理層的協議常稱為物理層規程(procere),其實物理層規程就是物理層協議。
2、物理層的主要任務 :確定與傳輸媒體的介面有關的一些特性。
(1)機械特性:指明介面所用接線器的形狀和尺寸、引腳數目和排列、固定和鎖定裝置等。
(2)電氣特性:指明在介面電纜的各條線上出現的電壓的范圍。
(3)功能特性:指明某條線上出現的某一電平的電壓的意義。
(4)過程特性:指明對於不同功能的各種可能事件的出現順序。
3、物理層要完成傳輸方式的轉換。
(1)數據在計算機內部多採用並行傳輸方式。
(2)數據在通信線路(傳輸媒體)上的傳輸方式一般都是串列傳輸,即逐個比特按照時間順序傳輸。
(3)物理連接的方式:點對點、多點連接或廣播連接。
(4)傳輸媒體的種類:架空明線、雙絞線、對稱電纜、同軸電纜、光纜,以及各種波段的無線信道等。
1、數據通信系統的組成
一個數據通信系統可劃分為源系統(或發送端、發送方)、傳輸系統(或傳輸網路)和目的系統(或接收端、接收方)三大部分。
(1)源系統:一般包括以下兩個部分:
(2)目的系統:一般也包括以下兩個部分:
(3)傳輸系統:可以是簡單的傳輸線,也可以是連接在源系統和目的系統之間的復雜網路系統。
2、通信常用術語
(1)通信的目的是傳送消息(message),數據(data)是運送消息的實體。
(2)數據是使用特定方式表示的信息,通常是有意義的符號序列。
(3)信息的表示可用計算機或其他機器(或人)處理或產生。
(4)信號(signal)則是數據的電氣或電磁的表現。
3、信號的分類 :根據信號中代表消息的參數的取值方式不同
(1)模擬信號/連續信號:代表消息的參數的取值是連續的。
(2)數字信號/離散信號:代表消息的參數的取值是離散的。
1、信道
(1)信道一般都是用來表示向某一個方向傳送信息的媒體。
(2)一條通信電路往往包含一條發送信道和一條接收信道。
(3)單向通信只需要一條信道,而雙向交替通信或雙向同時通信則都需要兩條信道(每個方向各一條)。
2、通信的基本方式 :
(1)單向通信又稱為單工通信,只能有一個方向的通信而沒有反方向的交互。如無線電廣播、有線電廣播、電視廣播。
(2)雙向交替通信又稱為半雙工通信,即通信的雙方都可以發送信息,但不能雙方同時發送/接收。
(3)雙向同時通信又稱為全雙工通信,即通信的雙方可以同時發送和接收信息。
3、調制 (molation)
(1)基帶信號:來自信源的信號,即基本頻帶信號。許多信道不能傳輸基帶信號,必須對其進行調制。
(2)調制的分類
4、基帶調制常用的編碼方式 (如圖2-2)
(1)不歸零制:正電平代表1,負電平代表0。
(2)歸零制:正脈沖代表1,負脈沖代表0。
(3)曼徹斯特:編碼位周期中心的向上跳變代表0,位周期中心的向下跳變代表1。也可反過來定義。
(4)差分曼徹斯特:編碼在每一位的中心處始終都有跳變。位開始邊界有跳變代表0,而位開始邊界沒有跳變代表1。
5、帶通調制的基本方法
(1)調幅(AM)即載波的振幅隨基帶數字信號而變化。例如,0或1分別對應於無載波或有載波輸出。
(2)調頻(FM)即載波的頻率隨基帶數字信號而變化。例如,0或1分別對應於頻率f1或f2。
(3)調相(PM)即載波的初始相位隨基帶數字信號而變化。例如,0或1分別對應於相位0度或180度。
(4)多元制的振幅相位混合調制方法:正交振幅調制QAM(Quadrature Amplitude Molation)。
1、信號失真
(1)信號在信道上傳輸時會不可避免地產生失真,但在接收端只要從失真的波形中能夠識別並恢復出原來的碼元信號,那麼這種失真對通信質量就沒有影響。
(2)碼元傳輸的速率越高,或信號傳輸的距離越遠,或雜訊干擾越大,或傳輸媒體質量越差,在接收端的波形的失真就越嚴重。
2、限制碼元在信道上的傳輸速率的因素
(1)信道能夠通過的頻率范圍
(2)信噪比
3、香農公式 (Shannon)
(1)香農公式(Shannon):C = W*log2(1+S/N) (bit/s)
(2)香農公式表明:信道的帶寬或信道中的信噪比越大,信息的極限傳輸速率就越高。
(3)香農公式指出了信息傳輸速率的上限。
(4)香農公式的意義:只要信息傳輸速率低於信道的極限信息傳輸速率,就一定存在某種辦法來實現無差錯的傳輸。
(5)在實際信道上能夠達到的信息傳輸速率要比香農的極限傳輸速率低不少,是因為香農公式的推導過程中並未考慮如各種脈沖干擾和在傳輸中產生的失真等信號損傷。
1、傳輸媒體
傳輸媒體也稱為傳輸介質或傳輸媒介,是數據傳輸系統中在發送器和接收器之間的物理通路。
2、傳輸媒體的分類
(1)導引型傳輸媒體:電磁波被導引沿著固體媒體(雙絞線、同軸電纜或光纖)傳播。
(2)非導引型傳輸媒體:是指自由空間,電磁波的傳輸常稱為無線傳輸。
1、雙絞線
(1)雙絞線也稱為雙扭線, 即把兩根互相絕緣的銅導線並排放在一起,然後用規則的方法絞合(twist)起來。絞合可減少對相鄰導線的電磁干擾。
(2)電纜:通常由一定數量的雙絞線捆成,在其外麵包上護套。
(3)屏蔽雙絞線STP(Shielded Twisted Pair):在雙絞線的外面再加上一層用金屬絲編織成的屏蔽層,提高了雙絞線抗電磁干擾的能力。價格比無屏蔽雙絞線UTP(Unshielded Twisted Pair)要貴一些。
(4)模擬傳輸和數字傳輸都可以使用雙絞線,其通信距離一般為幾到十幾公里。
(5)雙絞線布線標准
(6)雙絞線的使用
2、同軸電纜
(1)同軸電纜由內導體銅質芯線(單股實心線或多股絞合線)、絕緣層、網狀編織的外導體屏蔽層(也可以是單股的)以及保護塑料外層所組成。
(2)由於外導體屏蔽層的作用,同軸電纜具有很好的抗干擾特性,被廣泛用於傳輸較高速率的數據。
(3)同軸電纜主要用在有線電視網的居民小區中。
(4)同軸電纜的帶寬取決於電纜的質量。目前高質量的同軸電纜的帶寬已接近1GHz。
3、光纜
(1)光纖通信就是利用光導纖維(簡稱光纖)傳遞光脈沖來進行通信。有光脈沖為1,沒有光脈沖為0。
(2)光纖是光纖通信的傳輸媒體。
(3)多模光纖:可以存在多條不同角度入射的光線在一條光纖中傳輸。光脈沖在多模光纖中傳輸時會逐漸展寬,造成失真,多模光纖只適合於近距離傳輸。
(4)單模光纖:若光纖的直徑減小到只有一個光的波長,則光纖就像一根波導那樣,可使光線一直向前傳播,而不會產生多次反射。單模光纖的纖芯很細,其直徑只有幾個微米,製造起來成本較高。
(5)光纖通信中常用的三個波段中心:850nm,1300nm和1550nm。
(6)光纜:一根光纜少則只有一根光纖,多則可包括數十至數百根光纖,再加上加強芯和填充物,必要時還可放入遠供電源線,最後加上包帶層和外護套。
(7)光纖的優點
1、無線傳輸
(1)無線傳輸是利用無線信道進行信息的傳輸,可使用的頻段很廣。
(2)LF,MF和HF分別是低頻(30kHz-300kHz)、中頻(300kHz-3MH z)和高頻(3MHz-30MHz)。
(3)V,U,S和E分別是甚高頻(30MHz-300MHz)、特高頻(300MHz-3GHz)、超高頻(3GHz-30GHz)和極高頻(30GHz-300GHz),最高的一個頻段中的T是Tremendously。
2、短波通信: 即高頻通信,主要是靠電離層的反射傳播到地面上很遠的地方,通信質量較差。
3、無線電微波通信
(1)微波的頻率范圍為300M Hz-300GHz(波長1m-1mm),但主要使用2~40GHz的頻率范圍。
(2)微波在空間中直線傳播,會穿透電離層而進入宇宙空間,傳播距離受到限制,一般只有50km左右。
(3)傳統的微波通信主要有兩種方式,即地面微波接力通信和衛星通信。
(4)微波接力通信:在一條微波通信信道的兩個終端之間建立若干個中繼站,中繼站把前一站送來的信號經過放大後再發送到下一站,故稱為「接力」,可傳輸電話、電報、圖像、數據等信息。
(5)衛星通信:利用高空的人造同步地球衛星作為中繼器的一種微波接力通信。
(6)無線區域網使用ISM無線電頻段中的2.4GHz和5.8GHz頻段。
(7)紅外通信、激光通信也使用非導引型媒體,可用於近距離的筆記本電腦相互傳送數據。
1、復用(multiplexing)技術原理
(1)在發送端使用一個復用器,就可以使用一個共享信道進行通信。
(2)在接收端再使用分用器,把合起來傳輸的信息分別送到相應的終點。
(3)復用器和分用器總是成對使用,在復用器和分用器之間是用戶共享的高速信道。
(4)分用器(demultiplexer)的作用:把高速信道傳送過來的數據進行分用,分別送交到相應的用戶。
2、最基本的復用
(1)頻分復用FDM(Frequency Division Multiplexing)
(2)時分復用TDM(Time Division Multiplexing):
3、統計時分復用STDM (Statistic TDM)
(1)統計時分復用STDM是一種改進的時分復用,能明顯地提高信道的利用率。
(2)集中器(concentrator):將多個用戶的數據集中起來通過高速線路發送到一個遠地計算機。
(3)統計時分復用使用STDM幀來傳送數據,每一個STDM幀中的時隙數小於連接在集中器上的用戶數。
(4)STDM幀不是固定分配時隙,而是按需動態地分配時隙,提高了線路的利用率。
(5)統計復用又稱為非同步時分復用,而普通的時分復用稱為同步時分復用。
(6)STDM幀中每個時隙必須有用戶的地址信息,這是統計時分復用必須要有的和不可避免的一些開銷。
(7)TDM幀和STDM幀都是在物理層傳送的比特流中所劃分的幀。和數據鏈路層的幀是完全不同的概念。
(8)使用統計時分復用的集中器也叫做智能復用器,能提供對整個報文的存儲轉發能力,通過排隊方式使各用戶更合理地共享信道。此外,許多集中器還可能具有路由選擇、數據壓縮、前向糾錯等功能。
1、波分復用WDM (Wavelength Division Multiplexing)
波分復用WDM是光的頻分復用,在一根光纖上用波長來復用兩路光載波信號。
2、密集波分復用DWDM (Dense Wavelength Division Multiplexing)
密集波分復用DWDM是在一根光纖上復用幾十路或更多路數的光載波信號。
1、碼分復用CDM (Code Division Multiplexing)
(1)每一個用戶可以在同樣的時間使用同樣的頻帶進行通信。
(2)各用戶使用經過特殊挑選的不同碼型,因此各用戶之間不會造成干擾。
(3)碼分復用最初用於軍事通信,現已廣泛用於民用的移動通信中,特別是在無線區域網中。
2、碼分多址CDMA (Code Division Multiple Access)。
(1)在CDMA中,每一個比特時間再劃分為m個短的間隔,稱為碼片(chip)。通常m的值是64或128。
(2)使用CDMA的每一個站被指派一個唯一的m bit碼片序列(chip sequence)。
(3)一個站如果發送比特1,則發送m bit碼片序列。如果發送比特0,則發送該碼片序列的二進制反碼。
(4)發送信息的每一個比特要轉換成m個比特的碼片,這種通信方式是擴頻通信中的直接序列擴頻DSSS。
(5)CDMA系統給每一個站分配的碼片序列必須各不相同,並且還互相正交(orthogonal)。
(6)CDMA的工作原理:現假定有一個X站要接收S站發送的數據。
(7)擴頻通信(spread spectrum)分為直接序列擴頻DSSS(Direct Sequence Spread Spectrum)和跳頻擴頻FHSS(Frequency Hopping Spread Spectrum)兩大類。
早起電話機用戶使用雙絞線電纜。長途干線採用的是頻分復用FDM的模擬傳輸方式,現在大都採用時分復用PCM的數字傳輸方式。現代電信網,在數字化的同時,光纖開始成為長途干線最主要的傳輸媒體。
1、早期的數字傳輸系統最主要的缺點:
(1)速率標准不統一。互不兼容的國際標准使國際范圍的基於光纖的高速數據傳輸就很難實現。
(2)不是同步傳輸。為了節約經費,各國的數字網主要採用准同步方式。
2、數字傳輸標准
(1)同步光纖網SONET(Synchronous Optical Network)
(2)同步數字系列SDH(Synchronous Digital Hierarchy)
(3)SDH/SONET定義了標准光信號,規定了波長為1310nm和1550nm的激光源。在物理層定義了幀結構。
(4)SDH/SONET標準的制定,使北美、日本和歐洲三種不同的數字傳輸體制在STM-1等級上獲得了統一,第一次真正實現了數字傳輸體制上的世界性標准。
互聯網的發展初期,用戶利用電話的用戶線通過數據機連接到ISP,速率最高只能達到56kbit/s。
從寬頻接入的媒體來看,寬頻接入技術可以分為有線寬頻接入和無線寬頻接入兩大類。
1、非對稱數字用戶線ADSL (Asymmetric Digital Subscriber Line)
(1)ADSL技術是用數字技術對現有的模擬電話用戶線進行改造,使它能夠承載寬頻數字業務。
(2)ADSL技術把0-4kHz低端頻譜留給傳統電話使用,把原來沒有被利用的高端頻譜留給用戶上網使用。
(3)ADSL的ITU的標準是G.992.1(或稱G.dmt,表示它使用DMT技術)。
(4)「非對稱」是指ADSL的下行(從ISP到用戶)帶寬都遠遠大於上行(從用戶到ISP)帶寬。
(5)ADSL的傳輸距離取決於數據率和用戶線的線徑(用戶線越細,信號傳輸時的衰減就越大)。
(6)ADSL所能得到的最高數據傳輸速率還與實際的用戶線上的信噪比密切相關。
2、ADSL數據機的實現方案 :離散多音調DMT(Discrete Multi-Tone)調制技術
(1)ADSL在用戶線(銅線)的兩端各安裝一個ADSL數據機。
(2)「多音調」就是「多載波」或「多子信道」的意思。
(3)DMT調制技術採用頻分復用的方法,把40kHz-1.1MHz的高端頻譜劃分為許多子信道。
(4)當ADSL啟動時,用戶線兩端的ADSL數據機就測試可用的頻率、各子信道受到的干擾情況,以及在每一個頻率上測試信號的傳輸質量。
(5)ADSL能夠選擇合適的調制方案以獲得盡可能高的數據率,但不能保證固定的數據率。
3、數字用戶線接入復用器DSLAM (DSL Access Multiplexer)
(1)數字用戶線接入復用器包括許多ADSL數據機。
(2)ADSL數據機又稱為接入端接單元ATU(Access Termination Unit)。
(3)ADSL數據機必須成對使用,因此把在電話端局記為ATU-C,用戶家中記為ATU-R。
(4)ADSL最大的好處就是可以利用現有電話網中的用戶線(銅線),而不需要重新布線。
(5)ADSL數據機有兩個插口:
(6)一個DSLAM可支持多達500-1000個用戶。
4、第二代ADSL
(1)ITU-T已頒布了G系列標准,被稱為第二代ADSL,ADSL2。
(1)第二代ADSL通過提高調制效率得到了更高的數據率。
(2)第二代ADSL採用了無縫速率自適應技術SRA(Seamless Rate Adaptation),可在運營中不中斷通信和不產生誤碼的情況下,根據線路的實時狀況,自適應地調整數據率。
(3)第二代ADSL改善了線路質量評測和故障定位功能。
5、ADSL技術的變型 :xDSL
ADSL並不適合於企業,為了滿足企業的需要,產生了ADSL技術的變型:xDSL。
(1)對稱DSL(Symmetric DSL,SDSL):把帶寬平均分配到下行和上行兩個方向,每個方向的速度分別為384kbit/s或1.5Mbit/s,距離分別為5.5km或3km。
(2)HDSL(High speed DSL):使用一對線或兩對線的對稱DSL,是用來取代T1線路的高速數字用戶線,數據速率可達768KBit/s或1.5Mbit/s,距離為2.7-3.6km。
(3)VDSL(Very high speed DSL):比ADSL更快的、用於短距離傳送(300-1800m),即甚高速數字用戶線,是ADSL的快速版本。
1、光纖同軸混合網HFC (Hybrid Fiber Coax)
(1)光纖同軸混合網HFC是在有線電視網的基礎上改造開發的一種居民寬頻接入網。
(2)光纖同軸混合網HFC可傳送電視節目,能提供電話、數據和其他寬頻交互型業務。
(3)有線電視網最早是樹形拓撲結構的同軸電纜網路,採用模擬技術的頻分復用進行單向廣播傳輸。
2、光纖同軸混合網HFC的主要特點:
(1)HFC網把原有線電視網中的同軸電纜主幹部分改換為光纖,光纖從頭端連接到光纖結點(fiber node)。
(2)在光纖結點光信號被轉換為電信號,然後通過同軸電纜傳送到每個用戶家庭。
(3)HFC網具有雙向傳輸功能,而且擴展了傳輸頻帶。
(4)連接到一個光纖結點的典型用戶數是500左右,但不超過2000。
3、電纜數據機 (cable modem)
(1)模擬電視機接收數字電視信號需要把機頂盒(set-top box)的設備連接在同軸電纜和電視機之間。
(2)電纜數據機:用於用戶接入互聯網,以及在上行信道中傳送交互數字電視所需的一些信息。
(3)電纜數據機可以做成一個單獨的設備,也可以做成內置式的,安裝在電視機的機頂盒裡面。
(4)電纜數據機不需要成對使用,而只需安裝在用戶端。
(5)電纜數據機必須解決共享信道中可能出現的沖突問題,比ADSL數據機復雜得多。
信號在陸地上長距離的傳輸,已經基本實現了光纖化。遠距離的傳輸媒體使用光纜。只是到了臨近用戶家庭的地方,才轉為銅纜(電話的用戶線和同軸電纜)。
1、多種寬頻光纖接入方式FTTx
(1)多種寬頻光纖接入方式FTTx,x可代表不同的光纖接入地點,即光電轉換的地方。
(2)光纖到戶FTTH(Fiber To The Home):把光纖一直鋪設到用戶家庭,在光纖進入用戶後,把光信號轉換為電信號,可以使用戶獲得最高的上網速率。
(3)光纖到路邊FTTC(C表示Curb)
(4)光纖到小區FTTZ(Z表示Zone)
(5)光纖到大樓FTTB(B表示Building)
(6)光纖到樓層FTTF(F表示Floor)
(7)光纖到辦公室FTTO(O表示Office)
(8)光纖到桌面FTTD(D表示Desk)
2、無源光網路PON (Passive Optical Network)
(1)光配線網ODN(Optical Distribution Network):在光纖干線和廣大用戶之間,鋪設的轉換裝置,使得數十個家庭用戶能夠共享一根光纖干線。
(2)無源光網路PON(Passive Optical Network),即無源的光配線網。
(3) 無源:表明在光配線網中無須配備電源,因此基本上不用維護,其長期運營成本和管理成本都很低。
(4)光配線網採用波分復用,上行和下行分別使用不同的波長。
(5)光線路終端OLT( Optical Line Terminal)是連接到光纖干線的終端設備。
(6)無源光網路PON下行數據傳輸
(7)無源光網路PON上行數據傳輸
當ONU發送上行數據時,先把電信號轉換為光信號,光分路器把各ONU發來的上行數據匯總後,以TDMA方式發往OLT,而發送時間和長度都由OLT集中控制,以便有序地共享光纖主幹。
(8)從ONU到用戶的個人電腦一般使用乙太網連接,使用5類線作為傳輸媒體。
(9)從總的趨勢來看,光網路單元ONU越來越靠近用戶的家庭,即「光進銅退」。
3、無源光網路PON的種類
(1)乙太網無源光網路EPON(Ethernet PON)
(2)吉比特無源光網路GPON(Gigabit PON)
❹ 計算機網路筆記——數據鏈路層
封裝成幀 :在一段數據的前後部分添加 首部 和 尾部 ,這樣就構成了一個幀。
接收端在收到物理層上交的比特流後,就能根據首部和尾部的標記,從收到的比特流中識別幀的開始和結束.
首部和尾部包含許多的控制信息,他們的一個重要作用: 幀定界 (確定幀的界限)。
幀同步 :接收方應當能從接收到的二進制比特流中區分出幀的起始和終止。
1. 字元計數法
2. 字元(節)填充法
3. 零比特填充法
4. 違規編碼法。
位元組計數法 : Count欄位的脆弱性(其值若有差錯將導致災難性後果)
字元填充法 : 實現上的復雜性和不兼容性
目前較普遍使用的幀同步法是 比特填充 和 違規編碼法 。
差錯源於雜訊:
冗餘編碼: 在數據前面添加校驗數據,和最終收到的數據比對是否有誤,有誤證明傳輸出錯
板栗🌰
一段晦澀的話
「可靠傳輸」:數據鏈路層發送端發送什麼,接收端就收到什麼。
鏈路層使用CRC檢驗,能夠實現無比特差錯的傳輸,但這還不是可靠傳輸。
原理: 多個校驗位同時檢驗一個數據
構成: 檢驗位和數據位
檢驗位個數:海明不等式 2^r >= k + r + 1 計算得出(r為檢驗位個數,k為數據位位數)
檢驗位位置:2的(1-r次方)
編碼: (以數據D = 101101為例)
最終傳輸數據(海明碼): 00 1 0 011 1 01
校驗:
🌰🌰板栗+1
❺ 計算機網路自頂向下方法讀書筆記
link
Client發送一個特殊的 SYN報文段 (標志位SYN置為1)。隨機產生一個初始序號值seq=x,發送給Server,Client進入SYN_SENT狀態,等待Server確認。
Server收到數據包後由標志位SYN=1知道Client請求建立連接,會為該TCP連接分配TCP緩存和變數。並向client發送允許連接報文段的ACK報文段(ACK標志位設置為1),報文段中SYN=1, ack=x+1,並隨機產生一個服務端的初始序號seq=y。發送後,Server進入SYN_RCVD狀態。
Client收到確認後,也要給該連接分配緩存和變數。將發送一個ACK報文段對伺服器的允許連接的報文段進行確認。設置ack=y+1。因為連接已被建立了SYN被置為0。Client和Server進入ESTABLISHED狀態,完成三次握手,隨後Client與Server之間可以開始傳輸數據了。以後每個階段中SYN都將被置為0.
Client(也可以是server,後面流程相反)設置seq=u, 發送一個FIN報文段(FIN標志位設置為1),Client進入FIN_WAIT_1狀態。表示client沒有數據要發送給server了。
Server收到FIN後,發送一個ACK報文段給Client,ack=u+1,並隨機產生一個服務端的初始序號seq=v, Server進入CLOSE_WAIT狀態。表示「同意」client關閉請求
Server發送一個FIN報文段,用來請求關閉Server到Client的數據傳送,同時包含ack=u+1,並隨機產生一個服務端的初始序號seq=w,server進入LAST_ACK狀態。
Client收到FIN後,Client進入TIME_WAIT狀態,接著發送一個ACK報文段ack=w+1給Server, Server收到後進入CLOSED狀態。client在等待了某個固定時間(兩個最大段生命周期,2MSL)之後,沒有收到伺服器端的 ACK ,認為伺服器端已經正常關閉連接,於是自己也關閉連接,進入 CLOSED 狀態。(目的是如果server由於網路原因沒有收到最後的ACK,server將會再發送一個FIN,但若此時client已經CLOSED,則無法回復。因此引入了等待2MSL的流程)。自此就完成了四次揮手,主機中的連接資源也被釋放。
其中 生存時間(TTL) 欄位用來確保數據不會永遠在網路中循環。每當一台路由器處理數據報時,該欄位的值減1。若TTL欄位減為0,則該數據報必須丟棄。
跨網路通信需要經過路由器,同一網路間的通信不需要。127隻有127.0.0.1一個地址可用,代表當前計算機自己。255.255.255.255是 廣播地址 。當一台主機向廣播地址發出數據報時,該報文會交付給網路中的所有主機。
❻ 計算機網路基礎怎麼學
計算機網路基礎學法:
1、看書:對於計算機比較基礎的模塊,我都是比較推薦找一本經典的書籍來好好學習下,不可以只看面經就去面試了。
2、做筆記:計算機網路的知識點還是比較多的,需要看書的時候做好筆記,方便復習。而且做筆記的時候可以就這個知識點去網路下,看看有沒有自己遺漏的點,再給補充進來。
學習計算機網路時我們一般採用折中的辦法,也就是中和 OSI 和 TCP/IP 的優點,採用一種只有五層協議的體系結構,這樣既簡潔又能將概念闡述清楚。
應用層(application-layer)的任務是通過應用進程間的交互來完成特定網路應用。應用層協議定義的是應用進程(進程:主機中正在運行的程序)間的通信和交互的規則。
對於不同的網路應用需要不同的應用層協議。在互聯網中應用層協議很多,如域名系統 DNS,支持萬維網應用的 HTTP 協議,支持電子郵件的 SMTP 協議等等。我們把應用層交互的數據單元稱為報文。
運輸層(transport layer)的主要任務就是負責向兩台主機進程之間的通信提供通用的數據傳輸服務。應用進程利用該服務傳送應用層報文。「通用的」是指並不針對某一個特定的網路應用,而是多種應用可以使用同一個運輸層服務。
❼ 計算機網路自學筆記:TCP
如果你在學習這門課程,僅僅為了理解網路工作原理,那麼只要了解TCP是可靠傳輸,數據傳輸丟失時會重傳就可以了。如果你還要參加研究生考試或者公司面試等,那麼下面內容很有可能成為考查的知識點,主要的重點是序號/確認號的編碼、超時定時器的設置、可靠傳輸和連接的管理。
1 TCP連接
TCP面向連接,在一個應用進程開始向另一個應用進程發送數據之前,這兩個進程必須先相互「握手」,即它們必須相互發送某些預備報文段,以建立連接。連接的實質是雙方都初始化與連接相關的發送/接收緩沖區,以及許多TCP狀態變數。
這種「連接」不是一條如電話網路中端到端的電路,因為它們的狀態完全保留在兩個端系統中。
TCP連接提供的是全雙工服務 ,應用層數據就可在從進程B流向進程A的同時,也從進程A流向進程B。
TCP連接也總是點對點的 ,即在單個發送方與單個接收方之間建立連接。
一個客戶機進程向伺服器進程發送數據時,客戶機進程通過套接字傳遞數據流。
客戶機操作系統中運行的 TCP軟體模塊首先將這些數據放到該連接的發送緩存里 ,然後會不時地從發送緩存里取出一塊數據發送。
TCP可從緩存中取出並放入報文段中發送的數據量受限於最大報文段長MSS,通常由最大鏈路層幀長度來決定(也就是底層的通信鏈路決定)。 例如一個鏈路層幀的最大長度1500位元組,除去數據報頭部長度20位元組,TCP報文段的頭部長度20位元組,MSS為1460位元組。
報文段被往下傳給網路層,網路層將其封裝在網路層IP數據報中。然後這些數據報被發送到網路中。
當TCP在另一端接收到一個報文段後,該報文段的數據就被放人該連接的接收緩存中。應用程序從接收緩存中讀取數據流(注意是應用程序來讀,不是操作系統推送)。
TCP連接的每一端都有各自的發送緩存和接收緩存。
因此TCP連接的組成包括:主機上的緩存、控制變數和與一個進程連接的套接字變數名,以及另一台主機上的一套緩存、控制變數和與一個進程連接的套接字。
在這兩台主機之間的路由器、交換機中,沒有為該連接分配任何緩存和控制變數。
2報文段結構
TCP報文段由首部欄位和一個數據欄位組成。數據欄位包含有應用層數據。
由於MSS限制了報文段數據欄位的最大長度。當TCP發送一個大文件時,TCP通常是將文件劃分成長度為MSS的若干塊。
TCP報文段的結構。
首部包括源埠號和目的埠號,它用於多路復用/多路分解來自或送至上層應用的數據。另外,TCP首部也包括校驗和欄位。報文段首部還包含下列欄位:
32比特的序號欄位和32比特的確認號欄位。這些欄位被TCP發送方和接收方用來實現可靠數據傳輸服務。
16比特的接收窗口欄位,該欄位用於流量控制。該欄位用於指示接收方能夠接受的位元組數量。
4比特的首部長度欄位,該欄位指示以32比特的字為單位的TCP首部長度。一般TCP首部的長度就是20位元組。
可選與變長的選項欄位,該欄位用於當發送方與接收方協商最大報文段長度,或在高速網路環境下用作窗口調節因子時使用。
標志欄位ACK比特用於指示確認欄位中的ACK值的有效性,即該報文段包括一個對已被成功接收報文段的確認。 SYN和FIN比特用於連接建立和拆除。 PSH、URG和緊急指針欄位通常沒有使用。
•序號和確認號
TCP報文段首部兩個最重要的欄位是序號欄位和確認號欄位。
TCP把數據看成一個無結構的但是有序的位元組流。TCP序號是建立在傳送的位元組流之上,而不是建立在傳送的報文段的序列之上。
一個報文段的序號是該報文段首位元組在位元組流中的編號。
例如,假設主機A上的一個進程想通過一條TCP連接向主機B上的一個進程發送一個數據流。主機A中的TCP將對數據流中的每一個位元組進行編號。假定數據流由一個包含4500位元組的文件組成(可以理解為應用程序調用send函數傳遞過來的數據長度),MSS為1000位元組(鏈路層一次能夠傳輸的位元組數),如果主機決定數據流的首位元組編號是7。TCP模塊將為該數據流構建5個報文段(也就是分5個IP數據報)。第一個報文段的序號被賦為7;第二個報文段的序號被賦為1007,第三個報文段的序號被賦為2007,以此類推。前面4個報文段的長度是1000,最後一個是500。
確認號要比序號難理解一些。前面講過,TCP是全雙工的,因此主機A在向主機B發送數據的同時,也可能接收來自主機B的數據。從主機B到達的每個報文段中的序號欄位包含了從B流向A的數據的起始位置。 因此主機B填充進報文段的確認號是主機B期望從主機A收到的下一報文段首位元組的序號。
假設主機B已收到了來自主機A編號為7-1006的所有位元組,同時假設它要發送一個報文段給主機A。主機B等待主機A的數據流中位元組1007及後續所有位元組。所以,主機B會在它發往主機A的報文段的確認號欄位中填上1007。
再舉一個例子,假設主機B已收到一個來自主機A的包含位元組7-1006的報文段,以及另一個包含位元組2007-3006的報文段。由於某種原因,主機A還沒有收到位元組1007-2006的報文段。
在這個例子中,主機A為了重組主機B的數據流,仍在等待位元組1007。因此,A在收到包含位元組2007-3006的報文段時,將會又一次在確認號欄位中包含1007。 因為TCP只確認數據流中至第一個丟失報文段之前的位元組數據,所以TCP被稱為是採用累積確認。
TCP的實現有兩個基本的選擇:
1接收方立即丟棄失序報文段;
2接收方保留失序的位元組,並等待缺少的位元組以填補該間隔。
一條TCP連接的雙方均可隨機地選擇初始序號。 這樣做可以減少將那些仍在網路中的來自兩台主機之間先前連接的報文段,誤認為是新建連接所產生的有效報文段的可能性。
•例子telnet
Telnet由是一個用於遠程登錄的應用層協議。它運行在TCP之上,被設計成可在任意一對主機之間工作。
假設主機A發起一個與主機B的Telnet會話。因為是主機A發起該會話,因此主機A被標記為客戶機,主機B被標記為伺服器。用戶鍵入的每個字元(在客戶機端)都會被發送至遠程主機。遠程主機收到後會復制一個相同的字元發回客戶機,並顯示在Telnet用戶的屏幕上。這種「回顯」用於確保由用戶發送的字元已經被遠程主機收到並處理。因此,在從用戶擊鍵到字元顯示在用戶屏幕上之間的這段時間內,每個字元在網路中傳輸了兩次。
現在假設用戶輸入了一個字元「C」,假設客戶機和伺服器的起始序號分別是42和79。前面講過,一個報文段的序號就是該報文段數據欄位首位元組的序號。因此,客戶機發送的第一個報文段的序號為42,伺服器發送的第一個報文段的序號為79。前面講過,確認號就是主機期待的數據的下一個位元組序號。在TCP連接建立後但沒有發送任何數據之前,客戶機等待位元組79,而伺服器等待位元組42。
如圖所示,共發了3個報文段。第一個報文段是由客戶機發往伺服器,其數據欄位里包含一位元組的字元「C」的ASCII碼,其序號欄位里是42。另外,由於客戶機還沒有接收到來自伺服器的任何數據,因此該報文段中的確認號欄位里是79。
第二個報文段是由伺服器發往客戶機。它有兩個目的:第一個目的是為伺服器所收到的數據提供確認。伺服器通過在確認號欄位中填入43,告訴客戶機它已經成功地收到位元組42及以前的所有位元組,現在正等待著位元組43的出現。第二個目的是回顯字元「C」。因此,在第二個報文段的數據欄位里填入的是字元「C」的ASCII碼,第二個報文段的序號為79,它是該TCP連接上從伺服器到客戶機的數據流的起始序號,也是伺服器要發送的第一個位元組的數據。
這里客戶機到伺服器的數據的確認被裝載在一個伺服器到客戶機的數據的報文段中,這種確認被稱為是捎帶確認.
第三個報文段是從客戶機發往伺服器的。它的唯一目的是確認已從伺服器收到的數據。
3往返時延的估計與超時
TCP如同前面所講的rdt協議一樣,採用超時/重傳機制來處理報文段的丟失問題。最重要的一個問題就是超時間隔長度的設置。顯然,超時間隔必須大於TCP連接的往返時延RTT,即從一個報文段發出到收到其確認時。否則會造成不必要的重傳。
•估計往返時延
TCP估計發送方與接收方之間的往返時延是通過採集報文段的樣本RTT來實現的,就是從某報文段被發出到對該報文段的確認被收到之間的時間長度。
也就是說TCP為一個已發送的但目前尚未被確認的報文段估計sampleRTT,從而產生一個接近每個RTT的采樣值。但是,TCP不會為重傳的報文段計算RTT。
為了估計一個典型的RTT,採取了某種對RTT取平均值的辦法。TCP據下列公式來更新
EstimatedRTT=(1-)*EstimatedRTT+*SampleRTT
即估計RTT的新值是由以前估計的RTT值與sampleRTT新值加權組合而成的。
參考值是a=0.125,因此是一個加權平均值。顯然這個加權平均對最新樣本賦予的權值
要大於對老樣本賦予的權值。因為越新的樣本能更好地反映出網路當前的擁塞情況。從統計學觀點來講,這種平均被稱為指數加權移動平均
除了估算RTT外,還需要測量RTT的變化,RTT偏差的程度,因為直接使用平均值設置計時器會有問題(太靈敏)。
DevRTT=(1-β)*DevRTT+β*|SampleRTT-EstimatedRTT|
RTT偏差也使用了指數加權移動平均。B取值0.25.
•設置和管理重傳超時間隔
假設已經得到了估計RTT值和RTT偏差值,那麼TCP超時間隔應該用什麼值呢?TCP將超時間隔設置成大於等於估計RTT值和4倍的RTT偏差值,否則將造成不必要的重傳。但是超時間隔也不應該比估計RTT值大太多,否則當報文段丟失時,TCP不能很快地重傳該報文段,從而將給上層應用帶來很大的數據傳輸時延。因此,要求將超時間隔設為估計RTT值加上一定餘量。當估計RTT值波動較大時,這個余最應該大些;當波動比較小時,這個餘量應該小些。因此使用4倍的偏差值來設置重傳時間。
TimeoutInterval=EstimatedRTT+4*DevRTT
4可信數據傳輸
網際網路的網路層服務是不可靠的。IP不保證數據報的交付,不保證數據報的按序交付,也不保證數據報中數據的完整性。
TCP在IP不可靠的盡力而為服務基礎上建立了一種可靠數據傳輸服務。
TCP提供可靠數據傳輸的方法涉及前面學過的許多原理。
TCP採用流水線協議、累計確認。
TCP推薦的定時器管理過程使用單一的重傳定時器,即使有多個已發送但還未被確認的報文段也一樣。重傳由超時和多個ACK觸發。
在TCP發送方有3種與發送和重傳有關的主要事件:從上層應用程序接收數據,定時器超時和收到確認ACK。
從上層應用程序接收數據。一旦這個事件發生,TCP就從應用程序接收數據,將數據封裝在一個報文段中,並將該報文段交給IP。注意到每一個報文段都包含一個序號,這個序號就是該報文段第一個數據位元組的位元組流編號。如果定時器還沒有計時,則當報文段被傳給IP時,TCP就啟動一個該定時器。
第二個事件是超時。TCP通過重傳引起超時的報文段來響應超時事件。然後TCP重啟定時器。
第三個事件是一個來自接收方的確認報文段(ACK)。當該事件發生時,TCP將ACK的值y與變數SendBase(發送窗口的基地址)進行比較。TCP狀態變數SendBase是最早未被確認的位元組的序號。就是指接收方已正確按序接收到數據的最後一個位元組的序號。TCP採用累積確認,所以y確認了位元組編號在y之前的所有位元組都已經收到。如果Y>SendBase,則該ACK是在確認一個或多個先前未被確認的報文段。因此發送方更新其SendBase變數,相當於發送窗口向前移動。
另外,如果當前有未被確認的報文段,TCP還要重新啟動定時器。
快速重傳
超時觸發重傳存在的另一個問題是超時周期可能相對較長。當一個報文段丟失時,這種長超時周期迫使發送方等待很長時間才重傳丟失的分組,因而增加了端到端時延。所以通常發送方可在超時事件發生之前通過觀察冗餘ACK來檢測丟包情況。
冗餘ACK就是接收方再次確認某個報文段的ACK,而發送方先前已經收到對該報文段的確認。
當TCP接收方收到一個序號比所期望的序號大的報文段時,它認為檢測到了數據流中的一個間隔,即有報文段丟失。這個間隔可能是由於在網路中報文段丟失或重新排序造成的。因為TCP使用累計確認,所以接收方不向發送方發回否定確認,而是對最後一個正確接收報文段進行重復確認(即產生一個冗餘ACK)
如果TCP發送方接收到對相同報文段的3個冗餘ACK.它就認為跟在這個已被確認過3次的報文段之後的報文段已經丟失。一旦收到3個冗餘ACK,TCP就執行快速重傳 ,
即在該報文段的定時器過期之前重傳丟失的報文段。
5流量控制
前面講過,一條TCP連接雙方的主機都為該連接設置了接收緩存。當該TCP連接收到正確、按序的位元組後,它就將數據放入接收緩存。相關聯的應用進程會從該緩存中讀取數據,但沒必要數據剛一到達就立即讀取。事實上,接收方應用也許正忙於其他任務,甚至要過很長時間後才去讀取該數據。如果應用程序讀取數據時相當緩慢,而發送方發送數據太多、太快,會很容易使這個連接的接收緩存溢出。
TCP為應用程序提供了流量控制服務以消除發送方導致接收方緩存溢出的可能性。因此,可以說 流量控制是一個速度匹配服務,即發送方的發送速率與接收方應用程序的讀速率相匹配。
前面提到過,TCP發送方也可能因為IP網路的擁塞而被限制,這種形式的發送方的控制被稱為擁塞控制(congestioncontrol)。
TCP通過讓接收方維護一個稱為接收窗口的變數來提供流量控制。接收窗口用於告訴發送方,該接收方還有多少可用的緩存空間。因為TCP是全雙工通信,在連接兩端的發送方都各自維護一個接收窗口變數。 主機把當前的空閑接收緩存大小值放入它發給對方主機的報文段接收窗口欄位中,通知對方它在該連接的緩存中還有多少可用空間。
6 TCP連接管理
客戶機中的TCP會用以下方式與伺服器建立一條TCP連接:
第一步: 客戶機端首先向伺服器發送一個SNY比特被置為1報文段。該報文段中不包含應用層數據,這個特殊報文段被稱為SYN報文段。另外,客戶機會選擇一個起始序號,並將其放置到報文段的序號欄位中。為了避免某些安全性攻擊,這里一般隨機選擇序號。
第二步: 一旦包含TCP報文段的用戶數據報到達伺服器主機,伺服器會從該數據報中提取出TCPSYN報文段,為該TCP連接分配TCP緩存和控制變數,並向客戶機TCP發送允許連接的報文段。這個允許連接的報文段還是不包含應用層數據。但是,在報文段的首部卻包含3個重要的信息。
首先,SYN比特被置為1。其次,該 TCP報文段首部的確認號欄位被置為客戶端序號+1最後,伺服器選擇自己的初始序號,並將其放置到TCP報文段首部的序號欄位中。 這個允許連接的報文段實際上表明了:「我收到了你要求建立連接的、帶有初始序號的分組。我同意建立該連接,我自己的初始序號是XX」。這個同意連接的報文段通常被稱為SYN+ACK報文段。
第三步: 在收到SYN+ACK報文段後,客戶機也要給該連接分配緩存和控制變數。客戶機主機還會向伺服器發送另外一個報文段,這個報文段對伺服器允許連接的報文段進行了確認。因為連接已經建立了,所以該ACK比特被置為1,稱為ACK報文段,可以攜帶數據。
一旦以上3步完成,客戶機和伺服器就可以相互發送含有數據的報文段了。
為了建立連接,在兩台主機之間發送了3個分組,這種連接建立過程通常被稱為 三次握手(SNY、SYN+ACK、ACK,ACK報文段可以攜帶數據) 。這個過程發生在客戶機connect()伺服器,伺服器accept()客戶連接的階段。
假設客戶機應用程序決定要關閉該連接。(注意,伺服器也能選擇關閉該連接)客戶機發送一個FIN比特被置為1的TCP報文段,並進人FINWAIT1狀態。
當處在FINWAIT1狀態時,客戶機TCP等待一個來自伺服器的帶有ACK確認信息的TCP報文段。當它收到該報文段時,客戶機TCP進入FINWAIT2狀態。
當處在FINWAIT2狀態時,客戶機等待來自伺服器的FIN比特被置為1的另一個報文段,
收到該報文段後,客戶機TCP對伺服器的報文段進行ACK確認,並進入TIME_WAIT狀態。TIME_WAIT狀態使得TCP客戶機重傳最終確認報文,以防該ACK丟失。在TIME_WAIT狀態中所消耗的時間是與具體實現有關的,一般是30秒或更多時間。
經過等待後,連接正式關閉,客戶機端所有與連接有關的資源將被釋放。 因此TCP連接的關閉需要客戶端和伺服器端互相交換連接關閉的FIN、ACK置位報文段。
❽ 思科模擬器中,線纜兩端物理連接不通,亮什麼顏色
安裝好以後啟動,軟體界面如圖:
在這里插入圖片描述
2.我們在工作區中添加一個2600 XM路由器。首先我們在設備類型庫中選擇路由器,特定設備庫中單擊2600 XM路由器,然後在工作區中單擊一下就可以把2600 XM路由器添加到工作區中了。我們用同樣的方式再添加一個2950-24交換機和兩台PC。注意我們可以按住Ctrl鍵再單擊相應設備以連續添加設備。
3.接下來我們要選取合適的線型將設備連接起來。我們可以根據設備間的不同介面選擇特定的線型來連接,當然如果我們只是想快速的建立網路拓撲而不考慮線型選擇時我們可以選擇自動連線。
在這里插入圖片描述
各線纜兩端有不同顏色的圓點,它們分別表示什麼樣的含義呢?
鏈路圓點的狀態 含義
亮綠色 物理連接准備就緒,還沒有Line Protocol status 的指示
閃爍的綠色 連接激活
紅色 物理連接不通,沒有信號
黃色 交換機埠處於"阻塞"狀態
名詞解釋:
DHCP 動態主機控制協議
subnet Mask 子網掩碼
default Gateway (默認路由)默認網關
router 路由器
switches 交換機
hubs 集線器
wireless Devices 無線設備
WAN emulation 模擬廣域網
界面基本組件介紹:
Routers 路由器(Ctrl+Alt+R)
Alt
Switches 交換機(Ctrl+Alt+S)
Alt
Hubs 集線器(Ctrl+Alt+U)
Alt
Wieless Devices 無線設備(Ctrl+Alt+W)
Alt
Connections 通訊鏈路(Ctrl+Alt+O)
我們一般選擇連接線中的第一個,它會幫自動選擇合適的鏈路的類型
Alt
End Devices 終端設備(Ctrl+Alt+V)
Alt
WAN Emualtion WAN模擬(Ctrl+Alt+N)
Alt
Custom Made Devices 定製設備(Ctrl+Alt+T)
Alt
Multiuser Connection 多用戶連接器(Ctrl+Alt+N)
Alt
接下來用一個具體的例子來介紹基本使用方法
最終的效果圖:
在這里插入圖片描述
首先添加如下設備:
在這里插入圖片描述
當我們想要想使用自動連接線連接各個設備時,發現報錯:
在這里插入圖片描述
原因在於默認的2620XM路由器埠不夠用,我們需要在設備互連前要添加所需的路由器模塊(添加模塊時注意要關閉電源)。我們為 Router 0 添加NM-4E模塊(將模塊添加到空缺處即可,刪除模塊時將模塊拖回到原處即可)。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
關閉後再次將NM-4E模塊拖拽進空缺處,然後啟動路由器電源,即可。
上面三個路由器都重復此操作,全部換上NM-4E路由單元。
構成以下網路拓撲圖:
在這里插入圖片描述
紅色燈表示物理連接不通,沒有信號,如何把紅色燈變成綠色呢?
很簡單,只需把已連接的埠狀態打開即可。
在這里插入圖片描述
如圖,我們可以把滑鼠移動到紅點上,會顯示當前的線路連接的是設備的哪個埠。
在這里插入圖片描述
找到對應的埠後,滑鼠單擊設備,把對應埠的Port Status打開。
在這里插入圖片描述
重復以上步驟,把所有的指示燈全部變綠。
在這里插入圖片描述
但是,我們還需要進一步的配置,才能真正將其聯通。
安裝了NM-4E路由單元的路由器,具有5個可連接埠:
在這里插入圖片描述
這些埠是我們配置路由的關鍵。
我們可以看到Router0與PC0機器相連接的是Fa0/0埠。
配置Router0的FastEthernet0/0介面:
在這里插入圖片描述
配置主機PC0的IP地址信息(必須確保與上面Router0的相應介面配置匹配!!!!):
在這里插入圖片描述
在這里插入圖片描述
對於路由器而言每個埠必須保證IP地址唯一。
重復以上步驟,直到,所有的設備都分配了唯一的IP地址,並且路由器的埠都配置配置正確。
打開CSDN,閱讀體驗更佳
[計算機網路筆記01] Packet Tracer的簡單使用_wong_faye的博客-CSDN博 ...
Packet Tracer使用說明 文章目錄Packet Tracer使用說明前言一、安裝Packet Tracer 7.1安裝與登錄操作界面二、搭建網路拓撲1.添加網路設備2.讀入數據三、 配置網路設備四、模擬網路協議 前言 Cisco Packet Tracer是一款非常優秀的網路模擬軟體,...
繼續訪問
Packet Tracer相關命令_木子木木夕然的博客_packet...
一、 實驗目的 1、 了解交換機的基本配置命令 2、 了解交換機的VLAN配置二、 實驗內容 1、 packet Tracer 配置Cisco交換機 2、 VLAN的配置 1. Packet Tracer 配置Cisco交換機 要配置好Cisco交換機必需要熟悉IOS命令及相關的知識。打...
繼續訪問
最新發布 思科網路模擬器Packet Tracer教程
常用的網路設備如下,主要有:路由器、交換機、集線器、無線設備(AP等)、終端設備(PC、Laptop、Phone、Tablet等)、連線(串口線、雙絞線、光纜等)使用Fiber線將Router1的FastEthernet1/0 連接到交換機的FastEthernet0/1(注意:是1/0連接到0/1)用Serial DCE線將 Router0的 Serial0/0/0 連接到 Router1的 Serial0/0。使用Console線將Router0的Console連接到配置終端的RS 232。
繼續訪問
思科模擬器使用教程PDF版(全)
思科模擬器使用教程,思科模擬器使用教程。
Cisco Packet Tracer簡單使用教程——路由器配置,計算機網路實驗
Cisco Packet Tracer 的簡單使用,靜態網路的配置,計算機網路實訓
繼續訪問
計算機網路實驗(一)Packet Tracer介紹
Packet Tracer介紹 Packet Tracer是Cisco公司針對CCNA認證開發的一個用來設計、配置和故障排除網路的模擬軟體。 Packer Tracer模擬器軟體比Boson功能強大,比Dynamips操作簡單,非常適合網路設備初學者使用。 Packet Tracer模擬器是考CCNA必須掌握的軟體。 學習任務 1、安裝Packer Tracer; 2、利用一台型號為2960的交換機將2pc機互連組建一個小型區域網; 3、分別設置pc機的...
繼續訪問
Packet Tracer的使用(一)
Packet Tracer概述 Packet Tracer是一個使人興奮的網路設計、模擬和建模工具,它允許您在網路、網路安全和物聯網(IoT)方面開發您的技能。它允許您建模復雜的系統,而不需要專門的設備。 Packet Tracer是一種創新的網路模擬和可視化工具。它可以幫助你通過桌面電腦或基於Android或iOS的移動設備練習網路配置和故障排除技能。Packet Tracer可用於L...
繼續訪問
計算機網路——Packet Tracer實現簡單區域網組建和配置
Packet Tracer實現簡單區域網組建和配置 一、實驗目的 1.認識Packet Tracer 。 2.學習使用Packet Tracer進行拓撲的搭建。 3.學習使用Packet Tracer對設備進行配置,並進行簡單的測試。 二、實驗器材 Cisco Packet Tracer Student 三、實驗過程 1.拖放設備和布置線纜 2.用GUI界面配置設備 3.用實時模式測試ping、HTTP和DNS 4.用模擬模式測試ping、HTTP和DNS 5.用CLI界面配置設備(選做) 四、實驗結果及結
繼續訪問
PacketTracer簡單使用】
Packet Tracer搭建網路拓撲觀察分組軌跡的簡單使用
繼續訪問
Cisco Packet Tracer安裝
思科模擬器(Cisco Packet Tracer)安裝步驟 一、下載思科 Cisco Packet Tracer 6.2 網路模擬器正式版軟體包,下載完成後得到zip格式的壓縮包,滑鼠右鍵點擊壓縮包選擇解壓到當前文件夾,進入文件夾,雙擊Cisco Packet Tracer 6.2.0.0052 for Windows Student Version (no tutorials)安裝,點擊Next。 二、進入思科模擬器(Cisco Packet Tracer)使用協議界面,我們先點擊..
繼續訪問
Packet Tracer使用說明
Packet Tracer使用說明 文章目錄Packet Tracer使用說明前言一、安裝Packet Tracer 7.1安裝與登錄操作界面二、搭建網路拓撲1.添加網路設備2.讀入數據三、 配置網路設備四、模擬網路協議 前言 Cisco Packet Tracer是一款非常優秀的網路模擬軟體,可以完成各種規模的網路設計、配置和調試的模擬,提供了和真實環境幾乎一樣的模擬環境。還可以單步模擬各種協議運行過程,觀察在真實環境下無法看到的IP分組傳輸過程。 我們首先安裝一個Packet Tracer
繼續訪問
Cisco Packet Tracer的基本應用
Packet Tracer的基本應用 步驟1. 添加網路設備 Cisco Packet Tracer支持的設備類型有Router(路由器)、Switch(交換機)、Hub(集線器)、Wireless Device(無線設備)、Connection(連接線纜)、End Device(端點設備)、WAN Emulation(廣域網模擬)、Custom Made Deivce(自定義設備)等。 在操作過程中,首先在設備類型區找到要添加的設備類型,然後從設備瑾區找到要添加的設備瑾最後將設備的瑾對應的圖標拖動到工作區
繼續訪問
熱門推薦 Packet Tracer官網下載
文章目錄下載注冊安裝界面各種網路硬體實驗拓撲圖配置表過程配置ping實驗traceroute實驗說明 下載 Cisco Packet Tracer 是由Cisco公司發布的一個輔助學習工具,為學習思科網路課程的初學者去設計、配置、排除網路故障提供了網路模擬環境。用戶可以在軟體的圖形用戶界面上直接使用拖曳方法建立網路拓撲,並可提供數據包在網路中行進的詳細處理過程,觀察網路實時運行情況。可以學習IOS...
繼續訪問
計算機網路基礎——實驗一:PacketTracer基本使用
實驗目的要求: 掌握Cisco Packet Tracer軟體的使用方法 實驗內容和步驟 1.內容:在Cisco Packet Tracer中用HUB組建區域網,利用PING命令檢測機器的互通性。 一、實驗設備 集線器(HUB)一台,工作站PC三台,直連電纜三條。 二、實驗環境 實驗環境如圖1-1所示。 圖1-1 實驗環境 2.步驟: 1、運行Cisco Packet Tracer軟體,在邏輯工作區放入一台集線器(HUB)和三台終端設備PC,用直連線(Copper Straight-Through)按下圖
繼續訪問
Packet Tracer學習——常用命令
用戶模式 Switch> 特權模式 Switch# 全局配置模式 Switch(config)# 埠模式 Switch(config-if)# enable 進入特權模式(一般簡寫為en) config t 進入全局配置模式 interface fa 0/1 進入交換機某個埠視圖模式 exit 返回到上級模式 end 從全局以下模式返回到特權模式 快捷指令 幫助信息(如
繼續訪問
packet tracer 下載及簡介
Packet Tracer Cisco Packet Tracer (下面簡稱PT)是由Cisco公司發布的一個模擬網路環境的輔助學習工具,為學習思科網路課程的初學者去設計、配置、排除網路故障提供了環境。 PT提供可視化、可交互的用戶圖形界面,來模擬各種網路設備及其網路處理過程,使得實驗更直觀、更靈活、更方便。 可以學習IOS的配置、鍛煉故障排查能力。 在packer tracer 的最下面一條是模塊功能區 網路設備(network devices),裡面有特定的子類有路由器(routers),交換機(sw
繼續訪問
Cisco Packet Tracer(對cisco模擬器的初識+路由基本配置)
Cisco Packet Tracer Instructor 路由器一般用在廣域網中,很少配置乙太網介面 一般配置串口,光纖 默認網關即為網關 下一跳的地址 輸入?看命令怎麼寫: en/enable用戶模式進入特權模式 (注意打空格) exit任何模式使用,退出當前模式,進入上一級模式 end從當前模式直接退出,進入特權模式 conf t/configure t...
繼續訪問
Packet Tracer安裝包及安裝教程(8.0版本)
Packet Tracer安裝包及安裝教程(8.0版本)
繼續訪問
Cisco Packet Tracer 實驗
Cisco Packet Tracer 實驗 直接連接兩台 PC 構建 LAN 將兩台 PC 直接連接構成一個網路。注意:直接連接需使用交叉線。 進行兩台 PC 的基本網路配置,只需要配置 IP 地址即可,然後相互 ping 通即成功。 用交換機構建 LAN 構建如下拓撲結構的區域網: PC0 能否 ping 通 PC1、PC2、PC3 ? 能ping通P1 不能Ping通PC2、PC3 PC3 能否 ping 通 PC0、PC1、PC2 ?為什麼? 不能ping通 PC0、PC1 能ping通
繼續訪問
Cisco Packet Tracer下載和安裝、構建網路拓撲、配置網路設備、跟蹤數據包、查看數據包
Cisco Packet Tracer下載和安裝、構建網路拓撲、配置網路設備、跟蹤數據包、查看數據包 下載 一、注冊Cisco賬戶 網址:https://www.cisco.com/c/en/us/index.html 二、注冊Cisco學院的賬戶 網址:https://www.netacad.com/zh-hans/courses/packet-tracer/introction-packet-tracer 注意: 學院的帳號也要注冊,否則Packet Tracer軟體每次都要求登陸,否則只能以Gu
繼續訪問
1.3.1 認識 Packet Tracer 軟體
Packet Tracer 是 Cisco 公司針對 CCNA 認證開發的一個用來設計、配置和故障排除網路的模擬軟體。
繼續訪問
packet tracer
路由器
❾ 計算機網路知識點
一、計算機網路概述
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