You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
p2l5wexnu/data/ch_router-openbox/sec_networking.tex

180 lines
7.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

%# -*- coding: utf-8-unix -*-
\section{三层路由器组网}
\label{sec:c:router-ob:s:networking}
\subsection{实验目的}
\label{subsec:c:router-ob:s:networking_object}
本实验的主要目的是让学生将自己开发的路由器进行组网实验引入路由协议的配置与学习实现多网段主机间的相互通信。熟悉Quagga软件的安装与使用和两种基本路由协议RIP与OSPF的配置与使用。
\subsection{实验内容}
\label{subsec:c:router-ob:s:networking_content}
使用学生开发的路由器平台,搭建至少跨两跳路由器的复杂路由组网环境,验证多网段主机的相互连通性。主要完成以下内容:
\begin{enumerate}
\item \textbf{搭建自研路由器环境:}使用学生自己研发的路由器组建网络搭建不少于2台路由器和2台测试主机的网络环境进行验证
\item \textbf{安装并配置路由协议学习环境:}运行Quagga环境分别配置RIP路由协议与OSPF路由协议并将两种协议启动运行
\item \textbf{验证组网功能:}验证不同路由协议下组网运行功能,验证不同网段内主机的相互通信功能;
\item \textbf{观察分析路由器工作流程:}观察各路由节点学习非互联网段的路由转发表打印输出各路由节点的FIB表
\item \textbf{观察分析内核FIB的变化}在网络正常运行状态下断开中间某个路由器间的链路观察断开链路两端路由器的内核FIB表变化情况同时验证路由器内FIB表同步情况。
\end{enumerate}
\subsection{实验原理、方法和手段}
\label{subsec:c:router-ob:s:networking_principle}
\subsubsection{路由协议及基本工作原理}
路由协议工作在路由器的控制平面,创建了路由表,描述了网络拓扑结构。通过在路由器之间共享路由信息来相互学习整个网络可达区域内路由网段信息。路由信息在相邻路由器之间传递,确保所有路由器知道到其它路由器的路径。
路由协议主要包括RIP、OSPF、IS-IS和BGP等。RIP、OSPF、IS-IS是内部网关协议IGP适用于单个ISP的统一路由协议的运行一般由一个ISP运营的网络位于一个AS自治系统有统一的AS number自治系统号。BGP是自治系统间的路由协议是一种外部网关协议多用于不同ISP之间交换路由信息以及大型企业、政府等具有较大规模的私有网络。
\subsubsection{路由组网环境}
本实验建议采用学生自研的路由器进行组网测试,组网测试通过的组可以在中间穿插商用路由器一起验证。
\subsection{实验条件}
\label{subsec:c:router-ob:s:networking_requirement}
\begin{itemize}
\item 可编程网络平台两个,测试主机两台,网络配置与连接拓扑如
\ref{fig:c:router-ob_networking-topo}所示;
\item 串口线两根,网线三根;
\item 学生自研路由器程序。
\end{itemize}
\begin{figure}[!ht]
\centering
\includegraphics[width=12cm]{networking-topo}
\caption{三层路由组网实验拓扑图}
\label{fig:c:router-ob_networking-topo}
\end{figure}
\subsection{实验步骤}
\label{subsec:c:router-ob:s:networking_procedure}
\begin{enumerate}
\item 在每个路由器节点安装quagga软件配置其正常工作。
路由协议选择RIP和OSPF两种每次测试只启动一种协议即可
\begin{itemize}
\item Quagga安装
\begin{code}[console]
root@HNXS-FAST:/home/hnxs# apt-get install quagga
\end{code}
\item Quagga启动配置
修改Quagga的启动模块配置文件/etc/quagga/daemons主要内容如下
\begin{code}[text]
zebra=yes
bgpd=no
ospfd= yes
ospf6d=no
ripd= yes
ripngd=no
isisd=no
babeld=no
\end{code}
将上述文件内容中的3个no修改为yes表示启动该功能模块。
\item RIP协议启动配置
修改RIP协议模块配置文件/etc/quagga/ripd.conf在空行处添加网段信息与邻居信息。原文件其他所有内容均无需修改。ripd.conf添加内容如下
\begin{code}[text]
network obx0
network obx1
network obx2
network obx3
neighbor 192.168.3.1
\end{code}
上述文件是S4-A路由器的rip配置文件另一台配置文件与上述基本相同只是其neighbor的地址是192.168.3.2。这两台路由器是通过S4-A的一个端口IP为192.168.3.1故其neighbor为192.168.3.2和S4-B的一个端口IP为192.168.3.2)连接。
\item OSPF协议启动配置
修改OSPF协议模块配置文件/etc/quagga/ospfd.conf添加网段与ID信息。原文件其他所有内容均无需修改。ospfd.conf添加内容如下
\begin{code}[text]
ospf router-id 192.168.3.1
network 192.168.0.0/24 area 0
network 192.168.1.0/24 area 0
network 192.168.2.0/24 area 0
network 192.168.3.0/24 area 0
\end{code}
上述为S4-A路由器的配置文件另一台路由器配置文件添加内容如下
\begin{code}[text]
ospf router-id 192.168.3.2
network 192.168.4.0/24 area 0
network 192.168.5.0/24 area 0
network 192.168.6.0/24 area 0
network 192.168.3.0/24 area 0
\end{code}
\end{itemize}
\item 启动路由协议
\begin{code}[console]
root@HNXS:/home/hnxs# systemctl start quagga
\end{code}
\item 将自研路由器和测试主机组网路由节点不少于2个
\item 运行自研路由器并在两个测试主机上分别ping对方主机IP地址
请参考实验\ref{sec:c:router-ob:s:router}内容。
\item 观察某个节点路由器分组处理流程,从打印消息上观察控制平面与数据平面的分组处理情况;
\item 观察每个节点上内核FIB表内容
\begin{code}[console]
root@HNXS-FAST:/mnt/openbox# route -n
\end{code}
\begin{code}[text]
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 obx0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 obx1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 obx2
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 obx3
192.168.4.0 192.168.3.2 255.255.255.0 UG 2 0 0 obx3
192.168.5.0 192.168.3.2 255.255.255.0 UG 2 0 0 obx3
192.168.6.0 192.168.3.2 255.255.255.0 UG 2 0 0 obx3
\end{code}
观察新增加的表项内容最后三条是非本地路由可直达的网段均需要通过192.168.3.2网关才可达。
\item 观察路由器FIB表的更新情况判断是否检测到内核FIB变化是否已经同步更新。
\end{enumerate}
\subsection{思考题}
\label{subsec:c:router-ob:s:networking_rethink}
\begin{enumerate}
\item 路由协议的邻接信息学习后如何去重?如何收敛?
\item 默认网关的作用是什么?
\end{enumerate}
\subsection{注意事项及有关说明}
\label{subsec:c:router-ob:s:networking_notice}
\begin{enumerate}
\item RIP协议与OSPF协议一定要根据网络连接接口及相应IP地址配置网段信息
修改文件时注意不要使用中文符号;
\item 每次只启动一个协议,以更好验证其效果。
\end{enumerate}
\subsection{考核方法}
\label{subsec:c:router-ob:s:networking_criterion}
完成本次实验,需要提交一份实验报告和一份程序输出日志。
\begin{enumerate}
\item 20分在规定时间内完成实验并提交实验成果
\item 30分实验报告内容详细有关键步骤截图与分析说明
\item 20分所有节点正常运行不同网段的主机可以相互ping通
\item 20分Quagga安装配置正确RIP和OSPF配置正确工作正常
\item 10分实验报告与源代码内容完整、格式规范。
\end{enumerate}