다음을 통해 공유


IP 도우미 개요

IP 도우미(인터넷 프로토콜 도우미)를 사용하면 드라이버가 로컬 컴퓨터의 네트워크 구성에 대한 정보를 검색하고 해당 구성을 수정할 수 있습니다. 또한 IP 도우미는 로컬 컴퓨터 네트워크 구성의 특정 측면이 변경될 때 드라이버에 알림이 표시되도록 하는 알림 메커니즘을 제공합니다. IP 도우미는 Windows Vista 이상 버전의 Microsoft Windows 운영 체제에서 사용할 수 있습니다.

대부분의 IP 도우미 함수는 MIB(관리 정보 기반) 기술과 연결된 데이터 형식을 나타내는 구조 매개 변수를 전달합니다. IP 도우미 함수는 이러한 MIB 구조를 사용하여 다양한 네트워킹 정보를 나타냅니다.

IP 도우미 설명서에서는 어댑터인터페이스를 광범위하게 사용합니다. 어댑터 은 원래 네트워크 하드웨어 일부를 지칭하던 네트워크 어댑터의 약어 형태인 레거시 용어입니다. 어댑터는 데이터 링크 수준 추상화입니다.

인터페이스는 노드가 링크에 연결되는 것을 나타내는 추상적 개념으로 IETF RFC 문서에서 설명됩니다. 인터페이스는 IP 수준 추상화입니다.

드라이버는 다음 커널 모드 함수, MIB 구조, MIB 및 NL(네트워크 계층) 열거형을 사용하여 로컬 컴퓨터에서 TCP/IP(Transmission Control Protocol/Internet Protocol) 전송에 대한 구성 설정을 검색하고 수정할 수 있습니다.

메모

드라이버 코드를 개발할 때 지침을 따라야 하며, 헤더 파일을 포함해야 합니다.

인터페이스 변환 함수

기능 묘사
ConvertInterfaceAliasToLuid 네트워크 인터페이스의 LUID(로컬 고유 식별자)를 유니코드 인터페이스 이름으로 변환합니다.
ConvertInterfaceGuidToLuid 네트워크 인터페이스의 GUID(Globally Unique Identifier)를 인터페이스의 LUID로 변환합니다.
convertInterfaceIndexToLuid 네트워크 인터페이스의 로컬 인덱스를 인터페이스의 LUID로 변환합니다.
convertInterfaceLuidToAlias 네트워크 인터페이스의 LUID를 인터페이스 별칭으로 변환합니다.
인터페이스 LUID를 GUID로 변환 네트워크 인터페이스의 LUID를 인터페이스의 GUID로 변환합니다.
convertInterfaceLuidToIndex 네트워크 인터페이스의 LUID를 인터페이스의 로컬 인덱스로 변환합니다.
convertInterfaceLuidToNameA 네트워크 인터페이스의 LUID를 ANSI 인터페이스 이름으로 변환합니다.
convertInterfaceLuidToNameW 네트워크 인터페이스의 LUID를 유니코드 인터페이스 이름으로 변환합니다.
convertInterfaceNameToLuidA ANSI 네트워크 인터페이스 이름을 인터페이스의 LUID로 변환합니다.
convertInterfaceNameToLuidW 유니코드 네트워크 인터페이스 이름을 인터페이스의 LUID로 변환합니다.
if_indextoname 네트워크 인터페이스의 로컬 인덱스를 ANSI 인터페이스 이름으로 변환합니다.
if_nametoindex 네트워크 인터페이스의 ANSI 인터페이스 이름을 인터페이스의 로컬 인덱스로 변환합니다.

인터페이스 관리 함수

기능 묘사
GetIfEntry2 로컬 컴퓨터에서 지정된 인터페이스에 대한 정보를 검색합니다.
GetIfStackTable 인터페이스 스택에서 네트워크 인터페이스의 관계를 지정하는 네트워크 인터페이스 스택 행 항목의 테이블을 검색합니다.
GetIfTable2 MIB-II 인터페이스 테이블을 검색합니다.
GetIfTable2Ex 검색할 인터페이스 정보의 수준이 지정된 MIB-II 인터페이스 테이블을 검색합니다.
GetInvertedIfStackTable 인터페이스 스택에서 네트워크 인터페이스의 관계를 지정하는 반전된 네트워크 인터페이스 스택 행 항목의 테이블을 검색합니다.
GetIpInterfaceEntry 로컬 컴퓨터에서 지정된 인터페이스에 대한 IP 정보를 검색합니다.
GetIpInterfaceTable 로컬 컴퓨터에서 IP 인터페이스 항목을 검색합니다.
InitializeIpInterfaceEntry 기본값을 사용하여 MIB_IPINTERFACE_ROW 구조체 항목의 멤버를 초기화합니다.
SetIpInterfaceEntry 로컬 컴퓨터에서 IP 인터페이스의 속성을 설정합니다.

IP 주소 관리 함수

