第4章 IP路由基础

本文详细介绍了IP路由的基础知识,涵盖IPv4地址的有类编址、VLSM技术、IP头部报文格式。同时,讨论了ICMP协议的作用,包括重定向和差错检测。在路由方面,讲解了路由表、路由优先级、路由度量值以及最长前缀匹配的概念,并探讨了静态路由、缺省路由和CIDR在路由汇总中的应用。
摘要由CSDN通过智能技术生成

第4章 IP路由基础


IP协议功能:

  1. 负责在网络中对设备进行标识
  2. 负责报文防环、Qos优化、分片
  3. 负责报文的寻址

4.1 IPv4地址规划

4.1.1 IP有类编址

  1. IP地址

    IP地址长度为32bit,4byte,有由两部分组成:网络号+主机号;

    网络号标识设备所属的网段;主机号标识同一个网络中不同的主机

    IP地址的表示方式:

    1. 二进制格式,机器方便处理

    2. 点分十进制,方便人使用

      • 每8个bit为一组用,隔开,在每组转换成10进制即可

      • 2726252423222120
        1286432168421

    补充:一个16进制数值可以用4bit的2进制俩描述

    • 1 = 0001
    • 5 = 0101
    • F = 1111
  2. IP地址结构

    image-20230225201056351

    地址结构就是IP地址网络部分长度以及主j机部分长度。

  3. IP地址类型

    任何一个网段都有2个特殊地址:

    • 网络地址(网络号): 主机位全为0的地址,不能分配给接口使用,代表网段本身,用于标识一个网段

    • 广播地址: 主机位全为1的地址,不能分配给接口使用,代表网段中的所有接口,实现广播通信

    • 可用地址: 主机位既不全为0,也不全为1的地址,可以分配给该网段的所有接口

      问题:172.16.10.1/16这个B类地址的网络地址、广播地址以及可用地址数分别是?

      image-20230225210751596

      • IP地址和子网掩码都转换成二进制
      • 两者相与,转换成十进制得出网络号
      • 剩余的0全部改为1,得出广播地址
      • 网络号加为第一个地址
      • 广播地址减一为最后一个地址
  4. IP地址分类

    image-20230225155729767

    • A类可用于分配使用的地址范围:1.0.0.0~126.255.255.255

    • A、B、C类为单播地址,用于1对1通信

    • D类为组播地址。用于1对多通信

    • E类为暴露的单播地址,用于军事、科研、现在也已经分配完毕

    • 私有的IP地址:所有机构或者个人可以随意使用,无需申请,用于企业内部组网。私网地址可以重复使用,提高地址利用率,节省了公网地址。

      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

    • 其他均为公网地址,目前所有IPv4公网地址均已分配完毕

    • 其他特殊的IP地址:

      255.255.255.255: 有限的广播地址

      0.0.0.0: 任何网络的IP地址

      127.0.0.0/8: 环回地址,用来测试设备自身的软件系统;IP协议规定:

      • IP报文源地址不能是127.0.0.0网段的地址;

      • IP报文目的地址如果是127.0.0.0网段的地址的报文无法被发出接口。

      • 问题:环回口有什么特点?

        1. 逻辑接口,没有物理接口与之对应
        2. 不会出现无力故障,设备启动后,loopback接口一直保持up状态,稳定性特别好
        3. 做网络测试使用
        4. 某些协议(OSPF/BGP/LDP)使用,保持协议工作的稳定性
        5. 作为带内设备的网管地址
        6. loopback接口通常配置/32的掩码长度,理解只有一台主机的网络

      169.254.0.0/16: 进行临时通信的IP地址

