IS-IS(Intermediate System-to-Intermediate System Protocol)
. 안정된 프로토콜로, ISP에서 사용이 많이 된다.
. US정부에서 처음 만든뒤, OSI 7 에 match 시켜 변형 시켰다.->OSPF,IP지원
. IS-IS에서 OSPF로 상업 목적으로 사용 되었다.
OSPF가 불안정한 이유는 IS-IS 개발 도중 변형 되어 불안정한 link state protocol 이다.
. Connectionless Network Service (CLNS) 지원 , LSDB를 이용한다.
connection oriented vs connectionless
->connection oriented 상대와 연결이 되어 있는 뒤 보내며,connectionless는 연결 무시하고 보낸다.
TCP ,UDP차이와 동일함
|
. clns address 이용한다. -> mac 라우팅 진행
. Link-State protocol . vlsm 지원
. Uses its own PDUs to transport IP routing information;
updates not sent in IP packets
Requires CLNS addresses, even if only routing for IP->CLNS addresses를 통해서 pdu 전달
. hello packet 를 이용한 adjancenies 유지
. level 1 : local 에서 system id 를 보고 topology를 그려 가장 loswet cost path 를 그린다.
. level 2 : different area -> area 와 area 간 lowest -cost path 를 그린다.
. Level 1-2 routers: ospf abr과 유사.levle 1과 2를 연결 해준다. 연결되어 있는 구간은 level 2로 동작 한다.
(abr과 다르게 중간에 있지 않고, 한쪽에 속해서 연결 된다.)
. 백본 area가 필요로 하지 않는다.-> ospf 디자인 이슈 해결
. metric 기본 10으로 설정되어 계산된다.
. 처음은 6bit에서 10bit만 되었지만 24bit 에서 32bit까지 사용 하기 위해서 metric-style wide설정을 통해서
metric bit를 올려서 높은 metric 을 설정 할 수 있다.
EI-IS(End System-to-Intermediate System)
. 상위레벨로 헬로를 전송할 때 사용 ESH 라고 한다.
. 하위레벨로 헬로를 전송할 때 사용 보내는 것을 ISH 라고 한다.
. is-is 라우터에서 is-is 라우터 간 보내는 hello packet 을 IIH 하고 한다.
IS-IS level 별 동작
. host 와 is-is 간 통신을 level 0으로 동작
. is-is 와 is-is 간 같은 area 로 통신을 level 1으로 동작
. is-is 와 is-is 간 다른 area 로 통신을 level 2으로 동작
. 서로 다른 도메인 간 level 3으로 동작(cisco 미 지원)
Similarities Between IS-IS and OSPF
– Link-state representation, aging timers, and LSDB synchronization
– SPF algorithms
– Update, decision, and flooding processes
– VLSM support
- They both converge quickly after changes.
ospf |
is-is |
|
LSDB update |
30분 |
10초 |
LSDB aging time |
1시간 |
20분 |
. OSPF 는 backbone area 가 있어야 통신이 되지만 IS-IS 는 bakcbone area 가 필요 없으므로
확장성에 유연하게 대처 가능 해서 ISP에서 많이 사용 된다.
|
Advantages of Integrated IS-IS
. OSPF는 종류별 LSA를 통해서 광고 되지만 IS-IS 는 CLNP와 IP를 이용한 레벨별 LSP를 통해 광고가 이루어 진다.
. TLV(type length value) design이 가능 하다. -> 추가적인 해더 삽입 변형이 가능 하기 때문에 IPv6 가 가능 하다.
*ospf는 tlv 가 안되고 고정 되어 있는 해더로 ipv6 미지원
NSAP Addresses
IS-IS 는 라우터 자체에 clnp address 를 nsap 형식에 따라 설정
보통 10byte 로 구성 되어 있다.
afi : 1byte로 해더의 폼을 선언 (49: 사설 47: 북반구 )
high order DSP : 1byte로 area 아이디를 구분 한다.
*variable -length area address 는 cisco 는 3byte 이지만 벤더 마다 차이가 있다.
system id: cisco 는 6byte로 지정 되어 있으며, 전체 네트워크에서 유일해야 한다.
-> 유일하게 하기 위해 mac주소 혹은 아이피로 mapping 에서 system id 로 갖는다.
selector
- nsel : 1byte 로 서비스 구분자
ex )NET: 49.0001.1922.2300.1001.00
AREA ID : 49.0001
system id 1922.2300.1001
nsel : 00
|
IS-IS Routing Levels
Level 1 (like OSPF internal nonbackbone routers)
. area 내부에서 라우팅 정보 처리
. If not equal, pass to nearest Level 1-2 router.
-> 같은 area 가 아니면 가장 가까운 level 1-2 로 포워딩 해서 외부로 보낸다.
. If equal, use Level 1 database to route by system ID.
-> 같은 area 면 system id 를 보고 포워딩 한다.
Level 1-2 (like OSPF ABR)
. area와 area 간의 라우팅 정보(level2) , level 1의 라우팅 정보 모두 처리 한다.
. 많은 라우팅 정보를 처리 하기 때문데 장비에 부하가 많이 생긴다.
. stub area처럼 level 1에 대한 정보를 0.0.0.0 으로 default route 정보를 준다.
. If not equal, use Level 2 database to route by area address.
-> 같지 않으면 level 2 db를 알 고 있기 때문에 사용 해서 해당 area add로 보낸다.
. If equal, use Level 1 database to route by system ID.
-> 같으면 시스템 id를 보고 포워딩 한다.
Level 2 (like OSPF backbone routers)
. backbone 의 역할을 겸하고 있다
. area와 area 간 노드의 라우팅 정보를 처리 한다.
. area address 는 area간에 사용 되며 system id 는 고려 되지 않는다.
. system id 는 area 안에서 사용 되며 area address 는 고려 되지 않는다.
Route Leaking
. 아래 그림 처럼 Y에서 X로 가는 경로가 X에서 Y로 가는 경우 처럼 경로가 틀려 질 수 있다=>비대칭 경로
-> Y에서는 area가 틀리기 때문에 가장 가까운 level1-2 로 보내기 때문에 경로가 다르다.
-> 그렇기 때문에 장애 포인트를 해결 하기 힘든 경우가 있어 경로를 맞춰주는 것 이 좋다.
-> 이러한 topology 에서는 Route Leaking을 사용 한다.
Route Leaking를 사용 할 경우 아래 Y의 L1에서 인접한 L1-2 의 정보를 수신하여 best path 를 찾아 줄 수 있다.
. IOS Sofware Release 12.0 부터 사용 가능 하다.
. tlv fiiled 에 up/down bit를 setting 하여 재분배 하거나재분배 하지 않은 정보를 구분 할 수 있다.
OSI PDUs
. ospf 는 l3다음에 해더가 왔지만 isis 는 l3전에 나온다.-> ospf는 l3 까지 확인 하지만 l3까지 안가기 때문에 좀더 빠르다.
. Network PDU = datagram, packet
. Data-link PDU = frame
IS-IS PDUs
. l3가기전에 오기때문에 frame 에 encapsulation 된다.
. is-is pdu 패킷 종류
- hello (esh,ish,iih) -> neigbor 를 발견하기 위해서, 살아있음을 서로 확인 하기 위해서 주기적으로 발생
- lsp : lsu 와 같은 역할 -> 라우팅 정보를 실어 나르는 pdu
- csnp : dbd 와 같은 역할-> 각 라우터가 가지고 있는 lsp 들의 목록을 담고 있는 pdu
-> 목록에는 구체적인 라우팅 정보는 들어 있지 않고 lsp를 식별 할 수 있는 정보만 들어 있다.
- psnp : lsr 와 lsack 같은 역할 -> csnp 와 동일하게 lsp의 요약된 정보만 담고 있으며 다른 라우터에게 lsp를 요청 할 때 ,
원하는 lsp의 목록만 담아 보내기 위해 사용됨, lsp 의 ack용도로도 사용됨
. lsp 는 sequenced 를 이용 해서 동기화를 진행한다.
. lsp sequence number 는 1부터 시작하며 1씩 증가 한다.
. lsdb안의 lsp는 는 timer동안 저장 된다. (20분 저장 10초마다 업데이트 )
IS-IS in Broadcast Networks
. NBMA미지원이며 ,Broadcast Point-to-Point타입만 있다.
. ospf dr 같은 개념으로 dis 가 존재 한다.
. level 1에대한 dis,level 2에 대한 dis 가 존재 하며, level 1,2 마다 dis 가 틀릴 수 있다.
. 높은 우선순위로 선정 되며, 우선순위가 같은 경우 mac address 로 선정 된다. (기본 우선순위 64, 0~127까지 설정 가능 )
. bdr 이 존재 하지 않으며 dr(dis )만 존재 한다.
Designated Intermediate System (DIS)
Designated Router : 하나의LAN에연결되어있는Router 중, 해당LAN을대표해선정되는하나의Router (선출방식은Priority 및System-ID 값비교)
Pseudo-node
Link-state 정보에LAN을표현하기위해, DIS에의해만들어지는, LAN을나타내는가상의Node.
|
. dis 선출시 psudonode -> logical 연결 구성이 된다.
. 모든 라우터는 dis 선출 시 dis 와 adjacency 관계를 유지 한다.
. 백업 dis 가 없기 때문에 우선순위 조절 시 dis를 재 선점 할 수 있다.
. dis 에서 hello 10초 dead 30초 dis쪽으로 가는 hello 는 3.3 초 dead 10 초
-> dis 가 1개이기 때문에 경쟁을 하기 위해서 dis쪽으로 가는 hello,dead interval 이 더 짧다.
*psudonode : 가상의 노드 생성
. broadcast 에서는 multicast로 lsp를 전송 한다.
(level 1 01-80-c2-00-00-14,level 2 01-80-c2-00-00-15)
. point-to-point 에서는 unicast 로 lsp를 전송 .
. ospf와 다르게 2way 상태가 없다. 모두 adjacencies 관계를 유지 한다.
. Level 1 LSPs are flooded within an area.
. Level 2 LSPs are flooded throughout the Level 2 backbone.
. Each PDU is assigned an LSP fragment number, starting at 0 and incrementing by 1.
LSDB Synchronization
• PSNP is used for the following:
– For acknowledgment of LSPs on point-to-point links
– To request missing pieces of LSDB
• CSNP is used for the following:
– Periodically by DIS on LAN to ensure LSDB accuracy
– On point-to-point link when the link comes up
LSDB Synchronization: LAN
LSDB Synchronization: Point-to-Point
Adjacencies are established based on the area address
announced in the incoming IIHs and the type of the router
Configuring Basic Integrated IS-IS
• When databases are synchronized, Dijkstra’s algorithm (SPF)
is run on the LSDB to calculate the SPF tree.
• The shortest path to the destination is the lowest total sum of
metrics.
• Separate route calculations are made for Level 1 and Level 2
routes in Level 1-2 routers.
• Best paths are placed in the OSI forwarding database (CLNS
routing table).
// area-tag 삽입 생략 가능 하며 추가시 process 를 분산 한다. 단 XR장비는 반드시 넣어야 함
router(config)#router isis [option: area-tag]
// net은 clns 로 대표하는 값을 설정
Router(config-router)# net network-entity-title
// 해당 인터페이스에 설정
Router(config-router)# ip router isis [area-tag]
|
Simple Integrated IS-IS Example
interface FastEthernet0/0
ip address 10.1.1.2 255.255.255.0
ip router isis
!
interface Serial 0/0/1
ip address 10.2.2.2 255.255.255.0
ip router isis
!
<output omitted>
router isis
net 49.0001.0000.0000.0002.00
|
Change IS-IS Router Level
기본 설정시 기본 설정이 level1-2 이기 때문에 미설정시 level 1,2 정보를 모두 처리 한다.
// 기본 설정은 level 1-2 이며 아래와 같이 변경 가능 하다.
Router(config-router)#is-type {level-1 | level-1-2 | level-2-only}
// 인터페이스 별로 노드에 level 변경시 아래와 같이 변경 가능 하다.
Router(config-if)# isis circuit-type {level-1 | level-1-2 | level-2-only}
|
Change IS-IS metric
// 인터페이스 별 라우터 프로세스 별 metric 변경 가능 하며 기본 10에 1부터 63까지 설정 가능 하다.
Router(config-if)# isis metric metric [delay-metric [expense-metric [errormetric]]]
{level-1 | level-2}
// default 설정시 자신이 가진 모든 인터페이스에 대하여 메트릭을 설정 한다.
Router(config-router)#metric default-value {level-1 | level-2}
|
IS-IS IP Summarization
Router(config-router)#summary-address address mask [level-1 | level-2 | level-1-2]
[tag tag-number] [metric metric-value]
ex)
P3R1(config-router)# summary-address 10.3.2.0 255.255.254.0 level-1-2
|
IS-IS 설정 확인
. AD값은 115
. L1정보는 L1 , L2정보는 L2로 표기 됨
*summary시 SU 로 표시
Troubleshooting Commands: CLNS
// 아래 isis 환경을 구성뒤 lab test를 진행 한다.
// 1. metric-style wide 테스트
// R1에서 2,3이 네이버로 level2 node로 구성 되어 있는 것을 확인 한다
R1(config-router)# do show isis nei
System Id Type Interface IP Address State Holdtime Circuit Id
R2 L2 Fa1/1 10.10.12.2 UP 7 R2.03
R3 L2 Fa0/0 10.10.13.3 UP 7 R3.02
// 기본적으로 메트릭은 63까지 설정 가능 하지만 , 대형 망에서는 best path를 설정 하기 위해서
// metric를 높게 설정 하여 세팅 한다.
R1(config-router)#metric ?
<1-63> Default metric
// 아래와 같이 설정을 한다.
R1(config-router)#metric-style wide
// 설정후 네이버는 끊어 지지 않는다.
R1(config-router)# do show isis nei
System Id Type Interface IP Address State Holdtime Circuit Id
R2 L2 Fa1/1 10.10.12.2 UP 8 R2.03
R3 L2 Fa0/0 10.10.13.3 UP 9 R3.02
// 하지만 RIB에서 올라오지 않는다.
R1(config-router)#do show ip route
1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 1.1.1.1/32 is directly connected, Loopback0
i su 1.0.0.0/8 [115/10] via 0.0.0.0, Null0
10.0.0.0/24 is subnetted, 2 subnets
C 10.10.12.0 is directly connected, FastEthernet1/1
C 10.10.13.0 is directly connected, FastEthernet0/0
// 네이버로 연결된 장비에도 동일한 세팅을 진행 해야 정상적으로 RIB에 올라 간다.
R2(config-router)# metric-style wide
R1(config-router)#do show ip route
1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 1.1.1.1/32 is directly connected, Loopback0
i su 1.0.0.0/8 [115/10] via 0.0.0.0, Null0
2.0.0.0/32 is subnetted, 1 subnets
i L2 2.2.2.2 [115/20] via 10.10.12.2, FastEthernet1/1
10.0.0.0/24 is subnetted, 3 subnets
C 10.10.12.0 is directly connected, FastEthernet1/1
C 10.10.13.0 is directly connected, FastEthernet0/0
i L2 10.10.24.0 [115/20] via 10.10.12.2, FastEthernet1/1
// 수정 후 메트릭은 16777214 까지 변경 되는 것을 확인 할 수 있다.
R1(config-router)#metric ?
<1-16777214> Default metric
// 2.IS-IS Route Leaking 테스트 lab
//r3 과 r5 노드는 Level 1로 r5에서는 외부 area경로에 대하여 0.0.0.0 default route 를 통해 나가게 된다.
// 하지만 비대칭 경로가 발생 할 수 있는 경우 특별할 경로에 대하여 route leaking 을 통해서 해결 한다.
// 해당 테스트는 R5에서 2.2.2.2/32 와 4.4.4.4 /32에 대한 경로를 R5에서 보이도록 한다.
// 재분배를 통해 라우팅 정보를 주기 위해 해당 아이피 대역을 acl을 통해서 지정 한다.
R3(config)#access-list 100 permit ip host 2.2.2.2 any
R3(config)#access-list 100 permit ip host 4.4.4.4 any
// isis 프로세스에스 재분배를 통해 level2 에서 level 1으로 재분배를 시키는데, distribute list 100을 이용한
// 2.2.2.2 4.4.4.4 아이피를 재분배 진행 한다.
R3(config)#router isis
R3(config-router)#$ redistribute isis ip level-2 into level-1 distribute-list 100
//설정 전에는 아래와 같이 0.0.0.0 에대한 경로가 i* 로 default 설정 만 되어 있다.
R5#show ip route
3.0.0.0/32 is subnetted, 1 subnets
i L1 3.3.3.3 [115/20] via 10.10.35.3, FastEthernet1/0
5.0.0.0/32 is subnetted, 1 subnets
C 5.5.5.5 is directly connected, Loopback0
10.0.0.0/24 is subnetted, 3 subnets
i L1 10.10.13.0 [115/20] via 10.10.35.3, FastEthernet1/0
i L1 10.10.34.0 [115/20] via 10.10.35.3, FastEthernet1/0
C 10.10.35.0 is directly connected, FastEthernet1/0
i*L1 0.0.0.0/0 [115/10] via 10.10.35.3, FastEthernet1/0
// 설정 후에는 ia 로 4.4.4.4,2,2.2.2 에 대한 경로를 확인 할 수 있다.
R5#show ip route
Gateway of last resort is 10.10.35.3 to network 0.0.0.0
2.0.0.0/32 is subnetted, 1 subnets
i ia 2.2.2.2 [115/40] via 10.10.35.3, FastEthernet1/0
3.0.0.0/32 is subnetted, 1 subnets
i L1 3.3.3.3 [115/20] via 10.10.35.3, FastEthernet1/0
4.0.0.0/32 is subnetted, 1 subnets
i ia 4.4.4.4 [115/30] via 10.10.35.3, FastEthernet1/0
5.0.0.0/32 is subnetted, 1 subnets
C 5.5.5.5 is directly connected, Loopback0
10.0.0.0/24 is subnetted, 3 subnets
i L1 10.10.13.0 [115/20] via 10.10.35.3, FastEthernet1/0
i L1 10.10.34.0 [115/20] via 10.10.35.3, FastEthernet1/0
C 10.10.35.0 is directly connected, FastEthernet1/0
i*L1 0.0.0.0/0 [115/10] via 10.10.35.3, FastEthernet1/0
|
isis multi topology
single topology - ipv4,ipv6 가 하나의 tree로 알고리즘을 구현 한다.
multi topology - ipv4,ipv6 가 따로 tree로 알고리즘을 구현 한다.
* ios 에서는 single topology 가 기본 이며 ,xor에서는 multi topology 가 기본 이다.
->single topology 로 했을 경우 문제정
->중간에 ipv6를 사용 하지 않는 장비 에서는 ipv6로 들어 올 경우 해당 패킷을 drop할 수 있다.
-> multi 로 구성 해야만 drop 을 방지 할 수 있다.
// ipv6 활성화
R5(config)#ipv6 unicast-routing
// 아래와 같이 구성 시 multi-topology 로 구성 가능
R5(config)#router isis
R5(config-router)#address-family ipv6
R5(config-router-af)#multi-topology
|
반응형