实验三ATM路由表查询实验
- 格式:doc
- 大小:20.00 KB
- 文档页数:3
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
实 验 报 告
课程名称:现代交换原理与通信网技术
实验名称: ATM路由表查询实验
计算机 系03412班 姓名:柳旭
学号 : 031299 成绩:
2006年5月16日
实验三 ATM路由表查询实验
班级03412 姓名 柳旭 学号 031299
实验日期 2006年5月16日
一、实验目的
该部分实验是让学生理解ATM交换机根据路由表转发ATM信元的过程。
二、实验原理及设计
ATM是面向连接的网络,在端到端的通信前必须建立连接。ATM连接建立以后,在ATM交换节点保存着ATM连接信息的路由表。ATM交换实际上完成ATM信元的选路、信头翻译与排队的3个基本功能。选路就是选择物理端口的过程,即从某个入线端口交 换到某个出线端口的过程。信头翻译是指将信元的信头值(入VPI/VCI)变换为输出信头值(出VPI/VCI)的过程。信头翻译与选路功能合作共同完成ATM交换。信头翻译和选路功能的实现是根据翻译表进行的,这里翻译表就是ATM连接建立后保存在ATM交换节点的路由表。这里我们设计了一个查询路由表的实验。
实验中主要的数据结构如下:
函数功能:在一个给定的路由表中,设计一个根据入端口、入VPI和入VCI查询出端口、出VPI和出VCI的函数
函数原型:
#include "aconstant.h"
extern "C" _declspec(dllexport) int Atm_switch ( int in_port,int in_vpi, int
in_vci ,RoutTableTypeItem RoutTable[])
{ }
主要数据结构说明: 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
头文件 "aconstant.h"信息
#define Max_Rout_Line 5 //每个路由表最大的表项数。
struct RoutTableTypeItem{
int in_port;
int in_vpi;
int in_vci;
int out_port;
int out_vpi;
int out_vci;
};
//每一个表项记录入出路由信息
函数参数说明:int in_port,入端口
int in_vpi,入VPI
int in_vci ,入VCI
RoutTableTypeItem RoutTable[]路由表
函数要求,根据参数提供的信息,在给定的路由表中查询出端口和出VPI/VCI,返回该项信息所在路由表数组的下标,若找不到则返回-1。
三、实验步骤
1、预习实验,了解实验原理及设计,实现相关功能设计。
2、在已提供的实验平台上,编写程序以实现路由表查询函数。
3、调试程序并运行,观察实验结果,并进行相关实验结果分析。
#include "aconstant.h"
extern "C" _declspec(dllexport) int Atm_switch ( int in_port,int in_vpi, int
in_vci ,RoutTableTypeItem RoutTable[])
{ int i;
for (i = 0; i < Max_Rout_Line; i++)
{
if (RoutTable[i].in_port == in_port &&
RoutTable[i].in_vpi == in_vpi &&
RoutTable[i].in_vci == in_vci)
return i;
}
return -1;
}
五、实验结果分析
运行已经调试通过的程序,观察实验结果,可知:
1、实验结果与实验平台提供的实验演示内容一致,实验结果正确。
2、所编写的程序段内容完成了实验所要求的路由表查询功能。
六、实验心得体会 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
本实验中所编写的程序段实现的是路由表的查询函数,对于给定的参数,通过函数查询路由表而得到相应的out_vpi和out_vci,通过本实验的学习,不仅对ATM交换机根据路由表转发ATM信元的过程有了更深的认识,同时对其掌握也起到了巩固加强的作用。