关于OSPF、NAT的原理

文章目录

  • OSPF初始化流程
    • 建立令居与邻接关系
    • 邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
    • 每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表
  • OSPF报文类型
  • OSPF分区管理
    • 分区域的原因
    • 路由器角色
    • 区域类型
  • 实验
  • NAT
  • 实验
    • NAT
    • NAT Server


OSPF初始化流程

建立令居与邻接关系

  • 发送hello报文发现和建立邻居关系,组播地址224.0.0.5

    • 接口UP
    • 双方接口IP地址在同一网段
    • 双方接口在同一区域
  • 选举DR/BDR,建立邻接关系

  • DR/BDR选举

    • 选举原因:广播网络中使路由信息交换更加高速有序
    • 选举范围:没条广播链路上都需要选举出一个DR和一个BDR
    • 选举规则:
      • 优先级大的优先,默认优先级都是1
      • Router-id大的优先
  • Router-id:

    • 定义:Rid,表示路由器的身份
  • Router-id产生方法:

    • 手动配置一个IPv4地址格式作为Rid
    • 自动选举:
      • 在所有环回口中选举IP地址最大的作为Rid
      • 在所有物理接口中选举IP地址最大的作为Rid
  • 建议手动配置一个本地环回口的IP地址作为Rid

  • 关系状态

    • DRoyher与DR建立邻接关系
    • DRoyher与BDR建立邻接关系
    • DR与BDR建立邻接关系
    • 两个DRoyher之间保持邻接关系

邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步

  • 相关概念
  • 链路状态通告
    • LSA
    • 用来描述路由器的接口、路由条目的相关信息
  • 链路状态数据库
    • LSDB
    • 存储本地所有LSA
  • 工作流程
    • 向邻接路由器发送DD报文,通过本地LSDB中所有LSA的摘要信息
    • 收到DD后,与本地LSDB对比,向对方发送LSR报文,请求发送本机所需的LSA的完整信息
    • 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
    • 收到LSU后,向对方回复LSAck报文,进行确认

每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表

OSPF报文类型

  • Hello报文
  • DD报文
    • 数据库描述报文
    • 用于描述本地LSDB中所有LSA的摘要
  • LSR报文:链路状态请求
  • LSU报文:链路状态更新
  • LSAck报文:链路状态确认

OSPF分区管理

分区域的原因

  • 加快收敛速度
  • 把网络故障隔离在区域内部

路由器角色

  • IR
    • 内部路由器
    • 所有接口都处于同一个区域
  • ABR
    • 区域边界路由器
    • 连接不同区域的路由器
  • ASBR
    • 自治系统边界路由器
    • 连接外部自治系统的路由器

区域类型

  • 骨干区域
    • 只能有一个骨干区域
    • 骨干区域必须是连续的
  • 非骨干区域
    • 非骨干区域必须连接到骨干区域
  • 特殊区域

实验

  • 如下拓扑(06)
    关于OSPF、NAT的原理_第1张图片
    实验需求
  1. 按照图示,配置IP地址
  2. 按照图示区域配置OSPF,实现全网互通
  3. 为了路由结构稳定,要求路由器使用环回口作为Router-id,ABR的环回口宣告进骨干区域
  • 按照拓扑图配置IP与环回接口
//在R1上配置接口IP并配置环回接口地址
[R1]int g0/0
[R1-GigabitEthernet0/0]ip add 100.1.1.1 24  //配置接口IP
[R1-GigabitEthernet0/0]qu
[R1]interface LoopBack 1  //创建环回口。简写int l0(不是10)
[R1-LoopBack0]ip add 1.1.1.1 32  //配置环回口地址
//同样方法配置其他的路由器
  • 创建OSPF
[R1]ospf router-id 1.1.1.1  //如果不加router-id则是自动选择
[R1-ospf-1]display ospf  //查看router-id
  • 进入area 1,进行宣告
[R1-ospf-1]area 1  //进入area 1区域
[R1-ospf-1-area-0.0.0.1]network 100.1.1.0 0.0.0.255  //宣告100.1.1.0网段,跟上此网段的反掩码
[R1-ospf-1-area-0.0.0.1]net 1.1.1.1 0.0.0.0  //宣告环回口
//同样方法配置其他的路由器
  • 反掩码就是255.255.255.255减去原网段的掩码,即反掩码。学术名,掩码通配符
  • 100.1.1.0 0.0.0.255的意思就是0所对应的地址位必须匹配,即其他的地址前三位必须为100.1.1最后一位任意匹配
  • ABR宣告
[R2]ospf router-id 2.2.2.2  //指定router-id
[R2-ospf-1]area 0  //进入骨干(area 0)区域
[R2-ospf-1-area-0.0.0.0]net 100.2.2.0 0.0.0.255  //宣告100.2.2.0网段
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0  //宣告环回口
[R2-ospf-1-area-0.0.0.0]area 1  //进入area 1区域
[R2-ospf-1-area-0.0.0.1]net 100.1.1.0 0.0.0.255  //宣告100.1.1.0网段
//同样方法配置其他的路由器
  • 边界路由器在两个区域都要进行宣告
  • 对于环回口,可以随便宣告在哪个区域,建议是宣告在骨干区域
  • 环回口一般用于远程管理设备
  • 检查OSPF邻接关系是否建立
