Notice
Recent Posts
Link
Tags
- select
- sql
- 스프링
- jpa
- SSL
- 1차원 배열
- hibernate
- 프로그래머스
- join
- nginx
- PYTHON
- spring security 6
- ORM
- ci/cd
- spring mvc
- string
- spring
- 자바
- @transactional
- 데이터베이스
- java
- Docker
- CloudWatch
- mysql
- springboot
- 문자열
- 스프링부트
- Django
- AWS
- spring boot
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Archives
개발하는 자몽
[Network] 네트워크와 OSI 7 계층 4-2: 데이터 단위 본문
🔗이전글: 2026.05.13 - [개발 지식] - [Network] 네트워크와 OSI 7 계층 4-1: L3, IPv4, Packet
계층 별 데이터 단위
- S/W
- User mode
- L7: Process (데이터 단위는 아니지만, 소켓이 하위에 있음을 나타내기 위함)
- 여기에서 Stream은 단위라고 하기 모호하고, 데이터 그 자체 덩어리이다.
- Socket - Stream
- 스트림(Stream)은 시작은 있지만, 끝이 언제라고 정확히 정의할 수 없다. 이 끝은 애플리케이션(프로세스) 수준에서 정의한다. 따라서 데이터를 송수신하는 운영체제의 입장에서는 스트림은 연속적으로 이어진, 크기를 정확히 알 수 없는 큰 데이터이다.
- 소켓(Socket)이라는 어떤 인터페이스가 있으면, 스트림을 소켓에 'write' 한다.
- L7: Process (데이터 단위는 아니지만, 소켓이 하위에 있음을 나타내기 위함)
- Kernel mode (OS)
- L4: TCP - Segment
- L3: IP - Packet
- User mode
- H/W
- L1~L2: Frame
L3 인터넷은 데이터의 단위가 정해져 있고, 최대 크기는 MTU이다. 마찬가지로 세그먼트(Segment)에도 이러한 단어가 존재한다. 바로 MSS(Maximum Segment Size)이다. MTU가 1,500 bytes 이기 때문에 MSS는 특별한 이유가 없다면 1,460 bytes 정도의 크기를 갖는다.
스트림이 MSS보다 큰 경우, 예를 들어 4MB 정도라고 해보자. 이 크기면 MTU와 MSS를 넘어가기 때문에 스트림을 잘라서 분할한다. 따라서 소켓이 L4 TCP로 내려가면 세그먼트화-Segmentation(분할)이 일어나게 된다. 즉 스트림이 MSS 단위로 분할된다. 이후 L3 인터넷의 단위인 MTU에 맞춰 인터넷 환경에서 유통된다.
'개발 지식' 카테고리의 다른 글
| [Network] 네트워크와 OSI 7 계층 4-1: L3, IPv4, Packet (0) | 2026.05.13 |
|---|---|
| [Network] 네트워크와 OSI 7 계층 3: NIC, L2, 브로드캐스트 (0) | 2026.05.09 |
| [Network] 네트워크와 OSI 7 계층 2: 식별자, 호스트, 스위치 (0) | 2026.05.08 |
| [Network] 네트워크와 OSI 7 계층 1: OSI 7 계층과 user mode, kernel mode (0) | 2026.05.07 |
| [Network] STOMP와 SockJS (0) | 2025.01.24 |
Comments