이번 글은 면접을 준비하며 읽은 ' 면접을 위한 CS 전공지식 노트 ' 를 정리했습니다.
https://product.kyobobook.co.kr/detail/S000001834833
면접을 위한 CS 전공지식 노트 | 주홍철 - 교보문고
면접을 위한 CS 전공지식 노트 | 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접과 포트폴리오까지! CS 전공지식 습득과 면접 대비, 이 책 한 권이면 충분하다! 개발자 면
product.kyobobook.co.kr
안녕하세요.
오늘은 네트워크 기기와 네트워크 4계층을 어떤 기기가 처리하는지 알아보겠습니다.
2.3.1 네트워크 기기의 처리 범위
네트워크 기기는 계층별로 처리 범위를 나눌 수 있습니다.
상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만, 하위 계층 처리 기기는 상위 계층을 처리할 수 없습니다.
예)
- 애플리케이션 계층: L7 스위치
- 인터넷 계층: 라우터, L3 스위치
- 데이터 링크 계층: L2 스위치, 브리지
- 물리 계층: NIC, 리피터, AP
(L7 스위치는 하위에 있는 모든 계층의 프로토콜을 처리할 수 있지만, AP는 물리 계층만 처리 가능하다.)
2.3.2 애플리케이션 계층 처리 - L7 스위치
- 스위치는 같은 네트워크 안에서 여러 장치를 연결하고, 목적지의 MAC 주소를 기반으로 연결된 특정 포트로만 데이터를 전달하는 통신 네트워크 장비입니다.
- L7 스위치는 서버의 부하를 분산하는 로드밸랜서라고도 합니다.
- 로드밸런서는 클라이언트로부터 오는 요청을 뒤쪽의 여러 서버로 나눠, 시스템이 처리할 수 있는 트래픽을 늘립니다.
URL, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산합니다. 필터링과 응용 프로그램 수준의 트래픽 모니터링도 가능합니다.
정기적으로 health check로 감시하여, 장애가 발생한 서버는 트래픽 분산 대상에서 제외합니다.
L4 스위치 vs L7 스위치
- L4 스위치는 전송 계층을 처리하는 기기입니다.
스트리밍 관련 서비스에서는 사용할 수 없고, 패킷의 IP 헤더와 TCP/UDP 포트를 기반으로(특히 포트) 트래픽을 분산합니다.
메시지를 기반으로는 인식하지 못합니다. (패킷 내용은 안보니까)
->/api/v1/user와api/v1/admin구분 불가 - L7 로드밸런서는 IP, 포트 외에도 URL, HTTP 헤더, 쿠키 등을 기반으로 트래픽 분산이 가능합니다.
- 클라우드 서비스(AWS 등)에서 L7 스위치 로드밸런싱은 ALB(Application Load Balancer) 컴포넌트로,
L4 스위치 로드밸런싱은 NLB(Network Load Balncer) 컴포넌트로 합니다.
헬스 체크
전송 주기와 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것을 의미합니다. (서버에 부하가 되지 않을 만큼 요청 횟수가 적절해야 합니다.)
TCP, HTTP 등 다양한 방법으로 보낸 요청이 정상적으로 이루어지면 정상 서버로 판별합니다.
(예: TCP -> 3-way handshake 일어나지 않음 -> 비정상 서버)
로드밸런서를 이용한 서버 이중화
서버를 안정적으로 운영하려면, 한 서버가 종료되더라도 서비스가 계속 유지될 수 있도록 2대 이상의 서버가 필요합니다.
로드밸런서는 2대 이상의 서버를 기반으로 가상 IP를 제공하고 이를 기반으로 안정적인 서비스를 제공합니다.
예) 0.0.0.12010
가상 IP -> 뒷단에 0.0.0.12011, 0.0.0.12012 기반으로 서빙
2.3.3 인터넷 계층 처리 - 라우터, L3 스위치
라우터(router)
여러 네트워크를 여러 네트워크를 연결, 분할, 구분하는 장비입니다.
서로 다른 네트워크에 있는 장치들이 데이터를 주고받을 때, 패킷 소모를 최소화하고 최적으 경로로 전달될 수 있도록 라우팅을 수행합니다.
참고: 라우팅 - IP 주소 기반 패킷 경로 결정, 포워딩 - 경로를 따라 패킷 전송
L3 스위치
L2 스위치(MAC 주소 기반 패킷 포워딩)의 기능과 라우터(라우팅)의 기능을 결합한 장비입니다.
라우터는 소프트웨어 기반 라우팅과 하드웨어 기반 라우팅으로 나눠집니다. L3은 하드웨어 기반 라우팅을 담당합니다.
L2 스위치 vs L3 스위치
| 구분 | L2 스위치 | L3 스위치 |
| 참조 테이블 | MAC 주소 테이블 | 라우팅 테이블 |
| 참조 PDU | 이더넷 프레임 | IP 패킷 |
| 참조 주소 | MAC 주소 | IP 주소 |
L2: 누가 어떤 포트에 연결되어 있는지를 봅니다.
L3: 어떤 네트워크로 보내야 하는지를 봅니다.
2.3.4 데이터 링크 계층 처리 - L2 스위치, 브릿지
L2 스위치
MAC 주소를 기반으로 같은 네트워크 내 장치 간 통신을 빠르게 중계하는 장치입니다.
- MAC 주소 테이블을 통해 장치를 관리합니다.
- 같은 네트워크(서브넷) 내에서 이더넷 프레임 단위로 데이터를 전달합니다.
- IP 주소를 인식하지 못하므로, IP 주소 기반인 라우팅은 불가능합니다.
- 프레임의 목적지 MAC 주소를 확인해 해당 포트로만 데이터를 전송합니다. (같은 네트워크 내 전달할 포트 결정 = 스위칭)
- 목적지가 MAC 주소 테이블에 없다면 전체 포트에 브로드캐스트하고, MAC 주소는 일정 시간 이후 자동 삭제됩니다.
브릿지(Bridge)
브리지는 MAC 주소 기반으로 LAN 구간을 연결하고, 통신망 범위를 확장하는 초창기 L2 장치입니다.
- MAC 주소 테이블을 통해 MAC 주소를 관리합니다.
- 통신망 범위를 확장하고 서로 다른 LAN으로 이루어진 하나의 통신망을 구축할 때 사용합니다.
- 소프트웨어 기반 처리로 속도가 느리고, 불필요한 브로드캐스트를 줄여줍니다.
- 포트 수가 적습니다. (2~4개)
2.3.5 물리 계층 처리 - NIC, 리피터, AP
NIC (Network Interface Card)
컴퓨터나 장치를 네트워크에 연결하고, MAC 주소를 통해 데이터 송수신을 담당하는 장치입니다.
- 네트워크와 빠른 속도로 데이터를 송수신할 수 있도록 컴퓨터 내에 설치하는 확장 카드입니다.
- LAN 카드라고도 하며, 주민등록번호처럼 각각을 구분하기 위한 고유의 식별번호인 MAC 주소가 있습니다.
리피터 (repeater)
신호를 증폭, 재생하여 전송 거리를 늘려주는 장치입니다.
광케이블이 보급됨에 따라 현재는 잘 쓰이지 않습니다.
AP (Access Point)
무선 장치(Wi-Fi)와 유선 네트워크를 연결하고, 패킷을 중계/복사하여 양쪽이 통신할 수 있게 하는 장치입니다.
