루핑 해결 방법 - luping haegyeol bangbeob

왜 Network Looping이 일어나는것인가!?

공부(네트워크)/네트워크(Theory) 2016. 1. 27. 11:48

ㅇ 루프 (Loop)

     - 하나의 노드에서 시작해서 다시 그 노드로 끝나는 순환되는 경로

        . 시작과 끝 점이 만나는 형상

           .. 이 때 각 노드는 한번 이상 거쳐서는 안됨 


ㅇ 루핑 (Looping)

     - 끊임없이 순환되는 현상







1. 스위칭 루프(Switching Loop)


루핑 해결 방법 - luping haegyeol bangbeob


Broadcast 패킷이라는것을 안 스위치가 자신의 Table에 없거나, 

멀티캐스트 주소이거나 브로드캐스트 주소인 경우에는 들어온 포트를 제외한 모든 port에 Flooding!

이것을 반복하여 뱅뱅돌게되면 Looping이 생겨 Network가 마비된다.



스위칭 루프의 영향


ㅇ 브로드캐스트 폭풍(Broadcast Storm) 발생

     - ARP 등 브로드캐스트성 프레임이 루프를 타고 연이어 돌게됨


ㅇ 중복 수신(Multiple Frame Copies)

     - 시계 방향과 그 반대 방향으로 도는 프레임 모두 중복되어 수신


ㅇ MAC 주소 테이블의 불안정 초래

     - 프레임이 계속 돌기 때문에 확정적인 MAC 주소 테이블을 정할 수 없음



Looping 방지법


1. 목적지의 경로 설정

2. Looping을 막아주는 알고리즘 설정(STP)

루핑 해결 방법 - luping haegyeol bangbeob

<STP>








2. 라우팅 루프(Routing Loop)



루핑 해결 방법 - luping haegyeol bangbeob


  ㅇ 2 이상의 라우터들이 동일 목적지 네트워크 경로에 대해 부정확한 라우팅 정보를 가질때 발생

     - 패킷이 목적지를 찾지 못하고 끊임없이 순환(Looping)하는 현상


  ㅇ 이 현상은 각 라우터의 Convergence time의 차이로 인해 발생



라우팅 루핑의 방지 기술들


   ㅇ 최대 홉 수의 제한

      - Metric이 최대의 값을 가지고 있다는 Infinity 선언 


   ㅇ Triggered Update

      - 업데이트 주기 이전에라도 나쁜 소식은 즉시 전파

         . 전체 라우팅 정보를 주기적으로 전달하지 않고, 

         . 변화된 네트워크 만 라우팅 업데이트


   ㅇ Holddown Timer

      - 나쁜 경로에 대해 일정 시간 동안 동일한 경로에 대해 새 소식이 전해지더라도 일정기간 동안 이를 무시


   ㅇ Split Horizon

      - 어떤 링크에서 받은 업데이트 정보에서 배운 네트워크에 대해서는 그 링크쪽으로 라우팅 정보를 다시 전파하지 않음


   ㅇ Poison/Poison Reverse 

      - 네트워크 다운시 이를 Infinity 선언하면서 상호교신

공유하기

게시글 관리

구독하기Go CardS!

저작자표시 비영리 변경금지

  • 카카오스토리
  • 트위터
  • 페이스북

'공부(네트워크) > 네트워크(Theory)' 카테고리의 다른 글

pap, chap  (0)2016.01.27PPP(Point-to-Point)  (0)2016.01.27WAN(Wide Area Network)의 3가지 방식  (0)2016.01.27IPv6 주소 표기  (0)2016.01.06IPv4 와 IPv6 비교  (0)2016.01.06

TAG

Looping, network, 네트워크, 라우팅루프, 루핑, 스위칭루프

관련글 관련글 더보기

  • pap, chap
  • PPP(Point-to-Point)
  • WAN(Wide Area Network)의 3가지 방식
  • IPv6 주소 표기

댓글 0

댓글 접기 댓글 펼치기

이전 댓글 더보기

비밀글

등록

이번 글에서는 루핑과 스패닝 트리 알고리즘에 대해 다루겠습니다. 결론부터 말하면, 루핑을 해결하기 위해 스패닝 트리 알고리즘이 도입되었습니다. 둘을 알고 가기 전에 우선 간단히 네트워크 용어 두개를 알아보고 가겠습니다.

 

∙ 폴트 톨러런트 (Fault tolerant)

폴트 톨러런트란 네트워크 상에 어떤 문제가 발생할 때를 대비하여 미리 장애 대비를 해놓는 것을 의미합니다.

예를 들어 피시방의 모든 컴퓨터가 하나의 라우터와 연결되어 있는데, 이 라우터가 고장나게 되면 모든 컴퓨터가 인터넷에 접속할 수 없게 됩니다. 따라서 라우터를 미리 두 대로 네트워크를 구성한 후 한 대가 죽었을 때 자동으로 다른 라우터가 기존의 라우터 역할을 수행하는 것입니다. 이렇듯 폴트 톨러런트란 대부분 이중 구조를 의미하고 전체 네트워크가 하나의 지점의 장애로 영향을 받는것을 방지하기 위한 대책입니다.

 

∙ 로드 밸런싱 (Load balancing)

길을 분산시키는 작업입니다. 인터넷 회선 하나보다 인터넷 회선 두 개를 사용해 데이터들이 두 라인 중 하나를 선택해서 이용하게끔 하는 방법입니다. 그러다가 회선 하나가 끊어지면 다른 회선으로 이전할 수 있게 되는데, 이럴 경우 로드 밸런싱과 폴트 톨러런트를 겸하게 됩니다,

 

 

루핑 (Looping)

루핑은 같은 네트워크 안에서 하나의 호스트가 다른 호스트 까지 이동하는 데 있어 경로가 두 가지 이상 있다면 발생하는 현상입니다.

이때 이 현상의 근본 원인은 브리지/스위치에 목적지까지의 경로가 두 개 이상 존재하면 반드시 루핑이 발생하기 때문입니다.

(이더넷의 기본 성격이 붙어있는 모든 장치들에게 프레임을 전달하는 것이고, 브리지/스위치는 필터링과 플로딩의 기능이 있기 때문이죠)

두 호스트 사이에 브리지/스위치가 두 개 이상 생기게 되면 브리지/스위치는 두 호스트간의 통신에 있어 목적지 까지의 경로가 두 개 이상 존재하게 되는 것이죠 ( 같은 네트워크 상이므로 두 브리지/스위치도 서로 연결되어 있기 때문입니다. ) 보통 이런 경우는 로드 밸런싱 처럼 두 개의 경로를 이용하다가 하나의 경로가 끊어져도 다른 경로로 통신이 가능하게(또한 이는 폴트 톨러런트) 하기 위한 과정인데, 아무런 대안이 없는 상황이라면 무조건 루핑이라는 것이 발생하게 됩니다.

좀 더 들어가자면 이 루핑은 스위치/브리지가 두가지 경로 이상으로 연결되어 있으면 발생한다고 보시면 됩니다. (건너 건너 연결되어 있는 방식 포함입니다.) -> 이더넷의 쉐어드 방식 때문

 

스패닝 트리 알고리즘 (Spanning Tree Algorithm)

그럼 이 폴트 톨러런트와 로드 밸런싱을 가능케 할 수 있는 그 루핑의 대안이 바로 스패닝 트리 알고리즘 입니다. 스패닝 트리 알고리즘은 자동으로 루핑을 검색해서 루핑이 발생할 수 있는 상황을 미리 막아주는 역할을 합니다. 그 뜻이 과연 무슨뜻일까요? 바로 경로가 여러개라면 하나로 줄이는 것이겠죠? 맞습니다. 스패닝 트리 알고리즘은 스위치/브리지에서 발생할 수 있는 루핑을 미리 막기 위해 두 개 이상의 경로가 발생하면 하나를 제외하고 나머지 경로를 자동으로 막아두었다가 만약 기존 경로에 문제가 생기면 막아놓은 경로를 풀어서 데이터를 전송하는 알고리즘입니다.

 

이 때, 한 개의 링크가 끊어져서 다른 링크가 다시 살아나서 연결을 해주는데 걸리는 시간은 약 1분 이상입니다. 그러므로 사용자들이 1분 이상을 네트워크가 끊어진 상태로 기다려야만 하는 문제가 생깁니다. 이 점을 보완하기 위해 만들어진 기술이 있는데 바로 업링크 패스트(Uplink Fast) 라는 기술입니다, 이는 링크의 복구 시간이 1분 이상 걸리는 것을 2~3초 안에 가능하도록 만든 기술입니다.

또한 시스코의 이더 채널(Ether-Channel) 기술은 여러 개의 링크가 마치 하나의 링크처럼 인식되게 하여 스패닝 트리의 시간적 단점을 보완합니다. 요즘의 스위치들은 이런 기능들을 가지고 스패닝 트리 알고리즘의 약점들을 보완하고 있습니다.

 

출처 - '후니의 쉽게 쓴 네트워킹'

 

 

 

+ Fault Tolerant의 개념

 

Fault Tolerant 목적 하에 라우터를 두 대 네트워크에 구성해놨을 때,

1. 처음부터 두 대 모두 작동하는가.

2. 아니면 한 대만 작동되다가, 그게 고장나면 다른게 작동하는가.

-> 다들 전자로 알고 있는데, 알아보니 후자인듯.

 

참고

techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/performance-management/3-5/administrating/fault-tolerance.html

 

www.researchgate.net/figure/Mutually-backup-between-Fault-Tolerance-TCP-running-on-Active-Node-and-Standby-Node_fig4_4042587