-
[Network] 데이터 Bandwidth에 영향을 미치는 설정값과 변경Security in CPS/Networking 2020. 7. 22. 21:52
[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