4.1.2 VLSM技术

  1. 子网掩码

    本身不是一个IP地址,并且必须是若干个连续的1后接若干个连续的0组成。(长度为32bit,1代表网络位;0代表主机位)

    作用:

    • 用于识别IP地址的格式,区分网络位和主机位
    • 用于计算主机所属的网络号
    • 用于计算主机所属的网络的广播地址
  2. IP地址表示法

    掩码表示法:192.168.1.10 255.255.255.0

    前缀表示法:192.168.1.10/24

  3. 子网划分

    问题:公司想把192.168.5.0/24划分为5个部门,每个部门大概有20台主机,怎样划分?

    2n = 子网的地址数量 n=5 地址数量 32

    2m = 子网的数量 m = 3 子网的数量 8

    n+m = 8

  4. 点到点链路上通常建议分配/30的掩码长度,地址利用率最高

4.1.3 IP头部报文格式

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|  IHL  |Type of Service|          Tota l Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|      Fragment Offset    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Time to Live |    Protocol   |         Header Checksum       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Options                    |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

版本号(Version):0100代表IPv4;0110代表IPv6

报文长度(IHL):整个IP数据报的长度,包括首部和数据之和,单位为字节,最长65535,总长度必须不超过最大传输单元MTU。

服务类型(Type of Service)

标识(Identification):主机每发一个报文,加1,分片重组时会用到该字段。如报文A标识为1000,但被分片为A1、A2、A3三个分片,A1、A2、A3的标识都为1000。

标识位(Flags):分为0(保留为);DR置位0表示允许分片、置位为1表示不允许分片;MF置位为0表示是分片但不是最后一个分片、置位为1表示是分片且是最后一个分片。

片偏移量(Fragment Offset):表示较长的分组在分片后,某片在原分组中的相对位置。以8个字节为偏移单位。

  • 首个分片的(传输层大小+PDU大小)/8 =第二个分片的偏移量

  • 首个分片传输层大小+PDU大小+第二个分片的PDU/8=第三个分片的偏移量

  • image-20220716230916366

生存时间(Time to Live):取值范围0~255,默认值取决于操作系统设置的默认值,常见的默认TTL为64、128、255。作用:用于防止IP报文转发时产生环路、防环用,当路由器接受到IP报文后将报文ttl值减一,如果减到0还没有到达目的地址则将报文丢弃,防环报文在网络中无限被转发。

4.2 ICMP

全称:Internet Control Message Protocol

中文名称:Internet控制报文协议

作用:用于网络设备间传递各种差错和控制信息

ICMP的应用场景:ICMP用来传递差错、控制、查询等信息

ICMP报文格式

+0------7-------15---------------31
|  Type | Code  |    Checksum    |
+--------------------------------+
|          Message Body          |
|        (Variable length)       |
+--------------------------------+

Type表示ICMP消息类型,Code表示同一消息类型中的不同信息

类型编码描述
00Echo Reply
30网络不可达
31主机不可达
32协议不可达
33端口不可达
50重定向
80Echo Request

有些ICMP消息使用Type字段定义消息大类,用Code字段表示消息的具体类型。比如,类型为3的消息表示目的不可达,不同的Code值表示不可达的原因,包括目的网络不可达(Code=0)、目的主机不可达(Code=1)、协议不可达(Code=2)、目的TCP/UDP端口不可达(Code=3)等

4.2.1 ICMP重定向

image-20230227192350078

ICMP重定向过程:

  1. 主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。
  2. 网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。
  3. 主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。

安全隐患:攻击者主动向主机A发送ICMP重定向报文,访问任何网段都要交给某个路由器,但这个路由可能不存在,于是导致无法通信。

解决方法:主机关闭ICMP报文处理功能。

IPv4 ICMP重定向功能触发前提:

  1. 报文的目的地址不是一个组播地址。报文并非通过路由转发给路由器。
  2. 经过路由计算后。路由的下一跳出接口是接收报文的接 。
  3. 路由器发现报文的最佳下一跳IP地址和报文的源1P地址处于同一网段。

4.2.2 ICMP差错检测

image-20230227200117443

image-20230227210106087

