뒤로가기
[5주차] OSI 7 계층 & TCP/IP 모델
- OSI 7 계층 (각 계층의 역할과 대표 프로토콜)
- TCP/IP 4계층 모델
- HTTP vs HTTPS
- HTTP 상태 코드 (2xx, 3xx, 4xx, 5xx)
🔵 OSI 7 계층 (각 계층의 역할과 대표 프로토콜)
네트워크 통신을 7단계로 나눈 참조모델이다. 각 계층은 데이터를 단계별로 처리하며, 계층 간에는 정해진 방식으로만 데이터를 주고받는다.
계층 | 이름 | 전송 단위 | 주요 역할 | 주요 프로토콜/기술 |
---|---|---|---|---|
7 | Application | 데이터 | 사용자와 직접 상호작용 | HTTP, HTTPS, FTP, SMTP, DNS, Telnet, WebSocket |
6 | Presentation | 데이터 | 데이터 표현, 인코딩/암호화 | SSL, TLS, JPEG, MPEG, ASCII, XML, JSON |
5 | Session | 데이터 | 세션 관리, 대화 제어 | NetBIOS, PPTP, RPC, SOCKS, OAuth |
4 | Transport | 세그먼트/데이터그램 | 신뢰성 보장, 흐름 제어 | TCP, UDP |
3 | Network | 패킷 | 라우팅, IP 기반 | IP, ICMP, ARP, RIP, OSPF, BGP |
2 | Data Link | 프레임 | 물리적 전송 단계, MAC 기반 | Ethernet, Wi-Fi(802.11), PPP, Frame Relay |
1 | Physical | 비트 | 신호 전송, 케이블.무선 등 물리 매체 | UTP, 광섬유, RS-232, 모뎀, 허브, 리피터 |
1. Application Layer
역할
사용자가 직접 사용하는 웹 브라우저, 이메일 클라이언트, 메신저 등 응용 프로그램이 네트워크와 상호작용하도록 합니다. 데이터 생성/해석이 이 계층에서 이뤄지며, 사용자와 가장 밀접한 계층입니다.
예시
브라우저에서 URL을 입력 → HTTP 요청 → 웹 서버 응답 → 웹페이지 출력
주요 프로토콜
- HTTP/HTTPS: 웹 문서 전송
- SMTP, IMAP, POP3: 이메일
- DNS: 도메인 → IP 주소 변환
- FTP, SFTP: 파일 전송
- WebSocket: 실시간 통신
- REST API, GraphQL, gRPC: 현대적 서비스 인터페이스
2. Presentation Layer
역할
데이터의 표현 형식을 처리합니다. 서로 다른 시스템 간 데이터 인코딩, 압축, 암호화/복호화 등을 수행하며, 하위 계층이 이해할 수 있도록 데이터를 변환합니다.
예시
- 서로 다른 문자 인코딩(UTF-8 ↔ UTF-16) 변환
- SSL/TLS를 통한 암호화 처리
- JSON 직렬화, MIME 타입 처리
주요 기능
- 인코딩/디코딩
- 압축/해제 (예: gzip)
- 암호화/복호화 (SSL, TLS)
- 직렬화/역직렬화 (JSON, XML)
3. Session Layer
역할
애플리케이션 간 세션 수립, 유지, 종료를 관리하며, 대화의 시작-종료 시점과 복구 지점을 제어합니다. 동시에 여러 세션이 있더라도 각각을 독립적으로 관리합니다.
예시
온라인 은행 로그인 이후, 각 사용자의 요청은 독립된 세션으로 처리됨. WebSocket 커넥션 유지, OAuth 로그인 처리 등도 포함됩니다.
주요 기능
- 세션 관리 (connect-disconnect)
- 상태 유지 (로그인 정보 등)
- 동기화 및 체크포인트
4. Transport Layer
역할
양 끝단 간의 신뢰성 있는 데이터 전송을 담당하며, 오류 복구, 흐름 제어, 혼잡 제어 등을 수행합니다.
주요 프로토콜
- TCP: 연결 지향, 신뢰성 보장, 3-way handshake
- UDP: 비연결, 빠른 전송, 실시간 스트리밍
핵심 기능
- 오류 감지 및 재전송
- 흐름 제어 (Flow Control)
- 혼잡 제어 (Congestion Control)
- 멀티플렉싱 (여러 포트를 공유)
5. Network Layer
역할
송신지에서 목적지까지 데이터 패킷을 전달하며, 라우팅 및 논리 주소(IP) 기반으로 경로를 결정합니다. 전송 단위는 패킷(Packet)입니다.
예시
라우터가 목적지 IP에 따라 패킷을 전달 Ping, TraceRoute 등의 도구가 이 계층을 사용함
주요 프로토콜 및 기능
- IP (IPv4, IPv6)
- ICMP (Ping, 오류 메시지 전달)
- 라우팅 프로토콜 (OSPF, BGP)
- NAT, 서브넷팅, 패킷 포워딩
6. Data Link Layer
역할
같은 네트워크 내의 기기 간 데이터 전송을 담당하며, 오류 감지, 충돌 처리, MAC 주소 기반 통신 등을 수행합니다. 전송 단위는 프레임(Frame)입니다.
예시
스위치가 MAC 주소 기반으로 프레임을 전달함 이더넷, Wi-Fi 등은 이 계층에서 동작
주요 기능
- 프레임 생성 및 전송
- MAC 주소 기반 통신
- 오류 검출 (CRC)
- 흐름 제어, 충돌 감지 (CSMA/CD)
7. Physical Layer
역할
비트를 전기/광/무선 신호로 변환하여 전송하며, 전압, 주파수, 케이블 종류 등 하드웨어적 신호 전달 방식 정의합니다.
예시
이더넷 케이블, 광섬유, 무선 주파수, 모뎀, 허브 등 데이터를 신호로 바꿔서 물리적 전송을 담당함
주요 요소
- 전압/주파수/전송 속도
- 전송 매체 (UTP, 광섬유, 무선)
- 변조/복조 (modulation/demodulation)
- 신호 동기화
🔵 TCP/IP 4계층 모델
실제 인터넷 및 네트워크에서 가장 널리 사용되는 실용 모델입니다. OSI 모델보다 계층 수가 적고 단순하지만 역할은 포괄적입니다.
TCP/IP 계층 | 주요 역할 | OSI 대응 계층 | 주요 프로토콜/기술 |
---|---|---|---|
Application Layer | 응용 간 통신, 데이터 표현, 세션 관리 | OSI 5 ~ 7계층 통합 | HTTP, FTP, SMTP, DNS, SSH, Telnet |
Transport Layer | 종단 간 신뢰성 보장, 흐름/혼잡 제어 | OSI 4계층 | TCP, UDP |
Internet Layer | IP 주소 기반의 라우팅 및 패킷 전송 | OSI 3계층 | IP, ICMP, ARP, IGMP, RIP, OSPF, BGP |
Network Access Layer | 물리적 네트워크 전송 (LAN, MAC 주소 등) | OSI 1~2계층 통합 | Ethernet, Wi-Fi, ARP, PPP, Frame Relay |
🔵 HTTP vs HTTPS
항목 | HTTP | HTTPS |
---|---|---|
보안성 | 없음 (평문 전송) | SSL/TLS를 통한 암호화 전송 |
기본 포트 | 80 | 443 |
인증서 사용 | 없음 | 필요 (인증기관에서 발급된 SSL 인증서) |
데이터 보호 | 없음 | 도청 및 위변조 방지 |
사용 사례 | 공개 정보 제공 (테스트 서버 등) | 로그인, 결제, 개인정보 처리 등 |
URL 예시 | http://example.com | https://example.com |
HTTP는 클라이언트(브라우저)와 서버 간의 요청-응답을 처리하는 가장 기본적인 웹 통신 프로토콜입니다. 그러나 암호화되지 않은 평문 전송 방식을 사용하기 때문에 중간자가 패킷을 가로채면 내용을 쉽게 확인할 수 있습니다. 따라서 보안이 필요한 서비스에는 적합하지 않습니다.
HTTPS는 HTTP 위에 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security) 계층을 추가한 보안 버전입니다. 통신 데이터를 암호화하여 도청, 위·변조, 피싱 공격 등을 방지할 수 있으며, 서버는 클라이언트에게 디지털 인증서를 제공해 신뢰를 확보합니다.
HTTPS를 사용하려면 서버가 CA(Certificate Authority) 로부터 발급받은 인증서를 갖고 있어야 하며, 사용자는 이 인증서를 통해 웹사이트의 진위 여부를 확인할 수 있습니다.
또한, 최신 브라우저는 HTTPS를 사용하지 않는 사이트에 대해 “보안되지 않음” 경고를 표시하고 있으며, SEO(검색엔진 최적화) 측면에서도 HTTPS를 사용하는 사이트가 더 유리합니다.
🔵 HTTP 상태 코드 (2xx, 3xx, 4xx, 5xx)
상태 코드 범주
범주 | 코드 범위 | 의미 | 대표 코드 및 설명 |
---|---|---|---|
1xx | 100~199 | 처리 중 (정보 제공) | 100 Continue : 요청 계속 진행 가능 |
2xx | 200~299 | 성공 | 200 OK : 성공201 Created : 리소스 생성됨 |
3xx | 300~399 | 리다이렉션 | 301 Moved Permanently : 영구 이동302 Found : 임시 이동 |
4xx | 400~499 | 클라이언트 오류 | 400 Bad Request : 문법 오류401 Unauthorized : 인증 필요404 Not Found |
5xx | 500~599 | 서버 오류 | 500 Internal Server Error : 서버 내부 오류503 Service Unavailable : 점검 중 |
200 OK
: 정상 처리 완료301/302
: 페이지 이동400
: 잘못된 요청401
: 인증 실패403
: 권한 없음404
: 존재하지 않는 리소스500
: 서버 문제
CS 카테고리와 관련된 최신 글
[CS 스터디] 8주차 로드 밸런싱, 웹 서버 & WAS 차이
[CS 스터디] 7주차 IP + HTTP & HTTPS + TLS/SSL + 쿠키 & 세션
[CS 스터디] 6주차 TCP, UDP, 흐름 제어 / 혼잡 제어
[CS 스터디] 5주차 OSI 7 계층 & TCP/IP 모델
[CS 스터디] 4주차 동기화 문제 + 세마포어 & 뮤텍스