Jeffry Hods
Jeffry Hods

Reputation: 59

Establish TCP connection between hosts

If my designated controller succeeded to ping between two hosts, is it possible to make TCP connection between them via Mininet? I did mininet>h0 ping h4 successfully but pinging is just ICMP packets not TCP!!

Thank you

Upvotes: 0

Views: 3042

Answers (3)

Vinay
Vinay

Reputation: 111

It is not possible in some cases where the delay of link are very high. Then the SYN packet wont get ACK within TCP timeout. for eg, try with linear topology in mininet with 3 hosts and link delay is 3000ms(--link=tc,delay=3000ms). In this case your ping will work but not tcp iperf.

Upvotes: 0

You should first check the rule that is enabling the communication between the hosts with the following command (imagine the switch is s1):

mininet> ovs-ofctl dump-flows s1

and check the IP protocol field that is matching against the flow entries. For TCP the value should be 6, 17 in the case of UDP and 1 for ICMP. You can check all the protocol numbers here: http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

Upvotes: 0

SotirisTsartsaris
SotirisTsartsaris

Reputation: 638

If the ping was ok you can try iperf which will test bandwidth over TCP (read here https://github.com/mininet/mininet/wiki/Bufferbloat#part-3-streaming-video---sketch-the-tcp-cwnd-and-buffer-occupancy) You could also try to setup a simple http server on mininet on some host which will stand over TCP.

mininet> h1 python -m SimpleHTTPServer 80 &
mininet> h2 wget -O - h1

Both of the above should work and give you TCP connections

Upvotes: 1

Related Questions