2025-10-26

오늘 배운 것

네트워크 프로토콜

서로 다른 장치들이 데이터를 주고받기 위해 공통으로 정한 통신 규약(약속)

주로 IEEE / IETF 등 표준화 기구에서 정의한다.


예시 프로토콜

  • IEEE 802.3 — 유선 LAN(Ethernet) 통신 표준
  • HTTP — 웹 서비스에서 사용되는 애플리케이션 계층 프로토콜
  • (추가 예) TCP, UDP, DNS, FTP, SMTP 등

프로토콜이 없다면 — 장치들은 “같은 언어”로 대화할 수 없다. 📡

인터넷 프로토콜 스위트 (TCP/IP 4계층 모델)

인터넷에서 컴퓨터들이 서로 통신하기 위해 사용하는 프로토콜들의 집합

TCP/IP 4계층 혹은 OSI 7계층 모델로 설명되며,

한 계층이 변경되어도 다른 계층에 영향을 주지 않도록 설계된 계층형 구조이다.

💡 예: TCP → UDP로 바꿔도 브라우저를 재설치할 필요가 없음 (독립성)


✅ TCP/IP 4계층 구조

1) 애플리케이션 계층 (Application Layer)

OSI의 Application + Presentation + Session 계층 역할 포함

→ 사용자에게 실질적인 서비스 제공

프로토콜 설명
FTP 장치 간 파일 전송 표준
SSH 암호화된 원격 접속 프로토콜
HTTP 웹 통신의 기반 프로토콜
SMTP 이메일 전송 프로토콜
DNS 도메인 ↔ IP 변환

2) 전송 계층 (Transport Layer)

송신자 ↔ 수신자를 연결하고 데이터 전송 품질 담당

(신뢰성 / 순서보장 / 흐름제어 등)

■ TCP — 신뢰성 기반 연결형

  • 패킷 순서 보장
  • 수신 확인(ACK)
  • 가상회선 방식 (순서 동일)
  • 3-Way Handshake (연결 성립)
  • 4-Way Handshake (연결 종료 및 TIME_WAIT 이유 포함)

■ UDP — 비연결형 (빠르지만 보장 없음)

  • 순서 보장 X / 수신 확인 X
  • 단순, 가벼움 (스트리밍·DNS 등에 적합)
  • 데이터그램 방식 — 패킷이 각자 다른 경로로 전송될 수 있음

3) 인터넷 계층 (Internet Layer)

데이터를 목적지 IP로 전달

라우팅 책임, 신뢰성 보장 X

프로토콜 설명
IP 패킷 전달 (주소 지정)
ARP IP → MAC 주소 변환
ICMP 오류보고 및 상태 확인 (ex. ping)

OSI의 Data Link + Physical 역할 포함

물리적 전송 및 MAC 기반 오류 검출·전송제어

■ 물리 계층 (Cable / 무선 전송)

  • 유선 LAN (IEEE 802.3, 전이중 통신)
    • 트위스트 페어 / 광섬유
  • 무선 LAN
    • 반이중 통신
    • CSMA/CD (충돌 후 재전송)
    • CSMA/CA (충돌 회피)
    • 주파수: 2.4GHz(장애물강함/간섭많음) vs 5GHz(채널많음/선호)
  • Wi-Fi : 무선 LAN 연결 기술
  • BSS : 단일 AP 기반 근거리 통신
  • ESS : 다수 BSS 연결 → 이동해도 끊김 없음

■ 데이터링크 계층 — Ethernet Frame 구조

필드 설명
Preamble 프레임 시작 동기화
SFD MAC 주소 시작 위치
DMAC / SMAC 목적지/출발지 MAC
EtherType 상위 프로토콜 종류 (IPv4/IPv6 등)
Payload 전달 데이터
CRC 오류 확인

🔁 캡슐화 & 비캡슐화 과정

  • 캡슐화 : 상위 계층 데이터를 감싸며 각 계층의 헤더 추가
  • 비캡슐화 : 반대로 상위 계층 향해 오며 헤더 제거

PDU (Protocol Data Unit) — 계층별 데이터 단위

계층 단위
애플리케이션 Message
전송 Segment(TCP) / Datagram(UDP)
인터넷 Packet
링크 Frame / Bit

TCP/IP는 “계층 분리”를 통해

안정성, 확장성, 호환성을 확보한 인터넷의 설계 철학이다. 🌐

네트워크 기기의 처리 범위 & 계층별 역할

상위 계층을 처리하는 기기는 하위 계층 데이터까지 처리 가능

그러나 하위 계층 기기는 상위 계층 데이터 해석 불가


애플리케이션 계층 (L7)

🔹 L7 스위치 (로드밸런서)

  • 요청 내용을 애플리케이션 레벨(Headers/URL/Cookie 등) 로 분석하여 트래픽 분산
  • 헬스 체크로 장애 서버 제외 → 안정성 확보
  • 응용 트래픽 모니터링, 필터링 가능

