免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3549 | 回复: 5
打印 上一主题 下一主题

路由器在收到一个目的地非自身的tcp的connet消息时怎么处理? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-21 21:05 |只看该作者 |倒序浏览
路由器在收到数据报的时候是直接转发的,它在收到一个tcp的connet消息时怎么处理?\r\n是否是这样:\r\n本路由器先判断目的ip是否是自己,如果不是,则寻找下一跳路由将connect握手消息转发出去,当下一跳回相应的时候,在本路由器上建立socket-socket的转发表项?\r\n请高人解惑,谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-11-23 09:28 |只看该作者
问法有问题,根据包的流程,对于进来的包现会经由ip_input检测目的地并判断路由走向再进行转发,如果目的地非自身IP,直接路由到相应出口,是自身才交由上层tcp协议进行相关的处理,而后才有可能发生connect。\r\n\r\n所以结果是目的地非本地的包走的路经是是IP路由,根本无需本地TCP层参与。

论坛徽章:
0
3 [报告]
发表于 2006-11-23 10:05 |只看该作者
谢谢!\r\n如果路由器对tcp连接的消息仅仅是找下一跳进行转发,那路由器怎么保证一个tcp连接的所有包所经过的路径都是一致的呢

论坛徽章:
0
4 [报告]
发表于 2006-11-23 10:45 |只看该作者
其实我只是想弄明白tcp协议怎么保证数据的顺序。\r\n我想了一下,是否是这样的:\r\ntcp是一个停等的协议,通过ack消息来保证数据不会乱序。\r\n即使数据包不经过同一个路径到达,tcp接收端缓存窗口会对包进行排序和返回ack。\r\n\r\n这和7号信令网的有连接还是有点区别的,7号信令网是通过在信令转节点的固定路由实现有连接数据的顺序控制,它没有ack消息。

论坛徽章:
0
5 [报告]
发表于 2006-11-24 10:11 |只看该作者
TCP是TCP,IP是IP,不要把两者的功能混淆,TCP通过序列号来确认包的次序,而这个包何时到达,通过什么路径到达,TCP是不需要知道的,这些是底层协议实现的。\r\n就好像一个人需要一套设备,这套设备有10个部件,厂商通过海运空运陆运各种不同方式在不同时间把这10个部件发给你,你所需要了解的只是确认这10个部件你是否全部收到了,是则就可以把部件重组为设备,不是则通知对方把遗失的部件重新发一份给你,仅此而已。

论坛徽章:
0
6 [报告]
发表于 2006-11-24 19:21 |只看该作者
路由只负责 IP 呀,TCP 是目标网络上的事情了……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP