中南大学计算机网.doc,中南大学计算机网络实验报告.doc

计算机网络实验报告0909122820周建权

第 PAGE \* MERGEFORMAT 1 页 共 NUMPAGES \* MERGEFORMAT 11 页

计算机网络实验报告

专业班级:信安1202班

指导老师:王伟平

姓 名:周建权

学 号:0909122820

实验二 网络路由层协议模拟实验

网络路由算法是路由器工作的核心,本实验针对因特网常用的距离向量路由算法和链路状态路由算法进行模拟实现,进一步掌握其工作原理及其相关性能。

【实验目的和要求】

掌握VB、VC++、VS或JAVA等集成开发环境编写路由仿真程序的方法;

理解并掌握距离向量路由协议和链路状态路由协议的工作原理。

【实验内容】

2.实现链路状态路由算法的模拟。

基本要求(动态生成网络拓扑图,节点间的距离随机生成。每个节点生成自己的链路状态分组,依据收到的链路状态表得到整体网络结构,在得到的整体网络结构上用最短路径算法,生成每个节点的路由表)

进一步的要求:可以将模拟实验的每个节点程序部署在不同的电脑上,通过socket通信程序完成路由表信息或者链路状态分组的发送(与实验三结合)。请用两台机器虚拟成多个网络节点(一台机器上开启多个通信进程,每个进程虚拟成一个节点),完成每个虚拟节点的路由表生成,进而按照路由表转发数据包。

【编程语言和环境】

编程语言C++

编程环境Windows(MS Visual系列,VC/VB/VS.Net;)

【基本原理】

在一个链路状态路由选择中,一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上所有的其他的结点,而不仅仅是发给那些直接相连的结点。每个节点都用这种方式,所有其他的结点从网上接收包含直接链路状态的路由信息。

每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网路拓扑和状态“视野图”,一旦链路状态发生改变,结点对跟新的网络图利用Dijkstra最短路径算法重新计算路由,从单一的报源发出计算到达所有的结点的最短路径。

【实现过程】

1.流程图

输入数据 初始化连接矩阵 迪杰斯特拉算法 打印路径

部分代码

