네트워킹 3일차 - 네트워크 장비(랜카드, 허브, 스위치, 브리지, 라우터), Looping(루핑)

강준석·2023년 11월 3일
0

네트워킹

목록 보기
3/4

랜카드

랜(LAN)에 접속하기 위한 카드처럼 생긴 것이다
어떤 환경에서 사용하는가에 따라서 이더넷용, 토큰링용, FDDI, ATM용 랜카드 등으로 구분된다.

데스크톱용 랜카드 선택하기

  • 하나 생각해야 할 것이 있다. PC의 버스( Bus, 타는 버스가 아닌 데이터가 날아다니는 길을 말한다)방식이다.
  • PCI, ISA (아이사) 버스 방식을 많이 사용했다.
  • 간혹 서버급 PC에서는 EISA ( 이아이사 ) 방식의 버스도 있다.

허브

허브는 컴퓨터 네크워크에서 데이터 신호를 받아 다른 모든 연결된 장치로 중계하는 네트워크 장치이다. 허브는 네트워크 장치 간에 데이터를 브로드캐스트 방식으로 전달하는 역할을 한다.
허브가 데이터를 수신하면 그 데이터를 연결된 모든 포트로 복제하여 전송하는 방식으로 동작한다.

  1. 물리적 레이어 장비 : 허브는 OSI모델에서 물리적 레이어에서 작동한다. 따라서 데이터 링크 계층에서 이더넷 프레임을 받아 모든 연결 장치로 중계한다

  2. 브로드캐스트 : 허브는 데이터를 받으면 연결된 모든 포트로 데이터를 중계한다. ( 데이터를 보낸 호스트는 제외 ) 이로 인해 네트워크 내의 모든 호스트가 데이터를 수신하게 되며. 랜카드에서 들어온 프레임의 목적지 맥 어드레스를 보고 자기의 것이 아니면 버리게 된다.

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

허브의 종류

  1. 인텔리전트 ( Intelligent ) 허브 :
    말 그대로 지능형 허브
    한 PC가 문제가 되는 데이터를 계속 보낸다 했을 때 자동으로 문제의 PC가 연결된 포트를 찾아내어 네트워크에서 분리키셔 고립시켜 버리는 기능이 있다( Auto Partition )
  2. 더미 허브
  3. 세미인텔리전트 허브 : 혼자 있을 땐 더미허브, 인텔리전트 허브와 연결하면 인텔리전트 허브가 되는 허브를 말한다

스위치

허브의 콜리전 도메인 문제를 해결하기 위해 나온 장치
1,2포트 PC가 데이터를 주고받는 동안 3,4포트 PC도 데이터를 주고받을 수 있게 하는 장비.
'포트별로 콜리전 도메인이 나뉘어 있다' 라고 한다.
1,2번 PC 사이에서 통신이 일어나면 나머지 모든 PC를 기다려야만 하는 허브와 달리 다른 PC들도 동시에 통신이 가능하다는 점이 스위치와 허브의 가장 큰 차이이다.
허브에 비해 데이터 처리 방법이 우수하고, 데이터 전송 에러 등을 복구해 주는 기능이 있다.

브릿지

브리지는 허브보다 한 수 위의 장비이며, 허브는 나누지 못하는 콜리전 도메인을 나누어주는 역할을 한다.
중간에서 브리지 테이블을 보면서 통신이 다리 한쪽에서만 일어나면 데이터가 다리를 못 건너가고, 통신 데이터가 다리를 통과해야만 가능하다면 그때만 다리를 건너게 해준다.
즉, 1,2와 3,4번의 PC사이에 다리 ( 브릿지 )를 세위 1,2이 통신하는 과정에도 3,4번이 통신이 가능하며, 1,3이 통신하고자 하면 그때만 다리( 브릿지 )를 열어준다.

브릿지 / 스위치의 기능

  1. Learning. 배운다
  2. Flooding. 모르면 들어온 포트를 제외한 모든 포트로 뿌린다.
  3. Forwarding. 해당 포트로 건네준다.
  4. Filterling. 다른 포트로 못 건너가게 막는다.
  5. Aging. 나이를 먹는다.

1. Learning. 배운다

  • 브릿지나 스위치는 자신의 포트에 연결된 1번 PC가 통신을 위해 프레임을 내보내면 1번 PC의 맥 어드레스를 자신의 맥 어드레스 테이블에 저장해 놓는다. 그리고 나중에 어떤 PC가 1번 PC에 통신할 경우 맥 어드레스 테이블을 참고하여 다리를 건너게 할 것인지, 못 건너게 할 것인지를 결정한다.

