FreeBSD에서는 Linux에서 사용되는 Netlink 프로토콜에 대한 지원을 추가했습니다.

FreeBSD의

FreeBSD는 인터넷 및 인트라넷 서버 구축을 위한 시스템으로 잘 확립되어 있습니다. 상당히 안정적인 네트워크 서비스와 효율적인 메모리 관리를 제공합니다.

며칠 전 뉴스가 발표되었다 의 기본 코드 FreeBSD가 채택한 통신 프로토콜의 새로운 구현 넷 링크 (RFC 3549) Linux에서 커널과 사용자 공간의 프로세스 간에 통신하는 데 사용됩니다.

소켓 제품군 넷 링크 는 Linux 커널 인터페이스입니다. 커널과 사용자 공간 프로세스 간의 IPC(프로세스 간 통신)에 사용 그리고 Unix 도메인 소켓과 유사하게 다른 사용자 공간 프로세스 사이에서.

Unix 도메인 소켓과 유사하고 INET 소켓과 달리 Netlink 통신은 호스트 경계를 통과할 수 없습니다. 그러나 Unix 도메인 소켓은 파일 시스템 네임스페이스를 사용하지만 Netlink 프로세스는 일반적으로 PID(프로세스 식별자)로 주소가 지정됩니다.

Netlink는 기타 네트워크 정보를 전송하는 데 사용됩니다. 커널 공간과 사용자 공간 프로세스 사이. iproute2 제품군 및 mac80211 기반 무선 드라이버를 구성하는 데 사용되는 유틸리티와 같은 네트워크 유틸리티는 Netlink를 사용하여 사용자 공간에서 Linux 커널과 통신합니다. Netlink는 사용자 공간 프로세스를 위한 표준 소켓 기반 인터페이스와 커널 모듈에서 내부 사용을 위한 커널 측 API를 제공합니다. Netlink는 원래 AF_NETLINK 소켓 제품군을 사용했습니다.

현재까지의 형태로는, Netlink 지원 계층을 통해 FreeBSD는 Linux ip 유틸리티를 사용할 수 있습니다. iproute2 패킷의 네트워크 인터페이스를 관리하고, IP ​​주소를 설정하고, 라우팅을 구성하고, 패킷을 의도된 대상으로 전달하는 데 사용되는 상태를 저장하는 nexthop 개체를 조작합니다. 헤더 파일을 약간 변경하면 Bird의 라우팅 패킷에서 Netlink를 사용할 수 있습니다.

FreeBSD를 위한 Netlink 구현 로드 가능한 커널 모듈로 패키징됨 가능하다면, 다른 커널 하위 시스템에 영향을 미치지 않으며 별도의 작업 대기열을 생성합니다. (Tasqueue) 프로토콜을 통해 들어오는 메시지를 처리하고 비동기 모드에서 작업을 수행합니다. Netlink를 이식하는 이유는 표준 메커니즘이 없기 때문입니다. 커널 하위 시스템과 상호 작용하여 자체 프로토콜을 발명하는 다른 하위 시스템 및 드라이버로 이어집니다.

넷 링크 통합 커뮤니케이션 계층 및 확장 가능한 메시지 형식 제공 이는 서로 다른 소스의 이질적인 데이터를 단일 요청으로 자동 결합하는 중개자 역할을 할 수 있습니다. 예를 들어, devd, jail 및 pfilctl과 같은 FreeBSD 하위 시스템은 이제 자체 ioctl 호출을 사용하여 Netlink로 이식할 수 있습니다. 이는 이러한 하위 시스템과 함께 작동하는 애플리케이션 구축을 크게 단순화할 것입니다. 또한 Netlink를 사용하여 라우팅 스택의 nexthop 개체 및 그룹을 수정하면 사용자 공간 라우팅 프로세스와의 보다 효율적인 상호 작용이 가능합니다.

인터페이스, 주소, 경로, 방화벽, fibs, vnet 등 netlink를 통해 제어됩니다. 1-1 및 1-many 통신을 제공하는 TLV 기반 비동기 프로토콜입니다. 현재 구현은 NETLINK_ROUTE 제품군의 하위 집합을 지원합니다. 구현은 NETLINK_GENERIC 제품군 프레임워크와도 호환됩니다.

현재 구현된 기능:

  • 경로, nexthops 개체 및 그룹, 네트워크 인터페이스, 주소 및 인접 호스트(arp/ndp)에 대한 정보를 얻습니다.
  • 네트워크 인터페이스의 출현 및 연결 해제, 주소 구성 및 제거, 경로 추가 및 제거에 대한 알림 형성.
  • 경로, 다음 홉 개체 및 그룹, 게이트웨이, 네트워크 인터페이스를 추가 및 제거합니다.
  • 라우팅 테이블을 관리하기 위한 Rtsock 인터페이스와의 통합.

지금까지 프로젝트는 커널에서 네트워크 하위 시스템의 상태를 관리하기 위해 NETLINK_ROUTE 제품군을 지원하는 것으로 제한되어 있다는 점을 언급할 가치가 있습니다.

마지막으로, 그것에 대해 더 알고 싶으시면 자세한 내용을 참조하십시오. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.