1. 병목현상이란?
네트워크 병목현상이란, 네트워크 자원(대역폭, 라우터, 스위치, 서버 등)의 한계로 인해 전체 데이터 처리 속도가 지연되거나 멈추는 현상을 말한다. 즉, 데이터 흐름 상 특정 지점에서 데이터가 정체되며 전체 네트워크 성능이 저하되는 현상이다.
병목현상은 다음과 같은 네 가지 주요 원인에 의해 발생할 수 있다:
- 네트워크 대역폭 부족: 전송 용량(대역폭)이 트래픽을 감당하지 못할 경우 병목이 발생한다.
- 네트워크 토폴로지 구조: 장비 간의 연결 구조가 비효율적이거나 특정 노드에 과부하가 집중될 경우 병목이 생긴다.
- 서버 성능 문제: CPU, 메모리 사용량이 과다하여 요청을 처리하지 못하면 병목 발생.
- 비효율적인 네트워크 구성: 경로 중복, 과도한 브로드캐스트, 잘못된 라우팅 설정 등이 원인이 될 수 있다.
병목현상 해결의 핵심: 네트워크 구조(토폴로지)
- 네트워크가 어떤 토폴로지(구조)를 사용하고 있는지, 어떤 경로를 통해 데이터가 이동하는지를 파악해야 정확한 병목 구간을 찾고 최적화할 수 있다.
2. 네트워크 분류
| 네트워크 종류 | 설명 |
|---|
| LAN (Local Area Network) | 학교, 회사 등 건물 또는 캠퍼스 내의 근거리 네트워크 |
| MAN (Metropolitan Area Network) | 도시 단위의 네트워크, 복수의 LAN 연결 |
| WAN (Wide Area Network) | 대륙/국가 수준의 장거리 네트워크, 인터넷 포함 |
3. 네트워크 성능 분석 명령어
3.1 Ping (Packet Internet Groper)
- 대상 호스트에게 일정 크기의 ICMP 패킷을 전송하여 응답 속도 및 네트워크 연결 여부를 확인
- ICMP를 사용하기 때문에 정책상 ICMP를 차단한 장비에는 Ping 테스트가 불가
- 사용 예: ping 8.8.8.8
3.2 Netstat
- 현재 시스템의 네트워크 연결, 포트 상태, 라우팅 테이블, 인터페이스 등을 확인
- 서버에서 어떤 포트가 열려 있는지, 어떤 주소와 연결되어 있는지를 분석할 수 있음
- 사용 예: netstat -an
3.3 Nslookup
- 도메인 이름을 IP 주소로 변환하거나, DNS 서버에 쿼리를 보내 결과를 확인
- DNS 문제가 발생했을 때 원인을 추적하는 데 유용
- 사용 예: nslookup www.naver.com
3.4 Tracert / Traceroute
4. 네트워크 표준과 프로토콜
표준화 기관
- IEEE (Institute of Electrical and Electronics Engineers)
- IETF (Internet Engineering Task Force)
이들 기관은 네트워크 프로토콜 및 장비 상호 운용성 보장을 위한 표준을 정의한다.
5. TCP/IP 4계층 모델
TCP/IP는 인터넷에서 사용되는 표준 프로토콜 집합으로, OSI 7계층과 유사하나 더 단순한 4계층 구조이다.
| TCP/IP 계층 | OSI 매핑 | 주요 프로토콜 |
|---|
| 애플리케이션 계층 | 애플리케이션, 프레젠테이션, 세션 | HTTP, FTP, SMTP, DNS, SSH |
| 전송 계층 | 전송 계층 | TCP, UDP |
| 인터넷 계층 | 네트워크 계층 | IP, ICMP, ARP |
| 링크 계층 | 데이터링크, 물리 계층 | Ethernet, Wi-Fi 등 |
5.1 애플리케이션 계층
- 사용자에게 직접 서비스를 제공하는 계층
- 대표 프로토콜:
HTTP: 웹 페이지 요청/응답
FTP: 파일 전송
SSH: 원격 접속 보안
SMTP: 이메일 전송
DNS: 도메인 → IP 주소 매핑
5.2 전송 계층 (TCP/UDP)
- 송수신 애플리케이션 간의 연결을 설정하고 신뢰성 있는 데이터 전송 보장
TCP
- 연결지향형, 순서 보장, 수신 확인
- 3-Way Handshake로 연결 설정, 4-Way Handshake로 연결 해제
3-Way Handshake

(1) SYN 단계: 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보냄. ISN은 새로운 TCP 연결의 첫번째 패킷에 할당된 임의의 시퀀스 번호를 말하며 장치마다 다를 수 있음 ex) SYN 클라이언트의 ISN : 1000
(2) SYN + ACK단계: 서버는 클라이언트 SYN을 수신하고 서버의 ISN을 보내며 승인 번호로 클라이언트의 ISN + 1 을 보냄. Ex) SYN+ACK 서버의 ISN: 3000 승인번호: 1001
(3) ACK단계: 클라이언트는 서버의 ISN + 1 한 값인 승인번호를 담아 ACK를 서버에 보냄. Ex) ACK 승인번호: 3001
4-Way Handshake

