locked
RRAS L2TP Maximum LineBPS RRS feed

  • Întrebare

  • Hi

    I have an RRAS server running on a 2012 r2 Windows Server in a HyperV with 10Gbps virtual adapter and a 100Mbps internet connection.  I have been unable to find a method to increase all ports connection speed.  The connection speed for all connections is 10 Mbps regardless or number of ports available and/or number of connections established.

    Image showing maximum line BPS of 10,000,000

    Running simultaneous speed tests on the connection all those connect receive 10Mbps but not anything additional.  A single connection running a speed test will also yield 10Mbps.  Directly in the OS a speed test will yield 80Mbps+.

    Thank you,

    Andrew


    • Editat de Andrew._Cameron vineri, 17 iulie 2020 18:09 corrected OS and added OS speed test results
    vineri, 17 iulie 2020 17:51

Răspunsuri

  • Hello Andrew,

    The information in the image that you show is a combination of the information reported in the structs RAS_PORT_0 and RAS_PORT_1.

    typedef enum _RAS_PORT_CONDITION
    {
        RAS_PORT_NON_OPERATIONAL,
        RAS_PORT_DISCONNECTED,	
        RAS_PORT_CALLING_BACK,
        RAS_PORT_LISTENING,
        RAS_PORT_AUTHENTICATING,
        RAS_PORT_AUTHENTICATED,	
        RAS_PORT_INITIALIZING
    
    }
    RAS_PORT_CONDITION;
    
    typedef enum _RAS_HARDWARE_CONDITION
    {
        RAS_HARDWARE_OPERATIONAL,
        RAS_HARDWARE_FAILURE
    
    }
    RAS_HARDWARE_CONDITION;
    
    typedef struct _RAS_PORT_0
    {
        OUT HANDLE                  hPort;
        OUT HANDLE                  hConnection;
        OUT RAS_PORT_CONDITION      dwPortCondition;
        OUT DWORD                   dwTotalNumberOfCalls;
        OUT DWORD                   dwConnectDuration;      // In seconds
        OUT WCHAR                   wszPortName[ MAX_PORT_NAME + 1 ];
        OUT WCHAR                   wszMediaName[ MAX_MEDIA_NAME + 1 ];
        OUT WCHAR                   wszDeviceName[ MAX_DEVICE_NAME + 1 ];
        OUT WCHAR                   wszDeviceType[ MAX_DEVICETYPE_NAME + 1 ];
    
    }
    RAS_PORT_0, *PRAS_PORT_0;
    
    typedef struct _RAS_PORT_1
    {
        OUT HANDLE                  hPort;
        OUT HANDLE                  hConnection;
        OUT RAS_HARDWARE_CONDITION  dwHardwareCondition;
        OUT DWORD                   dwLineSpeed;            // in bits/second
        OUT DWORD                   dwBytesXmited;
        OUT DWORD                   dwBytesRcved;
        OUT DWORD                   dwFramesXmited;
        OUT DWORD                   dwFramesRcved;
        OUT DWORD                   dwCrcErr;
        OUT DWORD                   dwTimeoutErr;
        OUT DWORD                   dwAlignmentErr;
        OUT DWORD                   dwHardwareOverrunErr;
        OUT DWORD                   dwFramingErr;
        OUT DWORD                   dwBufferOverrunErr;
        OUT DWORD                   dwCompressionRatioIn;
        OUT DWORD                   dwCompressionRatioOut;
    }
    RAS_PORT_1, *PRAS_PORT_1;

    I believe that for "virtual" "lines" (such as a VPN), a constant value is reported for dwLineSpeed by the NDIS WAN Miniport driver for the VPN protocol. The dwLineSpeed value cannot be set and it is not used (for example, to throttle the connection throughput).

    I realise that this seems to contradict your experience. It would be nice if you could try something like the following: identify a large file (e.g. \Windows\System32\mshtml.dll - about 22 megabytes on my system) and copy it across the L2TP connection (that should take about 20 seconds at 10 megabits per second); during the copy make two screen snapshots of the Port Status, about 10 seconds apart. The Duration and Bytes in/out differences should then give a "rough and ready" estimation of the throughput. If the throughput is so suspiciously close to 10 megabits per second that it strongly suggests that throttling is taking place, then we can investigate that further.

    Gary

    sâmbătă, 18 iulie 2020 14:22

