Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

행복

Happy는 시뮬레이션 된 네트워크 토폴로지의 경량 오케스트레이션을위한 도구입니다. IoT 장치 하드웨어를 사용하지 않고 단일 Linux 개발 시스템에서 네트워크 프로토콜 및 기타 분산 실행 프로그램을 테스트하는 데 사용합니다.

뭐야?

Happy는 복잡한 네트워크 토폴로지를 시뮬레이션합니다. 하나의 Linux 시스템에서 Happy는 서로 독립적 인 네트워크 스택으로 여러 노드를 만들 수 있습니다. 일부 노드는 시뮬레이션 된 스레드 네트워크에 연결되고 다른 노드는 시뮬레이션 된 Wi-Fi, WAN (인터넷) 또는 셀룰러 네트워크에 연결될 수 있습니다.

Happy는 다음 사용 사례를 해결합니다.

  • 하드웨어를 사용하지 않고 단일 Linux 개발 시스템에서 네트워크 프로토콜 및 기타 분산 실행 프로그램 테스트
  • 네트워크에서 자동화 된 기능 테스트 수행
  • 동일한 시스템에서 여러 개의 동시 병렬 네트워크를 실행하여 테스트 처리량 향상

Happy는 최소한의 사용자 오버 헤드로 네트워크 토폴로지 추상화를 만들어 이러한 문제를 해결합니다. 단일 셸 명령 호출로 복잡한 토폴로지를 만들 수 있습니다. Happy는 대화 형 사용과 자동화 된 스크립팅을 모두 지원합니다.

Happy shell 명령을 사용하여 개발 중에 코드를 설정, 테스트 및 디버그합니다. 그런 다음 동일한 네트워킹 구성 및 테스트 프로그램을 스크립팅하여 자동화 된 테스트에 사용할 수 있습니다.

시작하다

Happy를 시작하는 가장 빠르고 쉬운 방법은 Codelab을 살펴 보는 것입니다. 사용자에게 다음을 포함한 모든 Happy 기본 사항을 안내합니다.

  • 토폴로지 생성 및 삭제
  • 함께 네트워킹 노드
  • 토폴로지 저장 및 복원
  • 인터넷에 토폴로지 연결
  • Weave 기초

Happy Codelab 시작하기

Happy 설정사용에 대한 자세한 내용은 설정사용 을 참조하십시오.

건축물

행복한 모델은 다음과 같습니다.

  • 노드 — Linux 네트워크 네임 스페이스입니다. 노드를 구성하는 프로세스는 지정된 네트워크 네임 스페이스 내에서 실행됩니다.
  • 링크 — Linux 네트워크 인터페이스입니다. Happy는 veth 네트워크 장치를 사용하여 L3 (IP) 인터페이스를 지원하고 tap 네트워크 장치를 사용하여 L2 인터페이스를 즉시 지원합니다.
  • 네트워크 — 이더넷 브리지가 내부에서 실행되는 Linux 네트워크 네임 스페이스.

이행

Happy는 Python 모듈 모음입니다. Core Happy 모듈은 다음에 대한 추상화를 제공합니다.

  • 노드 추상화 관리
    • 노드 추가, 수정 및 삭제
    • 노드 내에서 일련의 프로세스 실행
  • 링크 관리
    • 링크 추가, 수정 및 삭제
    • 노드 및 네트워크에 링크 할당
    • 주소 할당 할당 및 수정
  • 네트워크 관리
    • 네트워크 생성, 수정 및 파괴
    • 네트워크 연결
  • 일관된 방식으로 프레임 워크의 전체 상태 관리

Happy 모듈로 구현 된 대부분의 추상화는 Linux 네트워크 도구를 호출하는 명령으로 매핑됩니다.

Happy에는 /plugins 세트도 포함되어 /plugins . 플러그인은 특정 기술과 관련된 일련의 기능을 포함합니다. 예를 들어, /plugins/weave 에는 Happy 내에서 실행하기 위해 다양한 Weave 애플리케이션을 래핑하는 도우미가 포함되어 있습니다.

실행

사용자는 두 가지 방법을 통해 시뮬레이션 된 토폴로지를 구축 할 수 있습니다.

  • 셸 명령 — 모든 명령은 /bin 있습니다.
  • Python 스크립트 — 자체 Python 스크립트에서 Happy 명령을 호출하기 위해 Happy 모듈을 가져옵니다. 모듈은 /happy 있습니다.

자체 Python 스크립트에서 Happy 모듈을 사용하는 방법에 대한 자세한 내용은 Python 스크립팅을 참조하세요.