路由個數據包轉發簡介
第一章:
網絡的核心是路由器, 路由器的作用就是將各個網絡彼此連接起來。因此,路由器需要負責不同網絡之間的數據包傳送。網際通信的效率取決于路由器的性能,即取決于路由器是否能以最有效的方式轉發數據包。
除了轉發數據包之外,路由器還提供其它服務。為滿足現今的網絡需求,
路由器還用于:
l 確保全天候(24x7,即每周 7 天,每天 24 小時)的服務可用性。為了幫助確保網絡的連通性,路由器使用備用路徑來防范首選路徑出現故障。
l 通過有線網絡和無線網絡提供集成的數據、視頻和語音服務。路由器使用 IP 數據包的服務質量 (QoS) 優先排序來確保實時通信,例如確保語音、視頻和重要數據不出現丟失或延遲。
l 通過允許或拒絕數據包的轉發來應對蠕蟲、病毒和其它攻擊帶來的影響。
路由器內部構造:
路由器中含有許多其它計算機中常見的硬件和軟件組件,包括:
l CPU(中央處理器)
l RAM(隨機訪問存儲器)
l ROM(只讀存儲器)
l 操作系統(Cisco IOS)
路由器可連接多個網絡,這意味著它具有多個接口,每個接口屬于不同的 IP 網絡。當路由器從某個接口收到 IP 數據包時,它會提取數據包的目的IP地址并和路由器的路由表進行匹配然后決定從哪個接口轉發此數據包。
路由器主要負責將數據包傳送到本地和遠程目的網絡,其方法是:
l 確定發送數據包的最佳路徑
l 將數據包轉發到目的地
(路由器使用路由表來確定轉發數據包的最佳路徑。當路由器收到數據包時,它會檢查其目的 IP 地址,并在路由表中搜索最匹配的網絡地址。路由器經常會收到以某種類型的數據鏈路幀(如以太網幀)封裝的數據包,當轉發這種數據包時,數據包的封裝取決于路由器接口的類型及其連接的介質類型。)
路由器的CPU和存儲器:
路由器組件及其功能
路由器包含:
l 中央處理器 (CPU)
C PU 執行操作系統指令,如系統初始化、路由功能和交換功能。
l 隨機訪問存儲器 (RAM)
l 只讀存儲器 (ROM)
RAM 存儲 CPU 所需執行的指令和數據。RAM 用于存儲以下組件:
l 操作系統:啟動時,操作系統會將 Cisco IOS (Internetwork Operating System) 復制到 RAM 中。
l 運行配置文件:這是存儲路由器 IOS 當前所用的配置命令的配置文件。除幾個特例外,路由器上配置的所有命令均存儲于運行配置文件,此文件也稱為 running-config。
l IP 路由表:此文件存儲著直連網絡以及遠程網絡的相關信息,用于確定轉發數據包的最佳路徑。
l ARP 緩存:此緩存包含 IPv4 地址到 MAC 地址的映射,類似于 PC 上的 ARP 緩存。ARP 緩存用在有 LAN 接口(如以太網接口)的路由器上。
l 數據包緩沖區:數據包到達接口之后以及從接口送出之前,都會暫時存儲在緩沖區中。
RAM 是易失性存儲器,如果路由器斷電或重新啟動,RAM 中的內容就會丟失。
ROM 是一種永久性存儲器。Cisco 設備使用 ROM 來存儲:
l bootstrap 指令
l 基本診斷軟件
l 精簡版 IOS
ROM 使用的是固件,即內嵌于集成電路中的軟件。
閃存:
閃存是非易失性計算機存儲器,可以電子的方式存儲和擦除。閃存用作操作系統 Cisco IOS 的永久性存儲器。如果路由器斷電或重新啟動,閃存中的內容不會丟失。
NVRAM:
NVRAM(非易失性 RAM)在電源關閉后不會丟失信息。一般用于保存啟動時的配置文件。
IOS(Internetwork Operating System):
IOS就是操作系統,它可以管理路由器的硬件和軟件資源,包括存儲器分配、進程、安全性和文件系統。Cisco IOS 屬于多任務操作系統,集成了路由、交換、網際網絡及電信等功能。當人IOS的功能越多那么IOS文件就越大。
路由器啟動過程:
啟動過程
啟動過程分為四個主要階段:
1. 執行 POST
2. 加載 bootstrap 程序
3. 查找并加載 Cisco IOS 軟件
4. 查找并加載啟動配置文件,或進入設置模式
執行POST:
就是說加電自檢的過程,要針對包括 CPU、RAM 和 NVRAM 在內的幾種硬件組件。POST 完成后,路由器將執行 bootstrap 程序。
加載bootstrap程序:
bootstrap 程序將從 ROM 復制到 RAM。進入 RAM 后,CPU 會執行 bootstrap 程序中的指令。bootstrap 程序的主要任務是查找 Cisco IOS 并將其加載到 RAM。
查找并加載 Cisco IOS:
查找 Cisco IOS 軟件。IOS 通常存儲在閃存中,但也可能存儲在其它位置,如 TFTP(簡單文件傳輸協議)服務器上。如果不能找到完整的 IOS 映像,則會從 ROM 將精簡版的 IOS 復制到 RAM 中。這種版本的 IOS 一般用于幫助診斷問題,也可用于將完整版的 IOS 加載到 RAM。
查找并加載配置文件:
IOS 加載后,bootstrap 程序會搜索 NVRAM 中的啟動配置文件(也稱為 startup-config)。此文件含有先前保存的配置命令以及參數,其中包括:
l 接口地址
l 路由信息
l 口令
l 網絡管理員保存的其它配置
如果啟動配置文件 startup-config 位于 NVRAM,則會將其復制到 RAM 作為運行配置文件 running-config。如果沒有則路由器可能會搜索 TFTP 服務器。如果路由器檢測到有活動鏈路連接到已配置路由器,則會通過活動鏈路發送廣播,以搜索配置文件。
執行配置文件:
如果在 NVRAM 中找到啟動配置文件,則 IOS 會將其加載到 RAM 作為 running-config,并以一次一行的方式執行文件中的命令。
進入設置模式(可選):
如果不能找到啟動配置文件,路由器會提示用戶進入設置模式。就是設置向導(傻瓜模式)
命令行界面:
就是調試模式.
一旦顯示提示符,路由器便開始以當前的運行配置文件運行 IOS。而網絡管理員也可開始使用此路由器上的 IOS 命令。
檢查路由器的啟動過程:
使用 show version 命令可以看到一下信息:
IOS版本:
Cisco Internetwork Operating System Software IOS (tm) C2600 Software (C2600-I-M), Version 12.2(28), RELEASE SOFTWARE (fc5)
(便是 RAM 中的 Cisco IOS 軟件版本,也正是路由器所用的軟件版本。)
ROM Bootstrap 程序:
ROM:System Bootstrap, Version 12.1(3r)T2, RELEASE SOFTWARE (fc1)
(顯示了存儲于 ROM 存儲器的系統 bootstrap 軟件(最初用于啟動路由器)的版本。)
IOS 位置:
ROM:System Bootstrap, Version 12.1(3r)T2, RELEASE SOFTWARE (fc1)
(顯示了 boostrap 程序在 Cisco IOS 中加載的位置,以及 IOS 映像的完整文件名。)
CPU 和 RAM 大小:
cisco 2621 (MPC860) processor (revision 0x200) with 60416K/5120K bytes of memory
(第一部分顯示的是該路由器的 CPU 類型。此行的最后一部分顯示的是 DRAM 的大小。某些系列的路由器(如 2600)使用 DRAM 中的一段作為數據包存儲器。數據包存儲器用于緩沖數據包。
要確定路由器上的總 DRAM 大小,請將兩個數字相加。在本例中,Cisco 2621 路由器有 60,416 KB(千字節)的可用 DRAM用于臨時存儲 Cisco IOS 和其它系統進程。其余 5,120 KB 專用作數據包存儲器。二者相加之和為 65,536K,即總共 64 兆字節 (MB) 的 DRAM。)
接口:
2 FastEthernet/IEEE 802.3 interface(s)
2 Low-speed serial(sync/async) network interface(s)
(這一段輸出顯示的是路由器上的物理接口。在本例中,Cisco 2621 路由器有兩個快速以太網接口和兩個低速串行接口。)
NVRAM 大小:
32K bytes of non-volatile configuration memory.
(這是路由器上 NVRAM 的大小。NVRAM 用于存儲 startup-config 文件。)
閃存大小:
16384K bytes of processor board System flash (Read/Write)
(這是路由器上閃存的大小。閃存用于永久存儲 Cisco IOS。)
配置寄存器:
Configuration register is 0x2102
(最后一行顯示的是軟件配置寄存器的當前配置值(十六進制格式)。如果有括在括號中的第二個值,則該值表示下次重新加載時會使用的配置寄存器值。
配置寄存器有多種用途,例如口令恢復。配置寄存器的出廠默認設置是 0x2102。此值表示路由器會從閃存加載 Cisco IOS 軟件映像,從 NVRAM 加載啟動配置文件。)
路由器端口:
路由器管理端口:管理端口(CONSOLE)無需網絡就可以配置設備、輔助端口(AUX)也可以管理設備同時也可以連接調制解調器。
路由器接口:路由器接口主要負責接收和轉發數據包,根據接口的類型不同它們的用途和介質也不同。與其他設備一樣Cisco使用LED指示燈提供狀態信息。
接口分屬不同的網絡,路由器接口主要分為2組:
l LAN 接口 - 如以太網接口和快速以太網接口
l WAN 接口 - 如串行接口、ISDN 接口和幀中繼接口
LAN接口:它與PC一樣也有MAC地址也會參加ARP過程。路由器接口通常使用支持非屏蔽雙絞線(UTP)網線的RJ-45接口。當路由器與交換機連接時,使用直通電纜。當兩臺路由器直接通過以太網接口連接,或 PC 網卡與路由器以太網接口連接時,使用交叉電纜。
WAN接口:用于連接路由器與外部網絡,這些網絡通常分布在距離較為遙遠的地方。WAN 接口的第 2 層封裝可以是不同的類型,如 PPP、幀中繼和 HDLC(高級數據鏈路控制)。MAC 地址不用在WAM接口上。WAN 接口使用自己的第 2 層地址。
路由器和網絡層:
路由器的主要用途是連接多個網絡,并將數據包轉發到自身的網絡或其它網絡。由于路由器的主要轉發決定是根據第 3 層 IP 數據包(即根據目的 IP 地址)做出的,因此路由器被視為第 3 層設備。作出決定的過程稱為路由。
路由器在收到數據包時會檢查其目的 IP 地址。如果目的 IP 地址不屬于路由器直連的任何網絡,則路由器會將該數據包轉發到另一路由器。
每個路由器在收到數據包后,都會搜索自身的路由表,尋找數據包目的 IP 地址與路由表中網絡地址的最佳匹配。如果找到匹配項,就將數據包封裝到對應外發接口的第 2 層數據鏈路幀中。數據鏈路封裝的類型取決于接口的類型,如以太網接口或 HDLC 接口。
路由器工作在第1、第2和第3層:路由器收到一個比特流后經過解碼后上傳到第 2 層,在此由路由器將幀解封。路由器會檢查數據鏈路幀的目的地址,確定其是否與接收接口(包括廣播地址或組播地址)匹配。如果與幀的數據部分匹配,則 IP 數據包將上傳到第 3 層,在此由路由器做出路由決定。然后路由器將數據包重新封裝到新的第 2 層數據鏈路幀中,并將它作為編碼后的比特流從出站端口轉發出去。