[R2]dis ospf peer  //检查边界路由器是否有两个邻居

         OSPF Process 1 with Router ID 2.2.2.2
               Neighbor Brief Information

 Area: 0.0.0.0        
 Router ID       Address         Pri Dead-Time  State             Interface
 3.3.3.3         100.2.2.3       1   39         Full/BDR          GE0/1

 Area: 0.0.0.1        
 Router ID       Address         Pri Dead-Time  State             Interface
 1.1.1.1         100.1.1.1       1   39         Full/DR           GE0/0
  • 除查看数量外,还要查看状态,FULL为邻接关系,2—Way表示邻居关系
  • 只有邻接关系才能交换信息
  • 检查OSPF路由是否学习完整
[R5]dis ip routing-table 

Destinations : 20       Routes : 20

Destination/Mask   Proto   Pre Cost        NextHop         Interface
0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
1.1.1.1/32         O_INTER 10  4           100.4.4.4       GE0/0
2.2.2.2/32         O_INTER 10  3           100.4.4.4       GE0/0
3.3.3.3/32         O_INTER 10  2           100.4.4.4       GE0/0
4.4.4.4/32         O_INTER 10  1           100.4.4.4       GE0/0

[R2]dis ip rou
4.4.4.4/32         O_INTRA 10  2           100.2.2.3       GE0/1
5.5.5.5/32         O_INTER 10  3           100.2.2.3       GE0/1
  • 查看五个换回路由是否都学到
  • O_INTERO表示OSPF,INTER表示其他区域的路由,INTRA表示区域内的路由
  • 进行连通性测试

NAT

  • 产生背景
    • IPv4公网地址资源耗尽
    • IPv6普及遥遥无期
    • 子网划分杯水车薪
  • 定义
    • 网络地址转换
    • 通过把私有地址转换为公有地址,使私有IP地址主机可以访问互联网,来解决公网地址不够用的问题
  • 分类
    • 静态NAT
      • 把公有地址一对一的静态映射给私有地址使用
    • 基本NAT(思科中叫动态NAT)
      • 建立公有地址池,把地址池中的公有地址动态的映射给私有地址使用
      • 本质上仍然是一对一的映射
    • NAPT(思科中叫PAT)
      • 把公有地址和端口动态的映射给私有地址和端口,实现一个公有地址可以供多个私有地址同时使用访问互联网
      • 转换源IP和源端口,数据回包还原目的IP和目的端口
    • Easy IP
      • NAPT的一种建议实现形式
      • 适用于公网地址不固定的场景
    • NAT Server
      • 把公网IP的某个端口固定映射到私网IP的某个端口,让公网上的用户可以主动访问私网中的服务
      • 转换目的IP和目的端口,数据回包还原IP和源端口
      • 也称端口映射

0-1023知名协议端口号,发出的数据包在1024以上随机产生端口号

实验

NAT

  • 如下拓扑图(07)
    关于OSPF、NAT的原理_第2张图片
    实验需求
  1. 按照图示配置IP地址,SERVER使用路由器模拟,配置默认路由来实现网关的效果
  2. 在R1上配置Easy IP,使PC和server可以访问互联网
  3. 在R1上配置NAT Server,使R3可以访问SERVER的FTP
[R1]int g0/1
[R1-GigabitEthernet0/1]ip add 192.168.1.254 24
[R1-GigabitEthernet0/1]int g0/0
[R1-GigabitEthernet0/0]ip add 100.1.1.1 24
[R2]int g0/0
[R2-GigabitEthernet0/0]ip add 100.1.1.2 24
[R2-GigabitEthernet0/0]int g0/1
[R2-GigabitEthernet0/1]ip add 100.2.2.2 24
[R3]int g0/0
[R3-GigabitEthernet0/0]ip add 200.2.2.3 24
  • PC配置IP及网关
    关于OSPF、NAT的原理_第3张图片

  • 在R1和R3上分别配置静态路由联通内网和公网

//配置默认路由
[R1]ip route-static 0.0.0.0 0 100.1.1.2

//配置默认路由,连通公网
[R3]ip route-static 0.0.0.0 0 200.2.2.2
  • 在server上配置IP与网关
[SERVER]int g0/0
[SERVER-GigabitEthernet0/0]ip add 192.168.1.2 24  //配置IP
[SERVER]ip route-static 0.0.0.0 0 192.168.1.254  //配置默认路由
  • 在R1上配置NAT
[R1]acl basic 2000  //创建ACL
//设置允许进行NAT转换的网段
[R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[R1]int g0/0
[R1-GigabitEthernet0/0]nat outbound 2000  //调用ACL
  • 连通性测试,并查看转换记录
//在PC和server上pingR3,查看连通性
[R1]dis nat session verbose   //查看NAT转换记录

NAT Server

  • 搭建FTP服务器
[SERVER]ftp server enable   //开启FTP服务
[SERVER]local-user bad  //创建一个用于登录FTP的用户
[SERVER-luser-manage-bad]password simple 123  //设置一个简单的密码
[SERVER-luser-manage-bad]service-type ftp   //这个账户用于FTP
//授予最高权限
[SERVER-luser-manage-bad]authorization-attribute user-role level-15
  • 配置端口映射
[R1]int g0/0  //进入连接公网的接口
//将公网的100.1.1.1的20、21端口映射到私网192.168.1.2的20、21端口
[R1-GigabitEthernet0/0]nat server protocol tcp global 100.1.1.1 20 21 inside 192
.168.1.2 20 21
  • 在R3验证远程登录FTP
<R3>ftp 100.1.1.1  //在用户视图下远程登录ftp
Press CTRL+C to abort.
Connected to 100.1.1.1 (100.1.1.1).
220 FTP service ready.
User (100.1.1.1:(none)): bad
331 Password required for bad.
Password: 
230 User logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
以上内容均属原创,如有不详或错误,敬请指出。
本文作者: 坏坏

你可能感兴趣的:(华为数通学习)