기능 설명
CreateAnycastIpAddressEntry 로컬 컴퓨터에 새 애니캐스트 IP 주소 항목을 추가합니다.
CreateSortedAddressPairs 제공된 대상 주소 목록을 호스트 컴퓨터의 로컬 IP 주소와 페어링하고 기본 통신 순서에 따라 쌍을 정렬합니다.
유니캐스트 IP 주소 항목 생성 로컬 컴퓨터에 새 유니캐스트 IP 주소 항목을 추가합니다.
DeleteAnycastIpAddressEntry 로컬 컴퓨터에서 기존 anycast IP 주소 항목을 삭제합니다.
DeleteUnicastIpAddressEntry 로컬 컴퓨터에서 기존 유니캐스트 IP 주소 항목을 삭제합니다.
GetAnycastIpAddressEntry 로컬 컴퓨터에서 기존 anycast IP 주소 항목에 대한 정보를 검색합니다.
GetAnycastIpAddressTable 로컬 컴퓨터에서 애니캐스트 IP 주소 테이블을 검색합니다.
GetMulticastIpAddressEntry 로컬 컴퓨터에서 기존 멀티캐스트 IP 주소 항목에 대한 정보를 검색합니다.
GetMulticastIpAddressTable 로컬 컴퓨터에서 멀티캐스트 IP 주소 테이블을 검색합니다.
GetUnicastIpAddressEntry 로컬 컴퓨터에서 기존 유니캐스트 IP 주소 항목에 대한 정보를 검색합니다.
GetUnicastIpAddressTable 로컬 컴퓨터에서 유니캐스트 IP 주소 테이블을 검색합니다.
InitializeUnicastIpAddressEntry 로컬 컴퓨터의 유니캐스트 IP 주소 항목에 대한 기본값을 사용하여 MIB_UNICASTIPADDRESS_ROW 구조를 초기화합니다.
NotifyStableUnicastIpAddressTable 로컬 컴퓨터에서 안정적인 유니캐스트 IP 주소 테이블을 검색합니다.
SetUnicastIpAddressEntry 로컬 컴퓨터에서 기존 유니캐스트 IP 주소 항목의 속성을 설정합니다.

IP 인접 주소 관리 함수

기능 묘사
CreateIpNetEntry2 로컬 컴퓨터에 새 인접 IP 주소 항목을 만듭니다.
DeleteIpNetEntry2 로컬 컴퓨터에서 인접 IP 주소 항목을 삭제합니다.
flushIpNetTable2 로컬 컴퓨터에서 IP 이웃 테이블을 삭제합니다.
GetIpNetEntry2 로컬 컴퓨터에서 이웃 IP 주소 항목에 대한 정보를 조회합니다.
GetIpNetTable2 로컬 컴퓨터에서 IP 인접 테이블을 검색합니다.
ResolveIpNetEntry2 로컬 컴퓨터의 인접 IP 주소 항목에 대한 물리적 주소를 해결합니다.
setIpNetEntry2 로컬 컴퓨터에서 기존 인접 IP 주소 항목의 실제 주소를 설정합니다.

IP 경로 관리 함수

기능 설명
FlushIpPathTable 로컬 컴퓨터의 IP 경로 테이블을 초기화합니다.
GetIpPathEntry 로컬 컴퓨터의 IP 경로 항목에 대한 정보를 불러옵니다.
GetIpPathTable 로컬 컴퓨터의 IP 경로 테이블에 대한 정보를 검색합니다.

IP 경로 관리 함수

기능 상세 설명
CreateIpForwardEntry2 로컬 컴퓨터에 새 IP 경로 항목을 만듭니다.
DeleteIpForwardEntry2 로컬 컴퓨터에서 IP 경로 항목을 삭제합니다.
GetBestRoute2 지정된 대상 IP 주소에 대한 최상의 경로를 위해 로컬 컴퓨터에서 IP 경로 항목을 검색합니다.
getIpForwardEntry2 로컬 컴퓨터의 IP 경로 항목에 대한 정보를 검색합니다.
getIpForwardTable2 로컬 컴퓨터에서 IP 경로 항목을 검색합니다.
InitializeIpForwardEntry 로컬 컴퓨터의 IP 경로 항목에 대한 기본값을 사용하여 MIB_IPFORWARD_ROW2 구조를 초기화합니다.
setIpForwardEntry2 로컬 컴퓨터에서 IP 경로 항목의 속성을 설정합니다.

IP 테이블 메모리 관리 함수

기능 설명
freeMibTable 네트워크 인터페이스, 주소 및 경로 테이블을 반환하는 함수에 의해 할당된 버퍼를 해제합니다(예: GetIfTable2GetAnycastIpAddressTable).

알림 함수

기능 묘사
CancelMibChangeNotify2 안정적인 유니캐스트 IP 주소 테이블을 검색하기 위해 IP 인터페이스 변경, IP 주소 변경, IP 경로 변경 및 요청에 대한 변경 알림에 대한 드라이버를 등록 취소합니다.
NotifyIpInterfaceChange 로컬 컴퓨터의 모든 IP 인터페이스, IPv4 인터페이스 또는 IPv6 인터페이스 변경에 대한 알림을 받을 드라이버를 등록합니다.
NotifyRouteChange2 로컬 컴퓨터의 IP 경로 항목 변경에 대한 알림을 받도록 등록합니다.
NotifyUnicastIpAddressChange 로컬 컴퓨터의 모든 유니캐스트 IP 인터페이스, 유니캐스트 IPv4 주소 또는 유니캐스트 IPv6 주소의 변경 내용에 대한 알림을 받도록 등록합니다.

