CS
[CS 스터디] 5주차 OSI 7 계층 & TCP/IP 모델
[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, 모뎀, 허브, 리피터 | Application Layer 역할 사용자가 직접 사용하는 웹 브라우저, 이메일 클라이언트, 메신저 등 응용 프로그램이 네트워크와 상호작용하도록 합니다. 데이터 생성/해석이 이 계층에서 이뤄지며, 사용자와 가장 밀접한 계층입니다. 예시 브라우저에서 URL을 입력 → HTTP 요청 → 웹 서버 응답 → 웹페이지 출력 주요 프로토콜 HTTP/HTTPS: 웹 문서 전송 SMTP, IMAP, POP3: 이메일 DNS: 도메인 → IP 주소 변환 FTP, SFTP: 파일 전송 WebSocket: 실시간 통신 REST API, GraphQL, gRPC: 현대적 서비스 인터페이스 Presentation Layer 역할 데이터의 표현 형식을 처리합니다. 서로 다른 시스템 간 데이터 인코딩, 압축, 암호화/복호화 등을 수행하며, 하위 계층이 이해할 수 있도록 데이터를 변환합니다. 예시 서로 다른 문자 인코딩(UTF-8 ↔ UTF-16) 변환 SSL/TLS를 통한 암호화 처리 JSON 직렬화, MIME 타입 처리 주요 기능 인코딩/디코딩 압축/해제 (예: gzip) 암호화/복호화 (SSL, TLS) 직렬화/역직렬화 (JSON, XML) Session Layer 역할 애플리케이션 간 세션 수립, 유지, 종료를 관리하며, 대화의 시작-종료 시점과 복구 지점을 제어합니다. 동시에 여러 세션이 있더라도 각각을 독립적으로 관리합니다. 예시 온라인 은행 로그인 이후, 각 사용자의 요청은 독립된 세션으로 처리됨. WebSocket 커넥션 유지, OAuth 로그인 처리 등도 포함됩니다. 주요 기능 세션 관리 (connect-disconnect) 상태 유지 (로그인 정보 등) 동기화 및 체크포인트 Transport Layer 역할 양 끝단 간의 신뢰성 있는 데이터 전송을 담당하며, 오류 복구, 흐름 제어, 혼잡 제어 등을 수행합니다. 주요 프로토콜 TCP: 연결 지향, 신뢰성 보장, 3-way handshake UDP: 비연결, 빠른 전송, 실시간 스트리밍 핵심 기능 오류 감지 및 재전송 흐름 제어 (Flow Control) 혼잡 제어 (Congestion Control) 멀티플렉싱 (여러 포트를 공유) Network Layer 역할 송신지에서 목적지까지 데이터 패킷을 전달하며, 라우팅 및 논리 주소(IP) 기반으로 경로를 결정합니다. 전송 단위는 패킷(Packet)입니다. 예시 라우터가 목적지 IP에 따라 패킷을 전달 Ping, TraceRoute 등의 도구가 이 계층을 사용함 주요 프로토콜 및 기능 IP (IPv4, IPv6) ICMP (Ping, 오류 메시지 전달) 라우팅 프로토콜 (OSPF, BGP) NAT, 서브넷팅, 패킷 포워딩 Data Link Layer 역할 같은 네트워크 내의 기기 간 데이터 전송을 담당하며, 오류 감지, 충돌 처리, MAC 주소 기반 통신 등을 수행합니다. 전송 단위는 프레임(Frame)입니다. 예시 스위치가 MAC 주소 기반으로 프레임을 전달함 이더넷, Wi-Fi 등은 이 계층에서 동작 주요 기능 프레임 생성 및 전송 MAC 주소 기반 통신 오류 검출 (CRC) 흐름 제어, 충돌 감지 (CSMA/CD) 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: 서버 문제
2025년 04월 20일 13:29