#静态路由配置
[R1]ip route-static 4.4.4.4 32 10.0.12.2
[R2]ip route-static 1.1.1.1 32 10.0.12.1 
[R2]ip route-static 4.4.4.4 32 10.0.23.3
[R3]ip route-static 1.1.1.1 32 10.0.23.2 
[R3]ip route-static 4.4.4.4 32 10.0.34.4
[R4]ip route-static 1.1.1.1 32 10.0.34.3
  1. ping
    1. -a source-ip-address指定发送ICMP ECHO-REQUEST报文的源IP地址。如果不指定源IP地址,将采用出接口的IP地址作为ICMP ECHO-REQUEST报文发送的源地址。
    2. -c count指定发送ICMP ECHO-REQUEST报文次数。缺省情况下发送5个ICMP ECHO-REQUEST报文。
    3. -h ttl-value指定TTL的值。缺省值是255。
    4. -t timeout指定发送完ICMP ECHO-REQUEST后,等待ICMP ECHO-REPLY的超时时间
  2. tracert
    • -a source-ip-address指定tracert报文的源地址。
    • -f first-ttl指定初始TTL。缺省值是1。
    • -m max-ttl指定最大TTL。缺省值是30。
    • -name使能显示每一跳的主机名。
    • -p port指定目的主机的UDP端口号。

4.3 路由基础

什么是路由?

就是将一个网段的数据转发到另一个网段,是一种逐跳行为。

**实现路由的设备:**凡是具有路由功能的网络设备。

**自治系统(AS):**由同一个管理机构管理、使用统一路由策略的路由器集合,

路由来源:

  1. 直连路由:自动发现 默认优先级为0,不能改

  2. 静态路由:管理员手动配置 默认优先级为60 ip route-static 1.1.1.0 24 10.1.12.1

  3. 动态路由:路由协议交换路由信息获取

    **补充:**除了直连路由其他的路由优先级都能改。

问题:数据帧被封装成IP报文后,主机会进行一个怎样的判断?

SIP和DIP是否在同一个网段,明确是同子网互访还是跨子网互访。

判断依据:

SIP和自身子网掩码做逻辑与运算,得到自身的网络号

DIP和自身子网掩码做逻辑与运算,得到目标主机所在的网络号

如果SIP和DIP的网络号相同,则代表同子网互访,如果不同则代表跨子网互访

如果同子网互访,则查ARP缓存;如果ARP缓存存在目标的ARP表项,进行2层封装

如果跨子网互访,则查路由表,查找网关地址,知道网关地址后,查ARP缓存表是否存在网关地址的MAC地址信息。如果不存在网关的ARP表项,则对网关地址发起ARP解析,解析完毕后,进行2层封装,交给网关做进一步处理。

4.3.1 路由表

**display ip routing-table **查看路由表

[Huawei]display ip routing-table 
Route Flags: R - relay, D - download to fib
-------------------------------------------------------------
Routing Tables: Public  Destinations : 2        Routes : 2        
Destination/Mask  Proto  Pre  Cost  Flags   NextHop    Interface
0.0.0.0/0         Static  60    0       D   120.0.0.2  Serial1/0/0
8.0.0.0/8         RIP     100   3       D   120.0.0.2  Serial1/0/0
9.0.0.0/8         OSPF    10    50      D   20.0.0.2   Ethernet2/0/0
9.1.0.0/16        RIP     100   4       D   120.0.0.2  Serial1/0/0
11.0.0.0/8        Static  60    0       D   120.0.0.2  Serial2/0/0
20.0.0.0/8        Direct  0     0       D   20.0.0.1   Ethernet2/0/0
20.0.0.1/32       Direct  0     0       D   127.0.0.1  LoopBack0

目的地址(Destination)/网络掩码(Mask):用于标识一条路由。

路由协议(Proto):该路由的类型,或者该路由是通过什么途径学习到的。

优先级(Preference):认为定义对的一个值,用于判断路由来源的可信任度,取值为0~255,越小越优。思科上称为管理距离(AD)

开销(cost):本路由器到达目的网段的代价值。

下一跳IP地址(NextHop):指明IP数据包所经由的下一跳路由器的接口地址。

输出接口(Interface):指明IP数据包将从该路由器的哪个接口转发出去。

目的地址(Destination)/网络掩码(Mask)、下一跳IP地址(NextHop)、输出接口(Interface):只需要这三要素就能实现报文转发,剩下的是解决冲突的。

