路由个数据包转发简介
第一章:
网络的核心是路由器, 路由器的作用就是将各个网络彼此连接起来。因此,路由器需要负责不同网络之间的数据包传送。网际通信的效率取决于路由器的性能,即取决于路由器是否能以最有效的方式转发数据包。
除了转发数据包之外,路由器还提供其它服务。为满足现今的网络需求,
路由器还用于:
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 层数据链路帧中,并将它作为编码后的比特流从出站端口转发出去。