當前位置:首頁 » 網路連接 » 計算機網路數據報服務
擴展閱讀
紹興7寸工業平板電腦廠 2025-09-27 04:08:42
無線網路租約延長24小時 2025-09-27 00:35:51

計算機網路數據報服務

發布時間: 2023-05-22 02:24:09

1. 計算機網路技術

第一章 計算機網路概述
1.1 計算機網路的定義和發展歷史
1.1.1 計算機網路的定義
計算機網路是現代通信技術與計算機技術相結合的產物,是在地理上分散的通過通信線路連接起來的計算機集合,這些計算機遵守共同的協議,依據協議的規定進行相互通信,實現網路各種資源的共享。
網路資源:所謂的網路資源包括硬體資源(如大容量磁碟、列印機等)、軟體資源(如工具軟體、應用軟體等)和數據資源(如資料庫文件和資料庫等)。
計算機網路也可以簡單地定義為一個互連的、自主的計算機集合。所謂互連是指相互連接在一起,所謂自主是指網路中的每台計算機都是相對獨立的,可以獨立工作。
1.1.2 計算機網路的發展歷史
課後小結:
1. 計算機網路的定義.
2. 網路資源的分類.
課後作業:預習P2-P8.

第二講
教學類型:理論課
教學課題:1.2~1.3
教學目標:1.了解計算機網路的功能和應用;2. 了解計算機網路的系統組成
教學重點、難點:計算機網路的功能和應用;網路的系統組成
教學方法:教師講解、演示、提問;
教學工具:多媒體幻燈片演示

1.2 計算機網路的功能和應用
1. 計算機網路的功能
(1)實現計算機系統的資源共享
(2)實現數據信息的快速傳遞
(3)提高可靠性
(4)提供負載均衡與分布式處理能力
(5)集中管理
(6)綜合信息服務
2.計算機網路的應用
計算機網路由於其強大的功能,已成為現代信息業的重要支柱,被廣泛地應用於現代生活的各個領域,主要有:
(1)辦公自動化
(2)管理信息系統
(3)過程式控制制
(4)互聯網應用(如電子郵件、信息發布、電子商務、遠程音頻與視頻應用)
1.3計算機網路的系統組成
1.3.1 網路節點和通信鏈路
從拓撲結構看,計算機網路就是由若干網路節點和連接這些網路節點的通信鏈路構成的。計算機網路中的節點又稱網路單元,一般可分為三類:訪問節點、轉接節點和混合節點。
通信鏈路是指兩個網路節點之間承載信息和數據的線路。鏈路可用各種傳輸介質實現,如雙絞線、同軸電纜、光纜、衛星、微波等。
通信鏈路又分為物理鏈路和邏輯鏈路。
1.3.2 資源子網和通信子網
從邏輯功能上可把計算機網路分為兩個子網:用戶資源子網和通信子網。
資源子網包括各種計算機和相關的硬體、軟體;
通信子網是連接這些計算機資源並提供通信服務的連接線路。正是在通信子網的支持下,用戶才能利用網路上的各種資源,進行相互間的通信,實現計算機網路的功能。
通信子網有兩種類型:
(1)公用型(如公用計算機互聯網CHINANET)
(2)專用型(如各類銀行網、證券網等)
1.3.3 網路硬體系統和網路軟體系統
計算機網路系統是由計算機網路硬體系統和網路軟體系統組成的。
網路硬體系統是指構成計算機網路的硬設備,包括各種計算機系統、終端及通信設備。
常見的網路硬體有:
(1)主機系統; (2)終端; (3)傳輸介質; (4)網卡;(5)集線器; (6)交換機; (7)路由器
網路軟體主要包括網路通信協議、網路操作系統和各類網路應用系統。
(1)伺服器操作系統
常見的有:Novell公司的NetWare、微軟公司的 Windows NT Server及 Unix系列。
(2)工作站操作系統
常見的有: Windows 95、Windows 98及Windows 2000等。
(3)網路通信協議
(4)設備驅動程序
(5)網路管理系統軟體
(6)網路安全軟體
(7)網路應用軟體
課後小結:
1. 計算機網路的功能和應用
2. 網路的系統組成
課後作業:預習P8-P10

第三講
教學類型:理論課
教學課題:1.4計算機網路的分類
教學目標:1.掌握計算機網路的分類;2. 了解計算機網路的定義和發展;3. 了解計算機網路的功能和應用;4. 了解計算機網路的系統組成
教學重點、難點:掌握計算機網路的分類
教學方法:教師講解、演示、提問;
教學工具:多媒體幻燈片演示
1.4 計算機網路的分類
1.4.1 按計算機網路覆蓋范圍分類
由於網路覆蓋范圍和計算機之間互連距離不同,所採用的網路結構和傳輸技術也不同,因而形成不同的計算機網路。
一般可以分為區域網(LAN)、城域網(MAN)、廣域網(WAN)三類。
1.4.2按計算機網路拓撲結構分類
網路拓撲是指連接的形狀,或者是網路在物理上的連通性。如果不考慮網路的的地理位置,而把連接在網路上的設備看作是一個節點,把連接計算機之間的通信線路看作一條鏈路,這樣就可以抽象出網路的拓撲結構。
按計算機網路的拓撲結構可將網路分為:星型網、環型網、匯流排型網、樹型網、網型網。
1.4.3 按網路的所有權劃分
1.公用網
由電信部門組建,由政府和電信部門管理和控制的網路。
2.專用網
也稱私用網,一般為某一單位或某一系統組建,該網一般不允許系統外的用戶使用。
1.4.4 按照網路中計算機所處的地位劃分
(1)對等區域網
(2)基於伺服器的網路(也稱為客戶機/伺服器網路)。
課後小結:
1. 計算機網路的定義;2. 計算機網路的功能和應用;3. 計算機網路的分類
課後作業:(P10)1 、4、5、6

第四講
教學類型:理論課
教學課題:1.1計算機網路的定義和發展
教學目標:1. 了解數據通信的基本概念;2. 了解數據傳輸方式
教學重點、難點:數據傳輸方式
教學方法:教師講解、演示、提問;
教學工具:多媒體幻燈片演示
教學內容與過程
導入:由現在的網路通訊中的一些普通關鍵詞引入新課
講授新課:(多媒體幻燈片演示或板書)
第二章 數據通信基礎
2.1 數據通信的基本概念
2.1.1 信息和數據
1.信息
信息是對客觀事物的反映,可以是對物質的形態、大小、結構、性能等全部或部分特性的描述,也可表示物質與外部的聯系。信息有各種存在形式。
2.數據
信息可以用數字的形式來表示,數字化的信息稱為數據。數據可以分成兩類:模擬數據和數字數據。
2.1.2 信道和信道容量
1.信道
信道是傳送信號的一條通道,可以分為物理信道和邏輯信道。
物理信道是指用來傳送信號或數據的物理通路,由傳輸及其附屬設備組成。
邏輯信道也是指傳輸信息的一條通路,但在信號的收、發節點之間並不一定存在與之對應的物理傳輸介質,而是在物理信道基礎上,由節點設備內部的連接來實現。
2.信道的分類
信道按使用許可權可分為專業信道和共用信道。
信道按傳輸介質可分為有線信道、無線信道和衛星信道。
信道按傳輸信號的種類可分為模擬信道和數字信道。
3.信道容量
信道容量是指信道傳輸信息的最大能力,通常用數據傳輸率來表示。即單位時間內傳送的比特數越大,則信息的傳輸能力也就越大,表示信道容量大。
2.1.3 碼元和碼字
在數字傳輸中,有時把一個數字脈沖稱為一個碼元,是構成信息編碼的最小單位。
計算機網路傳送中的每一位二進制數字稱為「碼元」或「碼位」,例如二進制數字10000001是由7個碼元組成的序列,通常稱為「碼字」。
2.1.4 數據通信系統主要技術指標
1.比特率:比特率是一種數字信號的傳輸速率,它表示單位時間內所傳送的二進制代碼的有效位(bit)數,單位用比特每秒(bps)或千比特每秒(Kbps)表示。
2.波特率:波特率是一種調制速率,也稱波形速率。在數據傳輸過程中,線路上每秒鍾傳送的波形個數就是波特率,其單位為波特(baud)。
3.誤碼率:誤碼率指信息傳輸的錯誤率,也稱誤碼率,是數據通信系統在正常工作情況下,衡量傳輸可靠性的指標。
4.吞吐量:吞吐量是單位時間內整個網路能夠處理的信息總量,單位是位元組/秒或位/秒。在單信道匯流排型網路中,吞吐量=信道容量×傳輸效率。
5.通道的傳播延遲:信號在信道中傳播,從信源端到達信宿端需要一定的時間,這個時間叫做傳播延遲(或時延)。
2.1.5 帶寬與數據傳輸率
1.信道帶寬
信道帶寬是指信道所能傳送的信號頻率寬度,它的值為信道上可傳送信號的最高頻率減去最低頻率之差。
帶寬越大,所能達到的傳輸速率就越大,所以通道的帶寬是衡量傳輸系統的一個重要指標。
2.數據傳輸率
數據傳輸率是指單位時間信道內傳輸的信息量,即比特率,單位為比特/秒。
一般來說,數據傳輸率的高低由傳輸每一位數據所佔時間決定,如果每一位所佔時間越小,則速率越高。
2.2 數據傳輸方式
2.2.1 數據通信系統模型
2.2.2 數據線路的通信方式
根據數據信息在傳輸線上的傳送方向,數據通信方式有:
單工通信
半雙工通信
雙工通信
2.2.3 數據傳輸方式
數據傳輸方式依其數據在傳輸線原樣不變地傳輸還是調制變樣後再傳輸,可分為基帶傳輸、頻帶傳輸和寬頻傳輸等方式。
1.基帶傳輸
2.頻帶傳輸
3.寬頻傳輸
課後小結:
1. 什麼是信息、數據?
2. 什麼是信道?常用的信道分類有幾種?
3. 什麼是比特率?什麼是波特率?
4. 什麼是帶寬、數據傳輸率與信道容量?
課後作業:(P20)二1、2、3、4、5、6

