네트워크 장비

이연중·2021년 11월 4일
0

Network

목록 보기
4/7
post-custom-banner

NIC(Network Interface Card)


보통 랜카드라고 함(LAN에 접속하기 위해 필요한 카드처럼 생긴 것. 카드형으로 되어있기도 하고, 메인보드에 붙어있기도 함)

유저의 데이터를 케이블에 실어 허브나 스위치, 라우터 등에 전달하고, 자신에게 온 데이터를 CPU에 전달


랜가드의 구분

랜카드를 어디에 설치하느냐에 따라 데스크톱용 랜카드와 PCMCIA 방식이라고 하는 노트북용 랜카드로 나뉨

특히, 데스크톱용 랜카드를 선택할때, 추가적으로 고려해야 할 사항이 있는데 , 바로 PC의 버스 방식이다.

PC의 버스 방식(랜카드의 구분)은 크게 PCI(현재 가장 많이 사용하는 방식), ISA(이전에 많이 사용했던 방식), EISA 방식으로 구분된다.

위 3가지 버스 방식 중 자신의 PC가 어떤 방식을 사용하는 PC인지 확인 후 랜카드를 선택해야 한다.

또한, 이더넷 랜카드는 속도에 따라 10메가, 100메가(100Mbps. 데이터 전송 속도: 1초에 100,000,000bit=12,500,000byte=1초에 10MB 정도의 파일 전송. 실제로는 layer 별로 데이터에 header와 같은 overhead가 붙기에 이렇게까지는 속도가 나오지 않음), 10,100메가, 1기가 등으로 나눌 수 있다.

케이블의 종류에 따라 랜카드를 TP(일반적으로 사용) 포트를 가진 랜카드, BNC나 AUI(예전에 많이 사용) 포트를 가진 랜카드, 광케이블과(경우에 따라 사용) 접속하는 랜카드 등으로 나눌 수 있음

BNC용 커넥터와 AUI용 커넥터, UTP용 커넥터를 모두 골라 연결할 수 있는 combo 방식을 사용하기도 했음


IRQ와 Base Memory

랜카드로 데이터가 도착하고, 데이터의 목적지가 랜카드의 MAC Address 주소이면, PC의 CPU에 IRQ(인터럽트 요청)를 이용해 인터럽트를 걸게 된다.

CPU는 Interrupt line에서 랜카드가 요청한 IRQ를 보고, Base Memory(데이터에 어떤 서비스를 할 것인지 미리 정해놓는 장소)로 이동해 작업을 시작


허브


허브는 직사각형 상자에 구멍이 뚫려있는 모습으로 되어있고, 이 구명이 몇 개(장비를 연결할 수 있는 개수) 뚫려있느냐에 따라 몇 포트 허브인지 구분한다.

허브는 멀티포트 리피터 역할을 수행(많은 PC를 연결하고 들어온 데이터를 그대로 재전송)

같은 허브에 연결되어있는 PC끼리는 서로 통신이 가능


허브 용도에 따른 구분

허브도 랜카드와 마찬가지로 토큰링용과 이더넷용이 있음

이더넷용 허브는 속도에 따라 그냥 허브(10Mbps)와 패스트 허브(100Mbps가 있음)


허브에서의 통신

PC 1~4까지 있다고 하고, PC1이 PC2에 데이터를 허브를 통해 전송한다고 해보자

PC1이 PC2가 목적지인 데이터를 허브에 보내면, 허브는 그저 데이터를 그대로 재전송하는 역할을 수행하기에 모든 PC에 해당 데이터를 보낸다.

해당이 되지 않는 PC3,4는 랜카드딴에서 목적지의 주소가 자신의 MAC Address와 다르기에 데이터를 버리고, PC2의 랜카드는 목적지의 주소가 자신의 MAC Address이므로, 이를 CPU에 인터럽트를 걸어 해당 데이터에 대한 처리를 요구한다.

이 허브는 CSMA/CD 방식을 적용한 이더넷 허브이므로, 충돌이 발생할 수 있고, 해당 허브에 연결되어있는 PC1~4는 같은 Collision Domain에 있음


