열심히 살아나갈 사람
Published 2023. 12. 15. 16:58
네트워크 기기 CS/Network

네트워크는 여러 개의 네트워크 기기를 기반으로 구축됩니다.

네트워크 기기의 처리 범위

네트워크 기기는 OSI 7 계층 모델에 따라 처리 범위를 가집니다. 상위 계층의 기기는 하위 계층의 기능까지 처리할 수 있지만, 그 반대는 불가능합니다. 다시 말해, 상위 계층의 기기는 하위 계층을 포함하는 원칙을 가지고 있습니다.

예를 들어, L7 스위치는 애플리케이션 계층을 처리하는 기기로, 그 아래 모든 계층의 프로토콜을 처리할 수 있습니다. 그러나 AP는 물리 계층만을 처리합니다.

 

각 계층별로 대표적인 네트워크 기기는 다음과 같습니다:

  • 애플리케이션 계층: L7 스위치
  • 애플리케이션 계층의 데이터를 처리합니다. 이 계층에서는 HTTP, FTP 등의 프로토콜이 동작합니다.
  • 인터넷 계층: 라우터, L3 스위치
  • IP 프로토콜을 처리하는 기기입니다. 데이터를 목적지까지 가장 효과적으로 전달하는 경로를 결정합니다.
  • 데이터 링크 계층: 브리지, L2 스위치
  • 이더넷 프로토콜 등을 처리하는 기기입니다. 데이터 링크 계층은 네트워크 기기 간의 데이터 전송을 관리합니다.
  • 물리 계층: NIC, 리피터, AP
  • 네트워크의 물리적 연결을 담당합니다. 데이터를 전기 신호로 변환하여 전송하거나, 전기 신호를 데이터로 변환하는 역할을 합니다.

애플리케이션 계층을 처리하는 기기

애플리케이션 계층을 처리하는 주요 기기로는 L7 스위치가 있습니다. 

L7 스위치

L7 스위치는 여러 장비를 연결하고 데이터 통신을 중재하는 네트워크 장비로, 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송합니다. 이는 L7 스위치가 효율적인 데이터 통신을 가능하게 하는 핵심 기능입니다.

또한, L7 스위치는 로드밸런서라고도 불리며, 서버의 부하를 분산하는 역할을 합니다. 클라이언트로부터 들어오는 요청을 여러 서버로 분산시키는 역할을 하며, 이를 통해 시스템이 처리할 수 있는 트래픽의 양을 증가시키는 것을 목표로 합니다.

이러한 분산 처리는 URL, 서버, 캐시, 쿠키 등을 기반으로 진행하며, 필요에 따라 바이러스나 불필요한 외부 데이터 등을 걸러내는 필터링 기능을 포함하고 있습니다. 또한, L7 스위치는 응용 프로그램 수준의 트래픽을 모니터링하는 기능도 갖추고 있어, 트래픽 관리에 있어서 상세한 제어를 가능하게 합니다.

만약 서버에 장애가 발생하면, 이 서버는 트래픽 분산 대상에서 제외되어야 합니다. 이를 위해 L7 스위치는 정기적으로 헬스 체크를 이용하여 서버의 상태를 감시하고, 이를 바탕으로 트래픽 분산 대상을 조정합니다. 이로써 서비스의 안정성이 유지됩니다.

L4 스위치와 L7 스위치 차이

로드밸런서로 활용되는 L4 스위치와 L7 스위치의 차이는 처리하는 계층과 트래픽 분산 방식에 있습니다.

L4 스위치는 OSI 모델의 네 번째 계층인 전송 계층을 처리하는 기기입니다. 이 스위치는 IP주소와 포트 정보를 기반으로 트래픽을 분산합니다. 그러나 메시지 내용을 기반으로 인식하지 못하므로, 스트리밍과 같은 서비스에서는 사용할 수 없습니다.

반면에, L7 스위치는 OSI 모델의 일곱 번째 계층인 애플리케이션 계층을 처리합니다. 이 스위치는 IP주소, 포트 정보 외에도 URL, HTTP 헤더, 쿠키 등을 기반으로 트래픽을 분산하므로, 더욱 상세한 로드밸런싱이 가능합니다.

클라우드 서비스에서는 이 두 종류의 스위치를 다르게 활용합니다. AWS에서는 L7 스위치를 이용한 로드밸런싱을 위해 ALB(Application Load Balancer)를, L4 스위치를 이용한 로드밸런싱을 위해 NLB(Network Load Balancer)를 사용합니다. 이 두 컴포넌트는 각각의 스위치가 처리하는 계층에 맞춰 트래픽을 효율적으로 분산시키는 역할을 합니다.

