본문 바로가기
computer science/네트워크

[네트워크] 네트워크 접속 장치(LAN 카드,허브,스위치,라우터)

by 박연호의 개발 블로그 2020. 3. 8.

이번 시간에는 네트워크 접속 장치에 대해 공부해 보겠습니다.

 

네트워크 접속 장치는 통신망(근거리 통신망, 광역 통신망) 구성에 가장 기본이 되는 하드웨어입니다. 물리적으로 떨어져 있는 다양한 형태의 근거리 통신망을 연결하면 좀 더 복잡하고 큰광역 통신망을 형성할 수 있으며, 근거리 통신망을 연결하는 데에는 다양한 접속 장치가 필요합니다.

 

컴퓨터나 네트워크 장치는 LAN 카드(NIC)를 사용하여 네트워크를 연결할 수 있습니다. 또한 허브, 중계기, 스위치, 게이트웨이, 라우터 등을 사용하여 네트워킹 문제를 합니다.

 


1. LAN 카드

LAN 카드(Network Interface Card, NIC)는 두 대의 이상의 컴퓨터로 네트워크를 구성하기 위해 네트워크와 빠른 속도로 데이터를 송수신할 수 있도록 컴퓨터 내에 설치하는 확장 카드를 말합니다. 네트워크에 연결하는 물리적 장치에는 방드시 하나 이상의 LAN 카드가 있어야 하며 LAN 카드는 전송 매체이 접속하는 역할과 데이터 입출력 및 송수신, 프로토콜 처리등을 담당합니다. 또한 LAN 카드는 메인보드의 확장 슬롯에 설치합니다.

 

LAN 카드에는 주민등록번호처럼 고유의 식별 코드가 있습니다. 이렇게 LAN 카드에 할당된 48bit의 물리적 주소를 MAC 주소라고 합니다. 이 주소는 사용자의 컴퓨터와 물리적 네트워크 사이의 인터페이스 역할을 합니다. MAC에서 앞의 24bit는 LAN 칩셋 제조사를 의미하는 고유 코드이고, 뒤의 24bit는 제품의 일련번호와 같이 부여되는 것이므로 전 세계에서 유일한 내 컴퓨터만의 LAN 카드 고유 번호입니다.

 

  • 네트워크 장비와 LAN 사이의 통신 준비
  • 전송될 데이터를 병렬에서 직렬로 전환
  • 빠른 전송을 위해 데이터를 코딩하고 압축
  • 패킷의 물리주소가 자신의 물리주소와 같은지 확인
  • 목적지의 LAN 카드는 데이터르 수신하고 CPU로 데이터를 전달

LAN 카드는는 단순히 PC 혹은 네트워크에서 전달되어오는 정보를 상호교환할 수 있도록 만들어 주며, PC에서 데이터 전송의 경우 NIC러 정보를 일정한 형태로 만들어 보내고 LAN엣는 이 정보를 일단 버퍼에 저장한 다음 네트워크에 맞는 형태로 보냅니다.


2. 허브

허브(Hub)는 여러대의 컴퓨터를 연결하여 같은 네트워크를 만들어 주는 장치 입니다. 허브에 몇개의 포트가 있느냐에 따라 "N포트 허브"로 말하며 각 포트에는 컴퓨터를 연결할 수 있으며, 이렇게 허브로 연결된 각 컴퓨터는 하나의 네트워크를 형성합니다.

 

허브는 리피터(repeater)역할과 멀티포트 역할을 많이 하는데, 리피터의 경우 감쇠된 신호를 증혹하는 역할을 하는데 일반적인 UTP 케이블의 경우 케이블의 길이가 100m을 넘게되면 신호가 감쇠하게 됩니다. 이때 두개의 UTP 케이블 사이에 허브를 설치하면 100m 넘게 통신을 할 수 있습니다. 멀티포트의 경우 공유기의 포트수가 모자란 허브를 연결하면 더 많은 컴퓨터를 연결할 수 있습니다. 3구, 4구 콘센터를 연결할 때, 하나의 콘센트 구멍에 다시 3구를 연결하여 더 많은 전기장비를 연결하는 방법과 같습니다.

 

