본문 바로가기
책/DB

Part 3 4 TCP/IP와의 만남 네트워크 장비들

by 파이어볼러 2015. 3. 7.

PART 03 TCP/IP

 

TCP/IP의 가장 큰 특징인 IP주소가 서로 달라야 한다라는 문제를 해결하고자 DHCP라는 것이 있다 이것은 자동으로 IP 주소를 배정해 준다

 

Dynamic Host Configuration Protocol은 IP주소를 가지고 있다가 클라이언트 PC가 켜지면서 네트워크에 브로드캐스트를 뿌린다 클라이언트 PC의 요청이 들어오면 자신이 관리하는 IP 주소 중 하나를 준다 물론 자동으로

 

이렇게 되면 네트워크 관리자가 IP 주소를 배정해줄 필요도 없고 사용자들도 자신의 IP주소를 몰라도 된다 PC는 DHCP 클라이언트 구성만 가지고 다니다가 이렇게 DHCP 서버가 있는 네트워크에 연결만 하면 자동으로 IP 주소를 부여받게 된다 이런 DHCP 서버 기능은 윈도우NT나 Novell Netware에 기본으로 포함이 되어 있을 뿐만 아니라 요즘은 라우터에서도 이 기능을 제공해 주는 경우가 있다

 






 

 

쓰고 난 IP주소는 회수한다.

 

PART 04 네트워크 장비들

 

 

 Session 2 허브

 

허브는 멀티포트(Multiport) 리피터(Repeater)라고 말할 수 있다 멀티포트는 포트가 많이 붙어 있는 것이고 리피터는 들어온 데이터를 그대로 재전송한다는 의미를 가지고 있으니까 허브란 포트가 여러 개 달린 장비인데 이것은 한 포트로 들어온 데이터를 나머지 모든 포트로 뿌려준다는 것이다

 

네트워크에서 데이터를 전송하는 경우 케이블에 따라서 전송 거리에는 제약이 있다 UPT 케이블의 경우 최대 전송 거리가 100미터이고 이런 경우 중간에서 들어온 데이터를 다른 쪽으로 전달해 주는 역할을 하는 것이 바로 리피터다 중간에 리피터가 한쪽에서 들어온 데이터를 그대로 다른 쪽으로 전달해 주는 것이다 따라서 중간에 리피터를 두고 두 장비는 케이블을 통해서 리피터로 연결하면 둘 간의 통신이 가능해진다 

 

허브는 이더넷 허브인만큼 CSMA/CD의 적용을 받는다 하나의 PC가 허브에 데이터를 보내고 있을 때 또 다른 PC가 뎅터를 보내려고 하면 콜리전이 발생한다 따라서 같은 허브에 연결되어 있는 모든 PC들은 모두 같은 콜리전 도메인상에 있다 라고 말한다 즉 같은 콜리전 도메인에 있다는 의미는 그 허브에 붙어 있는 하나의 PC가 통신을 하게 되면 다른 모든 PC는 통신을 할 수 없게 되고 또 만약 이 허브에 붙어 있는 하나의 PC에서 콜리전이 발생하면 모든 PC가 영향을 받는다는 개념이다 

 

Session 4 허브 두번째

 

허브의 종류는 두가지가 있는데 인텔리전트 허브와 더미 허브이다 굳이 하나 더 나누면 세미인텔리전트 허브도 있다

 

이 두가지를 나누는 가장 중요한 요소로는 NMS(네트워크 관리시스템)를 통해서 관리가 되는가 이다 즉 인텔리전트 허브는 NMS 상에서 모든 데이터를 분석할 수 있을 뿐 아니라 제어도 가능하다 말 그대로 앉아서 멀리 있는 허브의 동작을 감시하고 조정까지도 할 수 있다 물론 대규모 시스템에 적합한것은 분명하다 가격이 비싸기 때문이다

 

