PE Notes · 네트워크
OSI 7계층과 HTTP/3
ISO/IEC 7498의 일곱 층을 TCP/IP 네 층에 맞추고, HTTP/1.1의 줄 막힘이 HTTP/2 멀티플렉싱과 HTTP/3 QUIC에서 어떻게 풀리는지 정리합니다.
벤더마다 규격이 달랐던 시절, 장비끼리 말을 맞추는 일이 먼저였습니다. ISO는 1984년 참조 모델(ISO/IEC 7498)로 통신을 일곱 층으로 나눴습니다. 인터넷이 실제로 도는 스택은 TCP/IP 네 층이고, 웹은 그 위에서 HTTP 버전을 바꿉니다. 계층은 역할을 가리고, HTTP/3는 전송의 줄을 가릅니다.
일곱 층과 PDU
위는 응용·표현·세션입니다. HTTP·메일·이름은 응용, 부호화·압축·는 표현, 대화의 열고 닫음은 세션입니다. 가운데는 전송입니다. 와 가 포트로 끝을 잇습니다. 아래는 네트워크의 논리 주소와 경로, 데이터링크의 프레임과 물리 주소, 물리층의 비트입니다.
단위는 위가 메시지, 전송이 세그먼트, 네트워크가 패킷, 링크가 프레임, 물리가 비트입니다. 허브는 신호만, 스위치는 프레임, 라우터는 패킷, L4 이상은 포트와 내용을 봅니다.
TCP/IP 네 층에 겹치다
현장 스택은 일곱을 넷으로 접습니다. 응용은 OSI 57을 한 자리로 두고, 전송은 그대로 4층, 인터넷은 3층, 네트워크 접근은 12층을 묶습니다. 참조와 구현이 다른 것이 아니라, 세션·표현을 응용 프로세스 안에 넣은 결과에 가깝습니다.
| 비교축 | OSI | TCP/IP |
|---|---|---|
| 층 수 | 7 | 4 |
| 응용 자리 | 응용·표현·세션 | 응용 하나로 합침 |
| 전송 | 4층 | 전송 |
| 경로 | 네트워크 | 인터넷 |
| 매체 | 데이터링크·물리 | 네트워크 접근 |
| 쓰임 | 역할 설명·장비 분류 | 실제 프로토콜 스택 |
답안에 장비를 올릴 때는 층을 먼저 적습니다. 스위치와 라우터를 한 상자로 부르면 경계가 흐려집니다.
HTTP/1.1의 줄, HTTP/3의 갈래
HTTP/1.1은 연결 하나에 요청을 거의 한 줄로 세웁니다. 앞 응답이 늦으면 뒤가 기다립니다. 이것이 응용 층 입니다. 브라우저는 연결을 여러 개 열어 우회했지만, 헤더는 매번 반복됐습니다.
HTTP/2는 바이너리 프레임과 , HPACK으로 한 TCP 연결에 여러 스트림을 태웁니다. 응용 줄은 풀리지만, TCP가 한 세그먼트를 잃으면 그 연결의 모든 스트림이 멈춥니다. 핸드셰이크와 TLS 왕복도 그대로입니다.
(RFC 9114)은 전송을 으로 바꿉니다. QUIC은 UDP 위에 신뢰·암호·스트림을 다시 올립니다. TLS 1.3을 내장해 별도 왕복을 줄이고, 재방문은 까지 내려갑니다. 스트림마다 흐름을 나눠 TCP HOL을 걷습니다. 연결 식별자가 IP와 떨어져, 무선망이 바뀌어도 으로 세션을 유지합니다. 헤더 압축은 QPACK입니다.
| 비교축 | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| 전송 | TCP | TCP | QUIC(UDP) |
| 병렬 | 연결을 여러 개 | TCP 위 다중 스트림 | 스트림이 서로 독립 |
| HOL | 응용·전송 | 전송만 남음 | 없음 |
| 헤더 | 반복 | HPACK | QPACK |
| 연결 비용 | TCP+TLS 왕복 | 같음 | 0~1 RTT |
| 주소 변경 | 끊김 | 끊김 | 연결 ID로 유지 |
웹만 QUIC을 쓰는 것은 아닙니다. 이름 조회와 파일 공유 쪽도 같은 전송을 빌리기 시작합니다. 답안은 계층 지도와 HOL이 어느 층에서 풀리는지를 한 줄에 묶습니다.