이 문서에서는 Cisco 게이트키퍼가 서로 다른 경우에 TTL(Time to Live) 값을 사용하여 엔드포인트의 에이징을 수행하는 방법에 대해 설명합니다.debugs 및 show 명령은 TTL이 다양한 방식으로 작동하는 방식을 표시하는 데 사용됩니다.
이 문서의 독자는 다음 주제에 대해 잘 알고 있어야 합니다.
Cisco Gatekeeper를 포함한 Cisco H.323 구현H.323 게이트키퍼에 대한 기본적인 이해는 H.323 게이트키퍼 이해를 참조하십시오.
이 문서의 정보는 이러한 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서에서는 Cisco IOS® Software 릴리스 12.3(9)을 사용하여 정보를 수집합니다.
H.323 게이트키퍼 기능 기능과 함께 Cisco IOS를 사용해야 합니다.이는 Cisco IOS 이미지 이름에 x로 표시됩니다.예를 들어, 게이트키퍼 역할을 하는 Cisco 3640용 유효한 Cisco IOS는 c3640-ix-mz.123-9.bin입니다.
Cisco 게이트키퍼(모든 플랫폼).
참고: NetMeeting은 TTL 값을 제공하지 않으므로 이 문서의 예에서 H.323 엔드포인트로 사용되었습니다.
Cisco IOS 게이트웨이로 NetMeeting을 구성하는 방법에 대한 자세한 내용은 Cisco IOS 게이트웨이를 사용하여 Microsoft NetMeeting을 구성하는 방법 을 참조하십시오.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.라이브 네트워크에서 작업하는 경우, 사용하기 전에 모든 명령의 잠재적인 영향을 이해해야 합니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
다음은 Cisco 게이트키퍼에서 TTL이 작동하는 방식과 다른 경우 엔드포인트에서 에이징 프로세스가 작동하는 방식에 대한 몇 가지 팁입니다.
Cisco Gatekeeper는 RRQ(Registration Request) 메시지(경량 또는 전체)를 통해 엔드포인트에서 주기적으로 수신합니다.
엔드포인트 시간 제한의 경우 Cisco Gatekeeper는 RRQ 메시지의 엔드포인트에서 제공하는 TTL 값에 주목합니다.엔드포인트 시간 초과에 대해 하드 코딩된 기본값은 1800초(30분)입니다.이 값은 Cisco Gatekeeper CLI 명령 엔드포인트 ttl <time_value>를 사용하여 변경할 수 있습니다.이렇게 하면 RRQ 메시지에 TTL 값을 포함하지 않는 모든 H.323 v1 엔드포인트 또는 H.323 v2 이상 엔드포인트의 동작이 변경됩니다.
Cisco 게이트키퍼는 주기적으로 "엔드포인트 에이징 프로세스"를 실행합니다.이 프로세스는 1분마다 5분마다 현재 CPU 로드에 따라 달라집니다.CPU 사용률의 20%마다 에이징 간격은 1분, 최대 5분까지 증가합니다.엔드포인트가 많은 경우 CPU를 오버로드하지 않기 위해 에이징 프로세스는 패스당 50개의 엔드포인트에서만 실행됩니다.더 있는 경우 다음 타이머 팝업이 표시될 때까지 지연됩니다.1분에서 5분 사이일 수 있습니다.
timeToLive 필드가 RRQ Registration, Admission and Status(RAS) 메시지에 포함된 경우 게이트키퍼는 해당 필드의 값을 사용하여 시스템 기본값 또는 엔드포인트 ttl<time_value> 게이트키퍼 CLI 명령을 사용하여 구성된 값을 재정의합니다.해당 기간이 엔드포인트에서 수신하지 않고 경과하면 다음 타이머 팝업이 해당 엔드포인트의 정리 프로세스를 거칩니다.가장 나쁜 경우는 엔드포인트에서 보낸 TTL에 5분을 더한 것입니다(Cisco 게이트키퍼가 지속적으로 CPU 부하가 많은 경우).최악의 경우 TTL 시간 초과 + 1분이 발생할 수 있습니다.
엔드포인트가 RRQ 메시지에 timeToLive 필드를 포함하지 않으면 Cisco 게이트키퍼는 엔드포인트를 TTL을 지원하지 않는 것처럼 취급합니다.이 경우 게이트키퍼가 해당 엔드포인트에서 더 이상 RRQ를 수신하지 않으면 TTL 시간 초과(기본값 1800초 또는 엔드포인트 ttl 명령에 지정된 값)를 수행합니다. 그런 다음 게이트키퍼의 CPU 부하를 기준으로 1~5분 간격으로 3개의 정보 요청(IRQ)을 전송합니다. 3개의 IRQ를 보내고 응답을 받지 못한 후 Cisco 게이트키퍼는 엔드포인트를 마침내 제거합니다.
엔드포인트가 활성 통화에 있는 경우 통화가 종료될 때까지 종료되지 않습니다.
Cisco Gatekeeper는 IRR(Information Response) 메시지가 있는 통화에 관련된 엔드포인트에서 수신 대기해야 합니다.Cisco 게이트키퍼가 통화에 대한 "guid"에 대한 참조가 포함된 정기 IRR 메시지를 수신하지 않으면 게이트키퍼는 4분 동안 기다린 다음 통화가 진행되는 엔드포인트에 IRQ를 보냅니다.8분이 더 지난 후에도 Cisco 게이트키퍼가 해당 통화에 대해 아무것도 듣지 못한 경우 통화가 정리되고 게이트키퍼가 엔드포인트에 DRQ(Disengage Requests)를 전송합니다."대기" 통화가 정리되기 전(그리고 대역폭이 확보됨)까지 총 12분이 경과됩니다. 이 통화 타이머는 구성할 수 없습니다.
대체 Cisco 게이트키퍼가 소유한 엔드포인트는 직접 사용되지 않습니다(이 게이트키퍼는 엔드포인트를 실제로 "소유"하지 않기 때문).
고정 엔드포인트(configuration 명령 별칭 고정 xxxxx로 생성됨)는 에이징되지 않습니다.
다음은 TTL이 다양한 방식으로 작동하는 방식을 확인하는 데 사용할 수 있는 show 및 debug 명령 중 일부입니다.
이 두 섹션에서는 Cisco 게이트키퍼가 서로 다른 TTL 값을 사용하여 엔드포인트를 에이징하는 두 가지 사례에 대해 설명합니다.
이 출력은 debug ras 및 debug h225 asn1 명령에서 생성되며 Cisco 게이트키퍼에서 가져옵니다.디버그에서 게이트웨이의 TTL 값은 60초입니다.Cisco Gatekeeper는 기본 또는 구성된 엔드포인트 TTL 값이 무엇인지에 관계없이 RCF(Registration Confirmation) 메시지에서 이를 확인하고 수락합니다.이는 엔드포인트에 TTL 값이 포함되어 있기 때문입니다.
Mar 2 23:52:50.797: RAS INCOMING ENCODE BUFFER::= 0E 400FD206 0008914A 00030000 0100AC10 0D2AE26A 00040067 006B0062 0 02D0032 00B50000 12128F00 02003B01 80211E00 36003100 36004600 32004400 43004300 30003000 30003000 30003000 30003101 00 0180 Mar 2 23:52:50.797: Mar 2 23:52:50.797: RAS INCOMING PDU ::= value RasMessage ::= registrationRequest : { requestSeqNum 4051 protocolIdentifier { 0 0 8 2250 0 3 } discoveryComplete FALSE callSignalAddress { } rasAddress { ipAddress : { ip 'AC100D2A'H port 57962 } } terminalType { mc FALSE undefinedNode FALSE } gatekeeperIdentifier {"gkb-2"} endpointVendor { vendor { t35CountryCode 181 t35Extension 0 manufacturerCode 18 } } timeToLive 60 !--- TTL value. keepAlive TRUE endpointIdentifier {"616F2DCC00000001"} willSupplyUUIEs FALSE maintainConnection TRUE } Mar 2 23:52:50.805: RRQ (seq# 4051) rcvd Mar 2 23:52:50.805: RAS OUTGOING PDU ::= value RasMessage ::= registrationConfirm : { requestSeqNum 4051 protocolIdentifier { 0 0 8 2250 0 3 } callSignalAddress { } gatekeeperIdentifier {"gkb-2"} endpointIdentifier {"616F2DCC00000001"} alternateGatekeeper { { rasAddress ipAddress : { ip 'AC100D29'H port 1719 } gatekeeperIdentifier {"gkb-1"} needToRegister TRUE priority 0 } } timeToLive 60 willRespondToIRR FALSE maintainConnection TRUE } Mar 2 23:52:50.813: RAS OUTGOING ENCODE BUFFER::= 12 400FD206 0008914A 00030008 0067006B 0062002D 00321E00 36003100 3 6004600 32004400 43004300 30003000 30003000 30003000 3000310F 8A140140 AC100D29 06B70800 67006B00 62002D00 31800200 3B 010001 80 Mar 2 23:52:50.813: Mar 2 23:52:50.817: IPSOCK_RAS_sendto: msg length 86 from 172.16.13.16:1719 to 172.16.13.42: 57962 Mar 2 23:52:50.817: RASLib::RASSendRCF: RCF (seq# 4051) sent to 172.16.13.42
이것은 RRQ 메시지에서 TTL 값을 보내지 않은 엔드포인트가 120초 전에 경량 RRRQ를 전송하도록 알림을 받은 또 다른 예이며, 이는 게이트키퍼에 구성된 값입니다.URQ(Unregistration Request) 메시지가 수신되더라도 Cisco 게이트키퍼가 3개의 응답되지 않은 IRQ 메시지가 나타날 때까지 엔드포인트를 삭제하지 않는 방법을 이 출력에 확인할 수 있습니다.IRQ 사이의 시간은 1분에서 5분 사이입니다.
gka-1#show logging Syslog logging: enabled (0 messages dropped, 0 messages rate-limited, 0 flushes, 0 overruns) Console logging: disabled Monitor logging: level debugging, 1076 messages logged Buffer logging: level debugging, 4257 messages logged Logging Exception size (4096 bytes) Trap logging: level informational, 60 message lines logged Log Buffer (9999999 bytes): Mar 14 06:28:31.771: RAS INCOMING ENCODE BUFFER::= 0C 80000006 0008914A 00020001 00AB4555 BF06B801 00AB4555 BF05C502 00014007 006B0065 00740070 00610074 0065006C 60B50053 4C164D69 63726F73 6F6674AE 204E6574 4D656574 696E67AE 0003332E 3000 Mar 14 06:28:31.783: Mar 14 06:28:31.787: RAS INCOMING PDU ::= value RasMessage ::= registrationRequest : { requestSeqNum 1 protocolIdentifier { 0 0 8 2250 0 2 } discoveryComplete FALSE callSignalAddress { ipAddress : { ip 'AB4555BF'H port 1720 } } rasAddress { ipAddress : { ip 'AB4555BF'H port 1477 } } terminalType { terminal { } mc FALSE undefinedNode FALSE } terminalAlias { h323-ID : {"ketpatel"} } endpointVendor { vendor { t35CountryCode 181 t35Extension 0 manufacturerCode 21324 } productId '4D6963726F736F6674AE204E65744D656574696E...'H versionId '332E3000'H } } Mar 14 06:28:31.811: RAS OUTGOING PDU ::= value RasMessage ::= registrationConfirm : { requestSeqNum 1 protocolIdentifier { 0 0 8 2250 0 3 } callSignalAddress { } terminalAlias { h323-ID : {"ketpatel"} } gatekeeperIdentifier {"gka-1"} endpointIdentifier {"81F6A89800000001"} alternateGatekeeper { } timeToLive 120 willRespondToIRR FALSE maintainConnection FALSE } Mar 14 06:28:31.823: RAS OUTGOING ENCODE BUFFER::= 12 C0000006 0008914A 00030001 4007006B 00650074 00700061 00740065 006C0800 67006B00 61002D00 311E0038 00310046 00360041 00380039 00380030 00300030 00300030 00300030 00310F8A 01000200 77010001 00 gka-1#show gatekeeper endpoints GATEKEEPER ENDPOINT REGISTRATION ================================ CallSignalAddr Port RASSignalAddr Port Zone Name Type Flags --------------- ----- --------------- ----- --------- ---- ----- 171.69.85.191 1720 171.69.85.191 1477 gka-1 TERM H323-ID: ketpatel Total number of active registrations = 1 Mar 14 06:28:31.835: Mar 14 06:28:31.835: RAS OUTGOING PDU ::= value RasMessage ::= infoRequest : { requestSeqNum 70 callReferenceValue 0 callIdentifier { guid '00000000000000000000000000000000'H } } Mar 14 06:28:31.839: RAS OUTGOING ENCODE BUFFER::= 56 00004500 000B0011 00000000 00000000 00000000 00000000 00 Mar 14 06:28:31.843: Mar 14 06:28:31.847: RAS INCOMING ENCODE BUFFER::= 58 80004502 03C00038 00310046 00360041 00380039 00380030 00300030 00300030 00300030 003100AB 4555BF05 C50100AB 4555BF06 B8024007 006B0065 00740070 00610074 0065006C 4007006B 00650074 00700061 00740065 006C Mar 14 06:28:31.859: Mar 14 06:28:31.859: RAS INCOMING PDU ::= value RasMessage ::= infoRequestResponse : { requestSeqNum 70 endpointType { terminal { } mc FALSE undefinedNode FALSE } endpointIdentifier {"81F6A89800000001"} rasAddress ipAddress : { ip 'AB4555BF'H port 1477 } callSignalAddress { ipAddress : { ip 'AB4555BF'H port 1720 } } endpointAlias { h323-ID : {"ketpatel"}, h323-ID : {"ketpatel"} } } Mar 14 06:30:42.208: RAS OUTGOING PDU ::= value RasMessage ::= infoRequest : { requestSeqNum 71 callReferenceValue 0 callIdentifier { guid '00000000000000000000000000000000'H } } Mar 14 06:30:42.212: RAS OUTGOING ENCODE BUFFER::= 56 00004600 000B0011 00000000 00000000 00000000 00000000 00 Mar 14 06:30:42.216: Mar 14 06:30:42.216: RAS INCOMING ENCODE BUFFER::= 58 80004602 03C00038 00310046 00360041 00380039 00380030 00300030 00300030 00300030 003100AB 4555BF05 C50100AB 4555BF06 B8024007 006B0065 00740070 00610074 0065006C 4007006B 00650074 00700061 00740065 006C Mar 14 06:30:42.228: Mar 14 06:30:42.232: RAS INCOMING PDU ::= value RasMessage ::= infoRequestResponse : { requestSeqNum 71 endpointType { terminal { } mc FALSE undefinedNode FALSE } endpointIdentifier {"81F6A89800000001"} rasAddress ipAddress : { ip 'AB4555BF'H port 1477 } callSignalAddress { ipAddress : { ip 'AB4555BF'H port 1720 } } endpointAlias { h323-ID : {"ketpatel"}, h323-ID : {"ketpatel"} } } Mar 14 06:32:05.938: RAS INCOMING ENCODE BUFFER::= 19 40000101 00AB4555 BF06B802 4007006B 00650074 00700061 00740065 006C4007 006B0065 00740070 00610074 0065006C 1E003800 31004600 36004100 38003900 38003000 30003000 30003000 30003000 31 Mar 14 06:32:05.950: Mar 14 06:32:05.950: RAS INCOMING PDU ::= value RasMessage ::= unregistrationRequest : { requestSeqNum 2 callSignalAddress { ipAddress : { ip 'AB4555BF'H port 1720 } } endpointAlias { h323-ID : {"ketpatel"}, h323-ID : {"ketpatel"} } endpointIdentifier {"81F6A89800000001"} } Mar 14 06:32:05.962: RAS OUTGOING PDU ::= value RasMessage ::= unregistrationConfirm : { requestSeqNum 2 } Mar 14 06:32:05.962: RAS OUTGOING ENCODE BUFFER::= 1C 0001 Mar 14 06:32:05.966: gka-1#show gatekeeper endpoints GATEKEEPER ENDPOINT REGISTRATION ================================ CallSignalAddr Port RASSignalAddr Port Zone Name Type Flags --------------- ----- --------------- ----- --------- ---- ----- 171.69.85.191 1720 171.69.85.191 1477 gka-1 TERM Total number of active registrations = 1 Mar 14 06:33:42.223: RAS OUTGOING PDU ::= value RasMessage ::= infoRequest : { requestSeqNum 72 callReferenceValue 0 callIdentifier { guid '00000000000000000000000000000000'H } } Mar 14 06:33:42.227: RAS OUTGOING ENCODE BUFFER::= 56 00004700 000B0011 00000000 00000000 00000000 00000000 00 Mar 14 06:33:42.231: Mar 14 06:34:42.234: RAS OUTGOING PDU ::= value RasMessage ::= infoRequest : { requestSeqNum 73 callReferenceValue 0 callIdentifier { guid '00000000000000000000000000000000'H } } Mar 14 06:34:42.238: RAS OUTGOING ENCODE BUFFER::= 56 00004800 000B0011 00000000 00000000 00000000 00000000 00 Mar 14 06:34:42.242: Mar 14 06:35:42.244: RAS OUTGOING PDU ::= value RasMessage ::= infoRequest : { requestSeqNum 74 callReferenceValue 0 callIdentifier { guid '00000000000000000000000000000000'H } } Mar 14 06:35:42.248: RAS OUTGOING ENCODE BUFFER::= 56 00004900 000B0011 00000000 00000000 00000000 00000000 00 Mar 14 06:35:42.252: gka-1# gka-1#show gatekeeper endpoints GATEKEEPER ENDPOINT REGISTRATION ================================ CallSignalAddr Port RASSignalAddr Port Zone Name Type Flags --------------- ----- --------------- ----- --------- ---- ----- Total number of active registrations = 0