UDP Package too big – Using the ReplicationDHTService with the FileSharing Appli

Home Forums PeerfactSim Forum UDP Package too big – Using the ReplicationDHTService with the FileSharing Appli

This topic contains 2 replies, has 1 voice, and was last updated by  Kalman 3 years, 6 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #959

    Dennis

    I’m trying to use the ReplicationDHTSerivce in combination with the
    FileSharing application. Therefore I altered the FSChord-100_Peers.xml
    config file. Since the Mod netlayer is not fully supported by the
    filesharing application, I took the advice from Feldi (see
    http://groups.google.com/group/peerfactsim-kom/browse_frm/thread/d264d93f8b249be)
    and switched to GNP. I added the ReplicationDHTService using the
    following line:

    <ReplicationService
    class=”de.tud.kom.p2psim.impl.service.dht.replication.ReplicationDHTServiceFactory” /
    >

    I although added the ReplicationService to every group. For example
    like this:
    <Group groupID=”Ecuador” size=”1″>
    <NetLayer/>
    <TransLayer/>
    <NodeFactory />
    <ReplicationService />
    <FilesharingApplication />
    </Group>

    #960

    Dennis

    I’m trying to use the ReplicationDHTSerivce in combination with the
    FileSharing application. Therefore I altered the FSChord-100_Peers.xml
    config file. Since the Mod netlayer is not fully supported by the
    filesharing application, I took the advice from Feldi (see
    http://groups.google.com/group/peerfactsim-kom/browse_frm/thread/d264d93f8b249be)
    and switched to GNP. I added the ReplicationDHTService using the
    following line:

    <ReplicationService
    class=”de.tud.kom.p2psim.impl.service.dht.replication.ReplicationDHTServiceFactory” /
    >

    I although added the ReplicationService to every group. For example
    like this:
    <Group groupID=”Ecuador” size=”1″>
    <NetLayer/>
    <TransLayer/>
    <NodeFactory />
    <ReplicationService />
    <FilesharingApplication />
    </Group>

    I used my proposed fix for empty neighbor set problem (see
    http://groups.google.com/group/peerfactsim-kom/browse_frm/thread/d27596553aacf334).
    Which seems to be working fine. Now when I’m trying to run the
    simulation I end up with the following exception:

    java.lang.IllegalArgumentException: Message-Size is too big for a UDP-
    Datagramm (max 65507 byte)
    at
    de.tud.kom.p2psim.impl.network.gnp.GnpLatencyModel.getUDPerrorProbability(GnpLatencyModel.java:
    126)
    at de.tud.kom.p2psim.impl.network.gnp.GnpSubnet.send(GnpSubnet.java:
    143)
    at
    de.tud.kom.p2psim.impl.network.gnp.GnpNetLayer.send(GnpNetLayer.java:
    175)
    at
    de.tud.kom.p2psim.impl.transport.DefaultTransLayer.sendTransportMsg(DefaultTransLayer.java:
    253)
    at
    de.tud.kom.p2psim.impl.transport.DefaultTransLayer.sendAndWait(DefaultTransLayer.java:
    197)
    at
    de.tud.kom.p2psim.impl.service.dht.replication.operations.ReplicationDHTAbstractOperation.sendAndWait(ReplicationDHTAbstractOperation.java:
    127)
    at
    de.tud.kom.p2psim.impl.service.dht.replication.operations.ReplicationDHTAbstractOperation.sendMessage(ReplicationDHTAbstractOperation.java:
    70)
    at
    de.tud.kom.p2psim.impl.service.dht.replication.operations.ReplicationOperation.sendNextMessage(ReplicationOperation.java:
    151)
    at
    de.tud.kom.p2psim.impl.service.dht.replication.operations.ReplicationOperation.execute(ReplicationOperation.java:
    143)
    at
    de.tud.kom.p2psim.impl.common.AbstractOperation.eventOccurred(AbstractOperation.java:
    180)
    at
    de.tud.kom.p2psim.impl.simengine.Scheduler.processNextEvent(Scheduler.java:
    233)
    at de.tud.kom.p2psim.impl.simengine.Scheduler.start(Scheduler.java:
    156)
    at de.tud.kom.p2psim.impl.simengine.Simulator.start(Simulator.java:
    174)
    at
    de.tud.kom.p2psim.impl.util.guirunner.impl.SimulationThread.run(SimulationThread.java:
    68)

    Just for fun I switch back to the Mod netlayer. Using this layer the
    problem does not occur (I guess because TCP is used). But the
    simulation is still crashing because TCP is not fully supported which
    I expected to happen 🙂

    When I erase the size limititation check from the
    getUDPerrorProbability() method everything seems to be working. But I
    guess this is not the right way 🙂
    What’s the correct way to solve this problem?

    #961

    Kalman

    In general, the best way would be, if the TCP implementation would
    work 🙂
    However, I think in you case it is still legitimate to drop the UDP
    packet size limitation. Just make sure, that in case of traffic
    logging the correct packet size is used, i.e. that large packets are
    detected and counted as such.

    For the following versions of the simulator we create a todo to fix
    the TCP problem with the modular network and the filesharing
    application.

    Best regards

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.

Comments are closed