On 7/15/19 7:06 AM, Jens Eirik wrote:
> Hey Tom,
>
> First of all, thanks for the fast response. I will try this later. I do,
> however, not really understand your intuition concerning the IP layer.
> In another set of simulations, I ran multiple OnOffApplications at each
> ground station and sent to any other ground station over TCP, and this
> worked without any problem.
OK, I did not know this, but if you have isolated the problem to the
application in use, you can instead debug somewhere else. In general, I
selectively enable NS_LOG components until I narrow down where the
problem seems to be. It could also be that the trace sinks are not
connected but your config path with wildcards looks OK, and it was
copied from another example known to work.
I would personally try Ipv4L3Protocol and the ICMP-related classes first
to check that everything is as expected.
>
> I might be wrong, but assume the following topology (two P2P links, the
> upper with delay of 10ms, the lower with 1s delay). Let the upper
> interface of N1 have IP 10.0.0.1 and the lower interface of N2 have IP
> 10.0.0.2. Likewise for N2, 10.1.0.1, 10.1.0.2. Then, in my view, any TCP
> connection between 10.0.0.2 and 10.1.0.2 should still use the upper link
> due to the delay right? I mean when sending, the routing table in N1
> should state that if I want to send to 10.1.0.2, I should use the upper
> link because it is shorter and thus the routing algorithm should prefer
> this route.
>
> _______________
> / \
> N1 N2
> \ _______________ /
>
> If that's the case, I don't really see why this seems to imply that
> something is going wrong at the IP layer.
I am not sure from the description above (maybe there is a typo) but I
would expect that the upper link would have IP addresses from the same
subnet (10.0.0.1 and 10.0.0.2) and the lower link would have IP
addresses from a different subnet (10.1.0.1 and 10.1.0.2). If the N1
sender wants to reach N2's interface on the lower, longer delay link, it
may be able to use the upper link but it may instead use the lower link
because it has an interface on that subnet (i.e. it depends on the
routing protocol used).
- Tom