허브는 OSI 7 Layer 1계층 장비이며, 컴퓨터의 LAN 카드는 케이블을 통하여 허브의 포트와 연결됩니다. 허브를 통해 연결된 컴퓨터들은 서로 데이터 통신이 가능한데, 이때 A컴퓨터가 B컴퓨터에게 데이터를 전송할 때, 허브는 B뿐만 아니라 허브와 연결되어 있는 C,D 컴퓨터들에게도 데이터를 전송합니다. C,D 컴퓨터는 LAN 카드에서 해당 데이터가 자신에게 온 것이 아닌 것을 확인하고 폐기하는데 이런 방법을 너무 비효율 적이며 A가 통신을 하고 있을 때 B,C,D는 통신을 할 수 없으면 만약 한다면 충돌이 일어날 것입니다. 이렇게 충돌하는 영역을 collision domain이라고 하며 이런 이유로 허브의 통신을 1차선 통신이라고 표현하기도 합니다.

 

또한 허브에 연결된 컴퓨터의 수에 따라 전송대역이 분리 됩니다. 예를 들어 원래 전송 대역이 100Mbps인 네트워크 라인에 허브를 물리고 여기에 5개의 컴퓨터를 연결했다면 각 컴퓨터의 대역폭은 20Mbps가 됩니다. 

허브에는 더미 허브, 스위칭 허브, 스태커블 허브, 인텔리전트 허브등이 있습니다.

 

더미허브

데이터를 네트워크의 다른 컴퓨터로 전송하는 장치로, 단순히 컴퓨터와 컴퓨터 간의 네트워크를 중계하는 역할을 합니다. 네트워크의 전체 대역폭을 노드 수만큼 분할해서 사용하기 때문에 허브에 연결된 노드수가 증가하면 네트워크의 속도가 떨어집니다. 예를 들어 100Mbps 대역폭을 제공하는 허브에 4개의 컴퓨터를 연결하면 각각의 컴퓨터는 25Mbps 대역폭만 할당 받습니다.

 

스위칭 허브

더미 허브의 단점인 전체 대역폭을 컴퓨터 수만큼 나누어 사용하는 문제점을 해결한 장치로, 단순히 전송하는 기능을 넘어 수신지 주소로 스위칭하는 기능이 있고 컴퓨터들을 각각 점대점으로 접속시키기 때문에 네트워크의 효율이 훨씬 높습니다. 예를 들어 100Mbps 대역폭을 제공하는 허브에 4개의 컴퓨터를 연결하면 각각의 컴퓨터는 100Mbps 대역폭을 할당 받습니다. CSMA/CD 방식의 네트워크에서도 충돌이 발생하지 않기 때문에 더미 허브보다 전송 속도가 훨씬 빠릅니다.

 

스태커블 허브

스택 접속 포트를 갖춘 허브로, 허브와 허브 사이를 연결하여 용량을 확장할 수 있스빈다. 중규모 이상의 네트워크는 스태커블 허블르 여러 층 쌓아서 구성합니다. 일반 포트를 이용하여 여러 더미 허브를 연결하면 컴퓨터 사이에 데이터 전송 속도의 차이가 발생할 수 있습니다. 하지만 스태커블 허브를 사용하면 여러 허브가 하나의 허브처럼 동작하기 때문에 전송속도의 차이가 적습니다.

 

인텔리전트 허브

신호의 조절과 변경 등 다양한 지능형 기능을 포함한 허브를 말합니다. 네트워크 관리 시스템을 이용하여 데이터 제어와 분석이 가능하며, 모든 단말기가 영향을 받는 충돌이 발생했을 때 충돌을 일으키는 포트를 강제로 차단하여 나머지 단말기가 문제없이 통신할 수 있습니다.


3. 스위치

허브의 경우 허브와 연결된 컴퓨터는 collision domain문제 때문에 하나의 허브에 여러개의 컴퓨터를 연결해 사용할 수 없다고 하였습니다. 이러한 문제를 해결하기 위해 collision domain을 나눌 수 있는 장치가 나왔는데 이것이 스위치와, 브리지 입니다.

 

스위치(switch)는 수신한 데이터를 연결된 모든 컴퓨터에게 전송하는 허브와는 달리 정확한 목적지 컴퓨터에게만 데이터를 전송합니다. 이렇게 스위치가 정확히 목적지 컴퓨터를 식별할 수 있는 이유는 자신에게 연결된 디바이스들의 IP와 MAC 주소를 테이블로 가지고 있기 때문입니다. 따라서 데이터가 자신에게 오면 그것의 목적지가 어디인지를 파악하여 해당 컴퓨터에게 데이터를 보내줍니다.

 

OSI 7 layer에서 스위치는 어떤 주소를 가지고 스위칭을 하는가에 따라 L2, L3, L4, L7으로 나눌 수 있으며 일반적으로 높은 계층을 다루는 스위치일 수록 비싸며, 하위 계층의 스위치 기능을 할 수 있습니다.

 

L1 스위치 : 단순히 패킷 전달

