본문 바로가기

IT Tech/Network

[네트워크] IS-IS 정리 노트 #7 - TLV

반응형





TLV란 Type(or Code), Length, Value의 첫 약자를 조합해 만든 용어.
IS-IS가 원래부터 지원하는 TLV(ISO 10589)와 확장된 TLV (RFC 1195)의 Type Number는 서로 다르다.









1. IIH TLV

Type 1 - Area Address TLV
라우터가 속해 있는 Area의 정보가 들어 있다.
상대편 라우터와 같은 Area에 있다면 Default로 Level 1과 Level 2 Adjacency를 맺지만, 다른 Area에 속해 있다면 Level 2 Adjacency 관계만 맺는다.

Type 5 - IS Neighbors TLV (★★★)
상대편 라우터로부터 오는 IIH의 IS Neighbors TLV속에 자신의 System ID를 발견하게 되면 자신이 보낸 IIH가 정확하게 수신된 것으로 판단하고 Adjacency를 맺는다.

참고로 Point-to-Point 구간의 IIH에는 이러한 TLV가 없어 한쪽만 Adjacency를 맺는 불완전한 연결이 될 수 있는데, 이를 극복하기 위해 'Type 240 - Neighbor System ID'라는 Field를 새롭게 추가했다.

Type 8 - Padding
10초(Default) 주기로 IIH를 보낼 때마다 MTU 크기만큼 Padding을 하는 것은 네트워크 자원을 불필요하게 사용하기 때문에 효율적이지 못하다.
이를 위해서 'no hello padding'이라는 명령을 지원한다.

Type 10 - Authentication Type
IS-IS가 PDU를 교환할 때 사용하는 인증과 관련된 TLV이다. ISO 10589와 RFC 1195에는 Clear-Text 인증에 대해서만 명시하고 있다. -> 보안에 취약함.

현재는 HMAC-MD5 암호화 방식까지 지원하는 듯...
http://www.cisco.com/en/US/docs/ios/12_2t/12_2t13/feature/guide/ftismd5.html




2. LSP TLV

LSP의 TLV 안에는 실제 라우팅 정보(IP Address, Metric...)들이 들어 있다.
Type 1, Type 129, Type 10, Type 128 등,,,대부분의 TLV는 Level 1/2 공통적으로 사용된다.
Type 3 - ES Neighbor TLV는 ES-IS의 흔적으로 Level 1에서만 사용된다.

Type 2 - IS Neighbors TLV
IIH에 사용되는 Type 6과 이름이 같지만, 이 TLV는 Adjacency를 맺은 라우터가 누구인지를 나타내기 위해 LSP에 추가되는 정보이며, SPF에 계산에 사용되는 Metric이 포함되어 있다.


Type 3 - ES Ngighbors TLV (Point-to-Point Only Level 1)
ES-IS는 원래 CLNP 프로토콜을 사용하는 환경에서 인접한 시스템을 찾기 위한 방법으로 사용되었지만, IP Network의 라우팅 프로토콜로서 IS-IS가 사용된 이후에도 ES-IS는 IS-IS의 백그라운드 프로세서로 사용됨. 특히 Point-to-Point 구간에서 Adjacency를 맺으려는 라우터 사이에는 아직도 ES-IS프로토콜의 ISH를 교환한다.


Type 5 - Prefix Neighbors (Only Level 2)
ISO의 CLNS 환경에서 도달 가능한 Node들의 NSAP Address 정보를 담고 있다. Level2에서만 사용되고, Area간에 정보를 교환할 수 있다.


Type 128 - IP Internal Reachability Information TLV (★★★★★)
자신이 속해 있는 Network의 IP Address에 대한 정보 즉, IP Address(4B), Subnet Mask(4B), Metric(4B)이 포함되어 있다.

IS-IS가 IP Network에서 라우팅 프로토콜로 사용될 수 있게 된 것이 바로 이 TLV 때문이다.
ISO 10589에 정의되어 있지 않았으나 RFC 1195에서 IP Network를 위해 확장된 TLV이다.


