V2I - connectAddress on TCP application

49 views
Skip to first unread message

Márcio Barbosa

unread,
Sep 2, 2014, 9:46:32 PM9/2/14
to omn...@googlegroups.com
Hi,

I'm using INET 2.4 and building a V2I scenario where cars exchange information with RSUs through a TCP connection.
The 80211NIC management type I'm using is currently the ad hoc one.
The application I'm using is TCPBasicClientApp, and there's a parameter called connectAddress.
What I want to do is specify this in a way that the car will be able to connect to the first availble RSU near him. How can I do that?
If I specify it by module name, like "rsu[*]", they only connect to the first, and ignore all others.
Is there a way I can make so that the application broadcasts the initial connection requisition to all RSUs and them establish it with the first one to answer?

Thanks,
Márcio Vinícius Barbosa

Christoph Sommer

unread,
Sep 5, 2014, 2:51:45 AM9/5/14
to omn...@googlegroups.com
Márcio Barbosa wrote:
> What I want to do is specify this in a way that the car will be able to
> connect to the first availble RSU near him. How can I do that?

The best way to approach those problems is to consider how you would
solve them in real life. How would a car know which one is the first
available RSU? Your simulation will likely have to model this as well.

Best,

Christoph


--
Dr. Christoph Sommer
Distributed Embedded Systems Group
University of Paderborn, Germany
http://www.ccs-labs.org/~sommer/

Márcio Barbosa

unread,
Sep 9, 2014, 11:41:21 AM9/9/14
to omn...@googlegroups.com
Yes, yes.
What I've been trying to do is send the connect message through multicast to all the RSUs by specifying the connectAddress as 224.0.0.1. All the RSUs correctly receive the message and answer it with a SYN+ACK, but the car discards it:

** Event #46  T=2.001472464698  scenario.host[0].tcp (TCP, id=49), on `SYN+ACK' (TCPSegment, id=112)
Seg arrived: .1000 > .1025: SYN+ACK [500227..500227) (l=0) ack 500001 win 7504 options MSS 
Segment doesn't belong to any existing connection
ACK bit set: sending RST
Sending: .1025 > .1000: RST win 0 

This is probably because it expects to receive an aswer from 224.0.0.1 and not from 10.0.-something (rsu ip address).
I thought I could solve this by modifying the applications so that the client sends the multicast message and then starts to listen to an incoming connection. The RSU would then get the cars address in the multicast message and start a connection with him. I currently can't do that, don't have the necessary knowledge/skill to program it.

Another idea was, by setting the IEE80211NIC mgmType of the car to "station" and the RSU to "access point", and hoping to god that the handover and everything else works during simulation, make the connectAddress parameter be set to the address of the currently connected access point. Is there a function that can give me that? 

I really appreciate your help, thanks!
Márcio Vinícius Barbosa
Reply all
Reply to author
Forward
0 new messages