허브, 리피터기능을 하며 따로 데이터를 관리하지 않습니다. 단순히 수신한 패킷을 다른 모든 컴퓨터에게 보내는 역할을 하며, 패킷이 반복되서 복제되는데 이로 인해 패킷의 충돌이 증가합니다. 이는 네트워크 스위치의 성능을 제한하는 주요 원인이 됩니다.

 

 L2 스위치 : MAC 정보로 스위칭

데이터 링크 계층에서 작동하는 네트워크 비릿지로 가정이나 소규모 사무실에서 적은 수의 디바이스를 연결하기 위해 사용합니다. 이 네트워크 장비는 연결된 디바이스의 MAC주소를 저장하고, 이 정보를 이용해서 스위칭합니다. 구성이 단순해서 많은 기능을 제공하지는 않지만, 단순한 만큼 매우 높은 성능을 보여주기 때문에 ,SAN(Storage Area Network) 등의 특수한 목적에 주로 사용합니다.

 

L3 스위치 : IP 정보로 스위칭

L3스위치는 라우터라고 하며 L2기능에서 라우팅 기능을 수행할 수 있습니다. IGMP를 이용해서 IP 멀티캐스트 기능을 지원하며 멀티 캐스트 기능을 이용하면 네트워크 종단에서 패킷을 받기 원하는 디바이스에게 패킷을 복사할 수 있기 때문에 트랙픽 효율성을 높일 수 있습니다.

 

L4 스위치 :  Port  정보로 스위칭

L3스위치의 기능에 더해 서버나 네트워크의 트래픽을 로드밸런싱, 즉 균등하게 분배해주는 기능을 합니다. 이때 TCP와 UDP 그리고 RTP(Real Time Protocol) 등의 헤더를 사용하여 FTP, HTTP, TFTP, SMTP 등의 프로토콜 중 어느것에 대한 요구가 우선하는지 파악한 후 스위칭하게 됩니다. 

 

L7 : 어플리케이션의 데이터를 보고 스위칭

payload(이메일 제목/내용의 문자열, HTTP 컨텐츠 URL, FTP 파일제목, SSL, ID, Cookie 정보, 특정 바이러스)특성들을 분석해 패킷을 처리합니다. 또한  보안에 이용되어지는데 보다 높은 수준의 Intelligence를 갖춘 스위치이므로 더정교한 패킷의 부하 분산 및 QOS기능 구현이 가능합니다.

 


4. 라우터

라우터(Router)는 여러개의 독립된 네트워크를 연결, 분할, 구분 시켜주는 역할을 합니다. 같은 네트워크에서는 스위치를 통하여 다른 컴퓨터로 데이터를 전송할 수가 있습니다. 하지만 다른 네트워크에 존재하는 컴퓨터가 서로 데이터를 주고받기 위해서는 반드시 라우터를 거쳐야만 합니다.

 

사실상 라우터는 L3 스위치 입니다. 패킷이 전송될때 여러 라우터를 거치게 되는데 각각의 라우터는 현재 자신의 상태를 공유합니다. 인접한 라우터의 상태를 알고 있어야 그곳으로 패킷을 보낼지 다른곳으로 보낼지 결정할 수 있기 때문입니다. 여기서 다른 라우터와 어떤 프로토콜(라우팅 프로토콜, 스패닝 트리 프로토콜)을 통해 자신의 상태를 공유하고 있는 L3 스위치를 라우터 라고 합니다. 즉 라우팅 프로토콜을 지원하는 L3 스위치가 라우터 입니다. 

 

 다음 라우터를 결정하는 방식에는 2가지가 있습니다. 여기서 선택된 라우터는 네트워크 상황을 고려하여 최선(최단 경로, 최단 비용...등)의 다음 라우터를 선택합니다.

 

1. 정적 라우팅

네트워크 관리자가 패킷의 경로를 수동으로 구성하는 라우팅 방식으로, 네트워크 환경 변화와는 무관하게 항상 같은 경로만으로 라우팅 경로를 설정, 유지합니다. 

 관리자가 직접 라우팅 테이블을 구축하며 트래픽 패턴이 예측이 가능하고 정적이 구조를 갖는 네트워크에서 효과적으로 동작하지만 네트워크 변경에 따른 대웅에 다소 어렵습니다. 주로 회선교환 등에 사용됩니다.

 

2. 동적 라우팅

