삽질의 현장/- 네트워크

[Surro] :: 네트워킹 basic (2)

shovelman 2014. 1. 3. 23:13

Part 3.

 

NIC(Network Interface Card)
- 랜카드. 유저의 데이터를 케이블에 실어서 허브나 스위치, 라우터 등으로 전달해주고 자신에게 온 데이터를 CPU에게 전달해주는 역할을 한다.

 

허브(HUB)
- 같은 허브에 연결된 PC끼리는 서로 통신이 가능하다.
- 멀티포트 : 포트가 많이 붙어있다.
- 리피터 : 들어온 데이터를 그대로 재전송한다는 의미, 중간에서 들어온 데이터를 다른 쪽으로 전달해 주는 역할을 함.
- 즉, 한 포트로 들어온 데이터를 나머지 모든 포트로 뿌려준다.
- 허브의 종류
     > 인텔리전트(Intelligent) 허브
     : 지능형 허브.NMS(네트워크 관리시스템)상에서 모든 데이터를 분석, 제어 가능.
     : 허브에 속한 PC의 문제로 인한 피해가 있을 때 문제의 PC를 찾아 자동으로 Isolation(현 네트워크에서 분리시켜 고립)시킨다.
          >> 나머지 PC는 영향이 없다.
          >> 분리된 포트는 허브에서 램프로 표시되어 어떤 PC인지 알 수 있음 (Auto Partition)
     > 더미(Dummy) 허브
- 허브의 한계 : 아무리 빠른 속도를 내는 허브를 써도 한 순간에는 한 PC만이 데이터를 보낼 수 있다.
- 허브에 붙어있는 모든 것들은 같은 콜리전 도메인 안에 있다. > 콜리전 도메인이 커지는 상황을 조심해야 한다. > 몰리전에 의해 영향 받는 PC가 많아져 통신 속도 감소 우려.
     > 해결방안 : 브리지(Bridge), 스위치(Switch)

 

스위치(Switch)
- 스위치의 원조격은 브리지.
-포트별로 콜리전 도메인을 나누어 줌. (동시 통신 가능)
- 허브에 비해서 데이터를 처리하는 방법이 우수함.
- 데이터의 전송 에러 등을 복구해 주는 기능 있음.

 

브리지(Bridge)
- 네트워크 규모가 커지고 통신량이 증가할 때 콜리전 도메인을 나누어 주기 위해 사용.

 > 중간에 서서 브리지 테이블을 보면서 통신이 다리 한쪽에서만 일어나면 다리를 못 건너가게 한다.
 > 통신이 다리를 통과해야 가능하면 다리를 건너게 해준다.


브리지/ 스위치 기능
-Learning (배운다)
     > 자신의 포트에 연결된 'A'라는 PC가 통신을 위해서 프레임을 내보내면 그때 이 PC의 맥 어드레스를 읽어서 자신의 맥 어드레스 테이블(브리지 테이블)에 저장한다.
     > 나중에 어떤 PC가 'A'에게 통신할 경우에는 자신의 브리지 테이블을 참고해서 다리를 건너게 할지 못 건너게 할지 결정한다.
 -Flooding (모르면 들어온 포트를 제외한 다른 모든 포트로 뿌린다)
     > 주소가 다리를 건너야할지 안 건너도될지 알지 못할 경우 나머지를 포트로 뿌린다.

- Forwarding (해당 포트로 건네준다)
     > 목적지가 어디 있는지 알고 있는데 그 목적지가 다리를 건너가야하는 경우에 Forwarding가 발생한다.

- Filtering (다른 포트로는 못 건너가게 막는다)
     > 브리지 테이블에 목적지 맥 어드레스가 들어있고, 출발지와 목적지가 같은 세그먼트 상에 있는 경우 발생.
          >> Filtering 기능 때문에 허브와는 다르게 콜리전 도메인을 나누어 줄 수 있는 것.