헬스 체크

네트워크 장비인 L4 스위치와 L7 스위치는 헬스 체크를 통해 서버의 상태를 확인합니다. "헬스 체크"는 서버가 정상적으로 작동하는지를 판단하는 절차로, 이는 주로 서버에 반복적으로 요청을 보내는 방식으로 이루어집니다.

이 때, 요청의 전송 주기와 재전송 횟수 등을 설정하여 서버에 부담을 주지 않도록 합니다. 요청은 TCP, HTTP 등 다양한 프로토콜을 이용하여 전송되며, 이 요청이 정상적으로 처리되면 해당 서버는 정상적인 서버로 판별합니다.

예를 들어, TCP 프로토콜을 이용한 요청의 경우, 3-웨이 핸드셰이크가 정상적으로 이루어지는지를 확인합니다. 3-웨이 핸드셰이크는 TCP 연결 설정 과정에서 클라이언트와 서버가 데이터 전송을 위한 준비를 하는 과정을 말합니다. 이 과정이 정상적으로 이루어지지 않는다면, 해당 서버는 비정상 상태로 판별하게 됩니다.

따라서, 헬스 체크는 로드밸런서가 트래픽을 분산시킬 서버를 선택할 때 중요한 역할을 합니다. 헬스 체크를 통해 비정상 상태의 서버를 제외하고, 정상 상태의 서버에만 트래픽을 분산시키는 것이 가능해집니다.

로드밸런서를 이용한 서버 이중화

로드밸런서는 서버 이중화를 통해 서비스의 안정성을 보장하는 주요 기능을 제공합니다.

서비스를 안정적으로 유지하기 위해서는 최소한 2대 이상의 서버가 필요합니다. 만약 한 대의 서버에 문제가 발생해도, 다른 서버를 통해 서비스가 계속 운영될 수 있도록 하는 것이 중요합니다.

이때 로드밸런서가 중요한 역할을 합니다. 로드밸런서는 여러 대의 서버를 관리하면서 가상의 IP 주소를 제공합니다. 사용자는 이 가상 IP를 통해 서비스에 접근하게 되며, 로드밸런서는 이를 뒷단에 있는 여러 대의 서버로 분산시킵니다.

가령 로드밸런서가 제공하는 가상 IP가 '0.0.0.12010'이라면, 사용자들은 이 IP 주소로 서비스에 접근합니다. 그리고 로드밸런서는 사용 가능한 서버인 '0.0.0.12011'과 '0.0.0.12012' 중 하나로 요청을 전달하게 됩니다.

이렇게 되면, '0.0.0.12011' 서버에 장애가 발생하더라도 로드밸런서는 '0.0.0.12012' 서버로 요청을 전달하여 서비스를 계속 유지할 수 있습니다. 이러한 방식으로 로드밸런서는 서비스의 안정성을 보장하고, 트래픽이 몰리는 상황에서도 부하를 효과적으로 분산시키는 역할을 합니다.

인터넷 계층을 처리하는 기기

인터넷 계층을 처리하는 기기로는 주로 라우터와 L3 스위치가 있습니다.

라우터

라우터는 여러 개의 네트워크를 연결하고 분할하며, 서로 다른 네트워크에 있는 장치들이 데이터를 효율적으로 주고받을 수 있도록 합니다. 라우터는 패킷의 소모를 최소화하고, 최적의 경로를 찾아 패킷을 포워딩하는 역할을 합니다. 이를 위해 라우터는 라우팅 테이블을 이용하여 각 패킷이 가야 할 목적지를 파악하고, 이에 따라 패킷을 적절한 경로로 전달합니다.

L3 스위치

L3 스위치는 데이터 링크 계층(2계층)에서의 스위칭 기능과 더불어 네트워크 계층(3계층)에서의 라우팅 기능을 동시에 수행하는 네트워크 장비입니다. 이는 기본적으로 L2 스위치의 기능에 라우터의 기능을 추가한 형태로 이해하면 됩니다.

라우팅은 원래는 소프트웨어 기반으로 동작하나, L3 스위치는 하드웨어 기반으로 라우팅을 수행합니다. 이는 L3 스위치가 데이터 패킷의 전송 속도를 크게 향상시키는 요인으로 작용하며, 이 때문에 L3 스위치는 대량의 트래픽을 빠르게 처리할 수 있습니다.