2. Flooding. 모르면 들어온 포트를 제외한 다른 모든 포트로 뿌린다

  • 그냥 들어온 포트를 제외한 나머지 모든 포트로 뿌리는 것을 의미
  • 들어온 프레임이 찾아가는 주소를 보니 그 주소가 만약 브릿지 맥 어드레스 테이블에 없는 주소하면, 그냥 나머지를 포트에 뿌려준다.
  • Flooding은 브로드캐스트나 멀티캐스트의 경우에도 발생하게 된다.

3. Forwarding. 해당 포트로 건내준다.

  • 브릿지가 목적지의 맥 어드레스를 자신의 브릿지 테이블에 가지고 있고, 이 목적지가 출발자의 맥 어드레스와 다른 세그먼트에 존재하는 경우에 일어난다.
  • 한마디로 목적지가 어디 있는지를 알고 있는데 그 목적지가 다리를 건너가야만 하는 경우에 Forwarding이 발생한다. Forwarding은 Flooding과 다르게 모든 포트로 프레임을 뿌리지않고, 오직 해당 포트로 프레임을 뿌려준다.

4. Filtering. 다른 포트로 못 건너가게 막는다.

  • 브릿지가 목적지의 맥 어드레스를 알고 있고, 출발지와 목적지가 같은 세그먼트에 있는 경우, 브릿지를 건너지 않아도 되기 때문에 브릿지는 다리를 막는 필터링을 실시하게 된다.

  • 브릿지의 필터링 기능 때문에 허브와는 다르게 콜리전 도메인을 나누어 줄 수 있는 것이다.

5. Aging.

  • 브릿지 테이블은 한정되어 있으므로 어느 정도 시간이 지나면 이 정보를 지우게 된다.
  • 디폴트 시간은 5분(300초)이며 맥 어드레스가 브릿지 테이블에 저장되고 나면 그때부터 Aging이 가동되어 300초가 지나도록 더 이상 그 출발지 주소를 가진 프레임이 들어오지 않으면 테이블에서 삭제된다.

6. < 정리 >

  • 브리지에서 프레임의 흐름

Looping

프레임이 네트워크 상에서 무한정으로 뱅뱅 돌기 때문에 이더넷의 특성상 네트워크의 상태가 조용해야만 데이터를 전송할 수 있게때문에 계속 다른 네트워크가 조용해지기를 기다리기만하고, 데이터 전송이 불가능한 상태를 말한다.

  • 브리지나 스위치의 설계에 있어서 가장 주의해야 할 사항이다.
  • 두 호스트 사이에 스위치 또는 브리지 2개를 가정하고 한 호스트에서 다른 호스트로 가는 경로가 두 개 이상 만들수 있다.
  • 이렇게 구성하는 이유는 하나의 경로가 끊기더라도 다른 예비 경로를 사용하기 위함이다

Looping이 발생하는 이유

  1. 호스트 A에서 데이터 패킷을 브로드캐스트하게 된다.
  2. 해당 패킷은 스위치 A에 도착하고 모든 연결된 포트로 패킷을 중계한다. (Flooding)
  3. 상대방 세그먼트로 브로드캐스트 패킷이 중계됨
  4. 스위치 B도 패킷을 수신하고 다시 모든 포트로 패킷을 중계한다.
  5. 이러한 과정이 반복되면서 브로드캐스트 패킷은 무한히 루핑되며 네트워크를 채워넘기게된다.
  • 결과 :
    네트워크 트래픽이 급증하고 네트워크 성능이 저하된다.
    네트워크의 혼돈을 초래하고, 호스트 간 통신을 방해하며 데이터 패킷의 무한한 전송을 초래한다.

  • 해결 :
    1. 네트워크를 구성하며 모든 목적지의 경로를 하나만 있도록 만들어준다.

    1. 스패닝 트리 알고리즘 ( Spanning Tree Algorithm )사용 - 일부러 연결을 이중으로 해야하는 경우

스패닝 트리 알고리즘 ( STA )

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

  • 하지만 현재 링크가 끊기고 대기하던 링크가 다시 살아서 연결을 해주는 데 걸리는 시간은 약 1분 이상이 소요된다.
  • 따라서 이런 약점을 보완한 시스코의 이더 채널( Ether - Channel )기술은 여러 개의 링크가 마치 하나의 링크처럼 인식되는 기술이 있다
  • 그 외 복구 시간을 약 2~3초로 줄인 업링크 패스트( Uplink Fast )라는 기술이 있다.