이렇게 비싸도 사용하는 이유는 만약 한 PC에 문제가 발생해서 이상한 데이터를 허브로 끊임없이 보내게 된다면 콜리전이 발생하게 되고 다른 PC들의 통신이 불가능해 진다 이 경우 문제의 PC를 찾아서 해결해야 하는데 인텔리전트 허브의 경우 문제의 PC가 연결된 포트를 찾아내서 자동으로 Isolation(고립)시켜 버린다 즉 문제가 되는 포트를 방출시켜 버리는 것이다 따라서 문제의 PC는 통신이 안되지만 나머지 PC들은 정상기동할 수 있는 것이다

 

분리된 포트는 허브에서 램프로 표시되기 때문에 바로 어떤 PC인지 알게 되고 이 기능을 Auto Partition이라 한다 이 기능은 더미 허브에도 있는 경우가 있다.

 

허브중에 Stackable허브라는 것이 있다 이것은 스택이 가능한 허브 즉 쌓을 수 있는 허브를 말한다

 

허브의 상태를 웹 브라우저를 통해서 그대로 확인할 수 있을 뿐 아니라 포트의 상태나 데이터 양의 감시까지도 가능하다 물론 이 경우에는 허브 관리에 필요한 값들을 세팅해주어야 한다 관리용 IP 주소라든지 암호, 관리 옵션등을 넣어주어야 멀리 떨어진 곳에서도 관리가 가능하게 된다 이런 관리 기능을 제공해 주는 허브를 인텔리전트 허브라고 한다

 

### 스택이 가능한 스태커블 장비와 스탠드얼론 장비

 

스위치나 허브와 마찬가지지만 보통 스태커블 형과 단독 형으로 구분한다 둘 다 허브나 스위치를 쌓아 놓을 수 있지만 스태커블 허브가 훨씬 더 서로간의 연결을 효율적으로 설계한것이 특징이다

 

스태커블끼리 연결하면 백플레인(장비 간에 데이터 전송을 위해 연결된 일종의 고속도로)이 훨씬 빨라지고 연결된 장비 중에 하나가 고장이 나도 다른 장비에 영향을 주지 않는 등 많은 장점을 가지게 된다 즉 혼자 있는것 보다 여러 대가 스택으로 연결되면 훨씬 더 좋은 성능을 발휘하도록 하는게 바로 스태커블형의 특징이다 NMS를 이용한 관리시에도 전체 스택장비들을 마치 한 대의 장비처럼(IP 주소 하나로)관리할 수 있다는 커다란 장점이 있다

 

규모의 차이에 따라 둘을 구입하는데 차이점을 두면 될것이다

 

Session 5 허브의 끝과 스위치의 시작

 

아무리 빠른 속도를 내는 허브를 쓴다고 하더라도 결국 콜리전 도메인의 한계 때문에 너무 커지게 되면 콜리전에 의해 영향을 받는 PC들이 많아지고 따라서 통신의 속도가 점점 떨어지게 된다

 

그래서 필요한것이 브리지 또는 스위치다 스위치는 스위칭 허브라고도 한다 스위치는 예를들어 1번과 2번이 주고 받는다면 다른 3번과 4번도 주고 받을 수 있게 해주는 장비로서 이것을 포트별로 콜리전 도메인이 나뉘어져 있다 라고 하는 것이다

 

즉 1 2 번 사이에 통신이 발생하면 다른 PC들은 모두 기다려야 하는게 허브였지만 스위치는 다른 PC들도 통신할 수 있게 해주는 특징이 있다 한번에 한 노드만이 보낼 수 있는 허브에 비해 여러 개의 노드에서 동시 통신이 가능한 스위치는 당연히 가격도 더 비싸다 

 

네트워크가 어떤 성격을 가졌느냐에 따라서 허브냐 스위치냐를 결정하는것이 좋다 가볍게 메일이나 채팅을 하는 정도면 허브도 충분

 

Session 7 브리지 / 스위치 기능

 

- 런닝 : 배운다