따라서, L3 스위치는 '하드웨어 기반의 라우터'라고도 표현할 수 있습니다. 이는 라우터의 기능을 효율적으로 수행하면서도, 스위치의 빠른 전송 속도를 유지할 수 있도록 설계된 장비입니다.

데이터 링크 계층을 처리하는 기기

데이터 링크 계층, 즉 OSI 모델의 2계층을 처리하는 기기로는 주로 L2 스위치와 브리지가 사용됩니다.

L2 스위치

L2 스위치는 장치들의 MAC(Media Access Control) 주소를 이용해 패킷의 전송을 담당합니다. MAC 주소는 네트워크에 연결된 각 장치에 할당된 고유한 식별자로서, L2 스위치는 이 MAC 주소를 MAC 주소 테이블에 저장하여 관리합니다.

L2 스위치는 네트워크 계층인 IP 주소를 이해하지 못하므로, IP 주소를 기반으로 한 라우팅은 수행하지 않습니다. 대신 패킷의 MAC 주소를 읽어 해당 패킷을 적절한 포트로 전달하는 스위칭 역할을 수행합니다. 만약 패킷의 목적지 MAC 주소가 MAC 주소 테이블에 없다면, L2 스위치는 해당 패킷을 모든 포트로 전달합니다. 또한 MAC 주소 테이블의 주소는 일정 시간이 지나면 삭제됩니다.

브리지

브리지는 두 개 이상의 근거리 통신망(LAN)을 서로 연결하는 네트워크 장비입니다. 따라서 브리지는 포트와 포트 사이에서 다리 역할을 하며, 네트워크 통신의 범위를 확장합니다.

브리지는 각 장비에서 발생하는 패킷의 MAC(Media Access Control) 주소를 읽어 MAC 주소 테이블에 저장하고 관리합니다. 이 MAC 주소 테이블을 통해 브리지는 패킷이 어느 LAN으로 전달되어야 하는지 판단하고, 해당 LAN으로 패킷을 전송합니다.

따라서 브리지는 서로 다른 LAN들을 하나의 통신망으로 구축하고 관리하는데 사용됩니다. 이를 통해 네트워크의 효율성을 높이고, 네트워크의 확장성을 개선할 수 있습니다. 또한 브리지는 LAN 간의 트래픽을 적절히 분배하여 네트워크의 성능을 최적화하는 역할도 수행합니다.

물리 계층을 처리하는 기기

물리 계층, 즉 OSI 모델의 1계층을 처리하는 기기로는 NIC(Network Interface Card), 리피터(Repeater), AP(Access Point) 등이 있습니다.

NIC

NIC(Network Interface Card)는 컴퓨터와 네트워크를 연결하는 장치로, 일반적으로 LAN 카드라고도 불립니다. NIC는 컴퓨터 내부에 설치되는 확장 카드 형태를 가지며, 네트워크와 빠른 속도로 데이터를 송수신할 수 있습니다. NIC는 각각 고유의 MAC(Media Access Control) 주소를 가지고 있어, 네트워크에서 각 장치를 구분하는 역할을 합니다.

리피터

리피터(repeater)는 네트워크에서 약해진 신호를 증폭하고 재전송하는 역할을 하는 장치입니다. 이 장치는 전송되는 신호가 더 멀리 갈 수 있도록 해주는 역할을 합니다. 그러나 현재는 광케이블이 널리 보급되면서, 리피터는 그렇게 자주 쓰이지 않는 장치가 되었습니다.

AP

AP(Access Point)는 무선 네트워크와 유선 네트워크를 연결하는 역할을 하는 장치입니다. AP는 네트워크에서 발생하는 패킷을 복사하고, 이 복사된 패킷을 다른 장치로 전송합니다. 이를 통해 유선 LAN에 연결된 AP를 통해 다른 장치들은 무선 LAN 기술(예: 와이파이)을 이용해 무선 네트워크에 연결할 수 있습니다. 이렇게 AP는 유선 네트워크의 자원을 무선 네트워크로 확장하여 공유하는 역할을 수행합니다.

'CS > Network' 카테고리의 다른 글

IP 주소 체계 : IPv4와 IPv6  (1) 2023.12.18
네트워크의 근본, IP 주소  (1) 2023.12.18
TCP/IP 4계층  (0) 2023.12.14
네트워크 기초  (0) 2023.12.12
OSI 7계층이란?  (0) 2023.12.10
profile

열심히 살아나갈 사람

@쿼리_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!