void createGraph(int *arcs[],int & num){

//创建并初始化网络拓扑图

cout<

for (int i=0;i

arcs[i]=new int [num];

for(int j=0;j

cin>>arcs[i][j];

}

}

void Dijkstra(int * arcs[],int * R[],int RL[],int vexnum){

//迪杰斯特拉算法

int v0; //定义源节点

bool * visit=new bool [vexnum];//已经确定最短路径的节点的集合

cout<

cin>>v0;

cout<

for(int cnt=0;cnt

visit[cnt]=FALSE;

RL[cnt]=arcs[v0][cnt];

if(RL[cnt]

R[cnt][0]=v0;

R[cnt][1]=cnt;

}

} //for

RL[v0]=0;//源节点的标志

visit[v0]=TRUE; //初始化已经找到最短路径的点集合

for(int i=1;i

int min=INFINITY;

int v=v0;

for(int j=0;j

if(!visit[j])

if(RL[j]

v=j;

min=RL[j];

}

visit[v]=TRUE; //离v0顶点最近的v加入到s集

for(int k=0;k

if(!visit[k]&&(min+arcs[v][k]

//modify shortest r[j] and RL[j]

RL[k]=min+arcs[v][k];

updateRouteLen(R[k],R[v],k,vexnum);

}//if

}//for

de

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java实现HTML代码生成PDF文档

转载自 Java实现HTML代码生成PDF文档1、IText实现html2pdf&#xff0c;速度快&#xff0c;纠错能力差&#xff0c;支持中文&#xff08;要求HTML使用unicode编码&#xff09;&#xff0c;但中支持一种中文字体&#xff0c;开源。 2、Flying Sauser实现html2pdf&#xff0c;纠…

java实现九九乘法表的输出

package cn.jbit.nestedloops; /*** 打印九九乘法表*/ public class MulTable {public static void main(String[] args) {int rows 9; //乘法表的行数for(int i 1; i<rows; i){ //一共9行for(int j 1; j < i; j){ //第i行有i个式子System.out.print(j"*&q…

成人教育计算机统考分数查询江苏省,江苏省教育考试院查询

阅读本文前&#xff0c;请您先点击上面的蓝色字体&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅&#xff0c;请放心关注。注&#xff1a;本文转载自网络&#xff0c;不代表本平台立场&#xff0c;仅供读者参考&…

分布式系统事务一致性解决方案大对比,谁最好使?

“ 在分布式系统中&#xff0c;同时满足“一致性”、“可用性”和“分区容错性”三者是不可能的。分布式系统的事务一致性是一个技术难题&#xff0c;各种解决方案孰优孰劣&#xff1f; 老司机介绍 丁浪&#xff0c;现就职于某垂直电商平台&#xff0c;担任技术架构师。关注高并…

使用Java将HTML转成Word格式文件

转载自 使用Java将HTML转成Word格式文件 import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException;import org.apache.poi.poifs.filesystem.DirectoryEntry; import org.apache.poi.poifs.filesystem.Docum…

java百钱白鸡的算法

package cn.jbit.nestedloops;public class Chook {/*** 百钱买百鸡*/public static void main(String[] args) {int way 1; //买法int k 0; //雏鸡数for(int i1;i<20;i){ //公鸡数for(int j1;j<33;j){ //母鸡数k 100-i-j; //一共100只鸡if(k%3 0 && (5*i3…

.NET Core 工具遥测(应用信息收集)

说明&#xff1a;本文是个人翻译文章&#xff0c;由于个人水平有限&#xff0c;有不对的地方请大家帮忙更正。原文&#xff1a;.NET Core Tools Telemetry翻译&#xff1a;.NET Core 工具遥测&#xff08;应用信息收集&#xff09; .NET Core 工具遥测&#xff08;应用信息收集…

Jsoup学习总结

转载自 Jsoup学习总结摘要 Jsoup是一款比较好的Java版HTML解析器。可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API&#xff0c;可通过DOM&#xff0c;CSS以及类似于jQuery的操作方法来取出和操作数据。 jSOUP主要功能 从一个URL&#xff0c;文件或字符串中…

计算机发展阶段的划分是以什么作为标志,计算机以什么划分发展阶段

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。计算机是以电子元件来划分发展阶段的&#xff0c;即四个发展阶段&#xff0c;这就是人们通常所说的电子管、晶体管、集成电路、超大规模集成电路等四代。集成电路(integrated circui…

docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅

.net猿遇到了小鲸鱼&#xff0c;觉得越来越兴奋。本来.net猿只是在透过家里那田子窗看外面的世界&#xff0c;但是看着海峡对岸的苹果园越来越茂盛&#xff0c;实在不想再去做一只宅猿了。于是&#xff0c;.net猿决定搭上小鲸鱼的渡轮到苹果园去看看。 .net猿上了小鲸鱼渡轮就先…

jsoup解析HTML用法小结

转载自 jsoup解析HTML用法小结使用HttpClientjsoup做采集器有一段时间了&#xff0c;发现jsoup很好用&#xff0c;而且还有很多方便的东西都没怎么用上。于是想根据官网上的cookbook来对jsoup的使用做个小结&#xff0c;或者是归纳。按功能分类做个列表&#xff0c;方便在写程…

java实现打印菱形

package cn.jbit.nestedloops; import java.util.Scanner; /*** 输入行数打印菱形*/ public class Diamond {public static void main(String[] args) {int rows 0; //菱形的行数Scanner input new Scanner(System.in);System.out.print("请输入菱形行数&#xff1a;&qu…

计算机二级vf上机试题,2016年计算机二级《VF》上机题及答案

2016年计算机二级《VF》上机题及答案二、综合应用题11设计一个表单名和文件名均为“bd2”的表单&#xff0c;所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为“外币市值情况”。表单中有一个文本框、一个表格和两个命令按钮“查询”和“关闭”。运行表单时&…

微软HTTP API指南

微软发布了创建“RESTful” API的指南。Roy Fielding将这些与REST没有多大关系的API称为HTTP API。 许多组织都发布了创建面向Web的HTTP API的建议&#xff0c;甚至是白宫都发布了一份标准——“白宫Web API标准”。近日&#xff0c;微软公开了他们的“微软REST API指南2.3”&a…

谈谈Memcached与Redis

转载自 谈谈Memcached与Redis1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库&#xff0c;但是不支持数据的持久化&#xff0c;服务器关闭之后数据全部丢失…

使用Akka.net开发第一个分布式应用

既然这个系列的主题是”基于消息的架构模型演变“&#xff0c;少不了说说Actor模型。Akka.net是一个基于Actor模型的分布式框架。如果你对分布式应用还非常陌生&#xff0c;当别人在谈”分布式“、”云计算“等名词时你感到茫然&#xff0c;那么本篇文章将带你进行一次分布式开…

用计算机控制英文,计算机控制

摘要&#xff1a;Flexible Manufacturing Systems-An Integrated Approach to Automate Production Operations;Growth of LD steelmaking in India;H{sub}2 optimal computer control: polynomial toolbox;Implementation of a real-time target tracking behavior using vide…

JAXP操作xml

转载自 JAXP操作xmlDOM对象详解1&#xff0e;基本的DOM对象 DOM的基本对象有5个&#xff1a;Document&#xff0c;Node&#xff0c;NodeList&#xff0c;Element和Attr。下面就这些对象的功能和实现的方法作一个大致的介绍。 Document 对象代表了整个XML的文档&#xff0c;所…

Aaron Stannard谈Akka.NET 1.1

Akka.NET 1.1近日发布&#xff0c;带来新特性和性能提升。InfoQ采访了Akka.net维护者Aaron Stannard&#xff0c;了解更多有关Akka.Streams和Akka.Cluster的信息。Aaron还阐述了与Akka for JVM实现有关的路线图计划。 InfoQ&#xff1a;这个版本有什么突出的特性&#xff1f; A…

以计算机网络为中介的人际传播,以计算机为中介的人际传播理论范式

20世纪90年代以来&#xff0c;以计算机为中介的传播(Computer-Mediated Communication&#xff0c;CMC)成为人类越来越普遍的经验。新技术深刻而全面地影响着人际传播的模式&#xff0c;并成为人际关系建立、发展和维系过程中不可或缺的因素。对实践过程的观察和研究形成了人际…