網絡連接的設備:中繼器、集線器、交換機、網橋、路由器和網關等。路由器 是網絡層設備,集線器和中繼器都是物理層設備。交換機和網橋是數據鏈路層設備,交換機就是多端口的網橋,是目前應用最廣泛的數據鏈路層設備
一、網絡層服務
網絡層的任務:將數據從源主機送達到目的主機
網絡層主要功能:
1、轉發:當輸入鏈路接收到一個分組后,路由器需要決策通過哪條輸出鏈路將分組發送出去,並將分組從輸入接口轉移到輸出接口。
2、路由選擇:當分組從源主機流向目的主機時,必須通過某種方式決定分組經過的路由或路徑。計算分組所經過的路徑的算法被稱為路由選擇算法(或路由算法)
3、連接建立:網絡層連接是從源主機到目的主機經過的一條路徑,這條路徑所經過的每個路由器 等網絡設備都要參與網絡層連接的建立
二、數據報網絡與虛電路網絡
數據報網絡:無連接服務的分組交換網絡,按照目的主機地址進行路由選擇的網絡;因特網的網絡層是數據報網絡;源主機每要發送一個分組,就為該分組加上目的主機地址,然后將該分組推 進網絡。每個路由器使用分組的目的主機地址轉發分組;在數據報網絡中,發送的分組和接收的分組次序不一定相同,需要對分組重新進行排序,這個任務通常由傳輸層來完成
數據報網絡特點:
- 在雙方通信前,不需要先建立連接,因此稱“無連接”。
- 數據報方式中每個分組被單獨處理。
- 發送的分組和接收的分組次序不一定相同,每個分組被傳送的路徑也可能不一致。
- 分組在網絡傳輸的過程中出現了丟失或者差錯,數據報網絡本身也不做處理
- 需要在轉發表中維護轉發信息,更新頻率慢,通常 1~5min
虛電路網絡:面向連接的分組交換網絡;雙方通信前先使用虛電路建立連接,通信結束后再拆除連接。
虛電路(virtual circuit,VC):源主機到目的主機的一條路徑上建立的一 條網絡層邏輯連接。
一條虛電路由3個要素構成:
- 1、從源主機到目的主機之間的一條路徑(一系列的鏈路和分組交換機)。
- 2、路徑上的每條鏈路各有一個虛電路標識(VCID)。
- 3、該路徑上每台分組交換機的轉發表中記錄虛電路標識的接續關系
虛電路交換與數據報交換的主要差別表現為:是將順序控制、差錯控制和流量控制等功能交由網絡來完成,
還是由端系統來完成。虛電路網絡(如 ATM 網絡)通常由網絡完成這些功能,數據報網絡(如 Internet)通
常由端系統來完成。
ATM網絡:在信源交換之前必須建立虛擬連接
三、網絡互連與網絡連接設備
同構網絡:兩個異地以太網的互聯,實現同構網絡互聯的典型技術是隧道技術
異構網絡:主要是指兩個網絡的通信技術和運行協議的不同。 例如:wifi,網線等
異構網絡互連的基本策略:協議轉換和構建虛擬互聯網
協議轉換:采用一類支持異構網絡之間協議轉換的網絡中間設備,來實現 異構網絡之間數據分組的轉換與轉發。 例如:交換機或者是多協議路由器
構建虛擬互聯網絡:在異構網絡基礎上構建一個同構的虛擬互聯網絡,如 IP 網絡;Internet 是利用 IP 網絡實現的全球最大的互聯網絡,是典型的網絡層實現的網絡互連。Internet 采用同構的網絡層協議(IP)與網絡尋址(IP 地址), 引入網絡互連設備(IP 路由器)。
路由器:最典型的網絡層設備。具有多個輸入端口和多個輸出端口的專用計算 機,主要任務就是獲取與維護路由信息以及轉發分組,基本功能是轉發和路由選擇
路由器從功能體系結構角度:輸入端口、交換結構、輸出端口、路由處理器
輸入端口:查找,轉發,到達分組緩存排隊功能
================交換結構============
交換結構:完成具體的轉發工作,將輸入端口的IP數據報交換到指定的輸 出端口
主要包括:
- 基於內存交換:輸入端口——>內存、路由處理器——>輸出端口;性能最低,路由器價格最便宜
- 基於總線交換:輸入端口和輸出端口連接在一條數據總線上, 無須路由處理器介入即可實現交換功能, 總線是獨占式
- 基於網絡交換:使用一個復雜的互聯網絡來實現交換結構;克服單一、獨占所帶來的限制;並行交換傳輸。性能最高,路由器價格昂貴
====================輸出端口====================
輸出端口:緩存排隊,從隊列中取出分組進行數據鏈路層數據幀的封裝,發送。輸出端口通常對隊列中的分組執行( FCFS )的調度策略。
===================路由處理器====================
1、執行命令
2、路由協議運行
3、路由計算以及路由表的更新和維護。
路由器的轉發功能(流程):路由器在收到IP數據報時,會利用IP數據報的目的IP地址檢索路由表,如果路由表中沒有匹配成功的路由項,則通過默認路由對應的接口轉發該IP數據報;如果除默認路由外,有一條路由項匹配成功,則選擇該路由項對應的接口,轉發該IP數據報;如果除默認路由外,有多條路由項匹配成功,則選擇網絡前綴匹配成功位數最長的路由項,通過該路由項指定的接口轉發該IP數據報
四、網絡擁塞
1、網絡層擁塞:用戶對網絡資源(包括鏈路帶寬、存儲空間和處理器處理能力 等)的總需求超過了網絡固有的容量; 網絡負載在膝點附近時,吞吐量和分組平均延遲達到理想的平衡,網絡 的使用效率最高;網絡擁塞嚴重時會導致通信業務陷入停頓,稱為死鎖
發生擁塞的原因:
- 1)緩沖區容量有限
- 2)傳輸線路的帶寬有限
- 3)網絡結點的處理能力有限
- 4)網絡中某些部分發生了故障
解決網絡擁塞的兩個方面:增加網絡資源(擁塞預防)、減小網絡負載(擁塞消除)
==================網絡層常采用的擁塞控制措施=================
1、流量感知路由:屬於擁塞預防
網絡抽象為一張帶權無向圖,路由器抽象為圖的結點,鏈路抽象為圖的邊。每一條鏈路有自己 的鏈路費用(例如:時延小,權值小)。
流量感知路由:權值根據網絡負載動態調整,可以將網絡流量引導到不同的鏈 路上,均衡網絡負載
2、准入控制:屬於擁塞預防,廣泛應用於虛電路網絡的擁塞預防技術。 基本思想:對新建虛電路審核,如果新建立的虛電路會導致網絡變得擁塞, 那么網絡拒絕建立該新虛電路。
3、流量調節:屬於擁塞消除,在網絡發生擁塞時,通過調整發送方發送數據的速率來消除擁塞。
路由器如何感知發生了擁塞:通過路由器輸出端口的排隊時延
路由器感知到擁塞時,如何通知其上游結點,並且使上游結點降低發送速 率?
- 抑制分組:感知到擁塞的路由器選擇一個被擁塞的數據報,給該數據報的源主 機返回一個抑制分組
- 背壓:抑制分組在從擁塞結點到源結點的路徑上的每一跳,都發揮抑制作用
4、負載脫落:屬於擁塞消除,有選擇地主動丟棄一些數據報,來減輕網絡負載,從而緩解或消除 擁塞;脫落原則是丟棄大的分組編號
擁塞控制與流量控制的區別:擁塞控制主要考慮端系統之間的網絡環境,目的是使網絡負載不超過網絡的傳送能力;而流量控制主要考慮接收端的數據接收與處理能力,目的是使發送端的發送速率不超過接收端的接收能力。另外,擁塞控制的任務是確保網絡能夠承載所達到的流量;而流量控制只與特定的發送方和特定的接收方之間的點到點流量有關
解決網絡振盪現象的成功方法主要有兩種:
- 一種是多路徑路由,即兩個區域間流量的傳輸分散到兩條不同的鏈路上,從而使得其中任一鏈路上的負載都不會太大;
- 另一種是將負載過大的鏈路上的流量,緩慢地轉移至另一條鏈路上,而不是一次性將全部流量從一條鏈路轉移到另一條鏈路上
五、Internet 網絡層
IP對輸入數據報的處理分為兩種:1、主機對數據報的處理 2、網關對數據報的處理
Internet網絡層主要協議:網際協議(IP)[核心協議]、路由協議、互聯網控制報文協議(ICMP)
Internet網絡層最核心的協議 IP, 定義了如何封裝上層協議(如UDP、TCP)的報文段; 定義了Internet網絡層尋址(IP地址)以及如何轉發IP數據報等內容; 兩個版本:IPv4和IPv6
===============IP數據報格式==================
1、版本號:4位。IP的版本號。
2、首部長度:4位。IP數據報的首部長度:20B-60B (在題目沒有指明的情況下默認使用20B),單位4字節
3、區分服務:8位。在舊標准種稱為服務類型(Type Of Service,TOS)字段,用來指示期 望獲得哪種類型的服務。
4、數據長度:16位。IP數據報的總字節數。數據長度=首部長度 + 數據長度
5、生存時間:8位。Time-To-Live ,TTL。表示IP數據報在網絡中可以通過的路由器數(或跳步數)。
6、上層協議:8位,指示該IP數據報封裝的是哪個上層協議。 TCP:6 UDP:17
7、首部校驗和:16位,利用校驗和實現對IP數據報首部的差錯檢測
8、源IP地址:32位。發出IP數據報的源主機的IP地址。
9、目的IP地址:32位。IP數據報的需要送達的主機的IP地址。
10、選項:長度可變。
11、數據:存放IP數據報所封裝的傳輸層報文段
12、標識:16位。標識一個IP數據報。每產生一個IP數據報, IP協議的計數器加1。 該字段的重要用途:在IP數據報分片和重組過程中用於標識屬於同一IP數據報。 該字段不可唯一標識一個IP數據報。
13、標志:3位。DF(Don't Fragment):禁止分片 DF=0,允許分片 DF=1,禁止分片 ;MF(More Fragment):更多分片 MF=0,未被分片或分片的最后一片 MF=1,是分片且不是最后一個
14、片偏移量(13位):以8B為單位。表示一個IP數據報分片與原IP數據報的數據的相對偏移量。 當該字段值為0時,且MF=1, 則表示這是一個IP分片,且是第一個分片。
2、IP數據報分片
網絡層:以分組的方式接受傳輸層的數據,然后再對數據進行分片發送給數據鏈路層
最大傳輸單元(Maximum Transmission Unit , MTU):數據鏈路層幀能承載 的最大數據量 ,最大1500字節。
IP數據報分片的原則:盡可能少分片。 一個最大分片可封裝的數據字節數最好是8的倍數
3、IPv4編址
IPv4地址的長度為32位,共有2 的32次方個不同的IP地址,約為43億個
IPv4地址的三種標記方式
4、IP地址分配
1、前綴(Prefix):即網絡部分(Net ID)。用於描述主機所歸屬的網絡; 分類地址:定長前綴。 無類地址:前綴長度可變。
2、后綴(Postfix):即主機部分(Host ID)。用於表示主機在網絡中的唯一地址
================分類地址================
分類尋址: A、B、C類地址可以用於標識網絡中的主機或路由器 D類地址作為組廣播地址 E類是地址保留
特殊地址:分類地址中一些特殊用途的地址
私有地址:一部分分類地址保留用於內部網絡。這部分分類地址可以在內 網使用,但不能在公共互聯網上使用
==================無類地址=================
無類地址中,網絡前綴不再被設計為定長的8位、16位、24位,而變成可以是 0-32位的任意值。所以不存在分類地址中的網絡類別。 網絡地址書寫形式:a.b.c.d/x。 例如:203.1.1.0/25 表示網絡前綴占25位
5、子網划分
子網化:將一個較大的子網划分為多個較小子網的過程。(大變小)
超網化:將具有較長前綴的相對較小的子網合並為一個具有稍短前綴的相對 較大的子網。(小變大)
較大的子網:可以划分的子網數量多;較小的子網:可以划分的子網數量少 例如:A的網絡前綴=24位 B的網絡前綴=26位 則A就是較大的子網,B就是較小的子網
子網掩碼:用來定義一個子網的網絡前綴長度 占32位;子網掩碼轉為二進制后1的個數就是其子網的網絡位數;例如255.255.255.0 ,他的子網前綴是24位。 書寫形式:二進制,點分十進制。取值規則:對應前綴,全部為1,對應后綴,全部為0 ;
例題:已知某主機
直接廣播地址是該子網的最后一個地址
子網地址:是該子網的第一個地址
子網掩碼:表示該子網的前綴(網絡位)占幾位
已知某主機的地址和子網掩碼,求子網地址、直接廣播地址(子網廣播地址)、IP地址總數、可分配的IP地址數量 主機的IP地址是203.123.1.135,子網掩碼是255.255.255.192 1、子網地址:子網掩碼和主機地址按位與運算;與運算:0&0=0; 0&1=0; 1&0=0; 1&1=1; 子網掩碼:11111111 11111111 11111111 11000000 主機地址:11001011 01111011 00000001 10000111 按位與: 11001011 01111011 00000001 10000000 子網地址: 203.123.1.128/26 2、直接廣播地址:子網掩碼的反碼與主機地址按位或運算。 反碼:1變為0;0變為1;或運算:0||0 = 0; 1||0 = 1; 0||1 = 1; 1||1 = 1; 子網掩碼:11111111 11111111 11111111 11000000 掩碼反碼:00000000 00000000 00000000 00111111 主機地址:11001011 01111011 00000001 10000111 按位或: 11001011 01111011 00000001 10111111 直接廣播地址 203.123.1.191 3、IP地址總數: IPV4地址共32位,分為網絡位+主機位;通過子網掩碼可以確定網絡位,則主機位為:32-網絡位。IP地址總數:2的(32-網絡位)次方個。 主機位:32-26=6, 2的6次方=64 4、可分配IP地址總數:64-2=62 在IP地址總數中提前子網地址占一個,廣播地址占一個所以可分配IP地址總數:IP地址總數-2(子網地址占頭,廣播地址占尾) 5、可分配地址范圍是多少 子網地址:203.123.1.128(占頭) 廣播地址:203.123.1.191(占尾) 可分配IP地址范圍是: 203.123.1.129 ~ 203.123.1.190
6、路由聚合
路由聚合:減少路由表項數,提高路由效率,將可以將聚合在一起的子網聚 合成一個大的子網
7、動態主機配置協議
當組織分配到一個網絡地址塊后,就可以為該組織內的主機和路由器接口分配IP地址。
靜態分配:手動配置。
動態分配:動態主機配置協議來分配。
動態主機配置協議(Dynamic Host Configuration Protocol ,DHCP): DHCP服務器端口號 67 ;DHCP客戶端口號68
DHCP工作過程:
- 第一步:DHCP服務器發現:廣播方式
- 第二步:DHCP服務器提供:廣播方式
- 第三步:DHCP請求:廣播方式
- 第四步:DHCP確認
8、網絡地址轉換(Network Address Translation ,NAT):使私有地址在公共Internet上正常通信
UPnP:NAT穿透技術就是在外網主機與內網主機發起通信之前,先在NAT轉換表中建立好內外網的的映射關系,使內網運行的服務以NAT公網的合法身份暴露出去,通過動態配置NAT實現穿透的方法是內網主機主動發現NAT,並請求NAT完成穿透配置,比較典型的就是基於UPnP協議實現的NAT穿透配置
NAT工作原理:
- 從內網出去的IP數據報,將其IP地址替換為NAT服務器擁有的合法的 公共IP地址,並將替換關系記彔到NAT轉換表中;
- 從公共互聯網返回的IP數據報,依據其目的IP地址檢索NAT轉換表, 並利用檢索到的內部私有IP地址替換目的IP地址,然后將IP數據報轉發到內部網絡
9、互聯網控制報文協議(Internet Control Message Protocol ,ICMP):是 Internet 網絡層主要協議之一,ICMP 的主要功能是進行主機或路由器間的網絡層差錯報告與網絡探測
ICMP報文格式:
10、IPv6數據報格式
IPv6和IPv4數據報首部對比
IPv6刪除了這些字段: 1、分片相關字段 2、首部校驗和 3、選項字段不是IPv6的基本首部的字段。
IPv6地址:IPv6地址長度為128位
IPv6地址表示方法:
- 8組冒號分隔的十六進制數: 8000::4321:0501:AB96:56CD ;::只能出現一次
- 在IPv6地址中嵌入IPv4的點分十進制: 6700:89A1:0321:206.36.45.19
IPv6地址分類:
- 單播地址:唯一標識網絡中的一個主機或路由器網絡接口,可做源地址和目的地址
- 組播地址:標識網絡中的一組主機,只能用作目的地址。(向一個組播地址發送 IP數據報,所有成員都會收到這個 IP 數據報副本)
- 任播地址:標識網絡中的一組主機,只能用作目的地址。(向一個任播地址發送 IP數據報,只有某個成員會收到這個 IP 數據報)。
IPv4到IPv6的遷移:
方法一:雙協議棧:網絡結點同時具備發送IPv4、發IPv6數據報的能力。如圖:路由器1同時具備IPV4,IPV6的處理能力,當他要把數據傳送給路由器2之前,會通過DNS獲取,路由器2所支持的協議,然后按照該協議給他發送信息
方法二:隧道:很好地解決IPv6通信中經過IPv4路由器的問題,同時也不會 出現信息丟失的問題。
六、路由算法與路由協議
帶權無向圖:將網絡抽象為一個帶權無向圖G=(N,E),N表示結點集合,E是邊的集合。 網絡中的路由器抽象為圖G的結點,連接兩個路由器的網絡鏈路抽象為G的邊。 例如:X、Y 網絡鏈路的費用(比如時延)抽象為G中的權值。 例如:10、100
如果兩個結點間有邊,例如從結點X到結點Y 則從結點X到結點Y耗費的費用記做C(X,Y)=10 如果兩個結點間沒有邊,例如結點X到結點U 則從結點X到結點U耗費的費用記做C(X,U)=∞
===============鏈路狀態路由選擇算法(LS算法)==============
全局式路由選擇算法:需要根據網絡的完整信息來計算最短路徑
鏈路狀態路由選擇算法是一種全局式路由選擇算法,每個路由器在計算路 由時,需要構建出整個網絡的拓撲圖。
鏈路狀態路由選擇算法:利用Dijkstra算法求最短路徑。
P(v):到本次迭代為止,在源結點到目的結點v的當前路徑上,結點v的前序結點。 如果路徑上只有兩個結點,則該值就是最后一個結點。 例如:X→Y,P(y)就是y
例子:從X結點出發,分別求到達結點Y,U,V,W的最短距離。
=====================距離向量路由選擇算法(DV)==================
距離向量路由選擇算法:是一種分布式路由算法,基礎是Bellman-Ford方程(簡稱B-F方程)。 令dx (y)表示結點x到結點y的路徑的最低費用,根據B-F方程,有以下
路由轉發表更新的步驟:
- 路由器分別維護自己的轉發表(DV),並且收到鄰居的通告。
- 收到通告會進行對比更新。
==================層次化路由選擇==================
層次化路由選擇:大規模網絡路由選擇最有效可行的解決方案
自治系統(autonomous system,AS):互聯網按組織邊界划分為多個 自治系統。每個自治系統由運行相同路由協議和路由選擇算法的路由器組成。如圖3個AS組成
網關路由器:每個自治系統存在至少一個與其他自治系統互連的路由器。例如AS3中的 3C、AS1中的1B和1A、AS2中的2C;
層次化路由選擇原理: 大規模互聯網的路由划分為兩層:
- 1、自治系統內路由選擇:計算到達自治系統內目的網絡的路由。
- 2、自治系統間路由選擇:負責其他自治系統網絡的可達性信息
層次化路由選擇:
- 內部網關協議(Interior Gateway Protocol->IGP):Internet自治系統內部路由選擇協議。 1、 路由信息協議(Routing Information Protocol,RIP)、 2、開放最短路徑優先協議(Open Shortest Path First,OSPF)
- 外部網關協議( Exterior Gateway Protocol->EGP):Internet自治系統間路由選擇協議。1、 邊界網關協議(Border Gateway Protocol,BGP)
=============RIP============
RIP:較小的AS。基於距離向量路由選擇算法的IGP。
1、RIP報文:封裝進UDP數據報。
2、RIP特性:
- 第一、RIP在度量路徑時采用的是跳數。
- 第二、RIP的費用定義在源路由器和目的子網之間。
- 第三、RIP被限制的網絡直徑不超過15跳的自治系統內使用。
=================OSPF================
OSPF:較大規模的AS。基於鏈路狀態路由選擇算法的IGP;直接封裝在IP數據報傳輸
OSPF的優點: 安全; 支持多條相同費用路徑; 支持區別化費用度量; 支持單播路由與多播路由; 分層路由;
=================BGP==============
BGP:實現跨自治系統的路由信息交換。典型版本是BGP4。
BGP主要有4種報文:
- OPEN(打開)報文,用來不BGP對等方建立BGP會話
- UPDATE(更新)報文,用來通告某一路由可達性信息,或者撤銷已有路由
- KEEPALIVE(保活)報文,用於對打開報文的確認,或周期性地證實會話的有效
- NOTIFICATION(通知)報文,用來通告差錯