L4 vs L7 차이

구분 L4 스위치 L7 로드밸런서
처리 계층 전송 계층 애플리케이션 계층
분산 기준 IP/PORT URL/HTTP/Headers/Cookies
콘텐츠 인식 X O
스트리밍/메시지 기반 부분적 한계 가능

L7 로드밸런서를 통해 서버 이중화 구현 가능 (가상 IP 기반 무중단 서비스)


인터넷 계층 (L3)

🔹 라우터

  • 여러 네트워크를 연결
  • 최적 경로 탐색 후 라우팅(포워딩)

🔹 L3 스위치

  • 스위칭 + 라우팅 기능 (하드웨어 기반 → 빠름)

L2 vs L3 스위치 차이

항목 L2 스위치 L3 스위치
참조 테이블 MAC 주소 테이블 라우팅 테이블
참조 주소 MAC IP
처리 단위 프레임 패킷

데이터 링크 계층 (L2)

🔹 L2 스위치

  • MAC 기반 프레임 전달
  • 목적지 MAC 미등록 시 전체 포트로 브로드캐스트
  • MAC 테이블 aging 기능 존재

🔹 브리지

  • 서로 다른 LAN을 하나로 연결
  • MAC 주소 기반 트래픽 분리/확장

물리 계층 (L1)

🔹 NIC (LAN 카드)

  • 네트워크 장치의 물리적 연결 담당
  • MAC 주소 보유

🔹 리피터

  • 약해진 신호 증폭하여 더 멀리 전달

🔹 AP (Access Point)

  • 유선 LAN ↔ 무선 LAN 연결
  • 패킷을 복제해 무선 장치에 전달

요약: 상위 계층 장비는 하위 계층 역할을 포함하지만, 반대는 불가능하다.

즉, L7 장비는 L4/L3/L2 기능까지 가능하지만, L2 장비는 상위 계층 패킷을 이해하지 못한다. 🧭

ARP (Address Resolution Protocol)

IP 주소만 알고 있을 때, 해당 장치의 MAC 주소를 알아내기 위한 프로토콜

즉, IP ↔ MAC 사이를 연결하는 다리 역할을 한다.


동작 과정

  1. ARP Request (Broadcast)
    • 장치 A가 네트워크 전체에 “이 IP 가진 사람 누구야? MAC 알려줘” 라고 브로드캐스트 전송
  2. ARP Reply (Unicast)
    • 해당 IP를 가진 장치 B만 응답 자신의 MAC 주소를 유니캐스트로 장치 A에게만 전송

한 줄 요약

ARP는 “IP로 MAC을 찾는 전화번호부 같은 프로토콜”이다. 🔎

홉바이홉(Hop-by-Hop) 통신

IP 통신에서 패킷이 여러 라우터를 “한 단계씩” 거쳐 최종 목적지까지 도달하는 방식


개념 정리

  • 각 라우터를 차례로 통과하는 모습이 “Hop”으로 표현됨
  • 각 홉마다 라우팅 테이블을 참조해 다음으로 전달할 경로(Next Hop)를 결정
  • 이렇게 연속적인 라우팅 과정을 통해 최종 목적지에 도착

라우팅 테이블 (Routing Table)

라우터에 저장된 “목적지까지 어떻게 가야 하는지” 기록된 표

  • 각 목적지 네트워크에 대해 “다음 홉(Next Router)” 정보 보유
  • 패킷을 어느 인터페이스로 내보낼지 판단하는 기준

게이트웨이 (Gateway)

서로 다른 네트워크 간의 통신을 가능하게 하는 관문

  • 서로 다른 프로토콜/네트워크 사이의 변환·연결 역할
  • 내부 LAN → 외부 Internet 이동 시 “출구” 역할 수행

한 줄 요약

홉바이홉 통신은 라우팅 테이블을 참고해 라우터를 하나씩 거치며 목적지까지 도달하는 방식,

이 과정에서 게이트웨이가 네트워크 간 경계를 연결해준다.

IP 주소 (Internet Protocol Address)

네트워크 상에서 장치를 구분하기 위해 부여되는 고유한 주소

IPv4 / IPv6 두 가지 방식 사용


IPv4 vs IPv6

구분 IPv4 IPv6
길이 32bit 128bit
표기 8bit × 4개 (예: 192.168.0.1) 16bit × 8개 (예: 2001:0db8::1)
배경 주소 부족 문제 존재 이를 해결 위해 확장

※ 질문에서 적으신 “IPv6 64비트”는 NAT64 / SLAAC 등 맥락이 있는 경우가 있어 일반 설명에서는 128bit로 표기합니다.


IPv4 — 클래스 기반 할당 (Classful Addressing, 구 방식)

