단일 시스템에서 네트워크 시뮬레이션

단일 시스템에서 네트워크 시뮬레이션

컴퓨터에서 네트워크를 시뮬레이션하려고 합니다.

소켓을 통해 통신하는 여러 노드가 있습니다 tcp.

다음과 같이 각 노드에 대한 가상 인터페이스를 만들어 보았습니다.

ip link add name int1 type dummy 
ip address add 10.0.1.1 dev int1
ifconfig int1 up

모든 노드는 각자의 주소를 바인딩하고 문제 없이 통신할 수 있습니다. 그러나 실제 상황을 시뮬레이션하기 위해 대기 시간을 추가하고 각 인터페이스의 대역폭을 제한하고 싶습니다.

나는 tc add delay다음과 같은 인터페이스에 익숙합니다.

tc qdisc add dev int1 root netem delay 200ms

그런데 생각보다 실행시간이 늘어나지 않더군요.

내 질문은 다음과 같습니다

  1. 가상 인터페이스에서 트래픽 조절을 수행할 수 있나요? 그렇지 않다면 단일 시스템에서 네트워크를 시뮬레이션하는 가장 좋은 방법은 무엇입니까?

  2. 또한 생성된 인터페이스에 대한 핑이 실제 인터페이스가 아닌 루프백에 도달했다는 사실도 확인했습니다. 왜?

관련 정보