SIA(Stuck In Active) 현상

 

경로를 잃은 라우터가 이웃장비에게 Query 보내고 응답을 받기 위해 기다리는 상태를 Active 상태라고 한다.

SIA 현상이란 라우터의 Active 상태가 길어지는 것을 의미한다.

 

 

 

목적지로 가는 경로가 다운된 경우 대체경로를 사용하면 되지만 경우에 따라 대체경로가 없을 수도 있다. 그런경우 이웃장비에게 해당 정보를 물어보기 위해 Query 보내고 Query 다시 라우터의 이웃장비로 전달된다.

보내진 Query 대한 모든 Reply 와야 받은 정보를 수렴하여 Passive 상태로 되돌아 가는데, 하나라도 Reply 덜받게 되면 계속 기다리며 받은 정보를 활용하지 못하고 수렴시간이 늦어지게 된다.

 

Query 날라간 3분안에 Reply 도착해야 되는데 시간안에 응답이 돌아오지 못하면 Neighbor 관계가 끊어진다. 문제가 일어난 곳과 연결이 끊어지는 곳이 일치하지 않기 때문에 트러블슈팅이 어렵다는 단점이 존재한다.

 


 

SIA 현상 대처 방법


 1. Timer 조정 

  : 응답받을 시간을 벌어주는 것뿐이지 궁극적인 해결방식이 아니다. 오히려 이로인해 수렴시간이 느려질 수도 있다.

  1) SIA Timer 조정

: Query 보내진 3 안에 Reply 돌아오지 못하면 Neighbor 끊어지고 다시 Hello 받으면 Neigbor 맺는다.

이러한 작업을 반복하게 되면 EIGRP 네트워크를 불안정하게 만들 있으니 Reply 받아야 하는 Hold time 늘리는 방식이다.

<설정 방법>

R(config)# rouer eigrp 1

R(config-router)# timers active-time <제한시간()-Default 3>

 

2) SIA Query 설정

: IOS version 12.1(5) 부터 SIA-Query SIA-Reply라는 기능을 사용할 있게 되었다.

Query 보내고 Active Timer 50% (기본값으론 130) 경과되면 아직 Reply 받지 못한 이웃장비에게 SIA-Query 보내고 이웃장비는 Ack 응답하여 Reply 받지 못하여도 이웃장비간 연결을 유지할 있도록 한다.

 


 2. Query 확산 네트워크 제한 

  1) 축약 정보로 광고하기

: 축약된 정보로 광고하게되면 이웃장비는 상세네트워크 정보를 받지 못하게 된다. 만일 상세네트워크가 다운이 되어 축약광고를 보냈던 이웃장비에게 Query 보내면 이웃장비는 상세 정보는 받은적이 없기 때문에 즉시 모른다는 응답을 보내어 Query 확산되는 것을 막을 있다.


  2) Stub 라우터로 설정하기

: Stub이란 특정 정보만 광고하겠다고 설정하는 방식으로 대부분 네트워크 끝쪽에 위치한 라우터가 해당된다. Stub으로 설정된 네트워크로는 Query가 날라가지 않는다.


  3) 재분배

: 재분배된 네트워크는 다른 AS이기 때문에 Query 날라가지 않는다.

 

 

'Network > Routing' 카테고리의 다른 글

OSPF Network type  (0) 2014.10.28
OSPF Packet과 LSDB 동기화  (2) 2014.10.28
EIGRP DUAL 알고리즘 및 매트릭  (0) 2014.10.20
FLSM vs. VLSM Routing Protocl  (0) 2014.10.20
Distance Vector의 Split-horizon 문제  (0) 2014.09.10

 

DUAL 알고리즘

1) FD(Feasible Distance) - 출발지 라우터에서 목적지 네트워크까지 계산한 EIGRP 메트릭 값

(최적 경로의 메트릭이다.)

2) AD(Advertised Distance) - 출발지의 Next-hop 라우터에서 목적지 네트워크까지 계산한 EIGRP 메트릭 값

(RD라고도 한다.)

3) Successor - FD값이 가장 낮은 경로상의 next-hop  라우터

4) Feasible Successor - 최적 경로(Successor)가 동작하지 못할때 Query나 계산없이 바로 라우팅 테이블에

 등록되는 경로.

 

 

 

EIGRP Metric 계산

메트릭으로 사용되는 5가지의 매개변수를 K상수라고 부른다.

Bandwidth(대역폭), Delay(지연), Reliability(신뢰성), load(부하), MTU 및 hop count를 기준으로 경로를 결정한다. 중에서 기본적으로 사용하는 값은 Bandwidth Delay이다.

 

  • Bandwidth (K1)

목적지까지 가는 경로의 모든 인터페이스의 대역폭 중에 가장 낮은 대역폭으로 10^7 나눈값을 사용한다.

  • loading (K2)

인터페이스의 부하를 나타낸다.

  • Delay (K3)

목적지까지 가는 경로중에 있는 모든 Delay값을 더한 10으로 나누어 사용한다.

  • Reliability (K4)

인터페이스의 에러 발생율을 뜻한다.

  • MTU (K5)

모든 인터페이스의 MTU 중에 가장 작은 값을 사용한다.

 

메트릭 계산 공식

기본적인 K상수 => K1=1 , K2=0 , K3=1 , K4=0 , K5=0

1) K5=0 경우

[K1*BW + K2*BW/(256-load) + K3*Delay] * 256

=> (BW + DLY) * 256

BW = 10^7 ÷ 가장 작은 대역폭 * 265, 소수점 이하는 버림

DLY = (모든 delay값의 ) ÷ 10

2) K5=1 경우

[K1*BW + K2*BW/(256-load) + K3*Delay] * 256 * K5/(Reliability+K4)

 

복합 메트릭 계산시 reliability(신뢰성), load(부하)까지 계산하면 일시적으로는 부하가 적게 걸리고 에러 발생률이 낮은 경로로 라우팅되는 장점이 있지만 수시로 라우팅 경로가 변경되어 네트워크가 불안해지고 잦은 라우팅 계산으로 CPU사용이 많아진다. 또, 라우팅 정보 전송으로 인해 링크 점유율이 증가 되는 등의 부정적인 영향 때문에 기본적으로 계산시 K2, K4, K5 상수의

값을 0으로 설정해서 load와 reliability를 제외한다.

 

EIGRP의 hello packet에는 패킷을 전송하는 해당 라우터들의 K 상수값들이 표시되며 이 값이 다르면 네이버를 맺지 않는다.

 

 

 

EIGRP Summarization

EIGRP 에서 제공하는 축약 방식은 자동축약과 수동축약 가지이다.

자동 축약은 Distance Vector 속성으로 인하여 서브넷 마스크를 전달하지 않아 Major Network 축약되는 것을 말한다.

no auto-summary 라는 명령어로 자동 축약 기능을 중지 시킬 있다.

수동 축약은 원하는 크기만큼으로만 Net-ID 계산하여 축약시키는 방식이며, 축약된 네트워크를 전송하려는 자신의 인터페이스에 들어가서 설정한다.

R1(config)# interface serial 0/0                                  

R1(config-if)# ip summary-address eigrp <AS번호> <축약한 네트워크 주소> <서브넷마스크>

 

축약된 네트워크는 축약 설정을 라우터에서만 AD값이 5 된다. 메트릭은 상세 네트워크 메트릭 가장 낮은 것이 되며 모든 상세 네트워크가 다운되어야 축약 네트워크의 광고가 중지된다.

 

EIGRP 축약된 정보로 인해 Loop 발생될 것을 방지하기 위해 라우팅 테이블에 축약 정보를 "Null 0"라는 게이트웨이로 지정해서 올린다. 전달받은 패킷의 목적지 주소가 상세 경로에 없을 경우 null 0라는 쓰레기 통으로 폐기하여 looping을 방지한다.

 

 

 

EIGRP 부하분산

부하분산경로란 목적지에 대한 최적경로로 하나 이상을 사용하여 트래픽을 분산시킬 있는 것을 말한다.