第五講
教學類型:理論課
教學課題:2.2~2.4
教學目標:1.理解數據交換技術;2. 理解差錯檢驗與校正技術
教學重點、難點:數據交換技術、差錯檢驗與校正技術
教學方法:教師講解、演示、提問;
教學工具:多媒體幻燈片演示
教學內容與過程:
導入:由現在的網路通訊中的一些普通關鍵詞引入新課
講授新課:(多媒體幻燈片演示或板書)
2.3 數據交換技術
通常使用四種交換技術:
電路交換
報文交換
分組交換
信元交換。
2.3.1 電路交換
電路交換(也稱線路交換)
在電路交換方式中,通過網路節點(交換設備)在工作站之間建立專用的通信通道,即在兩個工作站之間建立實際的物理連接。一旦通信線路建立,這對端點就獨占該條物理通道,直至通信線路被取消。
電路交換的主要優點是實時性好,由於信道專用,通信速率較高;缺點是線路利用率低,不能連接不同類型的線路組成鏈路,通信的雙方必須同時工作。
電路交換必定是面向連接的,電話系統就是這種方式。
電路交換的三個階段:
電路建立階段
數據傳輸階段
拆除電路階段
2.3.2 報文交換
報文是一個帶有目的端信息和控制信息的數據包。報文交換採取的是「存儲—轉發」(Store-and-Forward)方式,不需要在通信的兩個節點之間建立專用的物理線路。
報文交換的主要缺點是網路的延時較長且變化比較大,因而不宜用於實時通信或互動式的應用場合。
在 20 世紀 40 年代,電報通信也採用了基於存儲轉發原理的報文交換(message switching)。
報文交換的時延較長,從幾分鍾到幾小時不等。現在,報文交換已經很少有人使用了。
2.3.3 分組交換
分組交換也稱包交換,它是報文交換的一種改進,也屬於存儲-轉發交換方式,但它不是以報文為單位,而是以長度受到限制的報文分組(Packet)為單位進行傳輸交換的。分組也叫做信息包,分組交換有時也稱為包交換。
分組在網路中傳輸,還可以分為兩種不同的方式:數據報和虛電路。
分組交換的優點
高效 動態分配傳輸帶寬,對通信鏈路是逐段佔用。
靈活 以分組為傳送單位和查找路由。
迅速 必先建立連接就能向其他主機發送分組;充分使用鏈路的帶寬
可靠 完善的網路協議;自適應的路由選擇協議使網路有很好的生存性
2.3.4 信元交換技術
(ATM,Asynchronous Transfer Mode,非同步傳輸模式)
ATM是一種面向連接的交換技術,它採用小的固定長度的信息交換單元(一個53Byte的信元),話音、視頻和數據都可由信元的信息域傳輸。
它綜合吸取了分組交換高效率和電路交換高速率的優點,針對分組交換速率低的弱點,利用電路交換完全與協議處理幾乎無關的特點,通過高性能的硬體設備來提高處理速度,以實現高速化。
ATM是一種廣域網主幹線的較好選擇。
2.4 差錯檢驗與校正
數據傳輸中出現差錯有多種原因,一般分成內部因素和外部因素。
內部因素有噪音脈沖、脈動噪音、衰減、延遲失真等。
外部因素有電磁干擾、太陽噪音、工業噪音等。
為了確保無差錯地傳輸,必須具有檢錯和糾錯的功能。常用的校驗方式有奇偶校驗和循環冗餘碼校驗。
2.4.1 奇偶校驗
採用奇偶校驗時,若其中兩位同時發生錯誤,則會發生沒有檢測出錯誤的情況。
2.4.2 循環冗餘碼校驗。
這種編碼對隨機差錯和突發差錯均能以較低的冗餘充進行嚴格的檢查。
課後小結:
1. 數據通信的的一些基本知識
2. 三種交換方式的基本工作原理
3. 兩種差錯校驗方法:奇偶校驗和循環冗餘校驗
課後作業:(P20)二7、8、9

第六講
教學類型:復習課
教學課題:第一章與第二章
教學目標:通過復習掌握第一、二章的重點
教學重點、難點:第一、二章的重點
教學方法:教師講解、演示、提問;
教學工具:多媒體幻燈片演示
教學內容:第一、二章的內容

第七講
教學類型:測驗一

