三層轉發就是通過路由器的在不同時間的轉發。它一般工作在TCP/IP網絡模型的第三層。 三層轉發可以很復雜,也可以很簡單。今天我們就來講講網絡層的定義和 三層轉發的基本原理。
1.網絡層的定義
網絡層(network layer ):它位于OSI模型中的第三層,介于運輸層與數據鏈路層之間,提供發信端到目標端之間的信息傳輸服務。網絡層的數據以IP數據報的形式傳輸。
2.IP協議
IP提供了不可靠,無連接的數據報傳送服務。它定義了在互聯網上傳輸數據的具體格式。IP實現兩個基本功能:尋址及分片。
IP地址由網絡號和主機號兩部分組成,網絡號標識互聯網中的一個特定網絡,主機號標識在該網絡中的一臺特定主機,最常用的地址表示方法是點分十進制法。如:192.168.10.1關于IP協議的具體講解見《TCP/IP 基礎學習》
3.ARP
ARP,即地址解析協議,實現通過IP地址到物理地址的映射。
在以太網協議中規定,同一局域網中的一臺主機要和另一臺主機進行直接通信,必須要知道目標主機的MAC地址,而在TCP/IP協議棧中網絡層和傳輸層只關心目標主機的IP地址。
這就導致在以太網中使用IP協議時,數據鏈路層的以太網協議接到上層IP協議提供的數據中,只包含目的主機的IP地址。于是需要一種方法,根據目的主機的IP地址,獲得其MAC地址。這就是ARP協議要做的事情。(關于ARP的具體知識,見《TCP/IP 基礎學習》)
4.基本轉發的概念
在數據通信網絡中,設備之間的通信基本上是根據TCP/IP協議,在IP網絡中運行的特定功能的設備,都可以稱之為端系統,PC是一種最常見的端系統,網絡中路由器、交換機就是用來互聯不同的端系統,讓它們進行透明的通信。
三層轉發基本原理
之前我們學習了二層轉發,知道二層轉發是一種基于OSI中的數據鏈路層的數據幀的存儲轉發技術,二層交換是依靠MAC地址和VID號來確定轉發方向的。那么,三層轉發和二層轉發有什么區別呢?
1.數據轉發依靠的關鍵字不同,二層轉發主要依靠MAC地址,而三層轉發主要依靠IP地址。
2.數據交換的范圍不同,二層交換指在同一網段內的通信,三層交換指跨網段的通信。
3.在三層轉發的過程中,還要進行二層的封裝。也就是說,在轉發過程中二層幀頭中的(源、目的)MAC地址是要改變的。但是IP數據報中的源IP和目的IP地址是不會改變的
5.IP路由表
路由是IP層轉發的依據,路由包括
?目的網絡/前綴長度
?下一跳地址IP路由表
?出接口
?……
查看路由表的命令
?Show ip route
Show fib
路根據路由產生的方式分
1.直連路由–本地接口IP網段對應的路由,優先級最高
2.靜態路由-手工配置的路由,優先級較高
3.動態路由-各種路由協議產生的路由優先級有高有低由匹配
匹配原則--最長路徑匹配原則
6.三層轉發舉例
PC1準備向PC2發送數據包
(1) PC1檢查報文的目的IP地址,發現和自己不在同一網段,則需要進行三層轉發,通過網關轉發報文信息;
(2) PC1檢查自己的ARP表,發現網關的MAC地址不在自己的ARP表里;
PC1向Router發起arp請求
(3) PC1——》Router(網關)發出ARP請求報文;
(4) Router將PC1的MAC地址學習到自己的ARP表,
(5) Router(網關)——》PC1發出ARP應答報文;
(6) PC1學習到Router(網關)的mac地址,發出報文,此時源ip、目的ip不變,目的mac為Router(網關)的mac
(7) PC1——》 Router(網關)發出報文。
(8) Router(網關)收到報文,發現是三層報文(原因是報文的目的mac是自己的mac)
(9) Router(網關)檢查自己的路由表(FIB),發現目的ip在自己的直連網段
(10)Router檢查自己的arp表,如果發現有與目的ip對應的mac地址則直接封裝報文(目的ip、源ip不變,目的mac為查arp表所得mac)發送給PC2
(11) 如果查ARP表沒有得到與目的ip對應MAC,則重復(3)發arp請求
(12) PC2收到ARP廣播報文,發現目的IP是自己的IP,于是給Router發送ARP應答報文。報文中會附上自己的mac地址。
(13) Router收到應答報文后,目的mac改為PC2的mac,然后向PC2發送數據幀。
(15) Router收到報文后,向PC1轉發報文
評論
查看更多