ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Network] 데이터 Bandwidth에 영향을 미치는 설정값과 변경
    Security in CPS/Networking 2020. 7. 22. 21:52

     

    OSI Model

    [Physical Model]

    ethtool을 사용해 하드웨어(이더넷 케이블)가 지원하는 데이터 속도를 확인할 수 있다. 아래의 예를 보면 최대 1Gbps 를 지원하고 있다. 

    $> ethtool eth0

    Settings for ens1f1:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: on (auto)
    Cannot get wake-on-lan settings: Operation not permitted
    Current message level: 0x00000007 (7)
          drv probe link
    Link detected: yes

    [Data Link]

    1. Maximum Transport Unit (MTU)는 NIC 에서 전송하는 최대 데이터 크기로 큰 사이즈의 Payload의 경우 여러 MTU 크기의 Segment 로 나눠져 네트워크를 통해 전달된다.

    $> ifconfig

    허용하는 RX/TX 링버퍼 최대값과 설정값 확인

    $> sudo ethtool -g eth0

    Ring parameters for ens1f1:
    Pre-set maximums:
    RX: 4096
    RX Mini: 0
    RX Jumbo: 0
    TX: 4096
    Current hardware settings:
    RX: 256
    RX Mini: 0
    RX Jumbo: 0
    TX: 256

    RX/TX 링버퍼 설정값 변경하기

    $> sudo ethtool -G eth0 rx 4096 tx 4096

    MTU 변경하기. Ethernet의 경우 최대 9000 까지만 허용하며 NIC 드라이버에 따라 설정값 변경이 되지 않는 경우도 발생한다.

    $> sudo ethtool eth mtu 9000

    [TCP/IP layers]

    주요 네트워크 설정값은 아래와 같이 확인이 가능하다. 특히 tcp_wmem/tcp_rmem는 tcp window 크기를 결정하는 설정값으로 Bandwidth를 결정하는데 중요한 역할을 한다.

    uq-client1@uq-client1:~$ cat /proc/sys/net/core/wmem_default 
    212992
    uq-client1@uq-client1:~$ cat /proc/sys/net/core/wmem_max
    212992
    uq-client1@uq-client1:~$ cat /proc/sys/net/ipv4/tcp_wmem 
    4096 16384 4194304
    uq-client1@uq-client1:~$ cat /proc/sys/net/ipv4/tcp_rmem 
    4096 131072 6291456
    uq-client1@uq-client1:~$ cat /proc/sys/net/ipv4/tcp_sack
    1
    uq-client1@uq-client1:~$ cat /proc/sys/net/core/netdev_max_backlog 
    1000
    https://www.cyberciti.biz/faq/linux-tcp-tuning/

     

     

    'Security in CPS > Networking' 카테고리의 다른 글

    [Openflow] Physical Port of FeatureResponse  (0) 2020.07.31
    [Openflow] FeatureRequest and FeatureResponse  (0) 2020.07.31
    [http] axel  (0) 2020.07.22
    NIC 의 MTU 변경하기  (0) 2020.07.20
    [OpenFlow] Open vSwitch daemon and log  (0) 2020.06.15

    댓글

Designed by Tistory.