第八講
教學類型:理論課
教學課題:第三章 計算機網路技術基礎
教學目標:1. 掌握幾種常見網路拓撲結構的原理及其特點;2. 掌握ISO/OSI網路參考模型及各層的主要功能
教學重點、難點:1. 掌握幾種常見網路拓撲結構的原理及其特點;2. 掌握ISO/OSI網路參考模型及各層的主要功能
教學方法:教師講解、演示、學生認真學習並思考、記憶;教師講授與學生理解協調並重的教學法
教學工具:多媒體幻燈片演示
教學內容與過程
導入:提問學生對OSI的七層模型和TCP/IP四層模型的理解。
引導學生總結重要原理並認真加以研究。
教師總結歸納本章重要原理的應用,進入教學課題。
講授新課:(多媒體幻燈片演示或板書)
第三章 計算機網路技術基礎
3.1 計算機網路的拓撲結構
3.1.1 什麼是計算機網路的拓撲結構
網路拓撲是指網路連接的形狀,或者是網路在物理上的連通性。
網路拓撲結構能夠反映各類結構的基本特徵,即不考慮網路節點的具體組成,也不管它們之間通信線路的具體類型,把網路節點畫作「點」,把它們之間的通信線路畫作「線」,這樣畫出的圖形就是網路的拓撲結構圖。
不同的拓撲結構其信道訪問技術、網路性能、設備開銷等各不相同,分別適應於不同場合。它影響著整個網路的設計、功能、可靠性和通信費用等方面,是研究計算機網路的主要環節之一。
計算機網路的拓撲結構主要是指通信子網的拓撲結構,常見的一般分為以下幾種:
1.匯流排型;2.星型;3.環型;4.樹型;5.網狀型
3.1.2 匯流排型拓撲結構
匯流排結構中,各節點通過一個或多個通信線路與公共匯流排連接。匯流排型結構簡單、擴展容易。網路中任何節點的故障都不會造成全網的故障,可靠性較高。
匯流排型結構是從多機系統的匯流排互聯結構演變而來的,又可分為單匯流排結構和多匯流排結構,常用CSMA/CD和令牌匯流排訪問控制方式。
匯流排型結構的缺點:
(1)故障診斷困難;(2)故障隔離困難;(3)中繼器等配置;(4)實時性不強
3.1.3 星型拓撲結構
星型的中心節點是主節點,它接收各分散節點的信息再轉發給相應節點,具有中繼交換和數據處理功能。星型網的結構簡單,建網容易,但可靠性差,中心節點是網路的瓶頸,一旦出現故障則全網癱瘓。
星型拓撲結構的訪問採用集中式控制策略,採用星型拓撲的交換方式有電路交換和報文交換。
星型拓撲結構的優點:
(1)方便服務;(2)每個連接只接一個設備;(3)集中控制和便於故障診斷;(4)簡單的訪問協議
星型拓撲結構的缺點:
(1)電纜長度和安裝;(2)擴展困難;(3)依賴於中央節點
3.1.4 環型拓撲結構
網路中節點計算機連成環型就成為環型網路。環路上,信息單向從一個節點傳送到另一個節點,傳送路徑固定,沒有路徑選擇問題。環型網路實現簡單,適應傳輸信息量不大的場合。任何節點的故障均導致環路不能正常工作,可靠性較差。
環型網路常使用令牌環來決定哪個節點可以訪問通信系統。
環型拓撲結構的優點:
(1)電纜長度短;(2)適用於光纖;(3)網路的實時性好
環型拓撲結構的缺點:
(1)網路擴展配置困難;(2)節點故障引起全網故障;(3)故障診斷困難;(4)拓撲結構影響訪問協議
3.1.5 其他類型拓撲結構
1.樹型拓撲結構
樹型網路是分層結構,適用於分級管理和控制系統。網路中,除葉節點及其聯機外,任一節點或聯機的故障均隻影響其所在支路網路的正常工作。
2.星型環型拓撲結構
3.1.6 拓撲結構的選擇原則
拓撲結構的選擇往往和傳輸介質的選擇和介質訪問控制方法的確定緊密相關。選擇拓撲結構時,應該考慮的主要因素有以下幾點:
(1)服務可靠性; (2)網路可擴充性; (3)組網費用高低(或性能價格比)。
3.2 ISO/OSI網路參考模型
建立分層結構的原因和意義:
建立計算機網路的根本目的是實現數據通信和資源共享,而通信則是實現所有網路功能的基礎和關鍵。對於網路的廣泛實施,國際標准化組織ISO(International Standard Organization),經過多年研究,在1983年提出了開放系統互聯參考模型OSI/RM(Reference Model of Open System Interconnection),這是一個定義連接異種計算機的標准主體結構,給網路設計者提供了一個參考規范。
OSI參考模型的層次
OSI參考模型共有七層,由低到高分別是:物理層、數據鏈路層、網路層、傳輸層、會話層、表示層和應用層。
1.OSI參考模型的特性
(1)是一種將異構系統互聯的分層結構;
(2)提供了控制互聯系統交互規則的標准骨架;
(3)定義了一種抽象結構,而並非具體實現的描述;
(4)不同系統上的相同層的實體稱為同等層實體;
(5)同等層實體之間的通信由該層的協議管理;
(6)相鄰層間的介面定義了原語操作和低層向上層提供的服務;
(7)所提供的公共服務是面向連接的或無連接的數據服務;
(8)直接的數據傳送僅在最低層實現;
(9)每層完成所定義的功能,修改本層的功能並不影響其它層。
2.有關OSI參考模型的技術術語
在OSI參考模型中,每一層的真正功能是為其上一層提供服務。在對這些功能或服務過程以及協議的描述中,經常使用如下一些技術術語:
(1)數據單元
服務數據單元SDU(Service Data Unit)
協議數據單元PDU(Protocol Data Unit)
介面數據單元IDU(Interface Data Unit)
服務訪問點SAP(Service Access Point)
服務原語(Primitive)
(2)面向連接和無連接的服務
下層能夠向上層提供的服務有兩種基本形式:面向連接和無連接的服務。
面向連接的服務是在數據傳輸之前先建立連接,主要過程是:建立連接、進行數據傳送,拆除鏈路。面向連接的服務,又稱為虛電路服務。
無連接服務沒有建立和拆除鏈路的過程,一般也不採用可靠方式傳送。不可靠(無確認)的無連接服務又稱為數據報服務。
3.2.1 物理層
物理層是OSI模型的最低層,其任務是實現物理上互連系統間的信息傳輸。
1.物理層必須具備以下功能
(1)物理連接的建立、維持與釋放;2)物理層服務數據單元傳輸;(3)物理層管理。
2.媒體和互聯設備
物理層的媒體包括架空明線、平衡電纜、光纖、無線信道等;
通信用的互聯設備如各種插頭、插座等;區域網中的各種粗、細同軸電纜,T型接/插頭,接收器,發送器,中繼器等都屬物理層的媒體和連接器。
3.2.2 數據鏈路層
數據鏈路可以粗略地理解為數據信道。數據鏈路層的任務是以物理層為基礎,為網路層提供透明的、正確的和有效的傳輸線路,通過數據鏈路協議,實施對二進制數據正確、可靠的傳輸。
數據鏈路的建立、拆除、對數據的檢錯、糾錯是數據鏈路層的基本任務。
1.鏈路層的主要功能
(1)鏈路管理;(2)幀的裝配與分解;(3)幀的同步;(4)流量控制與順序控制;(5)差錯控制;(6)使接收端能區分數據和控制信息;(7)透明傳輸;(8)定址
2.數據鏈路層的主要協議
(1)ISO1745-1975;(2)ISO3309-1984;(3)ISO7776
3.鏈路層產品
獨立的鏈路產品中最常見的是網卡,網橋也是鏈路產品。
數據鏈路層將本質上不可靠的傳輸媒介變成可靠的傳輸通路提供給網路層。在IEEE802.3情況下,數據鏈路層分成兩個子層:一個是邏輯鏈路控制,另一個是媒體訪問控制。
3.2.3 網路層
網路層是通信子網與資源子網之間的介面,也是高、低層協議之間的介面層。網路層的主要功能是路由選擇、流量控制、傳輸確認、中斷、差錯及故障的恢復等。當本地端與目的端不處於同一網路中,網路層將處理這些差異。
1.網路層的主要功能
(1)建立和拆除網路連接;
(2)分段和組塊;
(3)有序傳輸和流量控制;
(4)網路連接多路復用;
(5)路由選擇和中繼;
(6)差錯的檢測和恢復;
(7)服務選擇
2.網路層提供的服務
OSI/RM中規定,網路層中提供無連接和面向連接兩種類型的服務,也稱為數據報服務和虛電路服務。
3.路由選擇
3.2.4 傳輸層
傳輸層是資源子網與通信子網的介面和橋梁。傳輸層下面三層(屬於通信子網)面向數據通信,上面三層(屬於資源子網)面向數據處理。因此,傳輸層位於高層和低層中間,起承上啟下的作用。它屏蔽了通信子網中的細節,實現通信子網中端到端的透明傳輸,完成資源子網中兩節點間的邏輯通信。它是負責數據傳輸的最高一層,也是整個七層協議中最重要和最復雜的一層。
1.傳輸層的特性
(1)連接與傳輸;(2)傳輸層服務
2.傳輸層的主要功能
3.傳輸層協議
3.2.5 會話層
會話層、表示層和應用層一起構成OSI/RM的高層,會話層位於OSI模型面向信息處理的高三層中的最下層,它利用傳輸層提供的端到端數據傳輸服務,具體實施服務請求者與服務提供者之間的通信,屬於進程間通信的范疇。
會話層還對會話活動提供組織和同步所必須的手段,對數據傳輸提供控制和管理。
1.會話層的主要功能;
(1)提供遠程會話地址;
(2)會話建立後的管理;
(3)提供把報文分組重新組成報文的功能
2.會話層提供的服務
(1)會話連接的建立和拆除;
(2)與會話管理有關的服務;
(3)隔離;
(4)出錯和恢復控制
3.2.6 表示層
表示層為應用層服務,該服務層處理的是通信雙方之間的數據表示問題。為使通信的雙方能互相理解所傳送信息的含義,表示層就需要把發送方具有的內部格式編碼為適於傳輸的比特流,接收方再將其解碼為所需要的表示形式。
數據傳送包括語義和語法兩個方面的問題。OSI模型中,有關語義的處理由應用層負責,表示層僅完成語法的處理。
1.表示層的主要功能
(1)語法轉換;(2)傳送語法的選擇;(3)常規功能
2.表示層提供的服務
(1)數據轉換和格式轉換;
(2)語法選擇;
(3)數據加密與解密;
(4)文本壓縮
3.2.7 應用層
OSI的7層協議從功能劃分來看,下面6層主要解決支持網路服務功能所需要的通信和表示問題,應用層則提供完成特定網路功能服務所需要的各種應用協議。
應用層是OSI的最高層,直接面向用戶,是計算機網路與最終用戶的介面。負責兩個應用進程(應用程序或操作員)之間的通信,為網路用戶之間的通信提供專用程序。
課後小結:
1.計算機網路的拓撲結構的分類
2.OSI參考模型的層次
課後作業:預習P37~P39