AD값과 Metric 같은 경로를 Cost equal path라고 하며, 라우터는 이런 경우 부하분산(Load Balancing)한다.

EIGRP 최대 16개까지 부하분산경로를 지원하며 기본적으로 4개로 설정되어 있다.

 

부하분산 경로 개수 설정하기 (엔트리 조정)

Router(config)# router eigrp 1

Router(config-router)# maximum-paths 10

 

 

EIGRP 메트릭이 달라도 부하분산이 가능하도록 조정할 있는데 이를 Unequal cost Load Balancing이라 한다. 부하분산 방식은 반드시 Feasible Successor 있어야 사용할 있다.

Successor 사용되고 있는 경로의 FD값에 variance 라는 값을 곱하고 Feasible Successor FD값이 앞에서 계산한 값보다 낮으면 부하분산경로로 사용할 있게 된다.

 

Unequal cost Load Balancing

Router(config)# router eigrp 1

Router(config-router)# variance 2

 

 

'Network > Routing' 카테고리의 다른 글

OSPF Packet과 LSDB 동기화  (2) 2014.10.28
EIGRP SIA 현상의 원인과 해결  (0) 2014.10.22
FLSM vs. VLSM Routing Protocl  (0) 2014.10.20
Distance Vector의 Split-horizon 문제  (0) 2014.09.10
[Config] EIGRP 라우팅 설정  (0) 2014.08.22

 

FLSM Routing Protocol   

 

FLSM Routing Protocol 이란 같은 주 네트워크(Major network)가 같은 크기로 나뉘어진 경우에만 라우팅 업데이트를 해주는 방식의 프로토콜을 말하며 RIPv1이 여기에 속한다.

RIPv1은 Classful 방식으로 Subnet-mask를 보내지 않기 때문에 아예 Class로 구분된 주소이거나 같은 크기로 나누어져 있어서 상대 라우터가 정확하게 저장할 수 있는 주소만 주고 받는다. 

 

      

 

 

FLSM Routing Protocol인 RIPv1 네트워크 광고를 아래와 같은 프로세스를 거친다.

 

1. 광고하려는 네트워크 정보와 광고를 내보내려는 인터페이스 Major Network 같은지 비교한다.

광고하려는 Network : 10.11.11.0/24 , 10.12.0.0/16

내보내려는 Interface : 10.1.1.0/24

모두 10.0.0.0/8 라는 Major 네트워크 정보로 같다

 

2. Network Address Major Network 같은 경우 Subnet-mask 같은지 비교한다.

10.1.1.0    /24

10.11.11.0 /24

10.12.0.0  /16

10.1.1.0/24 10.11.11.0/24 서로 Subnet 정보가 같지만 10.12.0.0/16 혼자 16bit 다르게 설정되어 있다

Subnet 정보가 같으면 해당 네트워크 정보를 광고하고, 그렇지 않으면 Drop 시켜버린다.

, 10.11.11.0 광고되어지고 10.12.0.0 광고가 되지 않아 R2에서 확인할 없다.

 

** Subnet 다르면 Drop 시켜버리는 이유

: 광고를 전달받은 R2에서는 네트워크 주소가 받은 인터페이스의 네트워크 주소와 같은 네트워크인지 확인한다.

만약 같을 경우에는 Subnet 포함되어 있지 않은 네트워크 정보를 전달받았기 때문에 전달받은 인터페이스에 설정된 Subnet으로 라우팅 테이블에 학습시킨다. 다르다면 보내주지 않았을 것이라고 생각하기 때문이다.

 

3. Network Address Major Network 다른 경우 Major Network 자동축약하여 광고한다.

광고하려는 Network : 172.16.1.0/24

내보내려는 Interface : 10.1.1.0/24

광고하려는 주소의 네트워크로 축약하여 172.16.0.0/16 으로 내보낸다.

172.16.1.0 이라고 내보내면 Subnet 포함하지 않기 때문에 Net-id bit인지 구분할 수가 없다.

그래서 내보낼 주소가 인터페이스와 다른경우 그냥 Major Network 전송하는 것이다.

 

 

 

