当前位置: 技术问答>linux和unix
SCTP连接的问题
来源: 互联网 发布时间:2016-05-21
本文导语: SCTP连接的问题 我在Linux进行SCTP测试,写了个一对一的SCTP应用。分别是Server和Client。 如果是在同一个机器上,Client连接Server和通信都没有问题。 但是,如果Client和Server在两台计算机上的话,Client端调用Connect以...
SCTP连接的问题
我在Linux进行SCTP测试,写了个一对一的SCTP应用。分别是Server和Client。
如果是在同一个机器上,Client连接Server和通信都没有问题。
但是,如果Client和Server在两台计算机上的话,Client端调用Connect以后就不往下走了。
通过抓包,可以看到能看到SCTP连接中四次我手中的前两次。Client给Server发送了一个Init,Server回复了一个Init ACK。 等一会儿Client再次发送Init......
我用LKsctp中的Peer_server 和Peer_client,现象一样。
请问如何解决这个问题,是否有人见过这个问题,如何才能调试,暂时还不想升级Kernel。
谢谢!
我在Linux进行SCTP测试,写了个一对一的SCTP应用。分别是Server和Client。
如果是在同一个机器上,Client连接Server和通信都没有问题。
但是,如果Client和Server在两台计算机上的话,Client端调用Connect以后就不往下走了。
通过抓包,可以看到能看到SCTP连接中四次我手中的前两次。Client给Server发送了一个Init,Server回复了一个Init ACK。 等一会儿Client再次发送Init......
我用LKsctp中的Peer_server 和Peer_client,现象一样。
请问如何解决这个问题,是否有人见过这个问题,如何才能调试,暂时还不想升级Kernel。
谢谢!
|
这么诡异,你一台机2个进程跑了都正常咯?
那好好检查一下2台机器的环境,防火墙?
那好好检查一下2台机器的环境,防火墙?
|
你仔细对比一下INT和INT ACK里面的数据需要一致的地方是否完全匹配了,比如说流ID什么的
如果INT和INT ACK都没问题,那问题就在Client端了,因为它没有接下去发,Cookie Echo。现在的情况看上去是Client端并没收到INT ACK,它一
直在等待,超时了以后,所以又发INT出去的。如果你可以设置等待时间,可以先将等待时间设的稍长一些试试看
如果INT和INT ACK都没问题,那问题就在Client端了,因为它没有接下去发,Cookie Echo。现在的情况看上去是Client端并没收到INT ACK,它一
直在等待,超时了以后,所以又发INT出去的。如果你可以设置等待时间,可以先将等待时间设的稍长一些试试看