- Aging (나이를 먹는다)
     > 브리지 테이블은 어느 정도 시간이 지나고 나면 더 이상 프레임이 들어오지 않는 맥 어드레스를 브리지 테이블에서 지우게 된다. 
          >> 새로운 맥 어드레스를 기억해야 하기 때문에. (디폴트 5분, 조정 가능)

 

브리지/ 스위치 차이점
- 스위치의 처리방식 : 하드웨어, 브리지의 처리방식 : 소프트웨어. 스위치가 처리방식이 훨씬 빠르다.
     > 브리지의 경우 프레임의 처리 방식이 소프트웨어적 프로그램에 의해서 처리됨.
     > 스위치의 경우 처리 절차를 미리 칩에 구워서 하드웨어 방식으로 만드는 ASIC(에이직)방식이기 때문에 프레임 처리속도가 브지지에 비해 빠르다.

- 브리지: 포트들이 같은 속도를 지원, 스위치 : 서로 다른 속도를 연결해줄 수 있는 기능을 제공.
- 스위치는 브리지에 비해 제공하는 포트 수가 훨씬 많다.
- 스위치 : cut-through, store-and-forward 방식을 사용 / 브리지 : store-and-forward 방법 사용
      >store-and-forward 
     : 일단 들어오는 프레임을 전부 받아들인 다음 처리를 시작하는 방식.
     : 프레임을 모두 받아들이고나서 검사시작. > 에러 발생시 이 프레임을 버리고 재 전송을 요구하기 때문에 에러 능력이 뛰어나다.
     : 회선 상에 에러가 자주 발생하거나 또는 출발지와 목적지의 전송 매체가 다른 경우에는 자주 사용되는 방식.
     >cut-through 
     : 스위치가 들어오는 프레임의 목적지 주소만을 본 다음 바로 전송 처리를 시작하는 방식.
     : 앞에 바로 들어오는 목적지 주소만을 본 다음 바로 목적지로 전송하기 때문에 처음 48bit만을 보게된다.
     : 처리가 빠르지만 에러를 찾아내기가 어려워 에러 복구 능력에는 약점이 있다.

     >Fragment-Free
     : store-and-forward + cut-through의 장점만을 결합한 방식.
     : 전체 프레임이 다 들어올 때까지 기다릴 필요가 없다는 측면에서는 컷스루 방식을 닮았지만
     : 컷스루처럼 처음 48bit만을 보는 것이 아니라 처음 512bit를 보게 된다. 
     : 에러 감지 능력이 컷스루에 비해서 우수하다.

 

Looping
- 브리지나 스위치에 목적지까지의 경로가 두 개 이상 존재하면 반드시 루핑이 발생.
     > 이를 막는 것

>> 스패닝 트리 알고리즘.

 

스패닝 트리 알고리즘 (Spanning Tree Algorithm)
- 자동으로 루핑이 발생할 수 있는 상황을 미리 막아주는 역할을 한다.
     > 스위치 간의 두 개의 링크 중 하나를 끊어 놓는 것.
          >> 실제 링크는 두 개지만 데이터는 한쪽으로만 다니게 하는 것.
- 즉, 스위치나 브리지에서 발생할 수 있는 루핑을 미리 막기 위해 두 개 이상의 경로가 발생하면 하나를 제외하고 나머지 경로들을 자동으로 막아두었다가 기존 경로에 문제가 생기면 막아놓은 경로를 풀어서 데이터를 전송하는 알고리즘.

 

라우터(Router)
- 브로드 캐스트 영역(도메인)을 나눠주기 위해서는 꼭 필요하다.
- 로드 분배 : 여러 개의 경로를 가지고 있기 때문에 데이터가 여러 경로를 타고 날아 갈수 있다.
     > 한쪽 경로에 문제가 생겨도 바로 다른 경로를 타고 날아갈 수 있다.
-QoS(Quality of Service) 기 프로토콜이나 데이터의 크기, 중요도 등 여러 상황에 따라 트래픽의 전송 순서를 조정해준다.

 

 

 

참고 : 후니의 쉽게쓴 시스코 네트워킹