각 레이어에서 작동하는 네트워크장비에 대해서 알아보자
네트워크 장비에서 패킷 전송 방법은 2가지가 있다
주소가 없으므로 모든 포트로 Flooding 처리
Hub(허브)는 물리 계층에서 동작하는 네트워크 장비로, 여러 대의 컴퓨터나 네트워크 장치를 연결하여 네트워크를 형성한다. Hub은 데이터를 받으면 그것을 연결된 모든 포트로 다시 전송하는 장치다. 이는 데이터의 패킷 충돌을 발생시킬 수 있고, 네트워크 성능을 저하시킬 수 있다. 또한 Hub은 데이터의 MAC(Media Access Control) 주소를 고려하지 않고 전송하기 때문에 네트워크의 보안성이 낮다.
그러므로 Hub은 네트워크의 속도와 보안성 측면에서 다소 한계가 있다. 요즘에는 대부분의 네트워크에서 스위치(Switch)로 대체되어 사용되고 있다. Switch는 데이터의 목적지를 결정하여 특정 포트로만 데이터를 전송하기 때문에 네트워크 성능이 향상되고, 보안성이 높아진다.
리피터(Repeater)는 Layer 1에서 동작하는 네트워크 장비로, 신호를 증폭하여 전송 거리를 연장하거나 신호의 품질을 개선한다. 주로 케이블이나 광섬유 케이블을 통해 전기 신호를 전송하는 유선 네트워크에서 사용된다.
리피터는 수신한 신호를 증폭하여 다시 전송함으로써 전송 중에 발생하는 신호의 감쇠를 보상한다. 이를 통해 전송 거리를 연장하거나 신호의 강도를 유지함으로써 네트워크 성능을 개선한다.
또한, 리피터는 네트워크 상에서 발생하는 신호의 잡음을 제거하거나 신호의 형태를 복원하여 네트워크의 신호 품질을 유지한다. 이를 통해 데이터의 손실이나 왜곡을 방지하고, 신뢰성 있는 데이터 전송을 보장한다.
그러나 리피터는 데이터의 패킷 충돌을 해결하거나 데이터의 충돌을 방지하는 기능은 제공하지 않는다. 이러한 기능은 Layer 2에서 동작하는 스위치(Switch)나 Layer 3에서 동작하는 라우터(Router) 등의 장비를 사용하여 해결된다.
MAC Address Table을 이용해서 Forwarding 처리 (만약, MAC Address Table에 목적지 MAC 주소가 없는 경우 Flooding 처리)
Switch(스위치)는 Layer 2에서 동작하는 네트워크 장비로, 여러 대의 컴퓨터나 네트워크 장치를 연결하여 네트워크를 형성한다. Switch는 데이터의 목적지 MAC(Media Access Control) 주소를 참조하여 데이터를 전송한다. 이를 통해 Switch는 데이터를 특정 포트로만 전송하므로 네트워크 성능이 개선되고, 데이터의 충돌을 방지할 수 있다.
또한, Switch는 자체적으로 MAC 주소 테이블을 유지하여 포트와 MAC 주소 간의 매핑 정보를 저장한다. 따라서 Switch는 데이터를 목적지로 전송할 때 해당 목적지의 MAC 주소를 기반으로 효율적으로 전송한다. 이러한 스위칭 기술은 네트워크의 대역폭을 최적화하고 효율적인 데이터 전송을 가능하게 한다.
NIC는 컴퓨터나 기타 네트워크 장치에 장착되어 있는 하드웨어 장치로, 네트워크와의 연결을 가능하게 한다. 이 장치는 물리적인 케이블(예: 이더넷 케이블)을 통해 네트워크에 연결되어 데이터를 주고받을 수 있다.
NIC는 네트워크 장치와 컴퓨터의 버스(예: PCI 또는 PCIe)에 연결되어 있으며, 컴퓨터의 CPU와 메모리와 통신할 수 있도록 설계되어 있다. 이를 통해 NIC는 네트워크로부터 데이터를 수신하고 컴퓨터의 메모리로 전송하거나, 컴퓨터의 데이터를 네트워크로 전송할 수 있다.
또한, NIC는 데이터 링크 계층에서 동작하기 때문에 데이터의 패킷을 수신하고 전송할 때 MAC(Media Access Control) 주소를 사용합니다. NIC는 MAC 주소를 이용하여 다른 네트워크 장치와 통신하며, 이를 통해 데이터의 충돌을 방지하고 효율적인 데이터 전송을 가능하게 한다.
Routing Table을 기반으로 Forwarding 처리 (Routing Table에 없는 목적지 주소는 Drop 처리)
Router(라우터)는 Layer 3에서 동작하는 네트워크 장비로, 여러 네트워크를 연결하고 데이터를 전송하는 역할을 한다. 라우터는 IP(Internet Protocol) 주소를 기반으로 데이터를 전달하며, 이를 통해 다양한 네트워크 간의 통신이 가능해진다.
라우터는 패킷을 수신하면 목적지 IP 주소를 분석하여 최적의 경로를 결정하고 해당 경로에 따라 데이터를 전송한다. 이를 위해 라우터는 라우팅 테이블을 유지하고 네트워크 간의 연결 정보를 파악한다. 또한, 라우터는 데이터를 전달할 때 최적의 경로를 선택하여 네트워크의 효율성을 높이고 데이터 전송의 신뢰성을 보장한다.
또한, 라우터는 네트워크의 보안을 강화하는 역할도 수행한다. 패킷을 수신하여 IP 주소와 포트 정보를 분석하고 필터링하여 보안 정책에 따라 데이터의 흐름을 제어할 수 있다.
irewall(방화벽)은 Layer 4에서 동작하는 네트워크 보안 장치로, 네트워크의 보안을 유지하고 외부로부터의 침입을 방지하는 역할을 한다. Firewall은 네트워크에 연결된 모든 트래픽을 모니터링하고 허용되지 않은 트래픽을 차단하여 네트워크를 보호한다.
Firewall은 주로 패킷 필터링과 상태 기반 패킷 검사(Stateful Packet Inspection)를 사용하여 동작한다.
패킷 필터링: 패킷 필터링 방식은 패킷의 송신지, 수신지, 포트 번호, 프로토콜 등의 속성을 분석하여 허용된 규칙에 따라 트래픽을 차단 또는 허용한다.
상태 기반 패킷 검사: 상태 기반 패킷 검사는 네트워크 통신의 상태를 추적하고 패킷이 특정 연결의 일부인지 여부를 확인한다. 이를 통해 트래픽이 요청된 연결에 대해서만 허용되도록 보장한다.
또한, Firewall은 애플리케이션 레이어에서도 동작할 수 있어 OSI 모델의 Layer 7까지 보호할 수 있다. 이러한 기능을 통해 Firewall은 네트워크의 보안을 강화하고 외부로부터의 해킹, 악성 소프트웨어, 또는 다양한 네트워크 공격으로부터 시스템을 보호한다.
로드 밸런서(Load Balancer)는 Layer 4에서 동작하는 네트워크 장비로, 여러 서버에 들어오는 네트워크 트래픽을 균등하게 분산하여 서버의 부하를 분산하고 네트워크 성능을 최적화한다.
로드 밸런서는 클라이언트로부터의 요청을 여러 서버로 분산하여 처리함으로써 각 서버의 부하를 분산하고 서버의 가용성을 향상시킵니다. 이를 통해 네트워크 서비스의 신뢰성을 향상시키고 서버의 과부하를 방지한다.
로드 밸런서는 여러 가용성 및 부하 분산 알고리즘을 사용하여 트래픽을 서버로 분산한다. 가장 간단한 형태의 로드 밸런서는 라운드 로빈(Round Robin) 방식으로 트래픽을 각 서버에 순차적으로 전달하는 방식이지만, 가중치 기반 가중치를 부여하여 서버에 트래픽을 분산하는 방식 등 다양한 알고리즘이 있다.
또한, 로드 밸런서는 서버의 상태를 모니터링하고 서버의 고장이나 다운타임을 감지하여 트래픽을 가용한 서버로만 전달함으로써 서비스의 연속성을 보장한다.