인접 라우터들 간에 라우팅 프로토콜을 이용하여 네트워크 정보를 서로 주고받으며 라우팅 테이블을 상시 자동적으로 생성, 유지하는 라우팅 방식입니다.

 그때 그때의 트래픽 등의 변화를 반영하며, 일반적으로 동적인 라우팅 알고리즘 들은 링크 메트릭으로 계싼된 Cost가 가장 적은 경로를 선택하는 방법을 취합니다. 

 

라우터는 하나의 컴퓨터와 같습니다. 때문에 하드웨어와 소프트웨어를 가지고 있습니다.

 

CPU

CPU는 시스템(system 초기화, 라우팅) 기능, 네트워크 인터페이스 커느롤 같은 운영체제 명령어를 실행합니다.

 

RAM

RAM은 CPU에 의해 처리되는데 필요한 명령어와 데이터를 저장합니다. RAM은 휘발성 메모리이기 때문에 라우터의 전원이 꺼지거나 재부팅되면 그 속에 있던 내용이 지기 때문에 ROM, 플래시, NVRAM같은 영구적인 저장장치를 가지고 있습니다.

 

ROM

ROM은 영구적인 형태의 저장소로 통합 서킷의 내부에 있는 펌웨어라는 소프트웨어를 사용합니다. 시스코 장비는 다음 사항을 저장하기 위해 ROM을 사용합니다.

  1. 부트트랩 명령어들
  2. 기본적인 검진 소프트웨어
  3. 스케일 다운 버전의 IOS

 

플래시 메모리

플래시 메모리는 전기적으로 지우거나 다시 프로그램할 수 있는 비휘발성 컴퓨터 메모리 입니다. 플래시는 운영 시스템인 시스코 IOS를 위한 영구적인 저장소로 사용됩니다. 대부분의 시스코 라우터 모델에서 IOS는 플래시 메모리에 영구적으로 저장되고 부팅 과정 동안 RAM으로 복사됩니다.

 

IOS

시스코사의 거의 모든 라우터, 스위치 등 장비에서 구현된 그 회사 전용의 운영체제로 부팅되는 동안 RAM에 올라가게 됩니다.


5. 리피터, 브리지

 

1. 리피터

리피터(repeater)는 OSI 7 layer 1계층에서 동작하는 장치로 근접한 2개 이상의 데이터 네트워크간 신호를 전송하며 신호를 재생, 복사하는 장비 입니다. 데이터가 전송되는 동안 케이블에서는 신호의 손실인 감쇄현상이 일어나는데 리피터는 감쇄되는 신호를 증폭하고 재생하여 전송하는 역할을 합니다.

 

또한 리피터는 연속적으로 2개 이상의 케이블을 연결함으로써 케이블의 거리 제한 사항을 극복하고 네트워크 반경을 연장하는 효과를 제공합니다. 하지만 다른 장치(허브, 브리지, 라우터)등의 리피터의 기능을 충족하는 장치가 나오면서 리피터의 사용이 감소하고 있습니다.

 

 

2. 브리지

OSI 7 lyaer 2계층에서 동작하는 장치로 MAC 주소 테이블을 가지고 있어, 허브와 리피터와 다르게 해당 목적이 MAC 주소를 가진 장비가 연결된  포트로만 패킷을 전송합니다. 현재는 스위치가 그 기능을 대신합니다.

 

브리지(bridge)는 OSI 7 lyaer 2계층에서 동작하는 장치로 MAC 주소 테이블을 가지고 있어, 허브와 리피터와 다르게 해당 목적이 MAC 주소를 가진 장비가 연결된  포트로만 패킷을 전송합니다.

 

스위치의 조상으로 브리지가 가지고 있는 모든 특성은 스위치의 특성이기도 합니다. 하나의 네트워크에서 허브로 많은 컴퓨터들을 연결할 수 있지만 그 크기가 커지게 되면 collision domain 문제가 생기게 됩니다. 이를 해결할 수 있는 방법으로 브리지(스위치)를 사용해야 합니다. 

 

브리지는 허브로 만들어진 collision domain을 A,B라는 두 영역으로 나누어 브리지로 연결해 줍니다. 이렇게 되면 각각의 A,B에서 동시에 통신이 가능하며 A의 컴퓨터와 B의 컴퓨터는 브리지를 통해 통신할 수 있습니다.

 

 

'computer science > 네트워크' 카테고리의 다른 글

[네트워크] TCP/IP 4 Layer  (0) 2020.12.12
[네트워크] TCP와UDP  (0) 2020.03.26
[네트워크] HTTPS와 SSL  (0) 2020.03.03
[네트워크] 서브넷 마스크와 서브네팅  (0) 2020.01.31
[네트워크] IPv4와 IPv6  (0) 2020.01.30