라우터

  • 라우터는 스위치에 비해 가격↑, 속도↓, 구성의 편리함↓ 이다.
  • 그럼 왜 싸고 빠르고 편리한 스위치만으로 네트워크를 구성하지않고 라우터를 사용할까?

스위치만으로 네트워크를 구성하면 안되는 이유

  1. 브로드캐스트 이슈:
    우리가 사용하는 인터넷을 하나의 브로드캐스트 영역(도메인)이라고 생각한다면
    저 멀리 미국에 있는 PC가 켜졌다 꺼져도 우리나라에 있는 PC까지 전달이 된다.
    또한 통신을 할때 상대편의 맥 주소를 찾기 위한 ARP( Address Resolution Protocol )를 사용하는, 이게 바로 브로드캐스트이다.
    만약 이런 상황이 벌어진다면 제대로 PC를 사용하는 것 조차 불가능하다 ( 브로드캐스트는 CPU에 영향을 주기때문)

    만약 스위치로만 네트워크를 구성하게 된다면
    콜리전 도메인의 영역은 커지지않지만 브로드캐스트 도메인의 영역이 커진다.
    따라서 한번의 호스트A의 브로드캐스트가 모든 호스트에게 영향을 주게 되어 PC의 성능이 저하된다.

    라우터를 이용하여 브로드캐스트 도메인을 나누어 트래픽을 관리한다.

  1. 보안, 필터링
    스위치는 보장 못하는 보안 기능, 즉 패킷 필터링 기능을 제공한다.
    따라서 네트워크 주소에 따라 전송을 막았다 풀었다 하는 필터 기능을 제공하여 불필요한 트래픽이 전송되는 것을 막는다.

  2. 로드 분배
    여러개의 경로를 가지고 있기 때문에 데이터가 여러 경로를 타고 날아갈 수 있다.
    따라서 한쪽 경로에 문제가 생기거나 트래픽이 부하되면 균형 있게 분산시킨다.
    ( 스위치도 로드 분배가 가능하지만 매우 제한적 )


허브, 스위치, 라우터 간단 정리

허브 (Hub):

  1. 물리적 레이어에서 작동하는 네트워크 장비로, OSI 모델에서 물리적 계층에 속한다.
  2. 데이터를 수신하면 연결된 모든 포트로 데이터를 중계하는 역할을 한다.
  3. 연결된 모든 포트가 하나의 콜리전 도메인을 형성하며, 데이터 충돌이 발생할 수 있습니다.
  4. 단순한 구조로, 데이터를 중계하거나 복제하는 역할만 수행하며, 스위칭 및 라우팅과 같은 고급 기능을 제공하지 않는다.

스위치 (Switch):

  1. 데이터 링크 계층에서 작동하며, OSI 모델의 데이터 링크 계층에 속한다.
  2. 데이터 프레임을 목적지 맥 어드레스를 기반으로 올바른 포트로 전송하는 역할을 합니다.
  3. 각 포트는 독립적인 콜리전 도메인을 형성하므로 충돌이 제한되고 네트워크 성능이 향상된다.
  4. VLAN 설정, 트래픽 관리, 보안 등을 지원한다.

라우터 (Router):

  1. 네트워크 계층에서 작동하며, OSI 모델의 네트워크 계층에 속한다.
  2. 다양한 네트워크 간에 데이터 패킷을 라우팅하고 전달하는 역할을 한다.
  3. IP 주소를 사용하여 목적지를 결정하고 데이터를 경로에 따라 전달합니다.
  4. 보안, 패킷 필터링과 같은 기능을 제공하여 네트워크 보안을 강화하고 다양한 네트워크를 연결한다.
  5. 인터넷과 로컬 네트워크 간에 데이터 패킷을 전송하는 핵심 역할을 한다.
    브로드캐스트 도메인을 나눠 브로드캐스트가 모든 영역에 주는 영향의 문제를 방지한다.

요약하면, 허브는 단순한 데이터 중계 장치이고, 스위치는 데이터 링크 계층에서 작동하여 스마트한 패킷 전송을 지원하며, 라우터는 네트워크 간에 데이터를 라우팅하고 보안 및 다양한 서비스를 제공하는 중요한 네트워크 장비입니다.


profile
백엔드개발자를 목표로 공부중

0개의 댓글