SCTP not sending heartbeats to the second path in INET

34 views
Skip to first unread message

Guilherme Theis

unread,
Jul 28, 2016, 8:21:37 AM7/28/16
to OMNeT++ Users
Hello, i took the example multihomed from inet and made a second path to begin to implement cmt scenarios and PR from sctp. But with the PR, it seems that both clients do not send the heartbeats through router 3 and 4 to check out this second path created. Anyone could point out whats wrong with my scenario?

omnetpp.ini:

[General]
network = Network
warmup-period = 300s
sim-time-limit = 60s

cmdenv-express-mode = true
cmdenv-runs-to-execute = 0
tkenv-plugin-path = ../../../etc/plugins

tkenv-default-run = 0

Network.testing = false
Network.testTimeout = 0


############################################################################## CLIENT 1 ###############################################################################

**.cli1.numSctpApps = 1
**.cli1.sctpApp[*].typename = "SCTPClient"
**.cli1.sctpApp[0].localAddress = ""
**.cli1.sctpApp[0].connectAddress = "srv1%ppp0"
**.cli1.sctpApp[0].connectPort = 6666
**.cli1.sctpApp[0].startTime = 1s
**.cli1.sctpApp[0].numRequestsPerSession = 1000
**.cli1.sctpApp[0].requestLength = 10000
**.cli1.sctpApp[0].queueSize = 100
**.cli1.sctpApp[0].prMethod = 2 # 0=NONE 1=PR_TTL 2=PR_RTX 3=PR_PRIO 4=PR_STRRST
**.cli1.sctpApp[0].prValue = 1 # 0 retransmissions

############################################################################## CLIENT 2 ###############################################################################

**.cli2.numSctpApps = 1
**.cli2.sctpApp[0].typename = "SCTPClient"
**.cli2.sctpApp[0].localAddress = ""
**.cli2.sctpApp[0].connectAddress = "srv2%ppp0"
**.cli2.sctpApp[0].connectPort = 6666
**.cli2.sctpApp[0].startTime = 1s
**.cli2.sctpApp[0].numRequestsPerSession = 1000
**.cli2.sctpApp[0].requestLength = 10000
**.cli2.sctpApp[0].queueSize = 100


############################################################################## SERVER 1 ###############################################################################

**.srv1.numSctpApps = 1
**.srv1.sctpApp[*].typename = "SCTPServer"
**.srv1.sctpApp[0].localAddress = ""
**.srv1.sctpApp[0].localPort = 6666 # Discard Server for Client 1
**.srv1.sctpApp[0].numPacketsToReceivePerClient = 100

############################################################################## SERVER 2 ###############################################################################

**.srv2.numSctpApps = 1
**.srv2.sctpApp[0].typename = "SCTPServer"
**.srv2.sctpApp[0].localAddress = ""
**.srv2.sctpApp[0].localPort = 6666 # Discard Server for Client 1
**.srv2.sctpApp[0].numPacketsToReceivePerClient = 100

######################################################################################################################################################################


Tst1.ned:

//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program.  If not, see http://www.gnu.org/licenses/.
//

package dc1.simulations;
import inet.networklayer.configurator.ipv4.IPv4NetworkConfigurator;
import inet.node.inet.Router;
import inet.node.inet.StandardHost;
import ned.DatarateChannel;

