본 포스트는 OSI 7계층과 TCP/IP 4계층을 얕게 정리한 포스트입니다.
🧐 용어 정리
Host: 네트워크에 연결된 장치Process: 실행중인 프로그램NIC: LAN 카드
4️⃣ ( 4계층 )애플리케이션 계층 ( Application Layer )
OSI의 세션 계층(L5) + 표현 계층(L6) + 응용 계층(L7)
Process들이 동작하는 계층
Process들끼리 데이터를 교환하기 위해 사용
사용 프로토콜 ( Protocol )
HTTP/HTTPS: 웹에서 데이터를 송ꞏ수신할 때 사용
3️⃣ ( 3계층 ) 전송 계층 ( Transport Layer )
OSI의 전송 계층(L4)
통신 노드간의 연결 및 데이터(Segment) 전송
Port 번호를 이용해서 송ꞏ수신할 애플리케이션을 찾음
패킷을 Segment이라는 단위로 부름
Port번호:Process를 식별할 수 있는 식별자 (Socket에 바인딩 됨 )
사용 프로토콜 ( Protocol )
TCP: 연결 지향적, 신뢰성, 속도 느림(3-way-handshake,4-way-handshake)UDP: 비연결 지향적, 비신뢰성, 속도 빠름
TCP와UDP의 속도 느림/빠름은 상대적인 의미입니다.
2️⃣ ( 2계층 ) 인터넷 계층 ( Internet Layer )
OSI의 네트워크 계층(L3)
통신 노드 간의 데이터(Packet) 가장 효율적이고 빠르게 전송하는 역할
IP주소를 이용한 라우팅을 통해 라우터들을 이동하면서 목적지 Host로 이동하는 역할
패킷을 Packet이라는 단위로 부름
IP주소:Host를 식별할 수 있는 식별자
사용 프로토콜 ( Protocol )
IP: 송ꞏ수신Host가 네트워크에서 데이터(Packet)를 주고받는 데 사용ARP:IP주소를 이용해서MAC주소를 얻을 때 사용
1️⃣ ( 1계층 ) 네트워크 엑세스 계층 ( Network Access Layer )
OSI의 물리 계층(L1) + 데이터 링크 계층(L2)
목적지 호스트로 갈 수 있도록 MAC 주소를 이용해서 이동
패킷을 전기적 신호로 변환하여 전달
패킷을 Frame이라는 단위로 부름
MAC주소: 특정 호스트의NIC의 주소(HardWare주소)
사용 프로토콜 ( Protocol )
Ethernet:MAC주소를 이용하여 데이터(Frame)를 송ꞏ수신할 때 사용
1. 물리 계층 ( Physical Layer )
패킷을 encoding/decoding해서 전기적 신호로 변환하여 전달하는 역할
2. 데이터 링크 계층 ( Data Link Layer )
같은 네트워크에 있는 여러 장치가 주고 받는 데이터를 구분하는 역할
🤔 TCP/IP 데이터 송ꞏ수신 흐름
각 계층을 내려오면서 해당 프로토콜에 맞는 헤더 + 패킷 형태로 새로운 패킷이 만들어집니다.
- 예시
- 4계층 =>
data - 3계층 => [
TCP header+ (data)] =>Segment(TCP header에는Port번호가 포함 ) - 2계층 => [
IP header+ (TCP header+ (data) )] =>Packet(IP header에는IP주소가 포함 ) - 1계층 => [
Ethernet header+ (IP header+ (TCP header+ (data) ) )] =>Frame(Ethernet header에는MAC주소가 포함 )
- 4계층 =>