(1) 먼저 클라이언트가 연결을 닫으려고 할때 FIN으로 설정된 세그먼트를 보냄. 클라이언트는 FIN_WAIT_1 상태로 들어가고 서버응답을 기다림
(2) 서버는 클라이언트에 ACK라는 승인 세그먼트를 보내고 CLOSE_WAIT 상태로 들어감. 클라이언트가 세그먼트를 받으면 FIN_WAIT_2 상태 들어감
(3) 서버는 ACK를 보내고 일정시간 이후 클라이언트에 FIN이라는 세그먼트 보냄
(4) 클라이언트는 TIME_WAIT 상태가 되고 다시 서버로 ACK를 보내서 서버는 CLOSE상태가 되고 이후 클라이언트는 어느정도 시간을 대기 한 후 연결이 닫히고 클라이언트와 서버의 모든 자원이 연결해제 됨.
TIME_WAIT: 지연된 패킷 처리 및 재연결 시 문제 방지
UDP
- 비연결형, 순서 보장 X, 수신 확인 X
- 빠르지만 신뢰성이 없음
가상회선 방식 vs 데이터그램 방식
- TCP (가상회선): 연결 설정 후 순서대로 패킷 전달
- UDP (데이터그램): 각 패킷 독립적으로 전송, 순서 상관 없음
5.3 인터넷 계층
- IP 주소를 기반으로 라우팅 수행
- 데이터그램 전달의 책임, 신뢰성 보장하지 않음
- 주요 프로토콜:
IP (IPv4/IPv6): 주소 지정 및 패킷 전송
ICMP: 오류 메시지 전송 (Ping 등)
ARP: IP ↔ MAC 주소 변환
5.4 링크 계층
- 실제 데이터 전송을 담당하는 계층
- 물리적 매체를 통해 비트 스트림 전송
- 두 개의 하위 계층:
물리 계층: 0/1 신호 전송 (전기, 광, 무선 등)
데이터 링크 계층: 프레임 구성, 오류 검출 (CRC)
6. 유선 LAN vs 무선 LAN
유선 LAN (IEEE 802.3)
- 전이중 통신 (Full Duplex): 양방향 동시 통신 가능
- 충돌 발생 시 CSMA/CD 방식으로 재전송
무선 LAN (IEEE 802.11)
- 반이중 통신 (Half Duplex): 한 방향씩만 전송 가능
- CSMA/CA로 충돌 방지
CSMA/CA 동작 순서
- 매체 감지
- IFS 대기 시간 계산
- 전송 가능 시 데이터 송신
7. 무선 LAN 구성 요소
BSS (Basic Service Set)
- 하나의 AP와 그에 연결된 클라이언트들로 구성된 네트워크
ESS (Extended Service Set)
- 여러 개의 BSS가 상호 연결되어 더 넓은 범위를 커버
- 로밍 가능
8. 이더넷 프레임 구조
[Preamble][SFD][Destination MAC][Source MAC][EtherType][Payload][CRC]
- Preamble: 동기화를 위한 7바이트 패턴
- SFD: 프레임 시작 알림 (Start Frame Delimiter)
- DMAC/SMAC: 수신자/송신자 MAC 주소
- EtherType: 상위 프로토콜 구분 (예: 0x0800은 IPv4)
- Payload: 전송 데이터
- CRC: 오류 검출용 Cyclic Redundancy Check
9. MAC 주소
- NIC (Network Interface Card)에 할당된 고유 식별자
- 48비트 (6바이트)로 구성
- IEEE에서 할당하는 OUI(Organizationally Unique Identifier) 포함
- 예: 00-14-22-01-23-45
10. 데이터 전송 흐름
송신 측:
1. 애플리케이션 계층에서 데이터 생성
2. 전송 계층에서 TCP/UDP 헤더 부착
3. 인터넷 계층에서 IP 헤더 부착
4. 링크 계층에서 이더넷 프레임 생성 → 전송
수신 측:
1. 역순으로 헤더 제거 (역캡슐화) → 사용자에게 전달
캡슐화
상위 계층의 데이터를 하위 계층의 Payload로 포함시키며 헤더 추가
11. HTTPS와 SSL/TLS
HTTPS = HTTP + SSL/TLS
- SSL/TLS 계층은 애플리케이션과 전송 계층 사이에 존재
- 통신 데이터 암호화 → 도청/변조 방지
구성 요소
- 인증서 (Certificate): 서버의 신원 검증
- 키 교환 알고리즘: ECDHE, DHE 등
- 해싱 알고리즘: SHA-256, SHA-384
12. 해시와 해싱
| 용어 | 설명 |
|---|
| 해시 | 임의의 데이터를 일정한 길이의 고정값으로 매핑한 결과 |
| 해싱 | 해시 함수로 데이터를 변환하는 과정 |
| 해시 함수 | 해시값을 생성하는 알고리즘 (예: SHA-256) |
블록체인, 인증서 검증, 데이터 무결성 검증 등에 사용됨
13. 라우팅과 게이트웨이
- 라우팅(Routing): 패킷이 목적지 IP에 도달하기 위한 최적 경로를 찾는 과정
- 게이트웨이(Gateway): 서로 다른 네트워크 간 통신을 가능하게 해주는 장치 또는 소프트웨어
14. 인코딩(Encoding)
- 데이터를 일정한 형식으로 변환하는 작업
- 목적: 표준화, 보안, 압축, 처리 속도 향상 등
- 예: Base64, UTF-8, ASCII 등
15. SEO (Search Engine Optimization)
- 웹사이트가 검색엔진 결과 상위에 노출되도록 구조와 콘텐츠를 최적화하는 기법
- 트래픽 유도 및 마케팅 측면에서 중요