VLSM Routing Protocol

 

VLSM Routing Protocol이란 같은 주 네트워크(Major network)가 서로 다른 크기의 서브넷으로 나뉘어져 있어도 라우팅이 가능한 프로토콜을 말하며, RIPv1을 제외한 프로토콜들이 여기에 속한다.

 

앞에서 설정한 RIP으로 VLSM Routing Protocol의 동작을 확인해본다.

RIP 설정하면 기본적으로 version 1 설정되며 명령어를 통해 버전을 변경할 있다.

(config)# router rip

(config-router)# version 2

 

설정을 변경한 후 R2의 라우팅 테이블을 확인해보면 앞에서 보이지 않던 다른 하나의 네트워크 주소도 라우팅테이블에 올라오는 것을 확인할 수 있다.

이는 서브넷마스크를 전달해서가 아니라 단순히 VLSM을 지원하는 것이기 때문이다.

 

여러 개의 라우터를 두고 확인해보면 중간에 있는 라우터에 의해 Auto-summary되어 축약되는 경우를 확인할 수 있다.

 

버전을 바꾸어도 여전히 Classful 동작되는 것을 확인할 있는데, VLSM이 지원된다고 해서 Classless로 광고되는 것이 아니고 버전2 또한 Auto-Summary 기능이 기본적으로 동작되고 있기 때문이다.

 

 

상세 서브넷 정보를 전달하고 싶다면 Auto-summary 기능을 제거해주어야 한다.

모든 라우터는 전달해주고자 하는 주소정보를 내보내려는 인터페이스와 비교하여 네트워크로 축약하기 때문에 여러 라우터 장비를 거쳐서 통신을 시키는 경우에는 모든 라우터의 Auto-summary 기능을 비활성화 해야 한다.

 

Auto-summary 기능에 대한 명령어는 다음과 같다.

(config-router)# auto-summary      Auto-summary 활성화

(config-router)# no auto-summary  Auto-summary 비활성화

 

 

 

'Network > Routing' 카테고리의 다른 글

EIGRP SIA 현상의 원인과 해결  (0) 2014.10.22
EIGRP DUAL 알고리즘 및 매트릭  (0) 2014.10.20
Distance Vector의 Split-horizon 문제  (0) 2014.09.10
[Config] EIGRP 라우팅 설정  (0) 2014.08.22
[Config] RIPv2  (0) 2014.08.21

Split-horizon Troubleshooting



 

문제점 발생과 원인 파악

R1의 10.1.1.1 과 R3의 10.3.3.3이 통신이 되지 않는 문제점이 발생한다

각 Routing Table을 확인해본 결과 R1과 R3는 서로의 IP를 알아오지 못했고,

R2는 아래와 같이 주소를 학습하고 있다

R2# show ip route

:

R    10.0.0.0/8 [120/1] via 22.22.12.1, 00:00:18, Serial0/0

                     [120/1] via 22.22.23.3, 00:00:09, Serial0/1

 

RIP 동작시키면 기본적으로 Sending 버전은 1, Receive 버전은 2 동작된다.

R1과 R3가 가지고 있는 네트워크 정보는 서로 다른 서브넷임에도 불구하고 버전 1 설정된대로 주 네트워크로 자동축약되어 전달되기 때문에 R2는 같은 정보가 양쪽에서 들어온 것으로 판단하고 Split-horizon 기능으로 인해 반대쪽 라우터로 광고가 차단된다.

 

 

문제해결 방법 가지

문제를 해결하기 위한 가지의 방법이 있지만, 첫번째에 소개되고 있는 Split-horizon 기능을 비활성화 하는 방법은 필요한 경우가 아니라면 하지 않는 것이 좋다.

 

문제가 발생한 인터페이스에서 Split-horizon 기능을 비활성화 한다.

R2(config)# interface s1/0

R2(config-if)# no ip split-horizon

R2(config)# interface s1/1

R2(config-if)# no ip split-horizon

 

라우터(R1 R3)에서 Auto-summary 기능을 비활성화 하여 서로 다른 주소임을 R2에게 알려준다.