Toate mesajele

  • Hello Andrew,

    The information in the image that you show is a combination of the information reported in the structs RAS_PORT_0 and RAS_PORT_1.

    typedef enum _RAS_PORT_CONDITION
    {
        RAS_PORT_NON_OPERATIONAL,
        RAS_PORT_DISCONNECTED,	
        RAS_PORT_CALLING_BACK,
        RAS_PORT_LISTENING,
        RAS_PORT_AUTHENTICATING,
        RAS_PORT_AUTHENTICATED,	
        RAS_PORT_INITIALIZING
    
    }
    RAS_PORT_CONDITION;
    
    typedef enum _RAS_HARDWARE_CONDITION
    {
        RAS_HARDWARE_OPERATIONAL,
        RAS_HARDWARE_FAILURE
    
    }
    RAS_HARDWARE_CONDITION;
    
    typedef struct _RAS_PORT_0
    {
        OUT HANDLE                  hPort;
        OUT HANDLE                  hConnection;
        OUT RAS_PORT_CONDITION      dwPortCondition;
        OUT DWORD                   dwTotalNumberOfCalls;
        OUT DWORD                   dwConnectDuration;      // In seconds
        OUT WCHAR                   wszPortName[ MAX_PORT_NAME + 1 ];
        OUT WCHAR                   wszMediaName[ MAX_MEDIA_NAME + 1 ];
        OUT WCHAR                   wszDeviceName[ MAX_DEVICE_NAME + 1 ];
        OUT WCHAR                   wszDeviceType[ MAX_DEVICETYPE_NAME + 1 ];
    
    }
    RAS_PORT_0, *PRAS_PORT_0;
    
    typedef struct _RAS_PORT_1
    {
        OUT HANDLE                  hPort;
        OUT HANDLE                  hConnection;
        OUT RAS_HARDWARE_CONDITION  dwHardwareCondition;
        OUT DWORD                   dwLineSpeed;            // in bits/second
        OUT DWORD                   dwBytesXmited;
        OUT DWORD                   dwBytesRcved;
        OUT DWORD                   dwFramesXmited;
        OUT DWORD                   dwFramesRcved;
        OUT DWORD                   dwCrcErr;
        OUT DWORD                   dwTimeoutErr;
        OUT DWORD                   dwAlignmentErr;
        OUT DWORD                   dwHardwareOverrunErr;
        OUT DWORD                   dwFramingErr;
        OUT DWORD                   dwBufferOverrunErr;
        OUT DWORD                   dwCompressionRatioIn;
        OUT DWORD                   dwCompressionRatioOut;
    }
    RAS_PORT_1, *PRAS_PORT_1;

    I believe that for "virtual" "lines" (such as a VPN), a constant value is reported for dwLineSpeed by the NDIS WAN Miniport driver for the VPN protocol. The dwLineSpeed value cannot be set and it is not used (for example, to throttle the connection throughput).

    I realise that this seems to contradict your experience. It would be nice if you could try something like the following: identify a large file (e.g. \Windows\System32\mshtml.dll - about 22 megabytes on my system) and copy it across the L2TP connection (that should take about 20 seconds at 10 megabits per second); during the copy make two screen snapshots of the Port Status, about 10 seconds apart. The Duration and Bytes in/out differences should then give a "rough and ready" estimation of the throughput. If the throughput is so suspiciously close to 10 megabits per second that it strongly suggests that throttling is taking place, then we can investigate that further.

    Gary

    sâmbătă, 18 iulie 2020 14:22
  • Hi,

    Would you please configure setting as follow:

    1. Right Click Network Icon lower right of Taskbar and choose Networking and sharing Center
    2. Click Change adapter settings in Left Pane
    3. Double Click the Connection you are working with
    4. Click Properties lower left in the Status Window that comes up 
    5. Click the Configure Button
    6. Click Advanced Tab in the Properties Window
    7. In the Property scroll menu choose Speed and Duplex, change the Value to 1Gbp/s full duplex in the Value Dropdown right side.

    This "Network Infrastructure Servers" Forum will be migrating to a new home on Microsoft Q&A, please refer to this sticky post for more details. 

    Best regards

    Cherry


    "Network Infrastructure Servers" forum will be migrating to a new home on Microsoft Q&A!

    We invite you to post new questions in the "Network Infrastructure Servers"  forum's new home on Microsoft Q&A!

    For more information, please refer to the sticky post.


    luni, 20 iulie 2020 07:21
  • Thank you Cherry,

        Unfortunately I do not see this option available.  Would there be a benefit of slowing HyperV guest speed from 10 Gbps to 1 Gbps?  I can force this through by other means but unsure how this would assist.

    Regards,

    Andrew

    luni, 20 iulie 2020 19:57
  • Hi,

    I found some similar issues for reference:

    https://social.technet.microsoft.com/Forums/windowsserver/en-US/27b8312f-b7e8-4381-9274-3ec71266bd2a/hyperv-guest-shows-10gig-connection-but-transfer-rate-to-other-machines-on-gige-network-is-100mb-or?forum=winserverhyperv

    https://social.technet.microsoft.com/Forums/ie/en-US/8746cfc4-df49-4b12-9e66-81d80605e717/configure-hyperv-vm-nic-speed?forum=winserverhyperv

    https://social.technet.microsoft.com/Forums/windowsserver/en-US/60f4924e-2390-4050-a948-7a149376026a/hyperv-host-1gbps-nic-negotiated-at-100-mbps-when-used-for-virtual-switch?forum=winserverhyperv

    Hope this do some help.

    This "Network Infrastructure Servers" Forum will be migrating to a new home on Microsoft Q&A, please refer to this sticky post for more details. 

    Best regards

    Cherry



    "Network Infrastructure Servers" forum will be migrating to a new home on Microsoft Q&A!

    We invite you to post new questions in the "Network Infrastructure Servers"  forum's new home on Microsoft Q&A!

    For more information, please refer to the sticky post.


    marți, 21 iulie 2020 01:38