- 플루딩 : 모르면 들어온 포트를 제외한 다른 모든 포트에 뿌린다

- 포워딩 : 해당 포트를 건내준다

- 필터링 : 다른 포트로는 못 건너가게 막는다

- 에이징 : 나이를 먹는다

 

Learning : 브리지나 스위치는 자신의 포트에 연결된 A라는 것이 통신을 위해서 프레임을 내보내면 그때 이것의 맥 어드레스를 읽어서 자신의 맥 어드레스 테이블(브리지 테이블이라고 한다)에 저장해 놓는다 그리고 나중에 다른 것이 A에게 통신할 경우에는 자신의 브리지 테이블을 참고해서 다리를 건너게 할 것인지 못 건너게 할 것인지를 결정하는 것이다

 

Flooding : 브리지는 어떤 프레임에 대해서 브리지를 열어줄 것인가 아니면 못 건너가게 막을 것인가를 브리지가 관리하는 브리지 테이블을 통해 결정하는데 들어온 프레임이 찾아가는 주소를 보니 그 주소가 만약 브리지가 가지고 있지 않는 주소라면 이 때 사용되는 것이 플루딩이다 이런 플루딩은 브로드캐스트나 멀티캐스트의 경우에도 발생하게 된다

 

Forwarding : 브리지가 목적지의 멕 어드레스를 자신의 브리지 테이블에 가지고 있고 이 목적지가 출발지의 목적지와 다른 세그먼트에 존재하는 경우 일어난다 한마디로 목적지를 알고 있고 그 목적지가 다리를 건널 경우 포워딩이 발생한다 플루딩과는 달리 해당 포트쪽으로만 프레임을 뿌려준다

 

Filtering : 브리지를 못 넘어가게 막는다는 뜻이다 목적지의 맥 어드레스를 알고 있고 출발지와 목적지가 같은 세그먼트 상에 있는 경우 브리지를 건너지 않아도 되기에 다리를 막는 필터링을 실시한다 브리지의 이러한 필터링 기능 때문에 허브와는 다르게 콜리전 도메인을 나눌 수 있는 것이다

 

Aging : 브리지는 출발지의 맥 어드레스를 외운다음 브리지 테이블에 저장하는데 이 저장기간을 오래 가져갈 수 없기 때문에 디폴트로는 5분 즉 300초 정도 저장을 하게 된다 처음 A라는 멕 어드레스의 정보가 브리지 테이블에 저장되고 5분간 다시 그 프레임이 들어오지 않으면 테이블에서 삭제시키게 된다 만약 5분안에 그 정보가 들어오게 되면 다시 5분간 또 정보가 들어올때까지 정보를 가지고 있다 이것을 리플래시라고 한다 

 

### 브리지와 스위치의 차이점

 

크게는 스위치가 가격이 비싸고 사용되는 빈도도 압도적으로 높다.

 

스위치는 처리 방식이 HW로 이루어지기 때문에 SW적으로 프레임을 처리하는 브리지에 비해서 훨씬 빠르다는 차이점이 있다 스위치의 경우 처리 절차를 미리 칩에 구워서 HW방식으로 만드는 ASIC(에이직)방식이기 때문에 프레임 처리속도가 훨씬 빠르다

 

브리지는 포트들이 같은 속도를 지원하는 반면 스위치는 서로 다른 속도를 연결해 줄 수 있는 기능을 제공한다 예를 들어 스위치는 10메가 포트와 100메가 포트가 한 장비에 같이 있게 되는데 이는 서로 다른 속도를 연결해주는 기능을 하는 것이다 

 

스위치는 브리지에 비해 제공하는 포트 수가 훨씬 많다 즉 브리지는 대부분 2-3개정도인 반면 스위치는 몇십개에서 몇백개에 이른다

 

스위치는 컷쓰루나 스토어앤포워드방식을 사용하는데 브리지는 오직 스토어앤포워드 방식만 사용한다

 