Type 130 - IP External Reachability Information TLV
IS-IS가 아닌 다른 라우팅 프로토콜로 알게 된 정보가 재분배된 것으로 Metric값을 'Internal(0)' 혹은 'External(128)'중 하나로 설정할 수 있다.

[참고 1]
'Internal'로 설정한 정보는 Metric 0을 설정해서 재분배된 정보라 할지라도 내부의 정보와 경로선택에서 우선순위를 따진다.
'External'로 설정하는 것은 Metric 값이 128 [참고 2] 로 크게 설정되므로 경로선정에서 Metric 값이 낮은 내부 정보에 밀리게 된다.

[참고 2]
TLV에서 Metric은 4Byte를 할당되지만, 이중 실제로 사용되는 필트는 첫 1B 뿐이다.
그 바이트 중 첫 번째 비트는 0 으로 Reserved 되었으며 7번째 비트는 재분배된 정보인지 아닌지를 나태낸다. 결국 나머지 6비트를 이용해서 최대 63까지 할당 가능하다.
하지만, Cisco는 Reserved 비트를 사용하지 않으며 재분배 플래그 비트를 8번째에 표시하고 7비트를 사용해서 최대 128까지 사용하고 있다.



Type 129 - Protocol Supported TLV
이 필드틑 Ethernet Frame의 Ethertype Field나 IP Packet의 Protocol Field처럼 해당 정보가 어떤 프로토콜에 해당되는지 알려준다.

저장되는 값은 NLPID(Network Layer Protocol Identifier) 값으로
NLPID 0xCC : IPv4
NLPID 0x8E : IPv6
NLPID 0x81 : CLNP
등이 올 수 있다.


Type 132 - IP Interface Address TLV
라우터에 설정된 IP Address가 들어 있다. Loopback Address...









3. SNP TLV

라우터가 LSP를 보내기 위해서는 Adjacency를 맺어야하며 이를 위해 필요한 TLV가 담긴 IIH를 서로 교환한다. Adjacency를 맺은 라우터는 이제 각자 갖고 있는 LSDB를 교환하게 되는데 이 때 SNP를 이용해서 원하는 정보(LSDB의 요약본)만을 효율적으로 주고 받을 수 있다.


Type 9 - LSP Entries
CSNP의 Header를 보면 첫 번째 LSP ID와 마지막 LSP를 가리키는 ID가 있다. PSNP는 LSP를 요청하거나 수신한 LSP에 대한 Ack기능을 수행하기 때문에 Start/End Field가 없다.

LSP Entry 의 정보는 다음과 같다.
Remaining Lifetime (2 bytes)
LSP Header에 있는 것과 동일하면 LSP가 삭제되지 않고 남아 있을 수 있는 시간.

LSP ID (8 bytes)
LSP를 구별하는 데 사용

LSP Sequence Number ( 4 bytes)
LSP가 생성될 때마다 1 부터 순차적으로 증가.

LSP Checksum (2 bytes)
LSP 데이타 무결성을 체크



Type 10 - Authentication Information TLV
IIH, LSP에서 사용되는 TLV와 동일






TLV codes used with IS-IS


- Type 3, 5는 IP Network에서 사용되지 않는다.
- Type 4는 파티션을 복구할때 사용하지만, Cisco는 지원하지 않는다.
- Type 133번 타입은 RFC에서 권고하고 있지만, IOS를 포함한 대부분의 라우터에서 Type 10을 사용한다.



Extending TLVs for IS-IS





[관련글]
  1. [네트워크] IS-IS 정리 노트 #1 - History 및 특징 2011/04/10
  2. [네트워크] IS-IS 정리 노트 #2 - NSAP 2011/04/10
  3. [네트워크] IS-IS 정리 노트 #3 - Common Packet Format 2011/04/11
  4. [네트워크] IS-IS 정리 노트 #4 - IIH Packet Format 2011/04/11
  5. [네트워크] IS-IS 정리 노트 #5 - LSP Packet Format 2011/04/11
  6. [네트워크] IS-IS 정리 노트 #6 - SNP Packet Format 2011/04/11
  7. [네트워크] IS-IS 정리 노트 #7 - TLV 2011/04/11
  8. [네트워크] IS-IS 정리 노트 #8 - Metric 2011/04/11










반응형