各位对TCP/IP协议栈做过研究的大神们,进来指导一下,谢谢

唯独不开心 2017-01-03 09:51:27
我现在遇到一个问题是:我转发一个IP包到达目标后:UDP只能收到转发包,而TCP利用转发包不能建立连接
...全文
1402 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
nswcfd 2017-03-27
  • 打赏
  • 举报
回复
传输层的实现跟device应该没(直接)关系,路由层有关系。 如果是中间设备(纯转发)的话,改变出口意味着改变传输路径,通常意味着后面经过不同的NAT设备。 不知道跟这有没有关系。
唯独不开心 2017-03-24
  • 打赏
  • 举报
回复
引用 10 楼 nswcfd 的回复:
楼主在写socket程序,还是在写kernel里的packet filter?
我这块是在kernel里的netfilter里做的功能。
唯独不开心 2017-03-24
  • 打赏
  • 举报
回复
引用 8 楼 twintiger 的回复:
需要具体说明一下你的转发的过程,才好判断。现在的信息很太少了。
这块我也理解的不是很清楚,所以之前描述的有些不清楚,还请见谅
唯独不开心 2017-03-24
  • 打赏
  • 举报
回复
引用 6 楼 qprevf 的回复:
没弄清楚你的表达的意思, 你是想通过中间设备C, 让设备A,B 就行TCP连接? 其中A, B其实是跟C进行TCP传输, 然后C把对应的TCP包修改里面IP和端口, 然后进行转发?是这意思?
您说的跟我想的差不多。但是通过了解大家说得对TCP是4元组,我这块可能从想法上就有问题。我稍后会整理一下,再回复大家,也好供以后做相关开发的朋友们参考
nswcfd 2017-02-06
  • 打赏
  • 举报
回复
楼主在写socket程序,还是在写kernel里的packet filter?
zyy9303 2017-02-02
  • 打赏
  • 举报
回复
说真的,没看懂你的问题
twintiger 2017-01-27
  • 打赏
  • 举报
回复
需要具体说明一下你的转发的过程,才好判断。现在的信息很太少了。
codingMozart 2017-01-06
  • 打赏
  • 举报
回复
一条tcp连接是一个4元组,包含源宿端口/IP,而源ip是和接口绑定的,即使你服务器bind的是any_address,建立连接后也是和网卡相关的,要无关,可能是要mptcp
qprevf 2017-01-05
  • 打赏
  • 举报
回复
没弄清楚你的表达的意思, 你是想通过中间设备C, 让设备A,B 就行TCP连接? 其中A, B其实是跟C进行TCP传输, 然后C把对应的TCP包修改里面IP和端口, 然后进行转发?是这意思?
唯独不开心 2017-01-05
  • 打赏
  • 举报
回复
没关系,好在有人看到了,我还以为没人看到我发的帖子呢。
_锦衣卫 2017-01-05
  • 打赏
  • 举报
回复
更加的小白路过!
唯独不开心 2017-01-04
  • 打赏
  • 举报
回复
看来是我太业余,提的问题太弱了,提的所有问题都没人回答
唯独不开心 2017-01-03
  • 打赏
  • 举报
回复
现在我能想到的就是bind()的作用,导致我改包(修改了网卡出口)后,这样就导致回来的时候不能传递到传输层了吗? 这仅仅是我的猜测,没有依据。在我做这个功能之前,我认为传输层是跟NIC接口卡是相互隔离的,也就是说,我底层使用哪一个网卡发送,对端回复应答时,我不用区分对方发送的目的网卡是我本机的哪一个我的传输层都可以正常接收。但是现在看来是有问题的。我目前不知道从哪里开始看代码,还请对这方面有过研究的大神们给点指点。小弟不胜感激。

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