TUN/TAP 인터페이스를 사용하여 TCP 스택을 테스트 할 수 있습니까? 나는이 같은 메커니즘을 생각 해요 :TUN/TAP을 사용하여 사용자 공간 TCP/IP 스택을 테스트하십시오.
+--------------------------------+
| TCP Client/Server |
| socket(AF_INET, SOCK_STREAM) |
| e.g. HTTP Server/Client |
+----------+---------------------+
|
| +---------------------+
| | TUN Device |
| | (kernel does TCP) |
| +---------------------+
|
+------------+----------------------+
| Linux Kernel + Forwarding Magic |
+-----------------------------------+
|
| +---------------------+
| |TAP Device |
| |Raw ethernet frames |
| +---------------------+
|
+----------+----------------------+
| Raw Socket API |
| socket(AF_PACKET, SOCK_RAW) |
| User mode TCP Stack over raw API|
| a HTTP client/server over it |
+---------------------------------+
최고 상자를 tun 디바이스로 라우팅 된 IP 주소, 에서 수신, (말) 표준 수정되지 않은 HTTP 서버입니다. 아래쪽 상자는 원시 TCP/IP 스택에서 작동하는 사용자 지정 TCP/IP 스택입니다.
질문 :
- 는 두 개의 TAP를 연결하는 것이 가능은/TUN의 장치는이 처럼 다시 다시?
- 여기서 '다리'가 필요합니까? 그 밖의 다른 이야기는 입니다.
- 마지막으로, 더 좋은 방법이 있습니까?
고지.
추신 : 나는 같은 기계에서 모두 실행하겠습니다. '상자'는 여기에서 프로세스 또는 설정 또는 프로세스와 비슷합니다.
두 장치를 실제로 만들 필요는 없습니다. 이것은 원시 패킷을 얻는 방법을 보여줄 수있는 명령 세트입니다. # socat STDOUT TUN : 10.0.0.1/24,up; # 핑 10.0.0.2 – vrdhn