허브의 한계

  1. 속도의 한계

같은 허브에 연결되어 있는 PC들은 모두 하나의 Collision Domain에 있기 때문에 허브의 속도를 PC들이 공유하게 된다(Shared 허브)

만약, 화상 회의나 멀티미디어 등과 같은 데이터 양이 많은 상황이라면, 10Mbps Shared Hub로는 무리가 있을 것이다.

속도를 좀 더 높이기 위해 랜카드의 속도도 100Mbps인 것으로 바꾸고, 케이블로 100Mbps용으로 바꾸고, 허브도 100Mbps로 바꿨다고 해보자.

이 경우에도 어차피, 모든 PC들이 허브를 공유하고, 한 순간에 독점하는 PC가 있을 수도 있기때문에 그닥 효과가 있는 방법은 아닐 것이다.


  1. Collision의 영향

허브에 허브를 연결하고 또 연결하다 보면, 많은 PC들 간 통신이 가능해지겠지만, 충돌이 더 자주 발생할 뿐 아니라, Collision Domain이 더 커지게 된다.

Collision Domain이 커지게 되면, 충돌이 발생했을 때, 영향을 받는 PC들이 더욱 늘어난다는 소리이다.

이러한 문제때문에, 먼 거리의 PC들을 허브로만 연결하는 데는 한계가 있다.


허브의 종류

허브의 종류로는 보통 인텔리전트 허브와 더미 허브, 세미 더미 허브(+스태커블 허브도 있음 But 다음에)가 있다.

인텔리전트 허브는 NMS(네트워크 관리 시스템. 허브의 동작을 감시하고 제어)를 통해 관리가 되고, 더미 허브는 그렇지 않다.

인털리전트 허브는 또한, 문제가 발생한 포트에 대해 Isolation시켜버려, 한 포트에서 문제가 발생해도, 나머지 PC들이 영향을 받지 않게 한다.(분리된 포트가 어떤건지 램프로 표시도 해줌(Auto Partition))

세미 더미 허브는 디폴트는 더미 허브인데 인텔리전트 허브와 연결되면 인텔리전트 허브가 되는 허브이다.


Stackable 형과 Standalone 형?

스태커블 형은 스태커블끼리 연결하면 백플레인(장비 간 데이터 전송을 위해 연결된 일종의 고속도로)이 훨씬 빨라지고, 연결된 장비 중 하나가 고장나도 다른 장비에 영향 안끼침. 또한, NMS를 이용한 관리 시에도 전체 스택 장비들을 마치 한대의 장비처럼 관리할 수 있음(여러 대의 허브나 스위치를 쓰는 경우)

스탠드얼론 형은 서로 연결은 되지만, 이러한 특징을 가지고 있진 않음 (작은 규모의 경우)


스위치


허브의 Collision Domain이 커져 통신 속도의 영향을 받게되는 문제를 해결하기 위해 Collision Domain을 나눠주는 장비

스위치가 브리지보다 빠른 장비


장점

스위치는 포트별로 Collision Domain을 나눠준다.(1,2번 포트의 PC들이 통신할 때, 3,4번 PC도 통신할 수 있음)

그렇기에 각각 포트별로 독자적으로 10Mbps or 100Mbps or etc..의 속도를 갖음

허브보다 속도가 빠름

데이터를 처리하는 방법이 우수, 데이터의 전송 에러 등을 복구하는 기능 등 여러가지 기능이 있음


허브냐 스위치냐

답은 상황에 따른 사용이다.(네트워크에 돌아다니는 데이터에 따른)

만약 채팅이나 메일 정보만 쓰는 네트워크라면, 트래픽 자체가 적기 때문에 PC들을 비싼 스위치(예전 얘기)에 붙이기보다는 허브에 붙이는 걸로 충분할 것이다.(근데 요즘에는 스위치의 가격이 많이 싸지긴 해서 괜찮을지도....)


한계

만약 모든 PC가 전부 하나의 서버와 통신을 하게 된다면 어떻게 될까?

