티스토리 뷰
노드와 노드 사이에서 메시지를 주고받기 위해 여러 계층을 사용하여 데이터를 전송합니다. 이 데이터 통신 과정을 여러 계층으로 나눈 구조를 네트워크 계층 모델이라고 합니다.

왜 계층을 나누었을까요?
쉽게 말하면, 관리를 쉽게 하기 위해서입니다. 우리가 큰 문제를 부분으로 쪼개면, 문제가 생겼을 때 해당 단계만 볼 수 있습니다. 또한 해당 단계가 변경되어도 다른 단계에 문제가 없도록 설계하는 것이 문제 해결, 유지보수, 단순화에 좋기 때문에 계층화를 사용합니다.
네트워크 계층 모델로 유명한 두 가지 모델이 있습니다: OSI 7계층과 TCP/IP 4계층입니다.
OSI 7계층 (OSI 7 Layer)
OSI 7계층 모델은 통신단계를 일곱 개의 계층으로 나누어 설명하는 모델로, 각 계층은 특정 기능을 담당하고 있습니다.
- 물리 계층 (Physical Layer):
- 데이터를 0과 1로 표현되는 비트를 주고받는 계층입니다. 비트 데이터 변환이 일어납니다.
- 데이터 링크 계층 (Data Link Layer):
- 물리 계층에서 전송된 데이터를 프레임 단위로 변환하고, 받은 데이터의 유효성검사 등을 관리합니다.
- MAC주소를 통해 송/수신지를 측정합니다.
- LAN에 사용되는 기술들이 데이터링크 층에서 사용됩니다.
- 네트워크 계층 (Network Layer):
- 다른 네트워크에 속한 수신지까지 데이터를 전달합니다.
- IP 주소를 사용하여 송/수신지를 측정합니다.
- 네트워크와 네트워크간의 통신이기 때문에 인터넷이 여기에 속합니다.
- 전송 계층 (Transport Layer):
- 데이터 전송의 신뢰성을 보장합니다. 패킷의 유효성 검사 및 데이터의 순서를 제어합니다.
- 포트를 통해 실행중인 응용프로그램을 식별합니다.
- TCP, UDP 프로토콜이 사용됩니다.
- 세션 계층 (Session Layer):
- 세션은 관리합니다. 세션은 호스트의 응용 프로그램 간 연결 상태를 의미합니다.
- 세션의 생성, 유지, 종료 등을 담당합니다.
- 표현 계층 (Presentation Layer):
- 데이터의 표현 형식을 사람이 이해할 수 있게 변환합니다. 암호화 및 압축 등의 작업을 수행합니다.
- 응용 계층 (Application Layer):
- 사용자와 직접 상호작용하는 애플리케이션 서비스를 제공합니다.
- 이메일, 파일 전송, 웹 브라우징 등의 애플리케이션 프로토콜이 포함됩니다.
- HTTP, FTP, SMTP 등이 여기에 해당됩니다.
이러한 계층 구조를 통해 네트워크 통신을 체계적으로 관리하고, 각 계층이 독립적으로 설계되고 동작할 수 있도록 합니다.
하지만 OSI 7계층은 네트워크를 이론적으로 기술하고 이해할때 사용하는 모델입니다.
TCP/IP모델이 실용적 구현에 더 가깝습니다.
TCP/IP 모델
TCP/IP 모델은 인터넷 및 기타 네트워크에서 데이터를 전송하기 위한 프로토콜 모음으로, 네 개의 계층으로 구성되어 있습니다. 각 계층은 특정 기능을 담당합니다. 아래는 TCP/IP 모델의 계층별 설명입니다:
- 네트워크 인터페이스 계층 (Network Interface Layer):
- 데이터가 물리적으로 네트워크를 통해 전송되는 방식을 정의합니다.
- 물리 계층과 데이터 링크 계층의 기능을 포함하며, 하드웨어와 관련된 모든 요소를 다룹니다.
- 이더넷, Wi-Fi 등 다양한 네트워크 기술과 매체가 포함됩니다.
- 이 계층은 OSI 모델의 물리 / 데이터링크 계층 기능을 포함합니다.
- 인터넷 계층 (Internet Layer):
- 데이터 패킷이 네트워크를 통해 목적지까지 도달하는 경로를 설정하고 관리합니다.
- 이 계층은 OSI 모델의 네트워크 계층과 유사한 역할을 합니다.
- 전송 계층 (Transport Layer):
- 데이터 전송을 관리하고, 데이터의 정확한 전송을 보장합니다.
- 이 계층은 OSI 모델의 전송 계층과 유사한 역할을 합니다.
- 응용 계층 (Application Layer):
- 사용자와 직접 상호작용하는 애플리케이션 프로토콜을 제공합니다.
- 이 계층은 OSI 모델의 세션, 표현, 응용 계층의 기능을 모두 포함합니다.
캡슐화 / 역캡슐화
계층을 살펴보면, 계층이 높아질수록 전기 신호에서 사용자에 가깝게 변하는 것을 볼 수 있습니다. 실제로 데이터를 받는 호스트는 낮은 계층에서 높은 계층으로 데이터를 받게 되고, 데이터를 전달하는 호스트는 높은 계층에서 낮은 계층으로 데이터를 전달합니다.
인터넷은 데이터를 쪼개는 패킷 교환 방식을 사용합니다. 사용자가 메시지 전송 버튼을 누르면, 메시지는 계층을 내려갈수록 분할 작업을 거치며, 결국 전기 신호로 변환되어 상대방에게 전달됩니다.
계층별로 데이터가 분할되고, 각 계층에서 사용하는 프로토콜이 다르기 때문에, 각 계층은 데이터를 해당 계층의 규격에 맞게 변환합니다. 데이터를 전달할 때는 계층별로 데이터를 포장하는 과정을 거치는데, 이를 캡슐화(encapsulation)라고 합니다. 반대로, 데이터를 받는 입장에서는 낮은 계층에서부터 데이터를 하나씩 풀어가며 전달받는데, 이를 역캡슐화(decapsulation)라고 합니다.
실제 UDP를 사용하는 TCP/IP 계층의 데이터 프로토콜을 모은 사진입니다. 아래로 내려가면서 캡슐화 과정을 거치면서 메세지 규격이 커지는 것을 볼 수 있습니다. 사진을 자세히 보시면 각 계층별로 메세지의 단위가 다른걸 볼 수 있습니다. 데이터링크 계층은 Frame, 인터넷은 IP Data, 전송 계층은 UDP Data(Datagram), 응용 계층은 Data를 사용하고 있는데요 이것을 PDU(Protocol Data Unit) 이라고 합니다.
Q. 인터넷 계층 패킷쓴다면서요 왜 IP Data를 쓰나요?
패킷 교환 네트워크에서 쪼개서 전송하는 단위를 패킷이라고 쓰기 때문에, IP data, IP Packet 이라고 좀 더 특수하게 부르기도 하는 것 같습니다.
'Network' 카테고리의 다른 글
이더넷(Ethernet) 프로토콜이란? (0) | 2024.07.01 |
---|---|
네트워크 성능 평가하기 (0) | 2024.06.29 |
메세지 교환방식에 따른 네트워크 분류 (0) | 2024.06.29 |
범위에 따른 네트워크 분류 (Area Network) (0) | 2024.06.29 |
네트워크란? (0) | 2024.06.28 |
- Total
- Today
- Yesterday
- 54. spiral matrix
- 알고리즘
- 이더넷이란
- leetcode334
- Algorithm
- 광역망
- 인터넷프로토콜이란
- 클래스리스주소체계
- letter case permutation
- arp응답
- 롤링업데이트
- leetcode 295. find median from data stream
- 테라폼구축
- 네트워크정의
- leetcode 54. spiral matrix
- 프로그래머스
- 클래스풀주소체계
- increasing-triplet-subsequence
- 네트워크분류
- 네트워크처리율
- leetcode
- 블루/그린
- leetcode 17. letter combinations of a phone number
- 네트워크패킷로스
- 네트워크성능평가
- 122. best time to buy and sell stock ii
- 이더넷뜻
- leetcode 295
- 네트워크허브
- 이더넷프로토콜
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |