일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 경기도 버스
- Winform
- MDB Connect
- JSON
- Json.NET
- DrawEllipse
- C# MDB Handle
- MVC
- 공공 데이터 포털
- c#
- WPF
- delegate
- DrawRectangle
- NUnit
- eventargs
- C# 파일 암/복호화
- Excel Cell Format
- 버스 API
- eventhandler
- TDD
- GDI+
- Cell Border Style
- 경기도 버스정보시스템
- 시
- MDB Select
- C# MDB
- solid
- sqlite3
- 객체지향
- 디자인 패턴
Archives
- Today
- Total
White Whale Studio
Looping & Spanning Tree Algorithm 본문
반응형
프로그래밍 쪽에서 말하는 교착상태(DeadLock)과 비슷한 경우이다.
두 호스트(PC) 사이에 스위치 또는 브리지가 2개가 있다고 가정을 해보자.
이러한 경우 하나의 PC에서 브로드 캐스트를 발생시킬 때, 2개의 스위치(브리지) 모두가 브로드캐스트임을 인지하고, 자신의 기능인
Flooding을 수행한다.(앞의 포스팅에서 살펴보았다.)
이러한 경우, 하나의 스위치에서 전달된 브로드캐스트 패킷을 다른 스위치가 받게되면, 그 받은 패킷을 또 전달하고 또 받은 패킷을 또 전달하는 방식으로 반복이 되다보면 뺑뺑돌게 되는 루핑이 발생하게 된다.
루핑이 진행되는 동안에는 CSMA/CD의 특성상 진입이 불가능하게 되기 때문에 네트워크를 사용할 수 없게 된다.
위와 같은 루핑을 막아주는 알고리즘이 바로 스패닝 트리 알고리즘이다.
Spanning Tree Algorithm
알고리즘이라고 해서 뭔가 어려울 것 같지만, 언뜻 들어보면 그리 어렵지 않다.
앞의 쉬어가는 페이지에서 살펴본 폴트 톨러런트와 관련이 있다고 보면 된다.
앞의 루핑이 발생하는 상황을 그대로 가져와 보자.
스위치 사이에 2개의 링크가 존재하게 되면 브로드캐스트 발생시 루핑이 발생하게 되서 네트워크를 사용할 수 없게 된다.
이러한 경우에 스패닝 트리 알고리즘은 다음과 같은 기능을 수행한다.
1. 링크가 2개 이상 검색될 경우 하나의 링크를 막아버린다. 즉, 막힌 링크 1개, 사용가능한 링크 1개가 존재한다.
2. 사용가능했던 링크가 이상으로 인해 사용할 수 없게 되면, 해당 링크를 버리고, 막아두었던 링크를 열어 사용한다.
요즘의 스위치는 대게 스패닝 트리 알고리즘을 가지고 있다고 한다.(사봤어야 알지..-ㅅ-)
그러나 살펴는 봐야겠지..
참고로, 스패닝 트리 알고리즘을 통해 링크가 교체될 때 약 1분정도의 지연시간이 발생한다고 한다.
그러나 최신 기술을 통해 요즘 장치들은 여러개의 링크를 마치 하나의 링크처럼 인식되게 해서 지연시간을 없애는 방법을 사용해서 편리함을 더 추구하고 있다.
세부적인 내용은 후의 포스팅에서 계속한다.
두 호스트(PC) 사이에 스위치 또는 브리지가 2개가 있다고 가정을 해보자.
이러한 경우 하나의 PC에서 브로드 캐스트를 발생시킬 때, 2개의 스위치(브리지) 모두가 브로드캐스트임을 인지하고, 자신의 기능인
Flooding을 수행한다.(앞의 포스팅에서 살펴보았다.)
이러한 경우, 하나의 스위치에서 전달된 브로드캐스트 패킷을 다른 스위치가 받게되면, 그 받은 패킷을 또 전달하고 또 받은 패킷을 또 전달하는 방식으로 반복이 되다보면 뺑뺑돌게 되는 루핑이 발생하게 된다.
루핑이 진행되는 동안에는 CSMA/CD의 특성상 진입이 불가능하게 되기 때문에 네트워크를 사용할 수 없게 된다.
위와 같은 루핑을 막아주는 알고리즘이 바로 스패닝 트리 알고리즘이다.
Spanning Tree Algorithm
알고리즘이라고 해서 뭔가 어려울 것 같지만, 언뜻 들어보면 그리 어렵지 않다.
앞의 쉬어가는 페이지에서 살펴본 폴트 톨러런트와 관련이 있다고 보면 된다.
앞의 루핑이 발생하는 상황을 그대로 가져와 보자.
스위치 사이에 2개의 링크가 존재하게 되면 브로드캐스트 발생시 루핑이 발생하게 되서 네트워크를 사용할 수 없게 된다.
이러한 경우에 스패닝 트리 알고리즘은 다음과 같은 기능을 수행한다.
1. 링크가 2개 이상 검색될 경우 하나의 링크를 막아버린다. 즉, 막힌 링크 1개, 사용가능한 링크 1개가 존재한다.
2. 사용가능했던 링크가 이상으로 인해 사용할 수 없게 되면, 해당 링크를 버리고, 막아두었던 링크를 열어 사용한다.
요즘의 스위치는 대게 스패닝 트리 알고리즘을 가지고 있다고 한다.(사봤어야 알지..-ㅅ-)
그러나 살펴는 봐야겠지..
참고로, 스패닝 트리 알고리즘을 통해 링크가 교체될 때 약 1분정도의 지연시간이 발생한다고 한다.
그러나 최신 기술을 통해 요즘 장치들은 여러개의 링크를 마치 하나의 링크처럼 인식되게 해서 지연시간을 없애는 방법을 사용해서 편리함을 더 추구하고 있다.
세부적인 내용은 후의 포스팅에서 계속한다.
반응형
'IT Engineering > Network' 카테고리의 다른 글
GateWay (0) | 2012.01.05 |
---|---|
IP Story.. (1) | 2012.01.04 |
Function of Bridge & Switch (0) | 2012.01.02 |
HUB, SWITCH & Bridge (0) | 2012.01.02 |
HUB (0) | 2011.12.30 |
Comments