- Store and Forwarding 이 방식은 스위치나 브리지가 일단 들어오는 프레임을 전부 받아들인 다음 처리를 시작하는 방식이다 프레임을 모드 받아들이고나서 이 프레임이 제대로 들어 왔는지 에러는 없는지 또 출발지 주소는 어디인지 목적지 주소는 어디인지를 파악해서 처리를 해주는 방식이다 이때 에러가 발견되면 브리지나 스위치는 이 프레임을 버리고 재전송을 요구하기 때문에 에러 복구 능력이 뛰어나다 따라서 이런 방식은 회산 상에 에러가 자주 발생하거나 또는 출발지와 목적지의 전송 매체가 다른 경우에 자주 사용된다

 

- Cut-Through 이 방식은 스위치가 들어오는 프레임의 목적지 주소를 본 다음 바로 전송 처리를 시작하는 방식이다 프레임이 다 들어오기를 기다리지 않고 앞에 들어오는 목적지 주소만을 본 다음 바로 목적지로 전송하기 때문에 처음 48비트만을 보게 된다 이전 방식에 비해 훨씬 처리를 빨리 한다는 장점이 있지만 에러를 찾아내기가 어렵기 때문에 에러 복구 능력에는 약점을 가지고 있다 그래서 만들어진게 플래그먼트 프리 방식이다

 

- Fragment -Free 전체 프레임이 다 들어올때까지 기다릴 필요가 없다는 측면에서 컷 쓰루와 비슷하지만 처음 512비티를 보게 됨으로써 에러 감지 능력이 컷 쓰루에 비해 우수하다

 

Session 8 Looping은 왜?

 

루핑은 프레임이 네트워크 상에서 무한정으로 뱅뱅 돌기 때문에 이더넷의 특성상 네트워크가 조용해야 데이터를 전송할 수 있는데 다른 녀석들도 전송이 불가능해지는 상태를 말하는데 이는 가장 주의해야 한다

 

 

 

호스트 A가 브로드캐스트 패킷을 보내면 양쪽 스위치에 전달이 된다 그러면 이 두개의 브리지는 패킷을 분석하고 이 패킷이 브로드캐스트 패킷이라는 것을 알면 당연히 플루딩을 하게 된다 브리지는 목적지 주소를 복 그 주소가 자신의 브리지 테이블에 없거나 멀티캐스트 주소이거나 브로드캐스트 주소인경우에는 들어온 포트를 제외한 나머지 모든 포트로 뿌려주는 것이다

 

그럼 상대방쪽 세그먼트로 패킷이 보내진다 즉 양쪽 브리지에서 모드 패킷이 다리를 건너게 되고 그 다음엔 반대쪽으로 건너간 브로드캐스트 피캣은 다시 양쪽 브리지의 아래쪽 포트로 전달되고 이 패킷 역시 브리지 특성에 따라 다시 위로 전달된다 즉 이쪽에서 보낸 패킷이 저쪽으로 갔다 다시 이쪽으로 오게 되는 것이다

 

이런 과정이 반복되면 한 번 발생한 브로드 캐스트 패킷이 양쪽 브리지를 통해 네트워크를 계속 뱅뱅 돌게 되는 루핑이 발생하게 된다 이와 같이 루핑이 발생되면 물론 다른 호스트에서 데이터를 전송할 수 없다 CSMA/CD의 특성이기 때문이다 그래서 네트워크는 무용지물이 되게 된다

 

이것을 해결하고자 만들어진 알고리즘이 Spanning Tree Algorithm이라고 한다

 

### Fault tolerant와 Load balancing에 대하여

 

폴트 톨러런스란 네트워크 상에 어떤 문제가 발생할 때를 대비해서 미리 장애 대비를 해놓는것을 말한다

 

하나의 라우터가 아닌 두 개의 라우터를 구성해서 한대에서 장애가 났을때 다른 한대가 기존의 라우터의 역할을 수행할 수 있게 하는 것 이것이 폴트 톨러런스다 장애 대비책으로 대부분 이중 구조를 의미하고 전체 네트워크가 하나의 지점에서 발생한 장애로 인해 영향을 받는것을 방지하는 것이다

 

