资源简介

压缩包内包含完整程序、使用说明、实验报告 1.关与距离 本程序使用8作为路由投递的最大距离,通过吧距离设为8作为路由不可达的标志。 2.关于路由回路 本程序同时采用了水平分割,毒性转换,和抑制时间来避免路由回路的产生。即不再想X发送从X处学得的路由信息;把到故障路由的距离设置为最大值8,表示不可达;不接受除故障路由外的其它路由发来的故障路由恢复的信息。 3.程序操作指令说明: 1.N 动态输出路由器的邻居路由 2.T 动态打印路由器的路由表 3.0~9 转发分组。注:本程序设置TTL=2 4.R X(注:此处R与X之间必须加空格) 路由器拒绝包含X的路由更新信息 5.r X(同上) 路由器恢复接收包含X的路由更新信息 6.“路由中止”和“路由恢复”按钮 用来使路由器停止或恢复发送路由表

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;

namespace DV
{
    public partial class Form1 : Form
    {
        Form2 form2 = new Form2();
        Form3 form3 = new Form3();
        Form4 form4 = new Form4();
        Form5 form5 = new Form5();
       /// 
       /// 属性定义部分
       /// 

        public int TTL = 2; //定义分组存活时间
        public string Id;  //本路由ID
        public string Myport; //本地端口
        public ArrayList Refu = new ArrayList();//保存拒收路由的ID
        public struct Naddr   //邻居表结构
        {
            public string id;
            public string port;
        }
        public struct Ntime  //计时结构体
        {
            public string id;
           // public string t;
            public DateTime datetime;
        }
        public struct routeList     //路由表结构
        {
            public string dest; //目的地
            public string route;//路由
            public string dis; //距离
        };
        List routelist = new List();       //用routelist来存储本机路由表信息
        List naddr = new List();    //用naddr来存储邻居表信息
        List ntime = new List();
        UdpClient udpSend; //声明UDPClient
        UdpClient udpRec;
        System.Timers.Timer t = new System.Timers.Timer(2000);//实例化Timer类,设置间隔时间为2000毫秒;
        System.Timers.Timer check = new System.Timers.Timer(2000);  //实例化Timer类,设置间隔时间为2000毫秒;  
        /// 
        /// 主窗口
        /// 

        List RouterList = new List();       //用LIST来存储路由信息类
        public Form1()
        {
             Control.CheckForIllegalCrossThreadCalls = false;
            InitializeComponent();
            //接收输入的数据
            StreamReader strmReader = new StreamReader(“data.txt“);
            string s;
           // listBox1.Items.Add(“RouterList:“);
            //************对输入数据进行处理
            while (strmReader.Peek() != -1)
            {
                s = strmReader.ReadLine();
              //  listBox1.Items.Add(s);  //输出初始化路由表
                ArrayList a = new ArrayList();
                Router router = new Router(null null null);
                router.Id = s.Substring(7 1);
                router.Myport = s.Substring(10 4);
                router.Nport = s.Substring(16);
                RouterList.Add(router);
            }
      
            for (int i = 0; i < RouterList.Count; i++) // Loop through List with for
            {
                if (i == 0)
                { Id = RouterList[i].Id; }
                if (i == 1)
                {   form2.Id = RouterList[i].Id; }
                if (i == 2)
                {
                    form3.Id = RouterList[i].Id;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-12-26 19:56  dv\
     目录           0  2011-12-05 20:20  dv\DV\
     目录           0  2011-12-05 20:20  dv\DV\DV\
     文件         848  2011-12-02 23:20  dv\DV\DV.sln
     文件       25600  2011-12-05 18:44  dv\DV\DV.suo
     目录           0  2011-12-05 20:20  dv\DV\DV\bin\
     目录           0  2011-12-05 20:20  dv\DV\DV\bin\Debug\
     文件         112  2011-12-03 22:35  dv\DV\DV\bin\Debug\data - 副本.txt
     文件          84  2011-12-04 21:28  dv\DV\DV\bin\Debug\data-1.txt
     文件         156  2011-12-02 23:20  dv\DV\DV\bin\Debug\data.txt
     文件       49664  2011-12-05 19:41  dv\DV\DV\bin\Debug\DV.exe
     文件      110080  2011-12-05 19:41  dv\DV\DV\bin\Debug\DV.pdb
     文件       11600  2011-12-05 19:44  dv\DV\DV\bin\Debug\DV.vshost.exe
     目录           0  2011-12-05 20:20  dv\DV\DV\bin\Release\
     文件         156  2011-12-02 23:20  dv\DV\DV\bin\Release\data.txt
     文件       46080  2011-12-05 20:03  dv\DV\DV\bin\Release\DV.exe
     文件       97792  2011-12-05 20:03  dv\DV\DV\bin\Release\DV.pdb
     文件       11600  2011-12-05 20:03  dv\DV\DV\bin\Release\DV.vshost.exe
     文件         490  2010-03-17 22:39  dv\DV\DV\bin\Release\DV.vshost.exe.manifest
     文件        4916  2011-12-03 23:02  dv\DV\DV\DV.csproj
     文件       22586  2011-12-05 19:40  dv\DV\DV\Form1.cs
     文件        5098  2011-12-05 15:37  dv\DV\DV\Form1.Designer.cs
     文件        5817  2011-12-05 15:37  dv\DV\DV\Form1.resx
     文件       21575  2011-12-05 19:40  dv\DV\DV\Form2.cs
     文件        5092  2011-12-05 15:37  dv\DV\DV\Form2.Designer.cs
     文件        5817  2011-12-05 15:37  dv\DV\DV\Form2.resx
     文件       21517  2011-12-05 19:40  dv\DV\DV\Form3.cs
     文件        5093  2011-12-05 15:39  dv\DV\DV\Form3.Designer.cs
     文件        5817  2011-12-05 15:39  dv\DV\DV\Form3.resx
     文件       21571  2011-12-05 19:40  dv\DV\DV\Form4.cs
     文件        5092  2011-12-05 15:39  dv\DV\DV\Form4.Designer.cs
............此处省略53个文件信息

评论

共有 条评论