⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_packet.java.svn-base

📁 网络模拟器
💻 SVN-BASE
字号:
/*  This file contains a primitive test of IP fragmentation. A packet is sent  through a router to a link with a small MTU and consequently fragmented.*/import jns.Simulator;import jns.command.StopCommand;import jns.element.DuplexInterface;import jns.element.DuplexLink;import jns.element.Interface;import jns.element.Link;import jns.element.Node;import jns.trace.JavisTrace;import jns.trace.Trace;import jns.util.IPAddr;import java.io.IOException;public class Test_Packet {  public static void main(String args[]) {    // Get a simulator    Simulator sim=Simulator.getInstance();    // Create a trace object    Trace trace=null;    try {      trace=new JavisTrace("test_packet.jvs");    }    catch (IOException e) {      System.out.println("Could not create test_packet.jvs!");      System.exit(1);    }          // Set up three nodes    Node src=new Node("Source node");    Node router=new Node("Router");    Node dest=new Node("Destination node");    sim.attachWithTrace(src,trace);    sim.attachWithTrace(router,trace);    sim.attachWithTrace(dest,trace);    // Give source and dest node a duplex network interface    Interface src_iface=new DuplexInterface(new IPAddr(192,168,1,10));    src.attach(src_iface);    src.addDefaultRoute(src_iface);    Interface dest_iface=new DuplexInterface(new IPAddr(128,116,11,20));    dest.attach(dest_iface);    dest.addDefaultRoute(dest_iface);    sim.attachWithTrace(src_iface,trace);    sim.attachWithTrace(dest_iface,trace);    // The router needs two duplex interfaces, for obvious reasons    Interface route_iface192=new DuplexInterface(new IPAddr(192,168,1,1));    Interface route_iface128=new DuplexInterface(new IPAddr(128,116,11,1));    router.attach(route_iface192);    router.attach(route_iface128);    router.addRoute(new IPAddr(192,168,1,0),new IPAddr(255,255,255,0),	            route_iface192);    router.addRoute(new IPAddr(128,116,11,0),new IPAddr(255,255,255,0),		    route_iface128);    // Cunningly force the router to fragment the packet we're sending by    // setting a small MTU.        route_iface128.setMTU(600);    sim.attachWithTrace(route_iface192,trace);    sim.attachWithTrace(route_iface128,trace);        // All we need now is two links    Link link1=new DuplexLink(10000,0.01);    Link link2=new DuplexLink(5000,0.03);    route_iface192.attach(link1,true);    route_iface128.attach(link2,true);    src_iface.attach(link1,true);    dest_iface.attach(link2,true);    sim.attachWithTrace(link1,trace);    sim.attachWithTrace(link2,trace);    // Stop the simulator after 4 seconds    sim.schedule(new StopCommand(4));    sim.schedule(new PacketSender(src.getIPHandler(),0.1));    //    sim.dump();        // Create a trace object and start simulating    try {      trace.writePreamble();      sim.run();      trace.writePostamble();    }    catch (IOException e) {      System.err.println("An I/O exception occured during the simulation!");      System.exit(1);    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -