티스토리 뷰
TCP/IP 4계층 모델과 OSI 7계층 모델에 대해 각각 설명하고, 두 모델을 비교해보세요.
OSI 7계층 모델
ISO(국제표준화기구)에서 만든 개념적인 네트워크 표준 모델 통신 과정을 아주 세밀하게 7단계로 나누어 설명
| 계층 | 명칭 | 데이터 단위 | 주요 역할 및 특징 | 대표 프로토콜 |
| L7 | 응용 (Application) | Data | 사용자 인터페이스, 네트워크 서비스 제공 | HTTP, FTP, SMTP |
| L6 | 표현 (Presentation) | Data | 데이터 형식 변환, 암호화, 압축 | SSL/TLS, JPEG, MPEG |
| L5 | 세션 (Session) | Data | 통신 세션 유지 및 관리 | SSH, RPC |
| L4 | 전송 (Transport) | Segment | 종단 간 신뢰성 있는 전송, 흐름 제어 | TCP, UDP |
| L3 | 네트워크 (Network) | Packet | 목적지 주소(IP) 경로 설정 (라우팅) | IP, ICMP, ARP |
| L2 | 데이터 링크 (Data Link) | Frame | 물리적 매체 간 신뢰성 있는 전송 | Ethernet, Wi-Fi |
| L1 | 물리 (Physical) | Bit | 전기적/물리적 신호 전달 | 케이블, 허브, 리피터 |
TCP/IP 4계층 모델
OSI 7계층이 '이론을 위한 완벽한 모델'이라면, TCP/IP 4계층은 현재 우리가 실제로 사용하는 인터넷의 핵심 모델
| 계층 | 명 | 데이터 단위 | 주요 역할 및 특징 | 관련 OSI 계층 |
| L4 | 응용 (Application) | Data / Message | 응용 프로그램 간 데이터 송수신 | L5, L6, L7 |
| L3 | 전송 (Transport) | Segment | 프로세스 간 통신 및 신뢰성 보장 | L4 |
| L2 | 인터넷 (Internet) | Packet | 네트워크 간 패킷 전송 및 라우팅 | L3 |
| L1 | 네트워크 접속(Network Access) | Frame / Bit | 물리적 네트워크 하드웨어 제어 | L1, L2 |

비교
| 비교 항목 | OSI 7계층 | TCP/IP 4계층 |
| 역할 및 성격 | 네트워크 통신 과정을 이해하기 위한 '이론적/개념적 모델' | 현재 인터넷에서 실제로 사용되고 있는 '실무적/표준 모델' |
| 개발 배경 및 순서 | 시스템 간 호환성을 위해 모델이 먼저 설계된 후 프로토콜이 개발됨 | 미 국방성(DoD)에서 실질적인 통신을 위해 프로토콜을 먼저 사용하다가 나중에 모델링 됨 |
| 계층 구조 | 7단계 (과정이 세분화되어 있어, 통신 문제 발생 시 원인 파악과 진단에 유리) | 4단계 (비슷한 역할을 묶어 단순화하여, 효율성과 실용성 극대화) |
| 설계 초점 | 각 계층의 완벽한 독립성과 명확한 역할 분담 | 인터넷 환경에서의 신뢰성 확보와 빠른 데이터 전송 |
| 응용 계층의 차이 | 애플리케이션의 역할을 세션(L5), 표현(L6), 응용(L7)으로 엄격하게 나눔 | 실무에서는 L5~L7의 구분이 모호하므로, 하나로 묶어 응용 계층(L4)으로 통폐합함 |
요약
OSI 7계층은 네트워크 공부를 위한 교과서라면, TCP/IP 4계층은 현업에서 매일 쓰는 실전 메뉴얼
전송 계층에서 TCP와 UDP의 차이점은 무엇이며, 각각 어떤 상황에서 사용하는 것이 적절한가요?
L4 계층은 하위 계층(물리, 데이터 링크, 네트워크)을 통해 넘어온 데이터를 프로세스/애플리케이션에 안전하게 전달하는 역할
이때 '어떤 방식으로 전달할 것인가'를 결정하는 것이 바로 TCP와 UDP

TCP (Transmission Control Protocol)
TCP는 연결 지향형 프로토콜로, 송신측과 수신측의 논리적 연결을 먼저 확립한 뒤 데이터를 주고받는다
주요 특징
3-Way Handshake: 데이터 전송 전, 서로 연결 가능한 상태인지 3단계에 걸쳐 확인
흐름 제어(Flow Control): 수신자가 처리할 수 있는 양만큼만 데이터를 보냄
혼잡 제어(Congestion Control): 네트워크가 혼잡하면 전송 속도를 조절
오류 검출: 데이터가 깨지거나 분실되면 다시 보냄
사용 사례 : 데이터 조금이라도 누락되면 안 되는 서비스
웹 서핑(HTTP/HTTPS): 페이지 내용이 일부라도 빠지면 안 됨
파일 전송(FTP): 파일 데이터의 완결성이 중요함
이메일(SMTP): 내용이 정확하게 전달되어야 함
UDP(User Datagram Protocol)
UDP는 비연결형 프로토콜로, 정보를 주고받을 때 신호 절차를 거치지 않고 일방적으로 데이터를 던짐
주요특징
비연결형: 사전 연결 설정 없이 바로 전송
오버헤드 최소화: 헤더가 매우 가벼워(8 Byte) 데이터 처리 속도가 압도적으로 빠름
수동적 전달: 데이터가 잘 도착했는지 확인하지 않으며, 순서 보장이나 재전송도 하지 않음
사용 사례 : 끊김 없는 실시간성이 중요한 서비스
실시간 스트리밍: 영상이 아주 잠깐 끊기더라도 계속 재생되는 게 중요함.
온라인 게임: 빠른 반응 속도가 생명인 FPS나 RPG 게임
보이스톡(VoIP): 음성이 약간 뭉개져도 실시간 대화가 유지되어야 함
DNS: 빠른 주소 변환이 필요함
한줄 요약
신뢰성이 중요하다면 TCP, 실시간성이 중요하다면 UDP
