[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference 7.286::fddi

Title:FDDI - The Next Generation
Moderator:NETCAD::STEFANI
Created:Thu Apr 27 1989
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2259
Total number of notes:8590

1679.0. "Problem sending packet with size > 4096 over TCP/FDDI" by COWBOY::MIRGHANE () Tue May 09 1995 16:13

    We are running FDDI/TCP benchmarks:
    machines: 2100 4/275 ( 1 or 2 CPUs)     DIGITAL-UNIX V3.2 256 Mbytes
    PCI FDDI.
    
    We have a simple program ( socket client server send/recv )
    the SO_SNDBUF SO_RCVBUF are sent to 280000
    
    We have a problem when transmitting packet with a size greater 
    than 4096 bytes.
    The receiving program (server) just cannot retrieve the packets at the speed
    they are sent by the client.
    
    Send routine return status:
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    status: =======================================: , 8192
    
    Recv routine return status:
    status: ======================================: , 8624
    status: ======================================: , 4312
    status: ======================================: , 4312
    status: ======================================: , 4312
    status: ======================================: , 4312
    status: ======================================: , 8624
    status: ======================================: , 4312
    status: ======================================: , 8624
    status: ======================================: , 4312
    status: ======================================: , 4312
    status: ======================================: , 4312
    
    We do not understand why the receiving program retrieve 
     4312 with the recv routine and not bigger packets.
    
    How can we correct this problem?
    
    
    Thanks for a quick help.
    SoumettY.
    
    Soumetty.
T.RTitleUserPersonal
Name
DateLines
1679.1NETRIX::thomasThe Code WarriorTue May 09 1995 18:096
Why do you think there is a problem?  The largest IP packet allowed on FDDI
is 4352 bytes; subtract 40 for the TCP and IP headers and you get 4312.
Now when TCP receives data, it wakes up the receiver thread which copies 
into the users buffer and returns.  As long as there is any data, the read
will return; that means that the amount of data returned by read has little
bearing on the size of the writes on the transmitting side.
1679.2The problem is that the receiver do not get all the dataTLSE01::MIRGHANEWed May 10 1995 14:0110
    The problem is that I loose data. For example when I send 10 blocs of
    8192 bytes. The receiver do get only something like 40 Mbytes instead
    of the 80 Mbytes he should receive.
    
    So this is a real problem isn't it. Thanks very much for your best
    and quickest help.
    
    
    Soumetty.
    
1679.3NETRIX::thomasThe Code WarriorWed May 10 1995 15:024
Note that the number of reads will not correspond to the number of writes.
Basically you need to read until you reach end-of-file.

(my guess is that the application is incorrectly written)
1679.4Yes the application is incorrectly written Thanks for helpTLSE01::MIRGHANEWed May 10 1995 15:065
    You are right.  number of reads  was equal to number of writes.
    
    
    Thank you very much.
    Soumetty.