A/B/C/D/E로 구분

  • A / B / C 클래스 : 일반 일대일 통신에 사용
    • Prefix(구분 비트): A=0 / B=10 / C=110
  • D 클래스 : 멀티캐스트용
  • E 클래스 : 연구/예비용
  • 네트워크 주소 + 호스트 주소 구조
  • 마지막 주소는 브로드캐스트 주소
  • 사용하지 못하는 예약 주소가 많아 낭비 발생 → 비효율

DHCP (Dynamic Host Configuration Protocol)

네트워크 장치에 IP·게이트웨이·DNS 등의 설정을 자동으로 할당하는 프로토콜

  • 라우터나 게이트웨이에 DHCP 기능 탑재 → 가정용 Wi-Fi도 자동배정
  • 수동 설정 필요 없음

NAT (Network Address Translation)

내부 사설 IP ↔ 외부 공인 IP 변환하여 IP 부족 문제 해결

  • 공유기 내부에서 많이 사용
  • 여러 호스트가 공인 IP 하나로 인터넷 접속 가능
  • 내부 IP를 외부에 노출하지 않아 기본적인 보안 효과 존재

NAT 단점

  • 많은 사용자 동시 접속 시 속도 저하 가능
  • 일부 P2P/VoIP/게임 서비스와 호환 문제 발생 가능

위치 추적 가능성

IP 주소는 “지역 네트워크 위치”를 나타내므로

동/구 단위까지 대략적 위치 추적이 가능하다. (정확한 집 주소는 아님)


한 줄 요약

IP 주소는 기기 식별을 위한 네트워크 주소이며, DHCP로 자동할당, NAT로 절약/보안,

IPv6로 확장하는 방향으로 인터넷은 진화해왔다.

HTTP/1.0 → HTTP/1.1 → HTTP/2 → HTTP/3 진화 정리


HTTP/1.0 — “요청마다 연결 1회” (High RTT)

  • 한 연결당 하나의 요청만 처리
    • 요청마다 TCP 3-way handshake → RTT 증가
  • RTT(Round Trip Time) = 패킷이 왕복하는 시간

성능개선 꼼수들

기법 설명 한계
이미지 스프라이트 여러 이미지를 하나로 병합 후 position으로 표시 유지 보수 어려움
코드 Minify 공백/개행 제거로 파일 크기 축소 구조적 개선 아님
Base64 인코딩 HTTP 요청 없이 문자열로 포함 파일 크기 약 +37% 증가

HTTP/1.1 — Persistent Connection (Keep-Alive)

  • TCP 연결 1회로 여러 요청 처리 (keep-alive 기본 적용)
  • 그러나 리소스 개수만큼 직렬 요청 → 대기 증가
  • 문제: HOL Blocking, 무거운 헤더(압축X)

HTTP/2 — 멀티플렉싱 & 최적화 시대

SPDY 기반 개선 — 지연 시간 감소, 병렬성 강화

기능 설명
멀티플렉싱 하나의 TCP 연결에서 여러 Stream 병렬 처리 → HOL Blocking 해결
헤더 압축 (HPACK) 허프만 코딩 기반 압축으로 오버헤드 감소
Server Push 요청 없이 서버가 리소스 선제 전송

HTTPS — SSL/TLS 기반 보안 HTTP

애플리케이션 계층과 전송 계층 사이에 SSL/TLS 추가하여 암호화 + 무결성 + 인증

SSL/TLS 특징

  • 제3자의 도청/변조 차단
  • Handshake로 보안 세션(1-RTT) 생성 후 데이터 송수신
  • 사이퍼 스위트(프로토콜+암호+해싱 규약 조합) 기반
  • 인증서는 CA(공인 인증기관)가 서명하여 신뢰성 보장

SEO 측면 이점

HTTPS 적용 사이트는 검색 랭킹 가산점

  • canonical 설정으로 중복 URL 정규화
  • 적절한 meta 설정으로 크롤링 효율↑
  • 사이트맵 등록으로 인덱싱 정확도↑

구성 방식

  • 서버에 직접 인증서 설치
  • 혹은 LB/CDN(Nginx, Cloudflare) 앞단에서 SSL 처리

HTTP/3 — QUIC 기반 (UDP)

  • TCP 대신 UDP 사용 → 3-way handshake 제거
  • 첫 연결 1-RTT, 재접속 0-RTT 가능
  • QUIC 자체가 전송+보안 통합
  • Forward Error Correction으로 패킷 손실에도 성능 유지
  • HTTP/2의 멀티플렉싱 외 HOL Blocking 개선 효과 유지

한 줄 종합 요약

HTTP는 지연 제거 → 병렬화 → 압축·Push → 보안·복원력 → 연결 시간 단축 방향으로 진화하고 있다.

results matching ""

    No results matching ""