老师要我自己写一个router出来...
java吧
全部回复
仅看楼主
level 13
楼主通信工程专业,选课的时候弄了个计算机网络(computer network),刚开始好好的还觉得这课挺不错[Love]
尼玛期中一过老师突然发难要我们用自己熟悉的语言写一个模拟路由器的程序出来,三台电脑一个路由,一台电脑作为发送端分别给其他两台电脑发送文件,一台用TCP一台用UDP[拍砖]
尼玛楼主的java语言实力才超越了hello world级别好吗(其他语言仅限实验课上走马观花的实力)!!要我怎么写出那么难的东西!!!现在觉得当初选课真手贱啊!!!![88]
还有一个礼拜就要交了肿么办![啊!]
吧里有大神给讲讲肿么写或者发份代码给我么跪谢啊![揉脸]
2012年11月24日 21点11分 1
level 13
自顶!
2012年11月24日 21点11分 2
level 13
路由器是网络的骨干,传输文件其实就是文件在一个个路由器之间的跳转,路由器能通过算法来得到一张routing table和forwarding table,通过这个表来确定文件发送的最短路径
路由器的基本原理就是一个算法
链路状态路由
Link State Routing
(
广泛应用
,基于
IP

OSPF
,基于非
IP

IS-IS)
工作过程:
1.

发现它的邻居节点,并知道其网络地址;
发送一个hello

2.

测量到各邻居节点的延迟或开销;发送
Echo
包(假设两个方向延迟是对称的)
3.

构造一个分组,分组中包括了所有它
刚刚知道的邻居节点列表信息;
4.

将这个分组发送给所有其他的路由器。
创建链路状态分组:
分组包括发送方的标识,接着是一个序列号
Seq
和年龄
Age
,一个邻居列表,对于每个邻居,给出到这个邻居的延迟。
根据所获得的全部链路状态分组,就可以构造完整的子网图了
得到整个网络的状态以后,就可以发送文件了
这是简略版...完整版恐怕我把这门课的课件发上来都不够...
2012年11月24日 22点11分 4
你们是要实现这个,还是实现通过route table找到目标机器就好?
2012年11月24日 22点11分
回复 libo_juve :要实现整个路由的功能,其实发送用的packet也要求自己写,要自己加各种header,不过这部分已经磕磕碰碰完成了
2012年11月24日 23点11分
1