R1(config)# router rip

R1(config-router)# version 2

R1(config-router)# no auto-summary

 

R3(config)# router rip

R3(config-router)# version 2

R3(config-router)# no auto-summary

 

 


'Network > Routing' 카테고리의 다른 글

EIGRP DUAL 알고리즘 및 매트릭  (0) 2014.10.20
FLSM vs. VLSM Routing Protocl  (0) 2014.10.20
[Config] EIGRP 라우팅 설정  (0) 2014.08.22
[Config] RIPv2  (0) 2014.08.21
[Config] RIPv1  (3) 2014.08.21

EIGRP 설정하기

 

1. 라우팅 프로토콜 선택하기

라우팅 프로토콜 설정 모드로 들어가기 위한 명령어는 'router' 이며, 뒤에 AS번호를 덧붙여준다.

AS번호는 실제 동작되는 AS번호가 아니라 Process-ID 사용되는 값이다. Process-ID EIGRP OSPF 같이 하나의 라우터에 여러 라우팅 프로세스를 설정하여 사용하는 경우에 라우팅 프로세스를 구분하기 위해 필요한 값이다. 그런데 EIGRP 설정할 AS번호라고 부르는 이유는 EIGRP 서로 이웃관계를 형성할 확인하는 요소 중에 하나이기 때문에 다르게 쓰지 않도록 하기 위함이다.

 

 Router(config)# router eigrp 100

 Router(config-router)#


 

2. 광고할 네트워크 주소와 활성화할 인터페이스 설정하기

앞서 RIP 설정에서 해봤듯 'network' 명령어를 사용하여 광고할 주소와 인터페이스 설정을 한다.

다른 점은 와일드카드 마스크 옵션적으로 사용하여 상세한 네트워크 범위를 지정해줄 있다는 것이다.  

※ 와일드카드 마스크에 대한 설명 보기 : http://bignet.tistory.com/51

 

 Router(config-router)# network  10.0.0.0

 Router(config-router)# network  20.1.10.0  0.0.0.255


 

3. Auto-summary 비활성화 하기

EIGRP Distance vector 프로토콜로써 자동축약 기능을 사용할 있다. 기능은 기본적으로 활성화 되어 있으며 필요에 따라 아래 명령어를 사용하여 수동으로 비활성화 해준다.

 

 Router(config-router)# no auto-summary


 

 

 

EIGRP 프로토콜 설정 실습

 



 

RIP 설정 명령어 풀이

R1

(config)# router eigrp 100

(config-router)# network 172.16.1.0 0.0.0.255

(config-router)# network 192.168.10.0

 

R2

(config)# router eigrp 100

(config-router)# network 172.16.1.0 0.0.0.255

(config-router)# network 192.168.20.0

 

router eigrp 명령어 뒤에 붙은 숫자 100 임의적으로 입력한 AS번호이다. 숫자는 다른 숫자로 대체해도 상관 없으나, 모든 라우터에 동일한 번호로 설정해주어야 라우팅 업데이트가 가능하다는 것을 염두해두어야 한다.

 

광고하는 주소 중에 172.16.1.0/24 네트워크 주소는 와일드카드 마스크를 사용해주었다. 이렇게 지정해주면 172.16.0.0 네트워크 범위내의 모든 주소가 광고되는 것이 아니라 172.16.1.0 주소에 해당되는 주소들만 광고된다.

 

 



EIGRP 라우팅 프로토콜 정보 확인하기

 

! Routing Table

 

 Router# show ip route

 

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

            : (code 생략)

Gateway of last resort is not set

 

     172.16.0.0/24 is subnetted, 1 subnets

C       172.16.1.0 is directly connected, Serial0/0

C    192.168.10.0/24 is directly connected, FastEthernet0/0

D    192.168.20.0/24 [120/1] via 172.16.1.2, 00:00:08, Serial0/0

 

  

! Protocol Infomation

 

 Router# show ip protocols

 