허브의 경우 당연히 하나의 PC가 통신중이면, 다른 PC들은 통신을 할 수 없기 때문에 불가능하다.

스위치도 마찬가지이다. 포트끼리 Collision Domain을 나눠놨을 뿐이라, 전체 PC가 통신을 한다라고 했을때는 결국 하나의 PC밖에 서버와 통신할 수 없다.

즉, 모든 장비가 무조건 한 곳으로만 향하는 경우 허브나 스위치나 속도상으로 별반 다를게 없다는 소리이다.(통신의 효율성은 좋으나 속도 향상은 그게 변화 없음)


브리지


스위치를 이해하기 위해서는 먼저 원조인 브리지를 알고가야 한다.

허브는 모든 PC들이 하나에 붙어있기에 이 허브로 연결된 PC들 간 통신에 문제가 생길 수도 있다. 이때, 브리지나 스위치를 사용해 Collision Domain을 나눠준다고 했다.

스위치는 위해서 말했듯이 그러한 역할을 수행하는데 과연 브리지도 그럴까?

물론이다. 브리지는 허브로 만들어진 Collision Domain 중간에 다리를 놓아 반으로 나눈다.(마찬가지로 Collision Domain을 나눠준다는 것)

브리지/스위치의 기능


브리지/스위치는 다음 5가지의 일을 함

  • Learning(학습): 호스트가 브리지/스위치에 프레임을 보내면 브리지/스위치는 호스트의 MAC Address를 읽어 자신의 브리지 테이블에 저장(이는 호스트에게 통신을 요청할 때 참고해 다리를 건너게 할 지 못 건너게 할 지 판단하는데 쓰임)
  • Flooding: 목적지 호스트가 브리지 테이블에 기록되어있지 않다면, 보낸 호스트의 포트를 제외한 나머지 포트에 뿌림(이뿐만아니라 브로드캐스트나 멀티캐스트의 경우에도 발생)
  • Forwarding: 목적지 호스트가 브리지 테이블에 기록되어 있고, 출발지 포트와 목적지 포트의 세그먼트가 다르면(다른 Collision Domain), 다른 세그먼로 넘어가게 해줌
  • Filtering: 다른 포트로 못 건너가게 막음. 목적지 호스트가 브리지 테이블에 기록되어 있고, 출발지 포트와 목적지 포트의 세그먼트가 같으면, 프레임이 다른 세그먼트로 넘어가지 못하게 막음(Collision Domain을 나누는 기능)
  • Aging: 브리지 테이블은 영원히 호스트들의 MAC Address를 저장하는 것은 불가능하다. 만약 영원히 저장하게 한다면, 용량이 한정되어 있기 때문에, 더이상의 학습을 할 수 없을 것이다. Aging이란 인간의 뇌처럼 프레임이 들어오면, 브리지 테이블에 저장하고 그와 동시에 시간을 정해놓고 타이머를 작동시키는 기능이다. 만약 해당 MAC Address를 가진 프레임이 더이상 들어오지 않은 채, 정해놓은 시간이 다 지나면, 그 MAC Address는 테이블에서 삭제된다.(정해진 시간이 다 지나기 전 해당 MAC Address를 가진 프레임이 들어오면, 타이머를 리셋(리플래시))

브리지와 스위치의 차이점


둘은 같은 데이터 링크 레이어에 속하고 하는 일도 비슷하다.

