네트워크 기기
Introduction
보통 가정에 네트워크를 깔면 공인 ip는 하나만 사용한다. 추가로 공인 ip를 사용하면 돈이 꽤 든다고 한다.
또한 유선으로 받은 패킷 정보를 와이파이 등의 무선 통신으로 핸드폰에 날려줘야 할 때가 있다.
이외에도 기업마다 내부 인트라넷 구축을 위해서도 여러 네트워크 장비를 사용한다.
이 포스팅에서는 OSI 7 계층에서 처리할 수 있는 계층들을 기준으로 정의한 여러 네트워크 기기들을 알아본다.
- 애플리케이션 계층 : L7 스위치
- 인터넷 계층 : 라우터, L3 스위치
- 데이터 링크 계층 : L2 스위치, 브릿지
- 물리 계층 : NIC, 리피터, AP
아래 개념을 미리 알고 있으면 도움이 될 것 같다.
MAC 주소
데이터 링크 계층에서 통신을 위해 모든 네트워크 기기에 할당된 고유 식별자라고 할 수 있다.
MAC 주소 테이블
MAC 주소와 포트 번호가 기록된 테이블이다. 브릿지 테이블이라고도 한다.
허브
여러 대의 네트워크 장비를 연결해 LAN에 접속하게 하는 장비다. 받은 데이터 프레임은 허브로 연결된 모든 장비에 다 전송하며 이를 flooding이라고 한다. 즉, 통신이 필요한 PC 뿐 아니라 다른 PC에도 막무가내로 데이터를 전송하므로 충돌이 발생하거나, 보안이 취약한 단점이 있다.
브리지
두 개의 LAN을 상호 접속할 수 있도록 다리 역할을 하는 통신망 연결 장치이다.
스위치
여러 장비를 연결하고 데이터 통신을 중재하며 허브와 달리 목적지가 연결된 포트로만 전기 신호를 보내는 네트워크 장비이다. 따라서 네트워크 성능도 향상되고, 보안이 강화되며, 충돌도 덜 일어난다.
라우터
다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고 받을 때 패킷 소모를 최소화하고 경로를 최적화하여 최소 경로로 패킷을 포워딩하는 장비이다. OSI 7 계층에서 네트워크 계층(TCP/IP 계층에서는 IP 계층이라고 할 수 있는)의 주소를 참조해 해당하는 목적지로 갈 수 있는 최적 루트를 찾는다고 보면 된다.
애플리케이션 계층 처리 : L7 스위치
L7 스위치는 로드 밸런서라고도 한다. 데이터 프레임이 지나는 길(로드)를 최대한 균형있게 만든다고 하여 붙여진 이름이다. 클라이언트로부터 오는 여러 요청들을 뒤쪽의 여러 서버로 나누어 최대한 많은 트래픽을 처리할 수 있도록 한다. L7가 붙은 네이밍에서 알 수 있듯이, 어플리케이션 계층의 PDU인 메시지를 일정부분 읽고 처리할 수 있기 때문에 url, 캐시, 쿠키등을 기반으로 트래픽을 분산할 수 있다. 바이러스, 불필요한 외부 데이터 등도 걸러낼 수 있다.
헬스 체크
L7 스위치가 서버에 트래픽을 분산하려면, 해당 서버가 정상적으로 동작하는 서버인지 알아야 한다. 이를 위해 헬스 체크 과정을 거친다. 전송 주기와 재전송 횟수를 설정하면 반복적으로 서버에 요청을 보내는 것이다. 정상적으로 서버가 응답하지 않으면 해당 서버는 트래픽을 분산할 대상에서 제외한다.** **
서버 이중화
서버를 운영할 시, 트래픽이 이전보다 더 많이 나오거나 갑자기 문제가 발생할 경우를 대비해, 가상 IP를 이용해 안정적인 서버 운영을 할 수 있다. 예를 들어 외부에서는 0.0.012로 서비스를 요청하면, IP/MAC 주소를 변조하여 해당하는 실제 서버(0.0.013이나 0.0.014 등)으로 트래픽을 요청할 수 있다.
인터넷 계층 처리 : L3 스위치, 라우터
L3 스위치는 L2의 스위치 기능과 라우터 기능을 갖춘 장비이다. L3 계층의 PDU인 패킷을 분석할 수 있다. 라우팅 테이블을 참조 테이블로 한다.
데이터 링크 계층 처리 : L2 스위치, 브릿지
IP 주소는 3계층이라 분석을 할 수 없기 때문에 2계층과 관련된 패킷의 MAC주소만 스위칭하는 장비이다.
물리 계층을 처리 : NIC, AP
Network Interface Card (NIC)
LAN카드라고 많이 불리며, 2대 이상의 컴퓨터 네트워크를 구성하는 데 사용된다.
Access Point (AP)
유선 LAN을 통해 전달받은 패킷을 복사해, WIFI 등의 무선 LAN 기술을 사용하여 무선 네트워크를 지원하는 장치이다.
질문
- 당신이 실시간 웹 서비스를 위한 서버를 구축하기 위해 네트워크 장비를 검색하고 있다. 다음과 같은 조건을 만족하도록 서버 구축 계획을 짜라.
- 사용자가 서비스를 받기 위해 접근하는 외부 ip 주소는 1개 이다.
- 서버 1대에 에러가 발생하여 동작이 멈춰도 서비스는 계속 되어야 한다.
- 이 웹서비스는 보안에 민감하기 때문에, 장비 자체에서 데이터에 바이러스 등이 있는지 분석하여 필터링하는 기능을 지원해야 한다.
- 1의 방법으로 서버 구축을 하려다가, 팀장에게 “그거 구축할 돈은 너의 월급에서 까도 되냐”고 들었다. 몇 번의 설득 끝에 바이러스 검사는 네트워크 장비에서 처리 하지 않기로 하였다. 이런 상황에서는 어떤 방법을 쓰면 될까?
Reference
면접을 위한 CS 전공지식 노트 - 주홍철 지음
‘네트워크 장비 정리 블로그’