实验三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信元的过程有了更深的认识,同时对其掌握也起到了巩固加强的作用。