(物理層、數據鏈路層... 這些分層并不是一種協議,而是一種理論框架)
一、物理層
物理層的核心任務是處理原始比特流在物理傳輸介質上的傳輸。
主要任務
物理層的主要任務可以概括為以下幾點,它們是確保數據能在網絡硬件間可靠傳輸的基礎:
定義傳輸介質 物理層定義了數據傳輸所使用的物理介質,例如雙絞線、光纖、同軸電纜或無線電波。它規定了這些介質的物理特性和連接方式,確保不同設備能夠通過統一的介質進行通信。
定義數據傳輸單元 物理層的數據傳輸單元是比特(bit),也就是0和1。它不關心這些比特代表什么信息,只負責將它們以電信號、光信號或無線電信號的形式進行傳輸。
信號編碼 物理層負責將數字比特流(0和1)轉換為適合在物理介質上傳輸的物理信號。這個過程稱為編碼(Encoding)。例如,它可能用不同的電壓水平、光脈沖或無線電頻率來表示0和1。
規定接口特性 物理層規定了網絡接口的機械、電氣、功能和規程特性。
機械特性:指明接口的物理形狀、尺寸、引腳數量等,例如RJ-45接口。
電氣特性:定義信號的電壓范圍、阻抗等,確保信號的有效傳輸。
功能特性:定義接口引腳的作用,例如哪些引腳用于發送數據,哪些用于接收數據。
規程特性:定義信號在何時發送、何時接收,以及如何建立和終止連接。
同步機制 物理層必須確保發送方和接收方在比特級上同步,即接收方能正確識別每個比特的開始和結束。這通常通過時鐘同步信號或特定的編碼方式實現
傳輸方式
根據數據流動的方向,物理層主要有三種傳輸模式:
單工(Simplex):數據只能單向傳輸。例如,廣播電臺向聽眾發送信號,但聽眾無法向電臺發送信號。
半雙工(Half-Duplex):數據可以雙向傳輸,但不能同時進行。例如,對講機通信,一方說話時,另一方只能聽,反之亦然。
全雙工(Full-Duplex):數據可以雙向同時傳輸。這是目前最常見的模式,例如電話或計算機之間的通信
重要設備
物理層涉及的設備都是用來連接和傳輸信號的:
網線:如雙絞線、光纖等,是傳輸信號的物理介質。
集線器(Hub):一種簡單的網絡設備,將所有連接到它的設備連接在一起。它不區分數據流向,收到的信號會廣播給所有設備。
中繼器(Repeater):用于放大并重新發送信號,以延長信號的傳輸距離,克服信號衰減問題。
數據交換
1. 電路交換 (Circuit Switching)
原理: 電路交換在數據傳輸之前,必須在源節點和目的節點之間預先建立一條專用的、物理的通信路徑(電路)。這條電路一旦建立,就會被獨占,即使沒有數據傳輸,其他用戶也無法使用。數據傳輸完成后,電路才被釋放。
特點:
面向連接: 必須先建立連接,再傳輸數據。
獨占資源: 一旦連接建立,帶寬固定且獨占。
高效率: 傳輸過程中沒有排隊和時延,時延小且穩定。
資源利用率低: 即使沒有數據傳輸,電路也處于占用狀態。
應用場景: 傳統的電話網絡是典型的電路交換系統。當你撥打電話時,網絡會為你和對方建立一條獨占的線路,保證通話質量。
2. 報文交換 (Message Switching)
原理: 報文交換不需要預先建立連接。源節點將完整的數據塊(稱為報文)封裝好,并附上目的地址,然后將其發送給第一個中間節點。每個中間節點接收到完整的報文后,會先存儲下來,然后根據報文的目的地址,將其轉發給下一個中間節點。
特點:
無連接: 不需要預先建立連接。
動態分配: 傳輸路徑可以根據網絡情況動態選擇。
時延大: 報文在每個中間節點需要完整接收和存儲,導致時延較大。
存儲轉發: 這是報文交換的核心特征,需要大量的存儲空間。
應用場景: 報文交換在早期的電報網絡中使用。它允許不同大小和格式的報文在網絡中傳輸,但由于時延問題,已不適用于實時通信。
3. 分組交換 (Packet Switching)
原理: 分組交換是報文交換的改進版本,也是目前互聯網的核心交換方式。它將一個完整的報文(或文件)分割成多個更小的、固定大小的數據塊,稱為分組(Packet)。每個分組都附有源地址和目的地址,然后被獨立地發送到網絡中。每個中間節點同樣采用存儲轉發的方式,但由于分組很小,存儲和轉發的時延大大減少。
特點:
無連接: 像報文交換一樣,不需要預先建立連接。
動態路由: 各個分組可以沿著不同的路徑到達目的地。
高效率和靈活性: 資源被多個用戶共享,提高了網絡利用率。
需要重組: 由于分組可能亂序到達,目的節點需要對它們進行重新排序和組合。
應用場景: 互聯網是典型的分組交換網絡。你正在瀏覽的網頁、發送的郵件,以及觀看的視頻,都是被分解成一個個分組,在網絡中獨立傳輸。
信道復用
是一種在同一條通信信道上同時傳輸多個獨立信號的技術。它的核心思想是,將一個高速、大容量的信道(如一根光纖或一段無線頻譜)劃分為多個邏輯上獨立的子信道,每個子信道可以傳輸一個單獨的數據流,從而最大限度地利用信道資源。主要有以下四種方法
1. 頻分復用(FDM)
頻分復用(Frequency-Division Multiplexing)是一種基于頻率劃分的復用技術。
工作原理: FDM 將信道的總帶寬劃分為多個不重疊的頻段。每個信號都被調制到一個特定的載波頻率上,占據一個獨立的頻段。所有信號可以同時傳輸,因為它們在不同的頻率的子信道上,彼此互不干擾。
應用場景: FDM 是模擬信號時代的主要復用技術。最典型的例子是廣播電臺和電視臺。每個電臺都使用一個特定的頻率進行廣播,你的收音機通過調頻來接收目標電臺的信號。
2. 時分復用(TDM)
時分復用(Time-Division Multiplexing)是一種基于時間劃分的復用技術。
工作原理: TDM 將時間劃分為一個個非常短的時間片,并按順序將這些時間片分配給不同的信號。每個信號在分配給它的時間片內,可以獨占整個信道的帶寬。發送端會按時間片輪流發送來自不同信號的數據,接收端則根據時間片的順序將數據還原。
應用場景: TDM 主要用于數字信號傳輸。例如,早期的數字電話系統就使用 TDM 技術,將多個通話的數字信號匯聚到一根線路上。
3. 碼分復用(CDM)
碼分復用(Code-Division Multiplexing)是一種基于編碼劃分的復用技術。它是一種更為復雜的復用技術,允許多個信號在同一時間、同一頻率上進行傳輸。
工作原理: 每個信號在發送前都會與一個獨特的、彼此正交的碼序列(Code Sequence)進行編碼。發送端將編碼后的多個信號疊加起來,共同發送。接收端則使用相同的碼序列對接收到的混合信號進行“解碼”,從而分離出特定的信號。
應用場景: CDM 技術在第三代移動通信(3G)中得到了廣泛應用。它能夠有效利用頻譜資源,并提供更高的通信容量。
4. 波分復用(WDM)
波分復用(Wavelength-Division Multiplexing)是光纖通信中的一種特殊復用技術,本質上是 FDM 在光域的實現。
工作原理: WDM 利用光纖的巨大帶寬,將不同波長(即不同顏色)的激光作為獨立的載波。每個波長都可以承載一個獨立的數據流。發送端使用不同的光源來生成不同波長的光信號,然后通過一個復用器將它們匯聚到一根光纖中進行傳輸。接收端則使用一個解復用器將這些不同波長的光信號分離出來。
應用場景: WDM 是現代光纖通信的基石,特別是在骨干網絡中。它使得一根光纖能夠同時傳輸數以十億甚至數萬億比特每秒的數據,極大地提高了光纖的傳輸容量。
帶寬:
帶寬(Bandwidth)在計算機網絡中指的是數據傳輸通道的最大數據傳輸速率,通常以 比特每秒(bps) 為單位。它衡量的是在單位時間內,網絡鏈接可以從一點傳輸到另一點的最大信息量。(帶寬是一個容量概念,而不是速度概念)
波特率與比特率
碼元(Baud)
碼元是通信中攜帶信息的基本信號單元。一個碼元可以承載一個或多個比特信息。
碼元在傳輸過程中通常以特定的物理信號來表示,例如不同的電壓電平、不同的光脈沖或不同的相位。
重要關系: 碼元承載的比特數取決于調制技術。例如:
二進制調制: 1個碼元攜帶1個比特(2種信號狀態,21=2)。
四進制調制: 1個碼元攜帶2個比特(4種信號狀態,22=4)。
十六進制調制: 1個碼元攜帶4個比特(16種信號狀態,2?=16)。
調制:用模擬信號代表比特(數字信息01)。
比特率(Bit Rate)也稱為數據傳輸速率,是指單位時間內傳輸的比特(bit)數量。比特是信息的基本單位,一個比特代表一個二進制位,即0或1。
波特率(Baud Rate),也稱為碼元速率,是指單位時間內傳輸的碼元數量。它的單位是波特(Baud),即碼元每秒。
二、數據鏈路層
數據鏈路層的核心任務是在物理層的提供的比特流基礎上,提供可靠的數據傳輸,并確保數據能正確地從一個設備發送到另一個設備
封裝成幀
數據鏈路層接收來自網絡層的數據包(Packet),并在其頭部和尾部添加控制信息,形成一個數據幀(Frame)。這些控制信息包括幀頭(Header)和幀尾(Trailer),用于標記一個幀的開始和結束,方便接收方正確地識別和提取數據。中間承載來自網絡層的數據報文(通常是IP數據報)。
錯誤檢驗
由于物理信道可能會受到噪聲干擾,導致數據在傳輸過程中出現錯誤。數據鏈路層通過在幀中添加冗余校驗碼(如 CRC 循環冗余校驗),來檢測傳輸錯誤。一旦檢測到錯誤,接收方會采取相應措施(如請求重傳)
1. 奇偶校驗(Parity Check)
奇偶校驗是一種最簡單、最古老的數據差錯檢測技術。它通過在一個數據序列中添加一個額外的**奇偶校驗位(Parity Bit)**來確保整個數據塊中“1”的數量是偶數或奇數。【常用協議:串行通信】
原理:
偶校驗(Even Parity): 發送方計算數據中“1”的數量。如果數量為偶數,校驗位設置為0;如果為奇數,校驗位設置為1。目的是使總的“1”數量為偶數。
奇校驗(Odd Parity): 發送方計算數據中“1”的數量。如果數量為奇數,校驗位設置為0;如果為偶數,校驗位設置為1。目的是使總的“1”數量為奇數。
檢測能力: 奇偶校驗只能檢測出奇數個比特錯誤。如果數據中發生了偶數個比特錯誤,它將無法被檢測出來,因為總的“1”的數量不會改變。例如,一個數據塊中的兩個“1”都變成了“0”,總的“1”數量仍為偶數,校驗通過。
2. 校驗和(Checksum)
校驗和是一種比奇偶校驗更復雜的差錯檢測方法。它通過將數據塊中的所有數據進行累加求和,然后將結果(通常是求和的補碼)作為校驗和附加在數據塊的末尾。【常用協議:TCP/UDP】
原理:
發送方將數據塊視為一系列無符號整數,對它們進行求和。
對求和結果進行取反或取補碼操作,得到校驗和。
將校驗和附加在數據塊末尾發送。
接收方對接收到的整個數據塊(包括校驗和)進行求和。如果沒有錯誤,結果應該是一個固定的值(如全1)。
檢測能力: 校驗和能檢測出大部分的單比特和多比特錯誤,但對于一些特定的多比特錯誤(如數據塊中兩個位置的數值互換)則無法檢測。
3. CRC (Cyclic Redundancy Check) 循環冗余校驗
CRC是一種功能最強大、應用最廣泛的差錯檢測技術。它基于二進制多項式除法的數學原理。
【常用協議:Ethernet、Wi-FI、HDLC】
原理:
發送方將數據塊視為一個高階的二進制多項式。
選擇一個預先定義的生成多項式(Generator Polynomial)。
將數據多項式除以生成多項式,得到的余數就是 CRC 校驗碼。
將 CRC 校驗碼附加在數據末尾發送。
接收方對接收到的數據(包括校驗碼)再次進行多項式除法。如果沒有錯誤,余數應該為零。
檢測能力: CRC 具有強大的差錯檢測能力。它能百分之百地檢測出所有奇數個比特錯誤、所有兩個比特錯誤,以及所有長度小于等于 CRC 校驗碼長度的突發錯誤(Burst Error)。
介質訪問控制子層(MAC,Media Access Control)
MAC 子層負責處理對共享介質的訪問。它定義了如何使用 MAC 地址來識別設備,并協調多個設備在共享信道上發送數據時的次序,以避免沖突。相關協議如下:
1. ALOHA 協議
ALOHA 協議是最早的介質訪問控制協議之一,其思想非常簡單粗暴。
工作原理: 在 ALOHA 協議中,任何一個設備想要發送數據時,都可以立即發送,無需檢測信道是否空閑。發送后,設備會監聽信道,如果在一小段時間內沒有收到來自目的地的確認(ACK),就認為數據發生了沖突,然后等待一個隨機時間后再次發送。
特點:
簡單: 實現非常簡單,不需要復雜的硬件。
效率低: 由于不進行任何沖突檢測,沖突的概率很高,導致信道利用率極低(大約18.4%)。
類型:
純 ALOHA: 最原始的版本,只要有數據就立即發送。
時隙 ALOHA: 對時間進行了同步,將時間劃分為固定的時間片。設備只能在時間片的開始時發送數據,這在一定程度上減少了沖突。(信道理論最大利用率約36.8%)
2. CSMA 協議(載波監聽多路訪問)
CSMA (Carrier Sense Multiple Access) 協議在 ALOHA 的基礎上進行了改進,引入了載波監聽(Carrier Sense)機制。
工作原理: 在發送數據前,設備會先監聽信道。如果信道是空閑的,它就立即發送;如果信道是忙碌的,它就會等待。
特點:
監聽信道: 避免了在信道忙碌時發送數據,大大減少了沖突的可能性。
仍然存在沖突: CSMA 無法完全避免沖突。因為信號在信道上傳播需要時間,可能出現這樣的情況:兩個設備同時偵聽到信道空閑,并在很短的時間內同時發送數據,導致沖突。
3. CSMA/CD 協議(帶沖突檢測的載波監聽多路訪問)
CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 協議是 CSMA 協議的增強版,專為有線局域網(如以太網)設計。
工作原理: CSMA/CD 在 CSMA 的基礎上增加了“沖突檢測”(Collision Detection)功能。
監聽信道: 像 CSMA 一樣,發送前先監聽。
邊發送邊檢測: 在發送數據的同時,設備會持續監聽信道。
沖突處理: 如果在發送過程中檢測到數據沖突,所有涉及沖突的設備會立即停止發送,并向信道發送一個“阻塞信號”,通知其他設備也停止發送。
隨機退避: 所有設備會等待一個隨機時間后,再次嘗試發送數據。
特點:
實時檢測: 能夠快速檢測到沖突并停止發送,避免了無謂的傳輸,提高了信道利用率。
物理限制: 適用于有線網絡,因為有線網絡可以很方便地檢測電壓變化來判斷沖突。
4. CSMA/CA 協議(帶沖突避免的載波監聽多路訪問)
CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) 協議是 CSMA 協議的另一個版本,主要用于無線局域網(如 Wi-Fi)。
工作原理: 無線電波無法像有線網絡那樣輕松地進行沖突檢測,因為設備在發送時難以同時接收信號。因此,CSMA/CA 采取了“沖突避免”(Collision Avoidance)的策略,而不是事后檢測。
監聽信道: 發送前先偵聽,如果信道空閑,不立即發送。
發送通知: 為了避免“隱蔽終端”問題(設備 A 和 C 互相聽不到對方,但都能聽到設備 B,導致沖突),設備 A 在發送前會先向信道發送一個“請求發送”(RTS)幀,并等待 B 發送一個“清除發送”(CTS)幀。
發送數據: 只有收到 CTS 幀后,A 才開始發送數據,而其他設備在收到 RTS 或 CTS 幀后,都會在一定時間內保持靜默。
特點:
避免而非檢測: 在傳輸前通過握手來“預約”信道,從根本上避免了沖突。
開銷大: RTS/CTS 握手過程增加了額外的開銷,使得 CSMA/CA 的效率通常低于理想情況下的 CSMA/CD。
以太網
以太網是一種廣泛應用于有線局域網(LAN)的通信協議標準,定義了物理層和數據鏈路層的實現方式。(IEEE 802.3標準)
這個標準詳細定義了以太網的方方面面,包括:
數據幀格式:如何封裝數據(MAC地址、FCS等)。
介質訪問控制協議:如何使用 CSMA/CD 解決沖突。
物理層規范:如何使用不同的電纜(同軸電纜、雙絞線)和光纖進行通信,以及相應的傳輸速率(如10 Mbps、100 Mbps、1 Gbps)。
1. 經典以太網幀格式(Ethernet Frame Format)
以太網傳輸的基本單位是以太網幀(Ethernet Frame)。每個幀都包含控制信息和實際數據,其經典格式如下:
前導碼 (Preamble) 和幀開始定界符 (SFD): 這兩個字段共8個字節,用于同步發送方和接收方的時鐘。它們告訴接收設備,一個新幀即將到來。(不被算在一幀中)
目的MAC地址 (Destination MAC Address): 6個字節,用于指定數據幀的接收者。
源MAC地址 (Source MAC Address): 6個字節,用于指定數據幀的發送者。
類型/長度字段 (Type/Length): 2個字節,用于指示該幀封裝的是哪種高層協議(如IPv4、IPv6)或幀的數據長度。
數據字段 (Data): 46到1500個字節,實際承載上層協議(如IP數據包)的數據。
幀校驗序列 (FCS): 4個字節,通常使用 CRC(循環冗余校驗)。接收方利用這個字段來檢測數據在傳輸過程中是否出現錯誤。
2. MAC 地址(Media Access Control Address)
一個標準的 MAC 地址由 48 位二進制數組成,通常用 12 個十六進制數表示,例如 00-1B-44-11-3A-B7
。
這個 48 位地址被分為兩部分:
組織唯一標識符(OUI - Organizationally Unique Identifier):
占用前 24 位(即前 6 個十六進制數)。
由 IEEE 負責分配給網卡制造商。
比如,
00-1A-2B
可能是思科(Cisco)的標識符。這部分可以識別出網卡的生產商。
制造商分配的擴展標識符:
占用后 24 位(即后 6 個十六進制數)。
由制造商自己為每一塊網卡分配,以確保在全球范圍內的唯一性。
判斷 MAC 地址是單播、組播還是廣播,看的是 MAC 地址的第 8 位(第七個比特)
單播(Unicast)
單播是“一對一”的通信。一個數據幀從一個發送方發送給一個特定的接收方。
MAC 地址:MAC 地址的第 8 位為0。
數據流向:數據只發給一個目標設備。
工作模式:交換機收到一個單播數據幀后,會查找自己的 MAC 地址表,將數據精準地轉發到目標設備所在的端口。
例子:你在電腦上訪問一個網站,你的電腦會向網關發送一個以網關 MAC 地址為目的地址的數據幀。這就是一個典型的單播過程。
組播(Multicast)
組播是“一對多”的通信。一個數據幀從一個發送方發送給一組特定的接收方,而不是所有設備。
MAC 地址:MAC 地址的第 8 位為1。
數據流向:數據只發給加入該組播組的設備。
工作模式:交換機能夠識別組播地址,并將數據幀只轉發到加入該組播組的端口,避免了向所有設備廣播,從而節省了帶寬。
例子:一個視頻會議系統,發送方發送的視頻流只被會議參與者的設備接收。所有參與者的設備都加入了同一個組播組,從而實現高效的視頻傳輸。
廣播(Broadcast)
廣播是“一對所有”的通信。一個數據幀從一個發送方發送給局域網中的所有設備。
MAC 地址:目的 MAC 地址是特殊的全 F 地址(
FF:FF:FF:FF:FF:FF
)。數據流向:數據會被發送給網絡中的每一個設備。
工作模式:交換機或集線器收到一個廣播數據幀后,會將它轉發到除了接收端口之外的所有端口。
例子:ARP(地址解析協議)就是使用廣播機制。當你需要知道某個 IP 地址對應的 MAC 地址時,你的設備會發送一個廣播幀,詢問“誰是這個 IP 地址的主人?”網絡中的所有設備都會收到這個請求,而只有擁有該 IP 地址的設備才會做出回應。
虛擬局域網(VLAN)
虛擬局域網(VLAN)是一種在交換機上實現的邏輯網絡劃分技術。它允許將一個物理上互聯的局域網,劃分為多個相互隔離的、獨立的廣播域。
作用:
隔離廣播域: 減少不必要的廣播流量,提高網絡性能。
增強安全性: 隔離不同部門或不同性質的設備,防止未經授權的訪問。
簡化管理: 即使設備物理位置不同,也可以將其劃分到同一個邏輯網絡中。
VLAN通過在以太網幀中添加一個VLAN標簽來實現,這個標簽包含了VLAN ID等信息,用于識別數據幀所屬的VLAN。
VLAN 接口:Access 與 Trunk
在配置支持VLAN的交換機時,需要定義接口的類型。
Access 接口(訪問接口)
定義:一個 Access 接口只能屬于且承載一個 VLAN 的數據。
用途:主要用于連接終端設備,如計算機、服務器、打印機或 IP 電話等。這些設備通常不理解 VLAN 標簽。
工作原理:
接收:當一個不帶 VLAN 標簽的數據幀進入 Access 接口時,交換機會自動為它打上該接口所屬 VLAN 的標簽。
發送:當交換機需要用?Access 接口發送數據幀時,它會剝離該幀上的 VLAN 標簽,以確保發送給終端設備的數據是無標簽的,因為終端設備無法識別 VLAN 標簽。
Trunk 接口(干道接口)
定義:一個 Trunk 接口可以承載多個 VLAN 的數據。它是跨 VLAN 通信的橋梁。
用途:用于連接兩個支持 VLAN 的交換機或連接交換機與路由器。它允許不同 VLAN 的數據流通過同一物理鏈路傳輸。
工作原理:
傳輸:Trunk 接口傳輸的數據幀都帶有 VLAN 標簽。交換機根據幀中的標簽信息(如 IEEE 802.1Q 標簽),來判斷該幀屬于哪個 VLAN。
封裝/解封裝:當來自一個 VLAN 的數據幀進入 Trunk 接口時,該接口會確保幀上已打好正確的 VLAN 標簽。當這些帶標簽的幀到達另一個交換機后,Trunk 接口會正確地解析標簽,并根據標簽將數據轉發到對應的 VLAN。
廣域網
與局域網主要用于連接單個建筑物內的設備不同,廣域網通常用于連接不同地區的局域網或城域網,實現遠距離通信。其數據鏈路層使用的是點對點信道,主要使用的協議有PPP、LCP、NCP? ? ?
PPP 協議 (Point-to-Point Protocol)
PPP 協議是一種在兩臺網絡設備之間建立直接連接,并進行數據傳輸的數據鏈路層協議。它最常見的應用場景是,你的電腦通過電話線或光纖,連接到你的 ISP,從而接入廣域網。
工作原理: PPP 協議是一種面向連接的協議。在數據傳輸前,它會經歷幾個階段:
鏈路控制協議 (LCP):LCP 負責建立、配置和測試數據鏈路。它會協商雙方的傳輸參數,如最大數據單元大小(MTU)。
身份驗證:PPP 支持身份驗證協議(如 PAP 或 CHAP),以驗證用戶的身份。
網絡控制協議 (NCP):NCP 負責配置網絡層協議,例如,它會分配一個動態的 IP 地址給你的設備,以便你能在互聯網上進行通信。
特點:
面向連接:為數據傳輸提供可靠的鏈路。
靈活性:支持多種網絡層協議,如 IPv4 和 IPv6。
錯誤檢測:提供數據校驗功能,確保數據傳輸的正確性。
物理層/數據鏈路層相關內容后續會補充在這篇文章中
以上, 跟著光。