%# -*- coding: utf-8-unix -*-

\section{动态路由（OSPF）}
\label{sec:c3_s3}

\subsection{实验目的}
\label{subsec:c3_s3_object}

理解动态路由协议OSPF的工作原理；
掌握采用动态路由协议OSPF进行网络设计的基本原则和方法。

\subsection{实验内容}
\label{subsec:c3_s3_content}

\begin{itemize}
  \item 华为路由器IP地址的配置；
  \item 动态路由协议OSPF的配置；
  \item 路由规划；
  \item 网络测试与排错操作；
  \item RIP与OSPF路由协议的区别。
\end{itemize}

\subsection{实验原理、方法和手段}
\label{subsec:c3_s3_principle}

简要说明OSPF工作原理和适用范围；
可设计至少包括3个由OSPF协议互连起来的网络；
观察并记录各设备状态变化情况，特别留意路由信息的交换和路由表。
分析说明相对于RIP协议，OSPF做了哪些改进。
解释说明与路由协议、路由表的相关性。

可参考图\ref{fig:c3_OSPF-topo}连线，具体联线情况请自行标注。

\begin{figure}[!htp]
  \centering
  \includegraphics[width=8cm]{c3_OSPF-topo}
  \caption{选中特定的捕获类型}
  \label{fig:c3_OSPF-topo}
\end{figure}

\subsection{实验条件}
\label{subsec:c3_s3_requirement}

\begin{itemize}
  \item 华为ENSP仿真平台中：2台PC，两台路由器；
  \item 双绞线若干。
\end{itemize}

\subsection{实验步骤}
\label{subsec:c3_s3_procedure}

实验说明：路由器端口以具体选用的设备为准，
如果是实际设备，请观察路由器前面板和后面板的端口名称，
并使用disp int或者disp cur命令查看端口的实际名称。
在对路由器进行配置时，
可使用disp cur命令来检查当前路由器上生效的配置命令。