하지만, 이 둘 간에도 차이는 존재한다.

  • 이름

  • 가격: 스위치가 더 비쌈

  • 선호도: 스위치가 선호도가 더 높음

  • 스위치는 프레임을 ASIC 하드웨어 방식으로 처리하기에 소프트웨어적 프로그램에 의해 프레임을 처리하는 브리지보다 프레임 처리속도가 빠름

  • 브리지는 포트들이 같은 속도를 지원하지만, 스위치는 포트들마다 서로 다른 속도를 지원하도록 할 수 있음

  • 스위치가 포트 수가 더 많음

  • 스위치의 경우 Cut-through or Store-and-forward 방식을 사용하지만, 브리지는 Store-and-forward 방법만을 사용

    • Cut-through: 프레임의 목적지 주소만 확인한 후 바로 목적지로 전송.(처음 48bit만 봄) 처리 속도는 빠르지만, 에러 복구 능력이 떨어짐

    • Store-and-forward: 프레임을 모두 받아들이고 나서 프레임이 잘 들어왔는지, 에러는 없는지, 출발지와 목적지는 어디인지를 파악해서 처리를 해주는 방식. 만약 에러가 발견되면, 프레임을 버리고 재전송을 요구함.

      회선에 에러가 자주 발생하거나 출발지와 목적지의 전송 매체가 다른 경우 자주 사용하는 방식

    • Fragment-free: Store-and-forward 방식과 Cut-through 방식의 장점을 결합한 방식. 프레임을 모두 받지는 않고, 처음 512bit만 봄.

      에러 감지 능력이 컷스루보다는 우수


Looping이 생기는 이유


Looping은 브리지나 스위치에서 발생하는 현상이다.

Looping은 프레임이 네트워크상에서 계속 뱅뱅돌기때문에 이더넷 특성상 다른 프레임을 전송할 수 없는 상태를 말한다.

예를 들어, 두 호스트 사이에 스위치/브리지가 두 개 있다고 하면, 하나의 호스트에서 다른 호스트로 가는 경로가 두 개 이상 만들어지기때문에, 루핑이 발생한다.(한 호스트가 브로드캐스트를 보내면, 두 스위치/브리지가 이를 수신하고 Flooding 함. 이를 계속 반복)

루핑은 네트워크를 치명적인 상태에 빠뜨리게 된다.

이러한 루핑을 막기 위해서는 어떻게 해야할까? Spanning Tree Algorithm을 이용해 막으면 된다.


Spanning Tree Algorithm

  • 자동으로 루핑을 검색해서 루핑이 발생할 수 있는 상황을 미리 막아줌(스위치 간 두 개의 링크 중 하나를 끊음으로써)
  • 결과적으로 데이터는 하나의 링크로만 전송됨
  • 만약 데이터가 흐르는 링크에 문제가 생기면, 끊었던 링크를 다시 살려 데이터가 그쪽으로 전송되게 함
  • 모든 스위치는 스패닝 트리 알고리즘을 지원
  • 끊어진 링크를 다시 살리는 데 소요되는 시간은 1분 이상(이더 채널은 여러 개의 링크가 마치 하나의 링크처럼 인식되게 하는 기술로 이 알고리즘의 약점을 보완, 업링크 패스트라는 기술도 있음)

라우팅, 스위칭


스위치가 가격, 속도, 구성의 편리함 면에서 라우트보다 낫다는 장점이 있지만, 근본적으로 스위치만으로는 풀 수가 없는 문제가 있다.

  1. 브로드캐스트: 브로드캐스트의 도메인을 나눠주기 위해 라우터가 꼭 필요(브로드캐스트 자체가 네트워크의 성능을 저하시키는데, 이 영향의 범위를 줄이기 위해 브로드캐스트 도메인을 나눠야 함.)

    보통 브로드캐스트 영역을 나눌 때 IP일때는 약 500노드, IPX일 때는 300노드, AppleTalk일 때는 200노드 정도(각각 반 노드 정도는 사용해야 제대로 네트워크를 사용할 수 있고, 노드란 네트워크에 접속되는 장비 주로 PC를 말함)

  2. 패킷 필터링: 라우터는 네트워크 주소에 따라 전송을 막았다 풀었다 하는 필터 기능을 제공해 불필요한 트래픽이 전송되는 것을 막음

  3. 로드 분배: 데이터가 여러 개의 경로를 타고 갈 수 있게 함.(한쪽 경로에서 문제가 생겨도 다른 경로로 통신가능)

  4. 라우터는 프로토콜이나 데이터의 크기, 중요도 등 여러 상황에 따라 트래픽의 전송 순서를 조정해주는 기능을 제공(QoS: Quality of Service)

profile
Always's Archives
post-custom-banner

0개의 댓글