Teredo IPv6 클라이언트 관리 함수

기능 묘사
GetTeredoPort Teredo 클라이언트가 로컬 컴퓨터에서 사용하는 동적 UDP 포트 번호를 검색합니다.
NotifyTeredoPortChange Teredo 클라이언트가 로컬 컴퓨터의 Teredo 서비스 포트에 사용하는 UDP 포트 번호 변경에 대한 알림을 받도록 등록합니다.
NotifyStableUnicastIpAddressTable 로컬 컴퓨터에서 안정적인 유니캐스트 IP 주소 테이블을 검색합니다.

MIB 구조체

구조 묘사
IP_ADDRESS_PREFIX IP 주소 접두사를 저장합니다.
MIB_ANYCASTIPADDRESS_ROW 애니캐스트 IP 주소에 대한 정보를 저장합니다.
MIB_ANYCASTIPADDRESS_TABLE anycast IP 주소 항목의 테이블을 포함합니다.
MIB_IF_ROW2 특정 인터페이스에 대한 정보를 저장합니다.
MIB_IF_TABLE2 논리 및 물리적 인터페이스 항목의 테이블을 포함합니다.
MIB_IFSTACK_ROW 두 네트워크 인터페이스 간의 관계를 나타냅니다.
MIB_IFSTACK_TABLE 네트워크 인터페이스 스택의 행 항목 테이블을 포함합니다. 이 표에서는 인터페이스 스택에서 네트워크 인터페이스의 관계를 지정합니다.
MIB_INVERTEDIFSTACK_ROW 두 네트워크 인터페이스 간의 관계를 나타냅니다.
MIB_INVERTEDIFSTACK_TABLE 반전된 네트워크 인터페이스 스택 행 항목의 테이블을 포함합니다. 이 표에서는 인터페이스 스택의 네트워크 인터페이스 관계를 역순으로 지정합니다.
MIB_IPFORWARD_ROW2 IP 경로 항목의 정보를 저장합니다.
MIB_IPFORWARD_TABLE2 IP 경로 항목의 테이블을 포함합니다.
MIB_IPINTERFACE_ROW 네트워크 인터페이스에 특정 IP 주소 패밀리에 대한 인터페이스 관리 정보를 저장합니다.
MIB_IPINTERFACE_TABLE IP 인터페이스 항목의 테이블을 포함합니다.
MIB_IPNET_ROW2 인접 IP 주소에 대한 정보를 저장합니다.
MIB_IPNET_TABLE2 인접 IP 주소 항목의 테이블을 포함합니다.
MIB_IPPATH_ROW IP 경로 항목에 대한 정보를 저장합니다.
MIB_IPPATH_TABLE IP 경로 항목의 테이블을 포함합니다.
MIB_MULTICASTIPADDRESS_ROW 멀티캐스트 IP 주소에 대한 정보를 저장합니다.
MIB_MULTICASTIPADDRESS_TABLE 멀티캐스트 IP 주소 항목의 테이블을 포함합니다.
MIB_UNICASTIPADDRESS_ROW 유니캐스트 IP 주소에 대한 정보를 저장합니다.
MIB_UNICASTIPADDRESS_TABLE 유니캐스트 IP 주소 항목의 테이블을 포함합니다.

MIB (관리 정보 베이스) 열거형

열거형 묘사
MIB_IF_TABLE_LEVEL 검색할 인터페이스 정보의 수준을 정의합니다.
MIB_NOTIFICATION_TYPE 알림이 발생할 때 콜백 함수에 전달되는 알림 유형을 정의합니다.

NL 열거형

열거 묘사
NL_ADDRESS_TYPE 네트워크 계층의 IP 주소 유형을 지정합니다.
NL_DAD_STATE DAD(중복 주소 검색) 상태를 정의합니다.
NL_LINK_LOCAL_ADDRESS_BEHAVIOR 링크 로컬 주소 동작을 정의합니다.
NL_NEIGHBOR_STATE RFC 2461, 섹션 7.3.2에 설명된 대로 네트워크 계층 인접 IP 주소의 상태를 정의합니다.
NL_PREFIX_ORIGIN IP 주소의 접두사 또는 네트워크 부분의 원본을 정의합니다.
NL_ROUTE_ORIGIN IP 경로의 원본을 정의합니다.
NL_ROUTE_PROTOCOL RFC 4292에 설명된 대로 IP 경로가 추가된 라우팅 메커니즘을 정의합니다.
NL_ROUTER_DISCOVERY_BEHAVIOR RFC 2461에 설명된 대로 라우터 검색 동작을 정의합니다.
NL_SUFFIX_ORIGIN IP 주소의 접미사 또는 호스트 부분의 원본을 정의합니다.