Routing Protocol is "eigrp  100 " 

  Outgoing update filter list for all interfaces is not set 

  Incoming update filter list for all interfaces is not set 

  Default networks flagged in outgoing updates  

  Default networks accepted from incoming updates 

  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0

EIGRP에서 사용하는 매트릭 5가지 매개변수 사용여부를 곳에서 확인할 있다.

   기본적으로 BW(K1) DLY(K3) 사용되는데, 사용되는 매트릭 부분에 1 표시가 되어있다.

  EIGRP maximum hopcount 100

  EIGRP maximum metric variance 1

Redistributing: eigrp 100

  Automatic network summarization is in effect  

EIGRP 기본적으로 자동축약이 활성화 되어있음을 확인할 있다.

  Automatic address summarization: 

  Maximum path: 4

  Routing for Networks:  

     172.16.1.0/24

     192.168.10.0

와일드카드 마스크를 사용하면 주소 뒤에 prefix-length 표시가 된다.

  Routing Information Sources:  

    Gateway         Distance      Last Update 

  Distance: internal 90 external 170

EIGRP 내부 AD값은 90, 외부 AD값은 170이다.

 

 

'Network > Routing' 카테고리의 다른 글

FLSM vs. VLSM Routing Protocl  (0) 2014.10.20
Distance Vector의 Split-horizon 문제  (0) 2014.09.10
[Config] RIPv2  (0) 2014.08.21
[Config] RIPv1  (3) 2014.08.21
[Config] Dynamic Routing 공통사항  (0) 2014.08.19

RIP version 2 설정하기

 

1. 라우팅 프로토콜 선택하기

라우팅 프로토콜 설정 모드로 들어가기 위한 명령어는 version 1 설정과 동일하다.

 

 Router(config)# router rip

 Router(config-router)#


 

2. RIP version 변경하기

버전을 선택하는 명령어는 'version' 이다. 명령어 뒤에 선택할 있는 숫자는 1~2 이며, 원하는 버전의 숫자를 적어주면 변경된다.

 

 Router(config-router)# version 2


 

3. Auto-summary 비활성화 하기

RIPv2에서는 Classless 동작되며 자동축약 기능을 해제하여 사용할 있다. 기능은 기본적으로 활성화 되어 있으며 버전을 변경한다고 해서 자동으로 해제되는 것은 아니기 때문에 필요에 따라 아래 명령어를 사용하여 수동으로 비활성화 해준다.


 Router(config-router)# no auto-summary

 


 

Debug RIP 버전별로 동작의 차이점 알아보기


1. Version 1으로 동작되고 있을 때의 디버깅

R1# debug ip rip

*Mar  1 00:03:02.207: RIP: sending v1 update to 255.255.255.255 via Serial1/0 (22.22.12.1)

버전1 Broadcast 통신된다.

*Mar  1 00:03:02.207: RIP: build update entries

*Mar  1 00:03:02.207:   network 1.0.0.0 metric 1

*Mar  1 00:03:02.211:   network 10.0.0.0 metric 1

Classful 방식으로 광고되는 주소는 Prefix-length 없이 보내진다.

 


2. Version 2 변경한 후의 디버깅

R1# debug ip rip

*Mar  1 00:04:23.043: RIP: sending v2 update to 224.0.0.9 via Serial1/0 (22.22.12.1)

버전2 Multicast 통신된다.

*Mar  1 00:04:23.043: RIP: build update entries

*Mar  1 00:04:23.043:   1.0.0.0/8 via 0.0.0.0, metric 1, tag 0

*Mar  1 00:04:23.043:   10.0.0.0/8 via 0.0.0.0, metric 1, tag 0

Classless 방식으로 광고되는 주소는 Prefix-length 함께 보내진다.

 

 

 

'Network > Routing' 카테고리의 다른 글

Distance Vector의 Split-horizon 문제  (0) 2014.09.10
[Config] EIGRP 라우팅 설정  (0) 2014.08.22
[Config] RIPv1  (3) 2014.08.21
[Config] Dynamic Routing 공통사항  (0) 2014.08.19
[Config] Static Routing 설정  (0) 2014.08.19

+ Recent posts