zoukankan      html  css  js  c++  java
  • 路由协议分析

    分析所用软件下载:Wireshark-win32-1.10.2.exe

    一、分析目的

    分析OSPF的包格式

     

    二、分析要求

     

    1. 设计应用以获取ospf报文

     

    2. 分析ospf报文的格式与内容

     

    3. 理解ospf协议的工作过程

     

    三、分析内容

     

    1.设计应用以获取ospf报文

    使用Wireshark抓包工具抓取OSPF的Hello报文

    计算机会周期性的自动发送hello报文,只需用Wireshark获取即可

    2. 分析ospf报文的格式与内容(分析至少2个报文)

    分析见第四部分

    3. 理解ospf协议的工作过程

    四、分析结果及总结

    抓取到的OSPF Hello报文:

    030100240101011a0000001ac9f900000000098c01000013000a00280101011a00000000

    报文分析:

    公共首部OSPF Header

    版本:03

    OSPF Version: 3

     

    类型:01

    Message Type: Hello Packet (1)

     

    报文长度:00 24

    Packet Length: 36

     

    路由器标识:01 01 01 1a

    Source OSPF Router: 1.1.1.26 (1.1.1.26)

     

    区域标识:00 00 00 1a

    Area ID: 0.0.0.26

     

    校验和:c9 f9

    Packet Checksum: 0xc9f9 [correct]

     

    实例标志号:00

    Instance ID: 0 (IPv6 unicast AF)

     

    Hello报文 OSPF Hello Packet

    接口标志符:00 00 09 8c

    Interface ID: 2444

     

    路由器优先级:01

    Router Priority: 1

     

    选项:00 00 13

    Options: 0x000013 (R, E, V6)

     

    Hello间隔:00 0a

    Hello Interval: 10 seconds

     

    路由器死亡间隔:00 28

    Router Dead Interval: 40 seconds

     

    指定路由器:01 01 01 1a

    Designated Router: 1.1.1.26

     

    后备指定路由器:00 00 00 00

    Backup Designated Router: 0.0.0.0

    OSPF协议的工作过程为:

    (1) OSPF路由器接口up,发送Hello包,(NBMA模式时将进入Attempt状态)。

    (2) OSPF路由器接口收到Hello包,检查Hello中携带的参数,如果匹配,进入Init状态;并将该Hello包的发送者的Router ID,添加到Hello包(自己将要从该接口发送出去的Hello包)的邻居列表中。

    (3) OSPF路由器接口收到邻居列表中含有自己Router ID的Hello包,进入Two-way状态,形成OSPF邻居关系,并把该路由器的Router ID添加到自己的OSPF邻居表中。

    (4) 在进入Two-way状态后,广播、非广播网络类型的链路,在DR选举等待时间内进行DR选举。点对点没有这个过程。

    (5) 在DR选举完成或跳过DR选举后,建立OSPF邻接关系,进入exstart(准启动)状态;并通过交换DBD交换主从路由器,由主路由器定义DBD序列号,Router ID大的为主路由器。目的是为了解决DBD自身的可靠性。

    (6) 主从路由器选举完成后,进入Exchange(交换)状态,通过交换携带lsa头部信息的DBD包描述各自的LSDB。

    (7) 进入Loading状态,对链路状态数据库和收到的DBD的LSA头部进行比较,发现自己数据库中没有的LSA就发送LSR,向邻居请求该LSA;邻居收到LSR后,回应LSU;收到邻居发来的LSU,存储这些LSA到自己的链路状态数据库,并发送LSAck确认。

    (8) LSA交换完成后,进入FULL状态,同一个区域内所有OSPF路由器都拥有相同链路状态数据库。

    (9) 定期发送Hello包,维护邻居关系。

     

    分析过程中发现由于器材关系只能获取到OSPF hello报文,且该hello报文为ipv6的OSPF报文(即OSPF v3)相对于书上的OSPF v2报文有一些区别:如PSPF v3报文头中不包含认证信息、数据包结构不同等,分析其报文格式需要注意。

  • 相关阅读:
    [导入]Zanzarah: The Hidden Portal Cheats
    [导入]Zanzarah Walkthrough
    Each的实现
    关于SQL命令中不等号(!=,<>)
    获取当前运行函数及调用函数
    MVC3.0学习2Razor视图引擎基础语法
    MVC 3.0 学习1
    java.io.IOException: Too many open files错误解决方案
    linux下执行命令输出乱码解决方案
    通用代码引擎生成工具 XDoclet 介绍
  • 原文地址:https://www.cnblogs.com/leftshine/p/5698911.html
Copyright © 2011-2022 走看看