로드 밸런싱이란 로드를 분산하는 것으로 예를 들어 인터넷 회선 하나가 아닌 두개를 사용하는 것이다 이렇게 되면 데이터들이 두 라인 중 하나를 선택해서 이용하기 때문에 로드가 분산되는 효과를 얻을 수 있다 즉 속도가 두배가 되는 것이다 그러다가 회산 하나가 끊어지면 다른 회선으로 이전할 수 있는데 이때 로드 밸런싱과 폴트 톨러런스를 겸하게 된다

 

대부분의 로드 밸런싱은 폴트 톨러런스가 겸해지지만 폴트 톨러런스는 로드 밸런싱이 안되는 경우도 있다

 

Section 9 스패닝 트리되지 않는 스위치는 팥 없는 찐빵

 

스패닝 트리 알고리즘이란 스위치나 브리지에서 발생할 수 있는 루핑을 미리 막기 위해 두 개 이상의 경로가 발생하면 하나를 제외하고 나머지 경로들을 자동으로 막아 두었다가 만약 기존 경로에 문제가 생기면 막아놓은 경로를 풀어서 데이터를 전송하는 알고리즘이다

 

Section 10 라우팅이냐 스위칭이냐?

 

- 가격 : 라우터가 스위치보다 비싸다(스펙이 동일했을때)

 

- 속도 : 스위치의 우세 라우터는 내부에서 처리하는 일이 많다

 

- 구성의 편리함 : 스위치가 훨씬 쉽다 스위치의 대부분은 전원만 공급해주면 가능하지만 라우터는 라우팅 프로토콜을 정해야 하고 네트워크도 설정해야 하며 필터링이나 보안같은것도 구성해야 한다

 

그래도 라우터가 필요한 이유는 바로 스위치로는 한계가 있기 때문이다

 

첫번째 이유는 브로드캐스트 때문이다 거대한 네트워크의 세상이 단 하나의 브로드캐스트 영역으로 구성된다면... 즉 통신을 할때 상대편의 맥 주소를 찾기 위해 ARP를 날리는데 이 행위를 60억의 인구가 한번만 한다고 해도 거의 대부분의 사람들은 네트워크 사용이 불가능하다 이 브로드캐스트의 영역을 나누는것은 대단히 중요하고 이 영역을 나누기 위해서는 라우터가 꼭 필요하다 물론 스위치가 그런 기능을 하는 경우도 있다(Layer 3 스위치) 역시 내부를 들여다보면 그건 스위치에 라우터를 붙여놓은것에 불과하다

 

또한 라우터는 스위치가 보장 못하는 보안기능, 즉 패킷 필터링 기능을 제공해서 네트워크 주소에 따라 전송을 막았다 풀었다 하는 필터 기능 사용할 수 있어서 불필요한 트래픽이 전송되는 것을 막는다 

 

그리고 또 라우터는 로드 분배 기능을 제공한다 즉 여러 개의 경로를 가지고 있기 때문에 데이터가 여러 경로를 타고 갈 수 있다 따라서 한 쪽 경로에 문제가 생겨도 다른 경로를 타고 보낼 수 있다 스위치도 로드 분배가 가능하지만 이는 굉장히 제한적이다

 

그외 프로토콜이나 데이터의 크기 중요도 등 여러 상황에 따라 트래픽의 전송 순서를 조정해주는 Quality Of Service QOS기능도 제공

 

 

 

' > DB' 카테고리의 다른 글

Part 6 스위치를 켜라!  (0) 2015.03.07
Part 5 IP 주소로의 여행  (0) 2015.03.07
Part 1 2 네트워크의 세상으로  (0) 2015.03.07
저장장치들  (0) 2015.03.06
주요 포트  (0) 2015.03.05