4.3.2 路由优先级

  1. 人为定义的一个值,用于判断路由来源的可信任的程度,取值范围0~255,值越小优先级越高,思科称为路由管理距离,AD
  2. 当去往相同的网段有多种协议的路径可供选择的时候,选择路由优先级值越小,代表可信任程度越高
  3. 除了直连路由,其他的路由优先级都可以改。
  4. 不同路由来源,相同的优先级比较内部优先级。
路由协议的类型路由协议的外部优先级
Direct0
OSPF10
IS-IS15
Static60
RIP100
OSPF ASE150
OSPF NSSA150
IBGP255
EBGP255
路由协议的类型路由协议的内部优先级
Direct0
OSPF10
IS-IS Level-115
IS-IS Level-218
Static60
RIP100
OSPF ASE150
OSPF NSSA150
IBGP200
EBGP20

4.3.3 路由度量值

  1. 又称为cost开销/Metric(思科)/成本。
  2. 使用同一种路由来源去往相同网段有多条路径时,选择cost最小的。
  3. 不同路由协议对cost的计算方式不同。
  • 路由进表的规则:

image-20211119091738564

4.3.4 最长前缀匹配

**路由表报文转发机制:**根据IP报文目的地址查路由表,找到最匹配的路由表进行转发,即掩码长度最长的。

4.3.5 路由类型

  1. 从工作原理上分类:
    • DV 距离矢量路由协议 RIPv1、RIPv2、IGRP(思科独有、淘汰)、
    • LS 链路状态路由协议 OSPFv2、OSPFv3、ISIS
    • 路径矢量路由协议 BGP
  2. 从工作范围上分类:
    • IGP 内部网关协议(实现AS内部互联互通的通信) RIPv1、RIPv2、IGRP、EIGRP、OSPFv2、OSPFv3、ISIS
    • EGP 外部网关协议(实现AS之间互联互通的通信) BGP

4.3.4 静态路由

**功能:**负载均衡和路由备份

  • 带宽差距比较大的链路不适合做负载分担

[R1]ip route-static 192.168.2.0 24 10.1.12.2
[R1]ip route-static 192.168.2.0 24 20.1.12.2 preference 100		#路由备份

[S2]ip route-static 192.168.1.0 24 10.1.12.1
[S2]ip route-static 192.168.1.0 24 20.1.12.1 preference 100	
[S2]ip route-static 192.168.2.0 24 10.1.23.3

[S3]ip route-static 192.168.1.0 24 10.1.23.2

问题:IP路由网络(静态路由/路由协议)如何做负载分担?

  1. 基于流实现负载分担
    • 流:SIP+DIP+SPORT+DPORT+(TCP/UDP)五元组相同的报文组成同一个流
    • 属于同一个流的报文走相同的路径
    • 华为设备负载分担是基于流,因为易于排错
  2. 基于报文实现负载分担
    • 匹配相同等价路由的报文,以报文为单位,在多条等价路径上轮询转发
  3. 非TCP/UDP的IP报文,比如IICMP协议报文
    • SIP+DIP相同的报文组成一个流

4.3.5 缺省路由

  • 缺省有静态和动态之分

  • 作用:末节网络的边缘路由器通常会缺省路由访问外部网络

  • 末节网络:只有一个出口的网络

  • 缺省路由不能互指

  • 缺省路由也能做负载分担和路由备份

4.3.6 CIDR

  • CIDR(classless inter-domain routing,无类域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。

  • CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。

    image-20230228205735761

4.3.7 路由汇总

  • 本质:通过一条或者多条路由信息把大量的路由信息给概括起来

路由汇总优点:

  • 减少了路由表的条目数量,节省设备资源,提升转发效率
  • 增强了网络的稳定性

路由汇总的缺点:

  • 不精确地路由汇总会导致路由黑洞
  • 错误的路由汇总会导致路由环路

精确地路由汇总要求良好的地址规划,对地址规划的要求比较高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走之儿的云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值