一、IP协议简介¶
1、IP协议定义在OSI第三层——网络层。 2、IP协议使用无连接的通信方式,IP网中的节点路由器根据每个IP包的包头IP地址进行寻址,这样同一个主机发出的属于同一报文的IP包可能会经过不同的路径到达目的主机。 3、IP协议能够人工定义物理网络的逻辑地址,简称IP编址,通过IP编址,实现大型互连网络的结构和层次,实现大型互连网络的通信。
二、IP数据包包头¶
1、版本:占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。 2、首部长度:占4位,可表示的最大十进制数值是15,即首部长度达到60字节。最常用的首部长度就是20字节,这时不使用任何选项。 3、区分服务:占8位,用来获得更好的服务。(默认为0) 4、总长度:首部和数据之和的长度,单位为字节。总长度为16位,因此数据的最大长度为65535。 5、标识(identification)占16位。IP软件在存储器中维持一个计数器,每产生一个数据包,计数器加1,并将此值赋给标识字段。当数据包由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据包的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据包。 6、标志(flag):占3位,目前只有2位有意义。 (1)标志字段中最低位记为MF(More Fragment)。MF=1即表示后面"还有分片"的数据段。MF=0表示这已是若干数据报片中的最后一个。 (2)标志字段中间的一位记为DF(Don't Fragment),意思是"不能分片"。只有当DF=0时才允许分片。 7、片偏移:占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。即相对用户数据字段的起点 8、生存时间(TTL):占8位,表示是数据包在网络中的寿命。目的是防止无法交付的数据包无限制地在因特网中兜圈子,防止路由包转发环路(三层)。每经过一个路由器时,就把TTL减去数据包在路由器消耗的一段时间,若数据包在路由器中消耗的时间小于1秒,就把TTL值减1。而当TTL值为0则丢弃这个数据包。 9、协议(Protocol):占8位,目的是指出此数据包携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。 (1)协议号为1,代表ICMP (2)协议号为2,代表IGMP (3)协议号为6,代表TCP (4)协议号为17,代表UDP 10、报头校验和:只检验数据包的首部,不包括数据部分。若首部不一致,则直接丢弃。 11、源地址:占32位 12、目的地址:占32位
三、IP地址¶
3.1 IP地址格式¶
IP地址是一个32bit的二进制数,在实际应用中,使用四段点分十进制数表示。每一段的十进制数是0~255,表示8个二进制数。
3.2 IP地址基本特点¶
1、每个IP地址都包含两个部分:网络部分和主机部分。 2、网络部分也叫IP网络号或者IP网段,表示主机位于哪一个IP网络。 3、主机部分也叫主机地址,表示一个IP网络中的一台具体主机。 4、在一个互连网络中,每一个节点都必须分配一个全网唯一、不重复的IP地址。
3.3 IP地址和子网掩码¶
1、子网掩码是一个32bit的二进制数从最左边开始,由若干位连续的1组成。其他部分都为0。 2、子网掩码是主机用来确定一个IP地址的网络部分的位数的,一个IP地址再加一个子网掩码,就能让主机准确判断一个IP地址的网络部分是多少位,主机部分是多少位。
3.4 IP编址设计的基本原则¶
1、每一个IP网络号必须是全网唯一的、不重复的。 2、同一个IP网段内,所有主机的IP网络号必须是相同的,主机地址必须是唯一的、不重复的。 3、同一个IP网络内所有主机都可以直接通信,不需要配置网关的。 4、网关是主机去往其他IP网络的出口。 5、不同的IP网络之间的通信,简称非直连通信。对于非直连通信,每一个IP网络中必须部署至少一台IP网关设备,每一个IP网络的主机必须配置网关地址。借助于本地网络的网关设备,才能实现本网络与其他IP网络的通信。
3.5 IP地址类别¶
在IP地址规范中,定义了5种类别(A,B,C,D,E)的地址。其中A,B,C三个类别的地址用于单播通信。 1、A类地址的掩码为8位,255.0.0.0 2、B类地址的掩码为16位,255.255.0.0 3、C类地址的掩码为24位,255.255.255.0 4、D类地址用于组播通信 5、E类地址是保留地址,不能使用
3.6 IP保留地址(不能分配给主机的地址)¶
1、网络号地址,主机位全0;子网广播地址,主机位全1。 2、广播地址,主机位全1 3、环回地址,127开头的地址 4、E类地址,240-255开头的地址
3.7 互联网规定的私有地址¶
公网地址需要企业租用,每个国家的ISP负责管理分配,互联网全球通用地址;私有地址专用于企业内网编址,这些地址在互联网是不能使用的。只能通过配置NAT来实现企业内网访问互联网。
| 类 | 私有地址范围 |
|---|---|
| A | 10.0.0.0到10.255.255.255 |
| B | 172.16.0.0到172.31.255.255 |
| C | 192.168.0.0到192.168.255.255 |
四、TCP/IP的常用协议¶
4.1 ICMP协议和Ping命令¶
1、ICMP协议简介 ICMP(Internet Control Message Protocol)是Internet控制协议,它是TCP/IP协议的一个子协议,用于在IP主机和路由器之间传递控制消息(网络通不通、主机是否可达、路由是否可用)。协议号为1。 2、ICMP报文格式 (1)类型 (2)代码 (3)校验 (4)不同类型和代码有不同的内容 3、ICMP报文的类型和代码含义
| Type | Code | Descriptions |
|---|---|---|
| 0 | 0 | Echo Reply-回显应答 |
| 3 | 0 | Network Unreachable-网络不可达 |
| 3 | 1 | Host Unreachable-主机不可达 |
| 3 | 2 | Protocol Unreachable-协议不可达 |
| 3 | 3 | Port Unreachable-端口不可达 |
| 3 | 4 | Fragmentation needed but no frag bit set-需要进行分片但设置不分片比特 |
| 3 | 5 | Source routing failed-源站选路失败 |
| 3 | 6 | Destionation network unknown-目的网络未知 |
| 3 | 7 | Destionation host unknown-目的主机未知 |
| 3 | 8 | Source host isolated (obsolete)——源主机被隔离(作废不用) |
| 3 | 9 | Destination network administratively prohibited——目的网络被强制禁止 |
| 3 | 10 | Destination host administratively prohibited——目的主机被强制禁止 |
| 3 | 11 | Network unreachable for TOS——由于服务类型TOS,网络不可达 |
| 3 | 12 | Host unreachable for TOS——由于服务类型TOS,主机不可达 |
| 3 | 13 | Communication administratively prohibited by filtering——由于过滤,通信被强制禁止 |
| 3 | 14 | Host precedence violation——主机越权 |
| 3 | 15 | Precedence cutoff in effect——优先中止生效 |
| 4 | 0 | Source quench——源端被关闭(基本流控制) |
| 5 | 0 | Redirect for network——对网络重定向 |
| 5 | 1 | Redirect for host——对主机重定向 |
| 5 | 2 | Redirect for TOS and network——对服务类型和网络重定向 |
| 5 | 3 | Redirect for TOS and host——对服务类型和主机重定向 |
| 8 | 0 | Echo request——回显请求(Ping请求) |
| 9 | 0 | Router advertisement——路由器通告 |
| 10 | 0 | Route solicitation——路由器请求 |
| 11 | 0 | TTL equals 0 during transit——传输期间生存时间为0 |
| 11 | 1 | TTL equals 0 during reassembly——在数据报组装期间生存时间为0 |
| 12 | 0 | IP header bad (catchall error)——坏的IP首部(包括各种差错) |
| 12 | 1 | Required options missing——缺少必需的选项 |
| 13 | 0 | Timestamp request (obsolete)——时间戳请求(作废不用) |
| 14 | Timestamp reply (obsolete)——时间戳应答(作废不用) | |
| 15 | 0 | Information request (obsolete)——信息请求(作废不用) |
| 16 | 0 | Information reply (obsolete)——信息应答(作废不用) |
| 17 | 0 | Address mask request——地址掩码请求 |
| 18 | 0 | Address mask reply——地址掩码应答 |
4、Ping命令 Ping命令用于测试两个TCP/IP系统之间的网络层的连通性。
4.2 ARP协议¶
全称为Address Resolution Protocol,地址解析协议,根据IP地址获取物理地址的一种TCP/IP协议。其工作原理是主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回信息。以此来确定目标的物理地址,收到返回信息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间。 注意:请求是广播帧,回复是单播帧!!!
4.3 DHCP协议¶
全称为Dynamic Host Configuration Protocol,动态主机配置协议。使用UDP协议工作,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口。
4.4 DNS-域名系统¶
全称为Domain Name System,域名系统。域名解析过程指的是通过主机名,最终得到该主机名对应的IP地址。
DNS协议运行在UDP协议之上,使用端口号为53。
4.5 一台主机最基本的IP配置¶
1、IP地址 2、子网地址 3、网关(非直连通信时必选项,静态配置或者自动获取) 4、DHCP服务器 5、DNS服务器
4.6 发现网络邻居-CDP协议¶
1、Cisco发现协议是一个专用应用程序,用于提供直连的交换局、路由器和其他思科设备的摘要信息。 2、CDP会使用MAC地址为0100.0ccc.cccc的组播帧发送CDP消息,默认60s发送一次,保持时间为180s。 3、LLDP是国际标准的邻居发现协议,功能与CDP类似 4、CDP协议默认开启,LLDP协议默认关闭,使用lldp run开启. 5、CDP协议相关配置 (1)查看CDP协议是否开启。
Cisco#show cdp interface
Vlan1 is administratively down, line protocol is down
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
GigabitEthernet0/0/0 is up, line protocol is down
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
GigabitEthernet0/0/1 is administratively down, line protocol is down
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
GigabitEthernet0/0/2 is administratively down, line protocol is down
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
(2)关闭CDP协议
Cisco#config terminal
Cisco(config)#no cdp run
(3)简要查看CDP协议邻居
Cisco#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
(4)详细查看CDP协议邻居
Cisco#show cdp neighbors detail
| 上层条目地址 | Cisco专有数据链路协议 | 支持SNAP的介质 |
|---|---|---|
| TCP/IP | Cisco发现协议发现并显示直连cisco设备的信息 | LANS |
| Novell IPX | Cisco发现协议发现并显示直连cisco设备的信息 | 帧中继 |
| Apple Talk | Cisco发现协议发现并显示直连cisco设备的信息 | ATM |
| 其他 | Cisco发现协议发现并显示直连cisco设备的信息 | 其他 |
五、IP路由¶
5.1 什么是IP路由¶
IP路由工作在第三层。 1、定义网络路径(IP编址) 2、学习网络路径(路由协议和路由表) 3、为IP数据包选择最佳路径(查询路由表) 4、将IP数据包转发到最佳路径
5.2 什么是IP路由表和网络路径¶
1、网络路径 (1)源:发送者所在的IP网段 (2)目的:接收者所在的IP网段 (3)方向:本跳设备转发流量的出站接口 (4)距离:由路由协议算法设定、计算,都是逻辑值。 2、IP路由表 IP路由表是路由器学习到的网络路径的集合,即路由器的通信地图,每一条路径也叫做一条路由。
5.3 IP数据包的路由转发¶
1、转发特点:数据包被路由器从源网络到目的网络的逐跳转发。 2、每一跳路由器收到一个数据包,读取数据包目的地址,查找路由表,选择最佳路径,将数据包转发到最佳路由路径的下一跳路由器。 3、数据包每经过一个路由器(或者IP网段),二层的帧头都被重写(使用出接口作为帧的源地址,使用下一跳路由器接口作为帧的目的地址,如果是以太网接口,首先会进行自动的ARP,解析下一跳的MAC地址),数据包被重新封装一次,数据包的包头除了TTL被减1,其他的信息都不会发生改变。 4、数据包进行路由器的入站接口,经过路由查找,被转发到与最佳路径关联的出站接口的过程,也称为"路由转发或者三层转发"。
5.4 IP数据包路由转发图解¶
路由转发过程同时包含:ARP和二层转发,查找路由表确定出站接口;数据包被重新封装,然后被发送到下一跳路由。
1、IP数据包的路由转发过程 (1)主机A向主机B发起一个UDP应用通信 (2)UDP数据递交给IP (3)主机A判断目的IP是否非直连通信。数据包需要首先递交给三层网关;在2层封装时,需要查找网关的MAC地址。 (4)二层以太网查询ARP缓存,是否有网关的IP和MAC映射条目,如果没有ARP条目,数据包被缓存,发起ARP查询。 (5)针对网关IP地址的ARP查询 (6)网关收到ARP查询,缓存主机A的ARP条目。 (7)网关答复主机A的ARP查询 (8)主机A收到网关的ARP答复,建立ARP缓存条目,然后通知二层协议。 (9)由于已经获得了网关的MAC地址,主机A现在可以将缓存的数据包发送给网关 (10)网关收到二层数据帧,解封装后,读取目的IP地址,判定不是给自己的数据包,需要查找路由表,确定转发路径 (11)网关根据数据包目的IP地址,查询路由表获知了转发路径的出站接口以及目的IP网段。 (12)网关准备将数据包发向目的网段,由于没有目的主机的MAC地址,数据包被缓存,然后在出站接口发起ARP查询 (13)目的主机B收到来自网关的ARP查询 (14)主机B答复网关的ARP查询 (15)网关收到了主机B的ARP答复 (16)最后,网关以本机出站接口MAC地址为源,使用目的主机的MAC地址为目的,封装刚才缓存的数据包,将数据帧发向目的网段。
六、静态路由规划与配置¶
6.1 路由器需要学习什么样的路由¶
1、路由器的直连网络都是已知路由,不需要学习,直连网络之间可以直接通信。 2、路由器必须学习非直连网络的路由,才能实现非直连网络之间的通信。
6.2 双向路由是必须的¶
对于指定的源和目的,必须在每一跳路由器上,配置双向路由,才能实现源和目的路由连通。
6.3 末节网络(Stub network)¶
末节网络指网络层次中的最末端、最边缘的网络。末节网络只有一个唯一的路由器连接上级网络。
6.4 默认路由¶
"0.0.0.0 0.0.0.0"为默认路由形式,该条路由代表着任意的、所有的IP网络和地址,在配置静态路由时,代表任何目的网络。
同时存在默认路由和详细路由时,优选使用详细路由,如果详细路由不能匹配到目的地址,最后才使用默认路由。
6.5 配置静态路由以及静态默认路由¶
1、配置单向路由 配置完单向路由后,必须在相反的方向上再配置一条回来的静态路由。
Switch(config)#ip route 目的地址/目的地址段 目的地址掩码 下一跳地址
2、配置默认静态路由 一般末节网络需要配置默认静态路由,允许末节网络到达除本身外以外的所有网络。
Switch(config)#ip route 0.0.0.0 0.0.0.0 下一跳地址
3、检查路由表 S——静态路由,*——默认路由,合起来代表静态默认路由。
Router#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 1.1.1.1 to network 0.0.0.0
1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 1.1.1.0/24 is directly connected, GigabitEthernet0/0/0
L 1.1.1.2/32 is directly connected, GigabitEthernet0/0/0
S* 0.0.0.0/0 [1/0] via 1.1.1.1
七、IOS文件系统¶
路由器常用文件有IOS和Config,IOS文件存储在flash:,Config配置文件存在于NVRAM,等开机后,读取配置文件到RAM里。
7.1 IOS镜像文件管理¶
1、从本地上传文件到服务器 2、从服务器下载文件到本地
7.2 IOS备份¶
本地使用copy flash tftp备份本地镜像文件到服务器。
Router#copy flash tftp
Source filename []? isr4300-universalk9.16.06.04.SPA.bin(本地源文件名)
Address or name of remote host []? 1.1.1.1(服务器地址)
Destination filename [isr4300-universalk9.16.06.04.SPA.bin]? isr.bin(目的文件名,默认与源文件名相同)
7.3 IOS升级¶
1、检查设备与TFTP Server的连通性 2、使用show flash:检查设备Flash剩余空间,默认以B为单位。
Router#show flash:
System flash directory:
File Length Name/status
3 486899872isr4300-universalk9.16.06.04.SPA.bin
2 28282 sigdef-category.xml
1 227537 sigdef-default.xml
[487155691 bytes used, 2761893909 available, 3249049600 total]
3.17338e+06K bytes of processor board System flash (Read/Write)
3、从Tftp 服务器Copy ios镜像文件
Router#copy tftp: flash:
Address or name of remote host []? 1.1.1.1
Source filename []? asa923-k8.bin(服务器中文件名)
Destination filename [asa923-k8.bin]?(目的文件名,默认与源文件名相同)
4、设置启动文件,保存配置并重启
Router(config)#boot system flash isr4300-universalk9.16.06.04.SPA.bin
Router#copy running-config startup-config
Router#reload
7.4 路由器配置文件管理¶
1、复制运行文件到启动文件
Router#copy running-config startup-config
2、复制启动文件到运行文件
Router#copy startup-config running-config
3、从TFTP服务器下载运行文件到本地启动文件
Router#copy tftp: startup-config
Address or name of remote host []? 1.1.1.1(TFTP服务器地址)
Source filename []? Router1-confg(TFTP服务器上运行文件名)
Destination filename [startup-config]?(本地运行文件名)
4、从本地上传运行文件到TFTP服务器
Router#copy running-config tftp:
Address or name of remote host []? 1.1.1.1(TFTP服务器地址)
Destination filename [Router-confg]? Router1-confg(TFTP服务器上运行文件名)
5、删除配置
Router#erase startup-config
7.5 路由器密码恢复¶
1、重启路由器,通过中断(Ctrl C)操作中止启动过程,此时进入remmon模式 2、在remmon模式下修改配置寄存器:confreg 0x2142 3、在remmon模式下重启路由器:Reset(重启后会进入出厂模式) 4、进入特权模式 5、Copy start run 6、修改密码:enable secret +密码 7、全局模式下输入:Config-register 0x2102 8、对有配置的接口:no shutdown 9、保存配置:Copy run start 10、结束
7.6 路由器license管理¶
1、从IOS 15.0开始,使用license管理软件特性 2、使用show license all命令检查license,其中License Type为Permanent,License State为Active, In Use。代表在用。
Router#show license all
License Store: Primary License Storage
StoreIndex: 0 Feature: securityk9 Version: 1.0
License Type: Permanent
License State: Active, In Use
License Count: Non-Counted
License Priority: Medium
StoreIndex: 1 Feature: ipbasek9 Version: 1.0
License Type: Permanent
License State: Active, In Use
License Count: Non-Counted
License Priority: Medium
License Store: Built-In License Storage
StoreIndex: 0 Feature: appxk9 Version: 1.0
License Type: EvalRightToUse
License State: Active, Not in Use, EULA not accepted
Evaluation total period: 208 weeks 2 days
Evaluation period left: 208 weeks 2 days
Period used: 0 minute 0 second
License Count: Non-Counted
License Priority: None
StoreIndex: 1 Feature: uck9 Version: 1.0
License Type: EvalRightToUse
License State: Active, Not in Use, EULA not accepted
Evaluation total period: 208 weeks 2 days
Evaluation period left: 208 weeks 2 days
Period used: 0 minute 0 second
License Count: Non-Counted
License Priority: None
StoreIndex: 2 Feature: securityk9 Version: 1.0
License Type: EvalRightToUse
License State: Inactive
Evaluation total period: 208 weeks 2 days
Evaluation period left: 208 weeks 2 days
Period used: 0 minute 0 second
License Count: Non-Counted
License Priority: None
StoreIndex: 3 Feature: FoundationSuiteK9 Version: 1.0
License Type: EvalRightToUse
License State: Active, Not in Use, EULA not accepted
Evaluation total period: 208 weeks 2 days
Evaluation period left: 208 weeks 2 days
Period used: 0 minute 0 second
License Count: Non-Counted
License Priority: None
StoreIndex: 4 Feature: AdvUCSuiteK9 Version: 1.0
License Type: EvalRightToUse
License State: Active, Not in Use, EULA not accepted
Evaluation total period: 208 weeks 2 days
Evaluation period left: 208 weeks 2 days
Period used: 0 minute 0 second
License Count: Non-Counted
License Priority: None
StoreIndex: 5 Feature: cme-srst Version: 1.0
License Type: EvalRightToUse
License State: Active, Not in Use, EULA not accepted
Evaluation total period: 208 weeks 2 days
Evaluation period left: 208 weeks 2 days
Period used: 0 minute 0 second
License Count: Non-Counted
License Priority: None
StoreIndex: 6 Feature: throughput Version: 1.0
License Type: EvalRightToUse
License State: Active, Not in Use, EULA not accepted
Evaluation total period: 208 weeks 2 days
Evaluation period left: 208 weeks 2 days
Period used: 0 minute 0 second
License Count: Non-Counted
License Priority: None
3、安装永久版license
Router#license install flash:uck9-2900-SPE150_k9-FHH12250057.xml
Router#reload
4、安装评估版license
Router(config)#license boot module c1900 technology-package securityk9
Router(config)#do reload