5.2.4. 패킷 흐름


컨테이너 A의 eth0에 대한 피어 가상 이더넷 장치의 이름은 vethA이고 컨테이너 B의 eth0 에 대한 피어 가상 이더넷 장치의 이름은 veth B 인 두 개의 컨테이너 A와 B가 있다고 가정합니다.

참고

Docker 서비스의 피어 가상 이더넷 장치를 아직 사용하지 않는 경우 Docker의 고급 네트워킹 설명서를 참조하십시오.

이제 먼저 컨테이너 A가 로컬 호스트에 있고 컨테이너 B도 로컬 호스트에 있다고 가정합니다. 컨테이너 A에서 컨테이너 B로의 패킷 흐름은 다음과 같습니다.

eth0 (A의 netns에서) vethA br0 vethB eth0 (B의 netns에서)

다음으로 컨테이너 A가 로컬 호스트에 있고 컨테이너 B가 클러스터 네트워크의 원격 호스트에 있다고 가정합니다. 컨테이너 A에서 컨테이너 B로의 패킷 흐름은 다음과 같습니다.

eth0 (A의 netns에서) vethA br0 vxlan0 네트워크 [1] vxlan0 br0 vethB eth0 (B의 netns에서)

마지막으로 컨테이너 A가 외부 호스트에 연결하는 경우 트래픽은 다음과 같습니다.

eth0 (A의 netns에서) vethA br0 tun0 (NAT) eth0 (물리 장치) 인터넷

대부분의 패킷 전달 결정은 플러그인 네트워크 아키텍처를 간소화하고 유연한 라우팅을 제공하는 OVS 브리지 br0 에서 OpenFlow 규칙을 사용하여 수행됩니다. ovs-multitenant 플러그인의 경우 적용 가능한 네트워크 격리 도 제공합니다.



[1] 이 지점 이후 장치 이름은 컨테이너 B의 호스트의 장치를 나타냅니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.