CS

[CS 스터디] 5주차 OSI 7 계층 & TCP/IP 모델

2025년 04월 20일 22:29

[5주차] OSI 7 계층 & TCP/IP 모델

  • OSI 7 계층 (각 계층의 역할과 대표 프로토콜)
  • TCP/IP 4계층 모델
  • HTTP vs HTTPS
  • HTTP 상태 코드 (2xx, 3xx, 4xx, 5xx)


🔵 OSI 7 계층 (각 계층의 역할과 대표 프로토콜)

osi 7 layer

네트워크 통신을 7단계로 나눈 참조모델이다. 각 계층은 데이터를 단계별로 처리하며, 계층 간에는 정해진 방식으로만 데이터를 주고받는다.

계층이름전송 단위주요 역할주요 프로토콜/기술
7Application데이터사용자와 직접 상호작용HTTP, HTTPS, FTP, SMTP, DNS, Telnet, WebSocket
6Presentation데이터데이터 표현, 인코딩/암호화SSL, TLS, JPEG, MPEG, ASCII, XML, JSON
5Session데이터세션 관리, 대화 제어NetBIOS, PPTP, RPC, SOCKS, OAuth
4Transport세그먼트/데이터그램신뢰성 보장, 흐름 제어TCP, UDP
3Network패킷라우팅, IP 기반IP, ICMP, ARP, RIP, OSPF, BGP
2Data Link프레임물리적 전송 단계, MAC 기반Ethernet, Wi-Fi(802.11), PPP, Frame Relay
1Physical비트신호 전송, 케이블.무선 등 물리 매체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, 서브넷팅, 패킷 포워딩

역할

같은 네트워크 내의 기기 간 데이터 전송을 담당하며, 오류 감지, 충돌 처리, 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 LayerIP 주소 기반의 라우팅 및 패킷 전송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

항목HTTPHTTPS
보안성없음 (평문 전송)SSL/TLS를 통한 암호화 전송
기본 포트80443
인증서 사용없음필요 (인증기관에서 발급된 SSL 인증서)
데이터 보호없음도청 및 위변조 방지
사용 사례공개 정보 제공 (테스트 서버 등)로그인, 결제, 개인정보 처리 등
URL 예시http://example.comhttps://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)

상태 코드 범주

범주코드 범위의미대표 코드 및 설명
1xx100~199처리 중 (정보 제공)100 Continue: 요청 계속 진행 가능
2xx200~299성공200 OK: 성공
201 Created: 리소스 생성됨
3xx300~399리다이렉션301 Moved Permanently: 영구 이동
302 Found: 임시 이동
4xx400~499클라이언트 오류400 Bad Request: 문법 오류
401 Unauthorized: 인증 필요
404 Not Found
5xx500~599서버 오류500 Internal Server Error: 서버 내부 오류
503 Service Unavailable: 점검 중
  • 200 OK: 정상 처리 완료
  • 301/302: 페이지 이동
  • 400: 잘못된 요청
  • 401: 인증 실패
  • 403: 권한 없음
  • 404: 존재하지 않는 리소스
  • 500: 서버 문제