Is-Is의 초기 디자인 때는 하나의 area로 만듦
- 현재는 여러 개의 area로 구분이 됨.
OSI 7 layer
- NSAP : 다양한 주소체계를 수용하기 위한 주소
- NETs 명령어를 통해 주소를 구성을 함
- .(dot)이 어떤 역할/구분을 하는가... 아래 모두 같은 area임(여러 개로 표현)
system-id 충돌나지 않도록 하기 위해서, ipv4의 loopback을 이용해서 system-id를 만든다면 충돌나지 않음
- 한 회사 내에서 같은 loopback을 사용하지는 않을 것이기 때문에
- 최소 단위로 만들기 위해서 area를 00으로 표기해서 area를 없앨 수 있음.
- 최대 20byte까지 만들 수 잇음
- 여러가지 format으로 만들 수 있으며 정해져 있지 않음.
level 1기능만 지원하는 장비인데 인터페이스에 level 2를 사용할 수 있나요? 넹(나중에 알려드림!)
IS : itermidiate system
Ievel 1 : 하나의 area내에 토폴로지를 그려서 best path를 찾는 것
level 2 : backbone 역할을 함. area 간에 서로 level 2 연결이 끊어지면 각각의 area가 완전히 다르게 각각 동작함.
level 1, 2는 각각 데이터 베이스를 가지고 있음.
- level 2는 level 1 정보도 가지고 있음. ==> DB 사이즈가 커지기는 함. 근데 리소스가 많아지지는 않음.
- level 1.2 장비에서 level 2 문제가 발생했을 때 level 2에 대해서만 토폴로지를 그리거나, level 1에서 문제가 발생했을 때 level 1에 대해서만 토폴로지를 그리기 때문에, 그렇게 큰 리소스가 필요하지 않음.
routing을 돌릴 때
level 1 : 자신의 area 내에서 라우팅 동작
- 다른 area 네트웤을 알지 못한다면 가장 가까운 level 1,2장비를 찾아감.
- level 2만 동작하고 있는 장비는 level 1입장에서는 알지 못하는 (존재하는지조차 모르는)장비임. 그래서 level 1,2장비를 찾아감.
level 2 : A네트웤을 누가 가지고 있지? --> area 3번이 가지고 있네 --> 그럼 area 3까지 가는데 가장 가까운 거리는 어디야? 로 찾아가게됨. 하나의 Area를 전부다 라우터인 것 처럼 생각해서 패킷을 포워딩을 함.
- area와 area 사이에 어떻게 연결이 되어있는지만 알고 있음.
level 1, 2 각각 LSDB sync를 시켜야 함.
ISIS의 특징 : CLNP 프로토콜이 동작하기 때문에 IP를 가지고 있지 않아도 됨(아래 사진 참고) - overhead가 적다.
- 멀리 떨어지지 않은 곳(내부 네트웤)에서만 통신을 한다면, 사실은 ip header도 필요 없음.
- Is-Is : 다이렉트로 붙어 있는 애와 통신하는 것이기 때문에 l3 header가 필요하지 않음.
<hello packet 종류>
- ESH : end system이 던지는 것
- ISH : 라우터가 end system으로 던지는 것
- IIH : 라우터와 라우터 간에 던지는 것 ==> 현재는 이것만 살아있음.
<IIH 헬로패킷 종류>
l1 hello , l2 hello, point to point
<LSP>
- PSNP : 재가 부족한 부분에 대해 요청하는 것, 어떤 부분을 받았는 지 ack 하는 것
- CSNP : 전체 데이터베이스의 요약 정보가 들어있음. 처음 네이버 맺을 때, DIS가 같은 망에 있는 장비들이 모두 같은 정보를 가지고 있는지 확인할 때
* is-is : version은 항상 1임. 아직 새로운 버전이 안나옴
하나의 프로세스 내에서 area를 여러 개 만들 수 있음.
<TLV>
- max length : 257byte
- 실제 데이터 길이는 256byte
- 내가 알지 못하는 버전이 들어왔다면, ignore + forwarding
- sub tlv : 특정 기능(mpls te, segment routing)을 수행하기 위해서 추가적인 정보를 담는 것 ==> 이건 only ignore
<DIS>
- broadcast망으로 되어있을 때, DIS를 뽑는다.
<P2P>
- 시간에 대한 부분을 조절할 수 있음. hold time, 도 조절 가능
- bidirectional adjacency 를 3 way hanshake를 함.
- 원래는 2 way였음. 옛날에는 p2p를 연결을 하려면 serial이거나 전화선이기 때문에...
- 광 케이블로 만들면서, 단방향 통신이 발생함.
- 그래서 상대방도 나를 네이버로 맺었는지 확인해야 함
<lan>
- DIS가 기본적으로 3.3초 정도마다 CSNP 정보를 주기적으로 전달을 함.
- DIS로 뽑인 애는 자주 hello packet을 던짐
<LSP>
- level 1, 2 각각 따로 가지고 있음.
- link state packets
- 현재 LSP가 어떤 상태인지 나타내는 bit가 있음
- sequenct number : 0000~ffff..까지 쭉 올라감
- 이걸 넘어서면 그냥 이상한 네이버라고 판단하고 네이버를 끊어버림.
<Partitaion repair>
- 어느 벤더도 사용하지 않음
- level 1이 브로큰 됐을 때, level 2를 통해 Repair할것이냐는 비트
<Overload Bit>
- 내가 업데이트를 계속 받다보니 cpu 등이 임계값을 넘겨버린다면, 토폴로지 등을 그리는데 어려움이 생기기 때문에 overload bit 를 세팅해서 전달을 함. 그래서 다른 애들이 해당 장비가 SPF 계산을 못하거나, 특정 네트워크를 업데이트 못하고 있다는 것을 인지 함.
- 그래서 토폴로지를 그리거나 네트워크 라우팅을 전달할 때, 빼고 전달을 함. 없는 장비처럼 취급
- 살아있는데도 불구하고, 죽은 것처럼 동작이 됨.
- pseudo node도 될수 없음.
<Attachment Bit>
- Level 1장비가 가장 가까운 Level 1/2장비를 찾아감
- 이 때, 사용하는 bit
- 다른 Area와 연결되어있는 Level 1/2 장비는 자신의 LSP에 Attach bit를 1로 세팅해서 전달을 함
- 그래서 Level 1이 이 정보를 받고, 여러 곳에서 받는다면 가장 가까운 Level 1/2장비를 찾아서 디폴트 g/w로 세팅을 함.
Metric
NX-OS를 제외하고 default 10으로 해둠(cisco)
metric 값을 확장이 필요한 것 같아서 wide metric을 만듦
- segment, TE 용으로 이용하게 됨(RFC 5305)
그래서 한 장비는 narow metric을 사용하고 다른 장비는 wide metric을 사용한다면?
- 이런 것을 조율을 해야 토폴로지를 그릴 수 있음
-
network type
1. DIS를 웬만하면 뽑지 않음(point to point 라면...)
광고를 하는 과정 중 상태(Adjacency States)
- Down : 헬로패킷을 전달받지 못함
- Initializing : 네이버한테 IIH를 받았을 때, 네이버 리스트에 내가 없을 때,
- Up: 네이버한테 IIH를 받았을 때, 네이버 리스트에 내가 있을 때
point to point Adjacency States
- 네이버 리스트가 필요가 없음. two-way이기 때문에
- 만약 단방향 링크라면, 한쪽은 헬로 패킷을 전달하고 받았다면 한 쪽은 up이고 반대편은 헬로패킷을 던졌는데 전달이 되지 못했기 때문에 down 상태임.
- 그래서 RFC 5303에서 three-way handshake를 하게 됨.
- 다만 네이버 리스트는 필요 없음
- 인터페이스 마다 circuit id(인터페이스 Id)를 설정해서 던짐. 나랑 어떤 인터페이스가 연결되어있는지 토폴로지를 그릴 수 있음.
point to point Adjacency States - Three way handshakes
- Adjacency Three way State
- Extended Local Circuit ID
- Neighbot System ID
- Neighbor Extended Local Circuit ID
- 위 정보로 네이버를 맺었는지 안맺었는지 체크를 하게 됨
DIS
- MAC 큰거, DLCI 큰서, VPI/VCI 큰거 이것까지 똑같으면 system id로
- backup 이 없음
- 각각의 라우터들이 누구랑 연결되어있는지 전달하는 애이기 때문에, backup은 필요 없음
- 빨리 대신할 장비가 필요하기 때문에 헬로 패킷을 빠르게 전달시키기는 함
Adjacency Requirements(네이버를 맺기 위한 조건)
- network 타입이 같아야 함
- Max-area 수가 같아야 함
- IS-type이 같아야 함. - Level 1끼리 Level 2끼리
- area id가 같아야 함
- ipv4 subnet : 체크 안한다고 세팅할 수 있음(CLNP에서는 필요없기 때문에 세팅할 수 있음)
- MTU
- Authentication
- System ID