네트워크 병목현상 및 구조 정리

david1-p·2025년 5월 5일

CS 지식 창고

목록 보기
6/25

1. 병목현상이란?

  네트워크 병목현상이란, 네트워크 자원(대역폭, 라우터, 스위치, 서버 등)의 한계로 인해 전체 데이터 처리 속도가 지연되거나 멈추는 현상을 말한다. 즉, 데이터 흐름 상 특정 지점에서 데이터가 정체되며 전체 네트워크 성능이 저하되는 현상이다.

  병목현상은 다음과 같은 네 가지 주요 원인에 의해 발생할 수 있다:

  1. 네트워크 대역폭 부족: 전송 용량(대역폭)이 트래픽을 감당하지 못할 경우 병목이 발생한다.
  2. 네트워크 토폴로지 구조: 장비 간의 연결 구조가 비효율적이거나 특정 노드에 과부하가 집중될 경우 병목이 생긴다.
  3. 서버 성능 문제: CPU, 메모리 사용량이 과다하여 요청을 처리하지 못하면 병목 발생.
  4. 비효율적인 네트워크 구성: 경로 중복, 과도한 브로드캐스트, 잘못된 라우팅 설정 등이 원인이 될 수 있다.

병목현상 해결의 핵심: 네트워크 구조(토폴로지)

  • 네트워크가 어떤 토폴로지(구조)를 사용하고 있는지, 어떤 경로를 통해 데이터가 이동하는지를 파악해야 정확한 병목 구간을 찾고 최적화할 수 있다.

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

  • 목적지까지 도달하는 라우팅 경로를 추적

  • 어느 지점에서 응답이 느려지거나 차단되는지를 파악하여 병목 구간을 확인

  • Windows: tracert, Linux/Mac: 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 동작 순서

  1. 매체 감지
  2. IFS 대기 시간 계산
  3. 전송 가능 시 데이터 송신

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)

  • 웹사이트가 검색엔진 결과 상위에 노출되도록 구조와 콘텐츠를 최적화하는 기법
  • 트래픽 유도 및 마케팅 측면에서 중요
profile
DONE IS BETTER THAN PERFECT.

0개의 댓글