\begin{enumerate}
  \item 硬件连接，完成PC1、PC2到路由器RT1和RT2的网络连接，
  路由器RT1到路由器RT2的连接；
  PC1到路由器RT1控制线的连接，PC2到路由器RT2控制线的连接。
  拓扑图检查无误后方可进行后面的实验步骤,
  实验报告中的拓扑图必须标清路由器实际连接的端口。
  \item 为PC1、PC2分别设置IP地址、掩码和网关。
  \item 使用sysname命令为路由器R1和R2命名。
  路由器R1的名称为学生自己的姓名拼音+R1，
  路由器R2的名称为学生自己的姓名拼音+R2，要求记录输入的命令和输出（截屏）。

  R1上的重命名命令如下例:
  \begin{code}[text]
    <Huawei>system-view
    [Huawei]sysname zhangsanR1
  \end{code}

  输出结果如图\ref{fig:c3_sysname-R1_3}所示。
  \begin{figure}[!htp]
    \centering
    \includegraphics[width=10cm]{c3_sysname-R1_3}
    \caption{R1的sys配置图}
    \label{fig:c3_sysname-R1_3}
  \end{figure}
 
  R2上的重命名命令如下例:
  \begin{code}[text]
    <Huawei>system-view
    [Huawei]sysname zhangsanR2
  \end{code}

  输出结果如图\ref{fig:c3_sysname-R2_3}所示。
  \begin{figure}[!htp]
    \centering
    \includegraphics[width=10cm]{c3_sysname-R2_3}
    \caption{R2的sys配置图}
    \label{fig:c3_sysname-R2_3}
  \end{figure}
 
  \item 为路由器R1的 GE0接口配置IP地址。
  配置完成后PC1应该可以Ping通RT1的 GE0口的地址。
  为路由器R2的  GE1接口配置IP地址。
  配置完成后PC2应该可以Ping通RT2的GE1口的地址。
  要求记录输入的命令和输出（截屏）。
  (本模拟器R1实际使用的接口名由实际使用的路由器型号确定，
  可能有Ethernet0/0/0；或GigabitEthernet0/0/x；或FastEthernet0/0/x)

  R1上的重命名命令如下例:
  \begin{code}[text]
    [zhangsanR1]interface  GigabitEthernet 0/0/0
    [zhangsanR1- GigabitEthernet0/0/0]ip address 192.168.1.1 255.255.255.0
    [zhangsanR1- GigabitEthernet0/0/0]
  \end{code}

  PC1可以Ping通R1的192.168.1.1地址
  \begin{code}[text]
    PC1> ping 192.168.1.1
  \end{code}

  R2上的命令:
  \begin{code}[text]
    [zhangsanR2]interface GigabitEthernet 0/0/1
    [zhangsanR1-GigabitEthernet0/0/1]ip address 192.168.3.1 255.255.255.0
  \end{code}

  PC2可以Ping通R2的192.168.3.1地址
  
  \begin{code}[text]
    PC1>ping 192.168.3.1
  \end{code}
  
  \item 为路由器R1的 Ethernet0/0/1接口配置IP地址，
  为路由器R2的Ethernet0/0/0接口配置IP地址。
  配置完成后路由器R1和R2应该可以互相Ping通。
  要求记录输入的命令和输出（截屏）。
  \begin{code}[text]
    [zhangsanR1-GigabitEthernet0/0/1]ip address 192.168.2.1 255.255.255.0
    [zhangsanR1-GigabitEthernet0/0/1]quit
  \end{code}

  \begin{code}[text]
    [zhangsanR2-GigabitEthernet0/0/0]ip address 192.168.2.2 255.255.255.0
    [zhangsanR2-GigabitEthernet0/0/0]quit
  \end{code}

  \item （如在实验3.2的基础上进行实验则执行此步骤，否则直接配置第七步）
  为RT1和RT2配置动态路由协议ospf，首先删除原来的rip配置。
  要求记录输入的命令和输出（截屏或文本复制）。
  配置后可以用display current configuration检查配置，
  或者display ip routing-table检查路由表。
  要求记录输入的命令和输出（截屏）。
  \begin{code}[text]
    [zhangsanR1]undo rip
  \end{code}

  \begin{figure}[!htp]
    \centering
    \includegraphics[width=12cm]{c3_confirm}
    \label{fig:c3_confirm}
  \end{figure}
  
  确认删除？Y

  此时用disp cur检查配置，rip相关配置全部删除；

  disp ip routing-table检查路由表，rip那条路由也将被删除
  \begin{code}[text]
    [zhangsanR2]undo rip
  \end{code}
  确认删除？Y

  \item 为RT1和RT2配置动态路由协议ospf。
  配置后可以用disp cur检查配置，或者disp ip routing-table检查路由表。
  配置完成后路由器R1和R2应该可以互相Ping通。
  要求记录输入的命令和输出（截屏）。
  
  \begin{code}[text]
    [zhangsanR1]ospf
    [zhangsanR1-ospf-1]area 0
    [zhangsanR1-ospf-1-area-0.0.0.0]network  192.168.1.0  0.0.0.255
    [zhangsanR1-ospf-1-area-0.0.0.0]network  192.168.2.0  0.0.0.255
    [ctrl+z]
    [zhangsanR1]ping 192.168.3.2
  \end{code}
 
  \begin{code}[text]
    [zhangsanR2]ospf
    [zhangsanR2-ospf-1]area 0
    [zhangsanR2-ospf-1-area-0.0.0.0]network  192.168.2.0  0.0.0.255
    [zhangsanR2-ospf-1-area-0.0.0.0]network  192.168.3.0  0.0.0.255
    [zhangsanR2-ospf-1-area-0.0.0.0]display ip routing-table
    [ctrl+z]
    [zhangsanR2]ping 192.168.1.2
  \end{code}

\end{enumerate}

\subsection{思考题}
\label{subsec:c3_s3_rethink}

Rip和OSPF协议的区别是什么？请对比路由表，收敛速度等。

\subsection{注意事项及有关说明}
\label{subsec:c3_s3_notice}

\begin{enumerate}
  \item 路由器端口以具体选用的设备为准，
  请将E0口和E1口对应到实际设备上的端口名称，
  接口名由实际使用的路由器型号确定，
  可能有Ethernet0/0/0；或GigabitEthernet0/0/x；或FastEthernet0/0/x。
  如果是实际设备，请观察路由器前面板和后面板的端口名称，
  并使用disp int或者disp cur命令查看端口的实际名称。
  在对路由器进行配置时，可使用disp cur命令来检查当前路由器上生效的配置命令。
  \item 此实验的第1-5步骤同前一实验3.2-rip，
  如在原rip基础上配置选第六步；
  如是全新实验，则跳过第六步，直接配置第七步。
 \end{enumerate}