第九講
教學類型:理論課
教學課題:3.3~3.4
教學目標:
1. 掌握共享介質方式的CSMA/CD和令牌傳遞兩種數據傳輸控制方式的基本原理
2. 了解幾種常見的網路類型
教學重點、難點:理解數據傳輸控制方式
教學方法:教師講解、演示、提問;
教學工具:多媒體幻燈片演示
教學內容與過程
導入:提問學生對OSI的七層模型和TCP/IP四層模型的理解。
引導學生總結重要原理並認真加以研究。
教師總結歸納本章重要原理的應用,進入教學課題。
講授新課:(多媒體幻燈片演示或板書
3.3 數據傳輸控制方式
數據和信息在網路中是通過信道進行傳輸的,由於各計算機共享網路公共信道,因此如何進行信道分配,避免或解決通道爭用就成為重要的問題,就要求網路必須具備網路的訪問控制功能。介質訪問控制(MAC)方法是在區域網中對數據傳輸介質進行訪問管理的方法。
3.3.1 具有沖突檢測的載波偵聽多路訪問
沖突檢測/載波偵聽(CSMA/CD法)
CSMA/CD是基於IEEE802.3標準的乙太網中採用的MAC方法,也稱為「先聽後發、邊發邊聽」。它的工作方式是要傳輸數據的節點先對通道進行偵聽,以確定通道中是否有別的站在傳輸數據,若信道空閑,該節點就可以佔用通道進行傳輸,反之,該節點將按一定演算法等待一段時間後再試,並且在發送過程中進行沖突檢測,一旦有沖突立即停止發送。通常採用的演算法有三種:非堅持CSMA、1-堅持CSMA、P-堅持CSMA。
目前,常見的區域網,一般都是採用CSMA/CD訪問控制方法的邏輯匯流排型網路。用戶只要使用Ethernet網卡,就具備此種功能。

2. 計算機網路-網路層-IPv6數據報格式

IPv6:解決IP地址耗盡的根本措施就是採用具有更大地址空間的新版本的IP,即IPv6。

IPv6仍支持無連接的傳送,但將協議數據單元PDU稱為分組,而不是Pv4的數據報。IPv6所引進的主要變化如下:

(1)更大的地址空間,Pv6把地址從Pv4的32位增大到4倍,即增大到128位,使地址空間增大了2^96倍,這樣大的地址空間在可預見的將來是不會用完的。

(2)擴展的地址層次結構。IPv6由於地址空間很大,因此可以劃分為更多的層次。

(3)靈活的首部格式。IPv6數據報的首部和Pv4的並不兼容。IPv6定義了許多可選的擴展首部,不僅可提供比Pv4更多的功能,而且還可提高路由器的處理效率,這是因為路由器對擴展首部不進行處理(除逐跳擴展首部外)。

(4)改進的選頂。Pv6允許數據報包含有選項的控制信縣,因而可以包含一些新的選項。但IPv6的首部長度是固定的,其選項放在有效載荷中。IPv4所規定的選項放在首部的可變部分。

(5)允許協議繼續擴充。這一點很重要,因為技術總是在不斷地發展(如網路硬體的更新)而新的應用也還會出現。但我們知道,IP4的功能是固定不變的。

(6)支持即插即用(即自動配置),因此IPv6不需要使用DHCP。

(7)支持資源的預分配。Pv6支持實時視像等要求保證一定的帶寬和時延的應用。

(8)IPv6首部改為8位元組對齊(即首部長度必須是8位元組的整數倍)。原來的IPv4首部是4位元組對齊。

IPv6數據報由兩大部分組成,即基本首部(base header)和後而的有效載荷(payload) ,有效載荷也稱為凈負荷。有效我荷允許有零個或多個擴展首部(extension header),再後面是數據部分(圖4-46)。

IPv6各個欄位:

(1)版本(version)佔4位。它指明了協議的版本,對IPv6該欄位是6。

(2)通信量類(traffic class)佔8位。這是為了區分不同的IPv6數據報的類別或優先順序。目前正在進行不同的通信量類性能的實驗。

(3)流標號(flow labe)佔20位。IPv6的一個新的機制是支持資源預分配,並且允許路由器把每一個數據報與一個給定的資源分配相聯系。IPv6提出流(flow)的抽象概念。所謂「流」就是互聯網路上從特定源點到特定終點(單播或多播)的一系列數據報(如實時音頻或視頻傳輸),而在這個「流」所經過的路徑上的路由器都保證指明的服務質量。所有屬於同一個流的數據報都具有同樣的流標號小因此,流標號對實時音煩/視頻數據的傳送特別有用。對於傳統的電子郎件或非實時數據,標號則沒有用處,把它置為0即可。

(4)有效載荷長度(payload length)佔16位。它指明IPv6數據報除基本首部以外的位元組數(所有擴展首部都算在有效載荷之內)。這個欄位的最大值是64KB(65535位元組).

(5)下一個首部(next header)佔8位。它相當於IPv4的協議欄位或可選欄位。

    ① 當Pv6數據報沒有擴展首部時,下一個首部欄位的作用和Pv4的協議欄位一樣,它的值指出了基本首部後面的數據應交付P層上面的哪一個高層協議(例如:6或17分別表示應交付運輸層TCP或UDP)。

    ② 當出現擴展首部時, 下一個首部欄位的值就標識後面第一個擴展首部的類型 。

(6)跳數限制(hop limit)佔8位。用來防止數據報在網路中無限期地存在。源點在每

個數據報發出時即設定某個跳數限制(最大為255跳)。每個路由器在轉發數據報時,要先

把跳數限制欄位中的值減1。當跳數限制的值為零時,就要把這個數據報丟棄。

(7)源地址佔128位。是數據報的發送端的IP地址。

(8)目的地址佔128位。是數據報的接收端的IP地址。

擴展首部

IP4的數據報如果在其首部中使用了選項,那麼沿著數據報傳送的路徑上的每一個路由器都必須對這些選項一一進行檢查,這就降低了路由器處理數據報的速度。然而實際上很多的選項在途中的路由器上是不需要檢查的(因為不需要使用這些選項的信息)。IPv6把原來IPv4首部中選項的功能都放在擴展首部中,並把擴展首部留給路徑兩端的源點和終點的主機來處理,而數據報途中經過的路由器都不處理這些擴展首部(只有一個首部例外,即逐跳選項擴展首部),這樣就大大提高了路由器的處理效率。

在RFC2460中定義了以下六種擴展首部:(1)逐跳選項:(2)路由選擇:(3)分片:(4)鑒別:(5)封裝安全有效載荷:(6)目的站選項。

每一個擴展首部都由若干個欄位組成,它們的長度也各不同。但所有擴展首部的第一個欄位都是8位的「下一個首部」欄位,此欄位的值指出了在該擴展首部後面的欄位是什麼。當使用多個擴展首部時,應按以上的先後順序出現。高層首部總是放在最後面。

3. 計算機網路(5)| 運輸層

從通信和處理信息的角度看,運輸層是向它上面的應用層提供通信服務的,它屬於面向通信部分的最高層,同時也是用戶功能中的最低層。當網路的邊緣部分中的兩台主機使用網路的核心部分的功能進行端到端的通信時,只有主機的協議棧才有運輸層,而網路核心部分中的路由器在轉發分組時都只用到下三層的功能。

運輸層的兩個主要協議 TCP/IP 都是互聯網的正式標准,即:
(1)用戶數據報協議UDP
(2)傳輸控制協議TCP

TCP則是面向連接的服務。在傳送數據之前必須先建立連接,數據傳送結束後要釋放連接。TCP不提供廣播或者多播服務。由於TCP要提供可靠的面向連接的運輸服務,因此需要增加很多的開銷。

TCP/IP的運輸層用一個16位埠號來標志一個埠。埠號只有本地意義。它是為了標志本計算機應用層中的各個進程在和運輸層交互時的層間介面。

運輸層的埠號分為以下兩類:
(1)伺服器端使用的埠號: 它主要分為系統埠號0~1023和登記埠號1024~49151。

(2)客戶端使用的埠號: 49152~65535,這類埠號僅在客戶端進程運行時才動態選擇。當伺服器收到客戶端進程的報文時,就知道客戶端進程的埠號。因而可以把數據發送給客戶進程。

用戶數據報協議相比於IP的數據報服務就是只增加了復用、分用和差錯檢測功能。UDP的主要特點是:
(1)UDP是無連接的, 發送數據之前不需要建立連接,因此減少開銷和發送數據之前的時延。
(2)UDP使用盡最大努力交付, 即不保證可靠交付,因此主機不需要維持復雜的連接狀態表。
(3)UDP是面向報文的。 發送方的UDP對應用交下來的報文,添加首部後就向下交付給IP層。不對報文做任何處理,因此當報文過長時,IP層可能需要進行分片處理。
(4)UDP沒有擁塞控制, 網路出現的擁塞不會使源主機的發送速率減低。
(5)UDP支持一對一、一對多、多對一和多對多的交互通信。
(6)UDP的首部開銷小, 只有8個位元組。

UDP有兩個欄位:數據欄位和首部欄位。先介紹首部欄位,它是由4個欄位組成的,每個欄位只有2個位元組,總共有8個位元組。各個欄位的意義如下:
(1)源埠: 源埠號。在需要對方回信時選用。不需要時可用全0。
(2)目的埠: 目的埠號。在這終點交付報文時必須使用。
(3)長度: UDP用戶數據報的長度,其最小值是8(只有首部)。
(4)檢驗和: 檢測UDP用戶數據報在傳輸中是否有錯,有錯則丟棄。

當在傳送用戶數據報時,如果接收方UDP發現收到的報文中目的埠號不正確(即不存在對應於該埠號的應用進程),就丟棄該報文,並由網際控制報文協議ICMP發送「埠不可達」差錯報文給發送方。

TCP的主要特點如下:
(1)TCP是面向連接的運輸層協議。 應用程序在使用TCP協議之前,必須先建立TCP連接。傳送數據完畢後,必須釋放TCP連接。
(2)每一條TCP連接只能有兩個端點。 每一條TCP連接只能是點對點的。
(3)TCP提供可靠交付的服務。 通過TCP連接傳送的數據,無差錯、不丟失、不重復,並且按序到達。
(4)TCP提供全雙工通信。 TCP允許通信雙方的應用進程在任何時候都能發送數據。
(5)面向位元組流。 TCP中的流指的是流入到進程或進程流出的位元組序列。雖然應用程序和TCP的交互是一次一個數據塊,但TCP把應用程序交下來的數據看成一連串的無結構的位元組流。TCP不保證發送方發送的數據塊和接收方接收的數據塊一致,但保證程序接收到的位元組流和程序發送的位元組流一致。

TCP連接的端點叫做套接字或者插口。套接字是指將埠號拼接到IP地址之後,即:

每一條TCP連接唯一的被通信兩端的兩個端點所確定。即:

如圖所示,A發送分組M1,發送完畢就暫停發送,等待B的確認,B收到了M1就向A發死你確認。A在收到了對M1的確認之後,就再發送下一個分組M2,以此類推。

如圖所示,當B接收M1時檢測出了差錯,就丟棄M1,其他什麼也不做。而A只要超過了一段時間沒有收到確認,就會認為剛才發送的分組丟失了,因而重傳前面發送過的分組,這就叫做超時重傳,而實現超時重傳則需要A為每一個已發送的分組都設置一個超時計時器。
需要注意以下三點:
(1)A在發送完一個分組後,必須暫時保留已發送的分組的副本。
(2)分組和確認分組必須編號,這樣才能明確哪一個發出的分組收到了確認。
(3)超時計時器設置的重傳時間應當比數據在分組傳輸的平均往返時間更長。

如圖所示,B所發送的對M1確認丟失了,A在設定的超時重傳時間內沒有收到確認,所以無法知道自己發送的分組是怎樣出錯的,所以會重傳M1,而當B又收到了重傳的分組M1,這時應該採取兩個行動:
(1)丟棄這個重復分組M1。
(2)向A發送確認。

還有一種情況就是在傳輸過程中沒有出現差錯,但B對分組M1的確認遲到了,而A會收到重復的確認,A收下後就會丟棄,B仍然會收到重復的M1,並且同樣要丟棄重復的M1,並且重傳確認分組。

停止等待協議的優點是簡單,缺點則是信道的利用率太低。我們用TD表示A發送分組需要的時間,TA表示B發送確認分組需要的時間,RTT為往返時間,則:

為了提高傳輸的效率,發送方可以不使用低效率的停止等待協議,而是採用流水線傳輸的方式。即不必每發完一個分組就停下來等待對方的確認,這樣就可以使信道上一直有數據在不間斷的傳送。

如圖表示的是發送方維持的發送窗口,它指的是位於發送窗口內的5個分組都可以連續發送出去而不需要等待對方的確認。同時連續ARP協議規定,發送方每收到一個確認,就把發送窗口向前滑動一個分組的位置。

對於接收方採用的則是累計確認的方式,即接收方不必對收到的分組逐個發送確認。而是在收到幾個分組後,對按序到達的最後一個分組發送確認,這就表示:到這個分組為止的所有分組都已正確收到了。這種方式的優點是:容易實現,即使確認丟失也不必重傳(意思是發送方不必重傳)。但缺點是不能向發送方反映出接收方已經正確收到的所有分組信息。

TCP雖然是面向位元組流的,但傳送TCP的數據單元卻是報文段。一個TCP報文段可以分為首部和數據兩部分。

為了後面講述的方便,我們假設數據傳輸只在一個方向進行,即A發送數據,B給出確認。

TCP的滑動窗口是以位元組為單位的。如圖所示,現在假定A收到了B發來的確認報文段,其中的窗口是20位元組,而確認號是31,根據這2個數據,A就構造出自己的發送窗口。

發送窗口表示:在沒有收到B的確認的情況下,A可以連續把窗口內的數據都發送出去。凡是已經發送過的數據,在未收到確認之前都必須暫時保留,以便在超時重傳時使用。發送窗口後面的部分表示已發送且已經收到了確認。而發送窗口前沿的部分表示不允許發送的。

現在假定A發送了序號為31~41的數據。這時發送窗口位置並未改變但是發送窗口內靠後面有11個位元組表示已發送但是未收到確認。而發送窗口內靠前面的9個位元組時允許發送但未發送的。如圖所示:

而對於B,它的接收窗口大小是20,在接收窗口外面到30號位置的數據是接收並確認的,因此可以丟棄。在下圖中,B收到了32和33的數據,但它們不是按序到達的,因為並沒有收到31號數據。B只能對按序達收到的數據中的最高序號給出確認,因此B發送的確認報文欄位的確認號依然是31號。

現在假定B收到了序號為31的數據,並把31~33的數據交付主機,然後B刪除這些數據。接著把窗口向前移動3個序號,同時給a發送確認,其中的窗口值仍為20,但確認號變為34。表明B已經收到序號33為止的數據。

因為TCP的發送方在規定的時間內沒有收到確認就要重傳已經發送的報文段,但是重傳時間的選擇卻TCP最復雜的問題之一。為此TCP採用了一種自適應演算法,它記錄了一個報文段發出的時間以及收到相應的確認的時間。這兩個時間之差就是報文段的往返時間RTT,同時TCP保留了RTT的加權平均往返時間RTTs。而RTTD是RTT的偏差加權平均值,它與RTTs和新的RTT樣本之差有關。

超時重傳時間的演算法如下:
第一次測量時,加權平均往返時間取往返時間RTT,以後每次測量到一個新的RTT,按以下公式計算:

第一次測量時,RTT偏差的加權平均等於RTT的一半,以後的測里中,按以下公式計算:

綜上超時重傳時間RTO計算如下:

若收到的報文無差錯,只是未按序號,使用選擇確認SACK可是讓發送方發送那些未收到的數據,而不重復發送已經收到的那些數據。如果要使用選擇確認SACK,那麼在建立TCP連接時,就要在TCP首部的選項中加上「允許SACK」的選項,並且雙方必須都事先商量好。

流量控制就是指讓發送方的發送速率不要太快,要讓接收方來得及接收。而利用滑動窗口機制就可以很方便的在TCP連接上實現對發送方的流量控制。

如上圖所示,接收方B進行了三次流量控制。第一次把窗口減小到rwnd=300,第二次又減到rwnd=100,最後是rwnd=0,即不允許發送方再發送數據了。

但是我們應該考慮一種情況,就是當接收方B的存儲已滿時,會向發送方發送零窗口的報文段,接著B的存儲又有了一些空間,B再向A發送一個不為零的窗口值,但這個報文丟失了,結果就是雙方一直等待下去。所以為了解決這個問題,TCP為每一個連接設有一個持續計時器。只要TCP連接的一方收到對方的零窗口通知,就啟動持續計時器,當計時器到期後,就發送一個探測段文段,而對方就在確認這個探測段時給出了現在的窗口值。如果窗口仍然是0,那麼收到這個報文段的一方就重新設置持續計時器,反之則死鎖的僵局就可以打破了。

應用程序把數據傳送到TCP的發送緩存後,TCP在何時發送這些數據?,在TCP的實現中廣泛使用了Nagle演算法。具體演算法如下:
(1)若發送應用進程要把數據逐個位元組地送到TCP的發送緩存,則發送方就把第一個數據位元組先發出去,把後面到達的數據位元組都緩存起來。
(2)方發送方收到對第一個數據位元組的確認後,再把發送緩存中的所有數據組裝成一個報文發送出去,同時繼續對後續到來的數據進行緩存。
(3)只有收到對前一個報文段的確認後才繼續發送下一個報文段。

當數據到達快而網路速度慢時,這種方法可以明顯減少網路帶寬。Nagle還規定:當到達的數據達到窗口的一半或最大報文長度時就立即發送一個報文。

但還還需要考慮一個叫做糊塗綜合征的問題,具體內容是若接收方的緩存已滿,應用進程每次只從緩存中取1個位元組,然後向發送方確認,並把窗口設為1個位元組(緩存只空了1個位元組的空間),接著發送方發來1個位元組,接收方發回確認,仍然將窗口設為1,這樣進行下去,網路的利用率很低。

為了解決這個問題,可以讓接收方等待一段時間,使得或者緩存已有足夠的空間或者等到接收緩存已有一半的空閑空間。此時,接收方就發出確認報文,並向發送方通知當前窗口的大小。

擁塞 是指在某一段時間內,若對網路中某一資源的需求超過了該資源所能提供的可用部分,網路的性能就會變壞的情況。而所謂的 擁塞控制 就是防止過多的數據注入到網路當中,這樣可以使網路中的路由器或者鏈路不致過載,它是一個全局性的過程,涉及到所有的主機和路由器,而流量控制往往是指點對點通信量的控制。擁塞控制所要做的都有一個前提,就是網路能夠承受現有的網路負荷。

TCP進行擁塞控制的演算法有4種:慢開始、擁塞避免、快重傳和快恢復。下面在討論這些演算法時我們假定:
(1)數據是單方向傳送的,對方只傳送確認報文。
(2)接收方總是有足夠大的緩存空間。

發送方維持一個擁塞窗口的狀態變數,其大小取決於擁塞程度,並且動態變化。發送方讓自己的發送窗口小於擁塞窗口(如果考慮接收方的接收能力的話,發送窗口可能小於擁塞窗口)。發送方控制擁塞窗口的原則是:只要網路沒有擁塞,擁塞窗口就再增大一點,以便把更多的分組發送出去,只要出現擁塞,就減小擁塞窗口,以減少注入到網路的分組數。

下面會從「慢開始演算法」講起來討論擁塞窗口的大小如何變化的。

慢開始的演算法思路是:當主機開始發送數據時,由於並不清楚網路的負荷情況,所以如果立即把大量數據位元組注入到網路中,就有可能引起網路擁塞。因此會採用由小逐漸增大發送窗口。即在通常開始發送報文時,先將擁塞窗口cwnd的值設為一個最大報文段MSS的數值,而在每收到一個新的報文段確認後,把擁塞窗口增加至多一個MSS的數值。

如上圖所示,開始時cwnd=1,發送方發送一個M1,接收方收到M1發送確認,發送方收到一個確認後將cwnd加1,此時cwnd=2,因此發送方發送M2和M3兩個報文段,接收方收到後返回兩個確認,因此cwnd增加兩次,此時cwnd=4,接著發送方發送M4~M7四個報文段。依次類推。因此使用慢開始演算法後,每經過一個傳輸輪次,擁塞窗口就加倍。

但是為了防止擁塞窗口cwnd增加過大導致網路擁塞,需要設置一個慢開始門限ssthresh,慢開始門限用法如下:
當cwnd<ssthresh時,使用上述的慢開始演算法。
當cwnd>ssthresh時,停止使用慢開始演算法,使用擁塞避免演算法。
當cwnd=ssthresh時,既可以使用慢開始演算法,也可以使用擁塞避免演算法。
這里的擁塞避免演算法是指讓擁塞窗口緩慢的增大,即每經過一個往返時間RTT就把發送方的擁塞窗口cwnd加1,而不是像慢開始階段那樣加倍增長。

需要注意的是無論在慢開始階段還是擁塞避免階段,只要發送方判斷網路出現擁塞(根據是沒有按時收到確認),立即把慢開始門限ssthresh設為出現擁塞時的發送窗口的一半。然後發送窗口cwnd重新設為1,執行慢開始演算法。目的是迅速減少主機發送到網路分組的分組數。

快重傳演算法要求接收方每收到一個失序的報文段後就立即發送重復確認,如下圖接收了M1和M2後,又接收到一個M4,M4屬於失序報文,則發送對M2的重復確認。發送方只要連續收到三次確認重復就立即重傳對方未收到的報文段M3。

與快重傳演算法配合的還有快恢復演算法,過程如下:
(1)當發送方連續收到三個重復確認時,就把慢開始門限ssthresh減半,這是為了防止網路擁塞,接著並不執行慢開始演算法。
(2)由於上圖這種情況很可能不是因為網路擁塞引起的,因此這里不執行慢開始演算法(即不把擁塞窗口cwnd設為1,這樣速度太慢),而是把cwnd值設置為慢開始門限ssthresh減半後的數值,然後開始執行擁塞避免演算法。

TCP的運輸連接有是三個階段:連接建立、數據傳送和連接釋放。在TCP的連接過程中要解決以下三個問題:
(1)要使每一方能夠確知對方的存在。
(2)要允許雙方協商一些參數(如最大窗口值、是否使用窗口擴大選項和時間戳選項以及服務質量)。
(3)能夠對運輸實體資源進行分配。

TCP建立連接的過程叫做握手,握手需要在客戶和伺服器之間交換3個TCP報文段。如圖是三報文握手建立的連接過程:

A最後還要發送一次確認的原因是為了防止已經失效的連接請求報文段突然又傳送到了B,因而產生錯誤。試想一種情況:如果只有第一次和第二次握手,第二次B向A發送的確認丟失了,此時B進入了連接建立狀態,A沒有收到確認,過一段時間後會再次向B發送連接請求,B收到後又會再次建立連接,白白浪費B的資源。

A在TIME-WAIT狀態等待2MSL(MSL,最長報文段壽命),主要是因為以下兩點考慮:首先是為了保證A發送的最後一個ACK報文段能夠到達B,因為這個ACK報文段可能丟失,此時B會重傳連接釋放報文,如果A已經關閉,則無法收到這個報文。其次,當A在發送完最後一個ACK報文段後,再經過時間2MSL,就可以使本連接持續時間內產生的所有報文段都從網路中消失。這樣,下一個新連接中不會出現這種舊的連接請求報文段。

在圖中每一個方框即TCP可能具有的狀態。每個方框中的大寫英文字元串時TCP標准所使用的的TCP連接狀態名。狀態之間的箭頭表示可能發生的狀態變遷。箭頭旁邊的字表明引起這種變遷的原因,或表明發生狀態變遷後又出現什麼動作,在圖中粗實線箭頭表示對客戶進程的正常變遷,粗虛線箭頭表示對伺服器進程的正常變遷,細線箭頭表示異常變遷。

4. 計算機網路體系分為哪四層

1.、應用層

應用層對應於OSI參考模型的高層,為用戶提供所需要的各種服務,例如:FTP、Telnet、DNS、SMTP等.

2.、傳輸層

傳輸層對應於OSI參考模型的傳輸層,為應用灶拍游層實體提供端到端的通信功能,保證了數據包的順序傳送及數據的完整性。該層定義了兩個主要的協議:傳輸控制協議(TCP)和用戶數據報協議(UDP).

TCP協議提供的是一種可靠的、通過「三次握手」來連接的數據傳輸服務;而UDP協議提供的則是不保證可靠的(並不是不可靠)、無連接的數據傳輸服務.

3.、網際互聯層

網際互聯層對應於OSI參考模型的網路層,主要解決主機到主機的通信問題。它所包含的協議設計數據包在整個網路上的邏輯傳輸。注重重新賦予主機一個IP地址來完成對主機的定址,它還負責數據包在多種網路中的路由。

該層有三個主要協議:網際協議(IP)、互聯網組管理協議(IGMP)和互聯網控制報文賀嘩協議(ICMP)。

IP協議是網際互聯層最重要的協議,它提供的是一個可靠、無連接的數據報傳遞服務。

4.、網路接入層(即主機-網路層)

網路接入層與OSI參考模型中的物理層和數據鏈路層相對應。它負責監視數據在主機和網路之間的交換。事實上,TCP/IP本身並未定義該層的協議,而由參與互連的各網路使用自己的物理層和數據鏈路層協議,然後與TCP/IP的網路接入層進行連接。地址解析協議(ARP)工作在此層,即OSI參考模型的數據鏈路層。

(4)計算機網路數據報服務擴展閱讀:

OSI將計算機網路體系結構(architecture)劃分為以下七層:

物理層: 將數據轉換為可通過物理介質傳送的電子信號相當於郵局中的搬運工人。

數據鏈路層: 決定訪問網路介質的方式。

在此層將數據分幀,並處理流控制。本層指定拓撲結構並提供硬體定址,相當於郵局中的裝拆箱工人。

網路層: 使用權數據路由經過大型網路 相當於郵局中的排序工人。

傳輸層: 提供終端到終端的可靠連接 相當於公司中跑郵局的送信職員。

會話層: 允許用戶使用簡單易記的名稱建立連接 相當於公司中收寄信、寫信封與拆信封的秘書。

表示層: 協商數據交換格式 相當公司中簡報老闆、替老闆寫信的助理。

應用層: 用戶的應用程序和網路之間的介面老闆。

5. 計算機網路——網路層數據報服務與虛電路服務。求以下兩幅圖的詳解

數據報服務是把數據拆分成單個的報文,每個數據報傳輸的路徑都是隨機的,所有報文到達目的主機後再拼裝成完整的數據,UDP協議應該就是一種數據報服務。

虛電路服務是在兩個需要通信的主機之間建立一條虛擬路徑,每個數據報都沿固定的路由傳播,TCP協議應該就是一種虛電路服務。
以上純屬個人理解,有表達不正確的地方請見諒。

6. 《計算機網路-自頂向下方法》第四章-網路層 要點

網路層的作用:實現主機到主機的通信服務,將分組從一台發送主機移動到一台接收主機。

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、協議無關的多播路由選擇協議

7. 計算機網路中什麼是數據報什麼是虛電路

數據報

Data gram
通過網路傳輸的數據的基本單元,包含一個報頭(header)和數據本身,其中報頭描述了數據的目的地以及和其它數據之間的關系。

虛電路
開放分類: 網路、協議、電信、交換分組

虛電路 Virtual Circuit

虛電路是在分組交換散列中枝網路上的兩個或多個端點站點間的鏈路。它為兩個端點間提供臨時或專用面向連接的會話。它的固有特點是,有一條通過多路徑網路的預定路徑。提前定義好一條路徑,可以改進性能,並且消陸碰除了幀和分組對頭的需求,從而增加了吞吐率。從技術上看,可以通過分組交換網路的物理路徑進行改變,以避免擁早培談擠和失效線路,但是兩個端系統要保持一條連接,並根據需要改變路徑描述。圖V-2示意了區域網用戶和遠程地點之間的虛電路。注意,這個虛電路如何為用戶A跨越這個區域網連接、網橋/路由器間的多路復用鏈路、分組交換網路以及穿越分組交換網路的鏈路。

8. 計算機網路的應用層有什麼功能

計算機網路的應用層的功能有:

1、運輸訪問和管理

文件運輸與遠程文件訪問是任何計算機網路最常用的兩種應用。文件運輸與遠程訪問所使用的技術是類似的

2、電子郵件

電子郵件與通用文件運輸的另一個差別是,郵件文電是最高度結構化的文本。在許多系統中,每個文電除了它的內容外,還有大量的附加信息域,這些信息域包括發送方名和地址、接收方名和地址、投寄的日期和時刻、接收復寫副本的人員表、失效日期、重要性等級、安全許可性以及其它許多附加信息。

3、虛擬終端

它實際上只是代有實際終端的抽象狀態的一種抽象數據結構。這種抽象數據結構可由鍵盤和計算機兩者操作,並把數據結構的當前狀態反映在顯示器上。

4、其它功能

(1)目錄服務:它類似於電子電話本,提供了在網路上找人或查到可用服務地址的方法。

(2)遠程作業錄入:允許在一台計算機上工作的用戶把作業提交到另一台計算機上去執行。

(3)圖形:具有發送如工程圖在遠地顯示和標繪的功能。

(4)信息通信:用於家庭或辦公室的公用信息服務。例如智能用戶電報、電視圖文等。

(8)計算機網路數據報服務擴展閱讀:

計算機網路各層的作用:

1、實體層(物理層)

物理層說白了就是那些連線,光纖、雙絞線之類的。

2、鏈接層(數據鏈路層)

也是計算機網路的低層,他的作用就是將網路層交下來的數據封裝成幀交給物理層,以及將從物理層接收的幀解析出數據交給網路層。(ps:數據在物理層一般叫幀,在網路層交IP數據報或者包)。像適配器、轉發器、集線器、網橋、交換機都被歸在鏈接層。

3、網路層

網路層的作用是向上層提供簡單靈活的、無連接的、盡最大努力交付的數據報服務,它不提供服務質量的承諾,它是為主機間提供邏輯通信。這里涉及到地址解析,路由等內容。常見的路由器可以歸為網路層。

4、運輸層

運輸層是為應用進程之間提供端到端的邏輯通信。傳說中的TCP三次握手、四次握手就發生在這里。這里需要重點關注。

5、應用層

域名解析、HTTP、電子郵件等等都是應用層的范疇。應用層的協議比較多。

9. 計算機網路第四章(網路層)

4.1、網路層概述

簡介

網路層的主要任務是 實現網路互連 ,進而 實現數據包在各網路之間的傳輸

這些異構型網路N1~N7如果只是需要各自內部通信,他們只要實現各自的物理層和數據鏈路層即可

但是如果要將這些異構型網路互連起來,形成一個更大的互聯網,就需要實現網路層設備路由器

有時為了簡單起見,可以不用畫出這些網路,圖中N1~N7,而將他們看做是一條鏈路即可

要實現網路層任務,需要解決一下主要問題:

網路層向運輸層提供怎樣的服務(「可靠傳輸」還是「不可靠傳輸」)

在數據鏈路層那課講過的可靠傳輸,詳情可以看那邊的筆記:網路層對以下的 分組丟失 、 分組失序 、 分組重復 的傳輸錯誤採取措施,使得接收方能正確接受發送方發送的數據,就是 可靠傳輸 ,反之,如果什麼措施也不採取,則是 不可靠傳輸

網路層定址問題

路由選擇問題

路由器收到數據後,是依據什麼來決定將數據包從自己的哪個介面轉發出去?

依據數據包的目的地址和路由器中的路由表

但在實際當中,路由器是怎樣知道這些路由記錄?

由用戶或網路管理員進行人工配置,這種方法只適用於規模較小且網路拓撲不改變的小型互聯網

另一種是實現各種路由選擇協議,由路由器執行路由選擇協議中所規定的路由選擇演算法,而自動得出路由表中的路有記錄,這種方法更適合規模較大且網路拓撲經常改變的大型互聯網

補充 網路層(網際層) 除了 IP協議 外,還有之前介紹過的 地址解析協議ARP ,還有 網際控制報文協議ICMP , 網際組管理協議IGMP

總結

4.2、網路層提供的兩種服務

在計算機網路領域,網路層應該向運輸層提供怎樣的服務(「 面向連接 」還是「 無連接 」)曾引起了長期的爭論。

爭論焦點的實質就是: 在計算機通信中,可靠交付應當由誰來負責 ?是 網路 還是 端系統 ?

面向連接的虛電路服務

一種觀點:讓網路負責可靠交付

這種觀點認為,應藉助於電信網的成功經驗,讓網路負責可靠交付,計算機網路應模仿電信網路,使用 面向連接 的通信方式。

通信之前先建立 虛電路 (Virtual Circuit),以保證雙方通信所需的一切網路資源。

如果再使用可靠傳輸的網路協議,就可使所發送的分組無差錯按序到達終點,不丟失、不重復。

發送方 發送給 接收方 的所有分組都沿著同一條虛電路傳送

虛電路表示這只是一條邏輯上的連接,分組都沿著這條邏輯連接按照存儲轉發方式傳送,而並不是真正建立了一條物理連接。

請注意,電路交換的電話通信是先建立了一條真正的連接。

因此分組交換的虛連接和電路交換的連接只是類似,但並不完全一樣

無連接的數據報服務

另一種觀點:網路提供數據報服務

互聯網的先驅者提出了一種嶄新的網路設計思路。

網路層向上只提供簡單靈活的、 無連接的 、 盡最大努力交付 的 數據報服務 。

網路在發送分組時不需要先建立連接。每一個分組(即 IP 數據報)獨立發送,與其前後的分組無關(不進行編號)。

網路層不提供服務質量的承諾 。即所傳送的分組可能出錯、丟失、重復和失序(不按序到達終點),當然也不保證分組傳送的時限。

發送方 發送給 接收方 的分組可能沿著不同路徑傳送

盡最大努力交付

如果主機(即端系統)中的進程之間的通信需要是可靠的,那麼就由網路的 主機中的運輸層負責可靠交付(包括差錯處理、流量控制等) 。

採用這種設計思路的好處是 :網路的造價大大降低,運行方式靈活,能夠適應多種應用。

互連網能夠發展到今日的規模,充分證明了當初採用這種設計思路的正確性。

虛電路服務與數據報服務的對比

對比的方面 虛電路服務 數據報服務

思路 可靠通信應當由網路來保證 可靠通信應當由用戶主機來保證

連接的建立 必須有 不需要

終點地址 僅在連接建立階段使用,每個分組使用短的虛電路號 每個分組都有終點的完整地址

分組的轉發 屬於同一條虛電路的分組均按照同一路由進行轉發 每個分組獨立選擇路由進行轉發

當結點出故障時 所有通過出故障的結點的虛電路均不能工作 出故障的結點可能會丟失分組,一些路由可能會發生變化

分組的順序 總是按發送順序到達終點 到達終點時不一定按發送順序

端到端的差錯處理和流量控制 可以由網路負責,也可以由用戶主機負責 由用戶主機負責

4.3、IPv4

概述

分類編制的IPv4地址

簡介

每一類地址都由兩個固定長度的欄位組成,其中一個欄位是 網路號 net-id ,它標志主機(或路由器)所連接到的網路,而另一個欄位則是 主機號 host-id ,它標志該主機(或路由器)。

主機號在它前面的網路號所指明的網路范圍內必須是唯一的。

由此可見, 一個 IP 地址在整個互聯網范圍內是唯一的 。

A類地址

B類地址

C類地址

練習

總結

IP 地址的指派范圍

一般不使用的特殊的 IP 地址

IP 地址的一些重要特點

(1) IP 地址是一種分等級的地址結構 。分兩個等級的好處是:

第一 ,IP 地址管理機構在分配 IP 地址時只分配網路號,而剩下的主機號則由得到該網路號的單位自行分配。這樣就方便了 IP 地址的管理。

第二 ,路由器僅根據目的主機所連接的網路號來轉發分組(而不考慮目的主機號),這樣就可以使路由表中的項目數大幅度減少,從而減小了路由表所佔的存儲空間。

(2) 實際上 IP 地址是標志一個主機(或路由器)和一條鏈路的介面 。

當一個主機同時連接到兩個網路上時,該主機就必須同時具有兩個相應的 IP 地址,其網路號 net-id 必須是不同的。這種主機稱為 多歸屬主機 (multihomed host)。

由於一個路由器至少應當連接到兩個網路(這樣它才能將 IP 數據報從一個網路轉發到另一個網路),因此 一個路由器至少應當有兩個不同的 IP 地址 。

(3) 用轉發器或網橋連接起來的若干個區域網仍為一個網路 ,因此這些區域網都具有同樣的網路號 net-id。

(4) 所有分配到網路號 net-id 的網路,無論是范圍很小的區域網,還是可能覆蓋很大地理范圍的廣域網,都是平等的。

劃分子網的IPv4地址

為什麼要劃分子網

在 ARPANET 的早期,IP 地址的設計確實不夠合理:

IP 地址空間的利用率有時很低。

給每一個物理網路分配一個網路號會使路由表變得太大因而使網路性能變壞。

兩級的 IP 地址不夠靈活。

如果想要將原來的網路劃分成三個獨立的網路

所以是否可以從主機號部分借用一部分作為子網號

但是如果未在圖中標記子網號部分,那麼我們和計算機又如何知道分類地址中主機號有多少比特被用作子網號了呢?

所以就有了劃分子網的工具: 子網掩碼

從 1985 年起在 IP 地址中又增加了一個「 子網號欄位 」,使兩級的 IP 地址變成為 三級的 IP 地址 。

這種做法叫做 劃分子網 (subnetting) 。

劃分子網已成為互聯網的正式標准協議。

如何劃分子網

基本思路

劃分子網純屬一個 單位內部的事情 。單位對外仍然表現為沒有劃分子網的網路。

從主機號 借用 若干個位作為 子網號 subnet-id,而主機號 host-id 也就相應減少了若干個位。

凡是從其他網路發送給本單位某個主機的 IP 數據報,仍然是根據 IP 數據報的 目的網路號 net-id,先找到連接在本單位網路上的路由器。

然後 此路由器 在收到 IP 數據報後,再按 目的網路號 net-id 和 子網號 subnet-id 找到目的子網。

最後就將 IP 數據報直接交付目的主機。

劃分為三個子網後對外仍是一個網路

優點

1.  減少了 IP 地址的浪費        2.  使網路的組織更加靈活        3.  更便於維護和管理

劃分子網純屬一個單位內部的事情,對外部網路透明 ,對外仍然表現為沒有劃分子網的一個網路。

子網掩碼

(IP 地址) AND (子網掩碼) = 網路地址 重要,下面很多相關知識都會用到

舉例

例子1

例子2

默認子網掩碼

總結

子網掩碼是一個網路或一個子網的重要屬性。

路由器在和相鄰路由器交換路由信息時,必須把自己所在網路(或子網)的子網掩碼告訴相鄰路由器。

路由器的路由表中的每一個項目,除了要給出目的網路地址外,還必須同時給出該網路的子網掩碼。

若一個路由器連接在兩個子網上,就擁有兩個網路地址和兩個子網掩碼。

無分類編址的IPv4地址

為什麼使用無分類編址

無分類域間路由選擇 CIDR (Classless Inter-Domain Routing)。

CIDR 最主要的特點

CIDR使用各種長度的「 網路前綴 」(network-prefix)來代替分類地址中的網路號和子網號。

IP 地址從三級編址(使用子網掩碼)又回到了兩級編址 。

如何使用無分類編址

舉例

路由聚合(構造超網)

總結

IPv4地址的應用規劃

給定一個IPv4地址快,如何將其劃分成幾個更小的地址塊,並將這些地址塊分配給互聯網中不同網路,進而可以給各網路中的主機和路由器介面分配IPv4地址

定長的子網掩碼FLSM(Fixed Length Subnet Mask)

劃分子網的IPv4就是定長的子網掩碼

舉例

通過上面步驟分析,就可以從子網1 ~ 8中任選5個分配給左圖中的N1 ~ N5

採用定長的子網掩碼劃分,只能劃分出2^n個子網,其中n是從主機號部分借用的用來作為子網號的比特數量,每個子網所分配的IP地址數量相同

但是也因為每個子網所分配的IP地址數量相同,不夠靈活,容易造成IP地址的浪費

變長的子網掩碼VLSM(Variable Length Subnet Mask)

無分類編址的IPv4就是變長的子網掩碼

舉例

4.4、IP數據報的發送和轉發過程

舉例

源主機如何知道目的主機是否與自己在同一個網路中,是直接交付,還是間接交付?

可以通過 目的地址IP 和 源地址的子網掩碼 進行 邏輯與運算 得到 目的網路地址

如果 目的網路地址 和 源網路地址 相同 ,就是 在同一個網路 中,屬於 直接交付

如果 目的網路地址 和 源網路地址 不相同 ,就 不在同一個網路 中,屬於 間接交付 ,傳輸給主機所在網路的 默認網關 (路由器——下圖會講解),由默認網關幫忙轉發

主機C如何知道路由器R的存在?

用戶為了讓本網路中的主機能和其他網路中的主機進行通信,就必須給其指定本網路的一個路由器的介面,由該路由器幫忙進行轉發,所指定的路由器,也被稱為 默認網關

例如。路由器的介面0的IP地址192.168.0.128做為左邊網路的默認網關

主機A會將該IP數據報傳輸給自己的默認網關,也就是圖中所示的路由器介面0

路由器收到IP數據報後如何轉發?

檢查IP數據報首部是否出錯:

若出錯,則直接丟棄該IP數據報並通告源主機

若沒有出錯,則進行轉發

根據IP數據報的目的地址在路由表中查找匹配的條目:

若找到匹配的條目,則轉發給條目中指示的嚇一跳

若找不到,則丟棄該數據報並通告源主機

假設IP數據報首部沒有出錯,路由器取出IP數據報首部各地址欄位的值

接下來路由器對該IP數據報進行查表轉發

逐條檢查路由條目,將目的地址與路由條目中的地址掩碼進行邏輯與運算得到目的網路地址,然後與路由條目中的目的網路進行比較,如果相同,則這條路由條目就是匹配的路由條目,按照它的下一條指示,圖中所示的也就是介面1轉發該IP數據報

路由器是隔離廣播域的

4.5、靜態路由配置及其可能產生的路由環路問題

概念

多種情況舉例

靜態路由配置

舉例

默認路由

舉例

默認路由可以被所有網路匹配,但路由匹配有優先順序,默認路由是優先順序最低的

特定主機路由

舉例

有時候,我們可以給路由器添加針對某個主機的特定主機路由條目

一般用於網路管理人員對網路的管理和測試

多條路由可選,匹配路由最具體的

靜態路由配置錯誤導致路由環路

舉例

假設將R2的路由表中第三條目錄配置錯了下一跳

這導致R2和R3之間產生了路由環路

聚合了不存在的網路而導致路由環路

舉例

正常情況

錯誤情況

解決方法

黑洞路由的下一跳為null0,這是路由器內部的虛擬介面,IP數據報進入它後就被丟棄

網路故障而導致路由環路

舉例

解決方法

添加故障的網路為黑洞路由

假設。一段時間後故障網路恢復了

R1又自動地得出了其介面0的直連網路的路由條目

針對該網路的黑洞網路會自動失效

如果又故障

則生效該網路的黑洞網路

總結

4.6、路由選擇協議

概述

網際網路所採用的路由選擇協議的主要特點

網際網路採用分層次的路由選擇協議

自治系統 AS :在單一的技術管理下的一組路由器,而這些路由器使用一種 AS 內部的路由選擇協議和共同的度量以確定分組在該 AS 內的路由,同時還使用一種 AS 之間的路由選擇協議用以確定分組在 AS之間的路由。

自治系統之間的路由選擇簡稱為域間路由選擇,自治系統內部的路由選擇簡稱為域內路由選擇

域間路由選擇使用外部網關協議EGP這個類別的路由選擇協議

域內路由選擇使用內部網關協議IGP這個類別的路由選擇協議

網關協議 的名稱可稱為 路由協議

常見的路由選擇協議

10. 計算機網路-運輸層-用戶數據報協議UDP

用戶數據報協議UDP只在IP的數據報服務之上增加的功能:復用和分用的功能以及差錯檢測的功能。

UDP的主要特點是:

(1) UDP是無連接的 ,即發送數據之前不需要建立連接(當然,發送數據結束時也沒有連接可釋放),因此了開銷和發送數據之前的時延。

(2) UDP使用盡最大努力交付 ,即不保證可靠交付,因此主機不需要維持復雜的連接狀態表(這裡面有許多參數)。

(3) UDP是面向報文的 。發送方的UDP對應用程序交下來的報文,在添加首部後就向下交付IP層。UDP對應用層交下來的報文,既不合並,也不拆分,而是保留這些報文的邊界。這就是說,應用層交給UDP多長的報文,UDP就照樣發送,即一次發送一個報文,如圖5-4所示。在接收方的UDP,對IP層交上來的UDP用戶數據報,在去除首部後就原封不動地交付上層的應用進程。也就是說,UDP一次交付一個完整的報文。因此,應用程序必須選擇合適大小的報文,若報文太長,UDP把它交給IP層後,IP層在傳送時可能要進行分片,這會降低IP層的效率。反之,若報文太短,UDP把它交給IP層後,會使IP數據報的首部的相對長度太大,這也降低了IP層的效率。

(4)UDP沒有擁塞控制,因此網路出現的擁塞不會使源主機的發送速率降低。這對某些實時應用是很重要的。很多的實時應用(如P電話、實時祝頻會議等)要求源主機以恆定的速率發遞數據,並且允許在網鉻發生擁塞時丟失一些數據,但卻不允許數據有太大的時延。UDP正好適合這種要求。

(5)UDP支持一對一、一對多、多對一和多對多的交互通信.

(6)UDP的首部開銷小,只有8個位元組,比TCP的20個位元組的首部要短。

(7)網路環境差的情況下,丟包嚴重。

雖然某些實時應用需要使用沒有擁塞控制的UDP,但當很多的源主機同時都向網路發送高速率的實時視領流時,網鉻就有可能發生擁塞。結果大家都無法正常接收。因此,不使用擁塞控制功能的UDP有可能會引起網路產生嚴重的擁塞問題。

還有一些使用UDP的實時應用,需要對UDP的不可靠的傳輸進行適當的改進,以減少數據的丟失。在這種情況下,應用進程本身可以在不影響應用的實時性的前提下,增加一些提高可靠性的措施,如採用前向糾錯或重傳己丟失的報文。

用戶數據報UDP有兩個欄位:數據欄位和首部欄位。首部欄位很簡單,只有8個位元組(圖5-5),由四個欄位組成,每個欄位的長度都是兩個位元組。各欄位意義如下:

(1)源埠   源埠號。在需要對方回信時選用。不需要時可用全0。

(2)目的埠   目的埠號。這在終點交付報文時必須使用。

(3)長度    UDP用戶數據報的長度,其最小值是8(僅有首部)。

(4)檢驗和    檢測UDP用戶數據報在傳輸中是否有錯。有錯就丟棄。

偽首部的第3欄位是全零;第4欄位是P首部中的協議欄位的值,對於 UDP協議欄位值為17 ;第5欄位是UDP用戶數據報的長度。當運輸層從IP層收到UDP數據報時,就根據首部中的目的埠,把UDP數據報通過相應的埠,上交最後的終點一應用進程。

如果接收方UDP發現收到的報文中的目的埠號不正確(即不存在對應於該埠號的應用進程),就丟棄該報文,並由 網際控制報文協議ICMP發送「埠不可達」差錯報文 給發送方。「ICMP的應用」中的traceroute時,就是讓發送的UDP用戶數據報故意使用一個非法的UDP埠,結果ICMP就返回「埠不可達」差錯報文,因而達到了測試的目的。

請注意,雖然在UDP之間的通信要用到其埠號,但由於UDP的通信是無連接的,因此不需要使用套接字(TCP之間的通信必須要在兩個套接字之間建立連接)。

UDP用戶數據報首部中檢驗和的計算方法有些特殊。在計算檢驗和時,要在UDP用戶數據報之前增加12個位元組的偽首部。所謂「偽首部」是因為這種偽首部並不是UDP用戶數據報真正的首部。只是在計算檢驗和時,臨時添加在UDP用戶數據報前面,得到一個臨時的UDP用戶數據報。檢驗和就是按照這個臨時的UDP用戶數據報來計算的。偽首部既不向下傳送也不向上遞交,而僅僅是為了計算檢驗和。

UDP計算檢驗和的方法 和計算IP數據報首部檢驗和的方法相似。但不同的是:IP數據報的檢驗和只檢驗IP數據報的首部,但UDP的檢驗和是把首部和數據部分一起都檢驗。 在發送方 ,首先是先把全零放入檢驗和欄位。再把偽首部以及UDP用戶數據報看成是由許多16位的字串接起來的。若UDP用戶數據報的數據部分不是偶數個位元組,則要填入一個全零位元組(但此位元組不發送)。然後按二進制反碼計算出這些16位字的和。將此和的二進制反碼寫入檢驗和欄位後,就發送這樣的UDP用戶數據報。 在接收方 ,把收到的UDP用戶數據報連同偽首部(以及可能的填充全零位元組)一起,轉為8位數二進制,然後按二進制反碼求這些16位字的和。當無差錯時其結果應為全1。否則就表明有差錯出現,接收方就應丟棄這個UDP用戶數據報(也可以上交給應用層,但附上出現了差錯的警告)。 檢驗和 ,既檢查了UDP用戶數據報的源埠號和目的埠號以及UDP用戶數據報的數據部分,又檢查了IP數據報的源P地址和目的地址。

這里假定用戶數據報的長度是15位元組,因此要添加一個全0的位元組。這種簡單的差錯檢驗方法的檢錯能力並不強,但它的好處是簡單,處理起來較快。