다음을 통해 공유


핸드오프 집합 지정

핸드오프 집합은 프로토콜을 따르는 프로토콜을 지정합니다. 파서는 파서가 프로토콜 instance 데이터에서 다음 프로토콜을 식별할 수 있는 경우에만 핸드오프 집합을 사용합니다.

예를 들어 TCP 프로토콜에는 TCP 프로토콜을 따르는 프로토콜을 식별하는 포트 속성이 있습니다. 속성 값이 20이면 다음 프로토콜이 FTP임을 나타냅니다. 속성 값 53은 다음 프로토콜이 DNS임을 나타냅니다. 포트 속성은 다음 프로토콜을 식별하기 때문에 TCP 파서는 다음 핸드오프 집합을 사용하여 포트 속성이 지정하는 프로토콜에 대한 핸들을 가져올 수 있습니다.

[TCP_HandoffSet]
  20    = FTP
  21    = FTP
  23    = TELNET
  25    = SMTP
  53    = DNS
  79    = FINGER
  80    = HTTP
  102   = ISO
  111   = RPC
  119   = NNTP
  137   = NBT, 1000
  138   = NBT, 1002
  139   = NBT, 1001
  389   = LDAP
  445   = NBT, 1001
  515   = LPR
  612   = HMMP
  613   = HMMP
  1024  = NBT, 1001
  1047  = NBT, 1001
  1362  = TDS
  1433  = TDS
  1723  = PPTP
  3020  = NBT, 1001
  3268  = LDAP
  5678  = PPTP

핸드오프 집합은 파서 INI 파일에 저장됩니다. 예를 들어 이전 TCP 핸드오프 집합은 tcpip.ini 파일에 있습니다. 파서 DLL이 여러 프로토콜을 지원하는 경우 핸드오프 집합을 사용하는 각 파서에는 INI 파일에 고유한 위치가 있습니다.

핸드오프 집합 정보는 ParserAutoInstallInfo 함수를 구현하는 동안 지정됩니다. 파서는 파서 프로토콜 앞에 오는 프로토콜과 파서 프로토콜을 따르는 프로토콜을 지정할 수 있습니다. 네트워크 모니터는 앞의 모든 프로토콜을 사용하고 파서 INI 파일의 다음 집합 섹션에 파서 프로토콜을 추가합니다( 각 이전 프로토콜에 대해). 네트워크 모니터는 파서 INI 파일의 핸드오프 집합 섹션에 이어지는 프로토콜 목록을 저장합니다.

네트워크 모니터는 파서 INI 파일에 핸드오프 집합 정보를 저장하지만 파서는 INI 파일에 직접 액세스하지 않습니다. 핸드오프 집합의 정보를 사용하기 위해 파서는 CreateHandoffTable 함수를 호출하여 핸드오프 테이블을 만듭니다. 일반적으로 핸드오프 테이블은 파서가 프로토콜을 등록할 때 만들어집니다. 프로토콜이 등록되면 네트워크 모니터는 파서가 사용할 수 있는 핸드오프 집합 테이블을 만듭니다.

파서는 데이터를 인식할 때 핸드오프 집합을 사용합니다. 먼저 파서는 다음 프로토콜을 식별하는 속성의 값을 읽습니다. 그런 다음 파서는 GetProtocolFromTable 을 호출하여 다음 프로토콜에 대한 핸들을 가져옵니다. 마지막으로 파서는 RecognizeFramephNextProtocol 매개 변수에 있는 핸들에 대한 포인터를 반환합니다.