//
// TODO documentation
//
network Network
{
    parameters:
        double testTimeout @unit(s) = default(0s);
        bool testing = default(false);
        @display("bgb=904,399");
    types:
        channel ppp2line extends DatarateChannel
        {
            delay = 10ms;
            datarate = 1 Mbps;
        }
    submodules:
        cli1: StandardHost {
            parameters:
                forwarding = false;
                @display("p=53,135;i=device/laptop");
            gates:
                pppg[1];
        }
        srv1: StandardHost {
            parameters:
                forwarding = false;
                @display("p=531,135;i=device/server2");
            gates:
                pppg[1];

        }
        router1: Router {
            parameters:
                @display("p=188,135;i=abstract/router");
            gates:
                pppg[2];
        }
        router2: Router {
            parameters:
                @display("p=338,135;i=abstract/router");
            gates:
                pppg[2];
        }
        router3: Router {
            parameters:
                @display("p=188,279;i=abstract/router");
            gates:
                pppg[2];
        }
        router4: Router {
            parameters:
                @display("p=323,279;i=abstract/router");
            gates:
                pppg[2];
        }
        configurator: IPv4NetworkConfigurator {
        }
        cli2: StandardHost {
            parameters:
                forwarding = false;
                @display("p=53,279;i=device/laptop");
            gates:
                pppg[1];
        }
        srv2: StandardHost {
            parameters:
                forwarding = false;
                @display("p=523,279;i=device/server2");
            gates:
                pppg[1];

        }
    connections:
        cli1.pppg++ <--> ppp2line <--> router1.pppg++;
        router1.pppg++ <--> ppp2line <--> router2.pppg++;
        router2.pppg++ <--> ppp2line <--> srv1.pppg++;
        cli1.pppg++ <--> ppp2line <--> router3.pppg++;
        router3.pppg++ <--> ppp2line <--> router4.pppg++;
        router4.pppg++ <--> ppp2line <--> srv1.pppg++;
        cli2.pppg++ <--> ppp2line <--> router3.pppg++;
        cli2.pppg++ <--> ppp2line <--> router1.pppg++;
        router2.pppg++ <--> ppp2line <--> srv2.pppg++;
        router4.pppg++ <--> ppp2line <--> srv2.pppg++;
}


Irene Rüngeler

unread,
Jul 28, 2016, 10:14:56 AM7/28/16
to omn...@googlegroups.com
Hi Guilherme,

client and server are sending heartbeats to the peer’s second path, but not from the interface you expect. If you want the hosts to use specific routes you have to set them up. 
This means that you have to tell the interface to send packets for the second interface of the server via router3.
This can be either done like in multi.ned of the multihomed example or via routing files as done in cmttest.

Best regards

Irene


--
You received this message because you are subscribed to the Google Groups "OMNeT++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+u...@googlegroups.com.
Visit this group at https://groups.google.com/group/omnetpp.
For more options, visit https://groups.google.com/d/optout.








noor ul huda malik

unread,
Jul 28, 2016, 4:22:06 PM7/28/16
to OMNeT++ Users, i.rue...@fh-muenster.de

Hi Irene ,

I am working on the same project but my topic is multipath TCP and i am new user of omnet++. Can you please explain me how can i creat mulipath on which i can transfer a tcp segement. i shall be really obliged to you. qwaiting for your reply.

With regards,
Noor

Guilherme Theis

unread,
Jul 29, 2016, 8:55:40 AM7/29/16
to OMNeT++ Users, i.rue...@fh-muenster.de
Thank you very much Irene.

noor ul huda malik

unread,
Jul 29, 2016, 9:04:09 AM7/29/16
to omn...@googlegroups.com

Hi gulheimer,

Do you have any idea of creating multipath from the single host ??? Please can you help me


You received this message because you are subscribed to a topic in the Google Groups "OMNeT++ Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/omnetpp/Vs_-3spl_PM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to omnetpp+u...@googlegroups.com.

Irene Rüngeler

unread,
Aug 1, 2016, 2:17:01 AM8/1/16
to omn...@googlegroups.com, Martin Becke
Hi,

I have no experience wit TCP multipath, but I send a copy to Martin, who has worked with TCP multipath for some time.

Best regards

Irene
*****************************************

Dr. Irene Rüngeler
Fachbereich Elektrotechnik und Informatik
Labor für Netzwerkprogrammierung, Datenbanklabor

Fachhochschule Münster
- University of Applied Sciences - 
Stegerwaldstraße 39, Raum E130a
48565 Steinfurt

Tel: +49 2551 962-561 
Fax: +49 2551 962-563 
EMail: I.Rue...@fh-muenster.de







noor ul huda malik

unread,
Aug 1, 2016, 2:39:16 AM8/1/16
to omn...@googlegroups.com

Hi Irene,

Can you please send me that copy also because i want just to take look at that for concept. It will be much better if you can give me ned file also. 
With Regards,
Noor

Reply all
Reply to author
Forward
0 new messages