[Network/Bridge] OSI Model Network Layer

녹차·2026년 3월 8일

Network

목록 보기
15/15

Introduction

C++ 게임 서버를 개발하기 위해서는 네트워크 통신 구조에 대한 이해가 필수적입니다. 그리고 네트워크 통신을 제대로 다루기 위해서는, 그 기반이 되는 OSI Model과 TCP/IP Model에 대한 기본적인 지식이 선행되어야 합니다.

이전 글에서 데이터 링크에 대해서 알아보았다면, 이번 글에서는 OSI 모델의 네트워크(Network) 을 중심으로 네트워크 통신의 가장 기초적인 부분을 살펴보겠습니다.

(이 글은 여러 기술 문서와 교재 등 다양한 자료를 참고하였습니다.)

Body

What is "Network layer"?

네트워크 계층(Network Layer)은 서로 다른 네트워크 간에 데이터를 전달할 수 있도록 해주는 계층입니다. 데이터 링크 계층이 이더넷(Ethernet) 을 기반으로 같은 네트워크(LAN) 내부의 장치들끼리 데이터의 전송할 수 있도록 한다면, 네트워크 계층은 그 범위를 넘어 다른 네트워크로 데이터를 전달하는 역할을 담당합니다.

[Wikipedia]
The network layer is responsible for packet forwarding including routing through intermediate routers.

이 계층에서는 데이터를 목적지까지 전달하기 위해 IP 주소를 사용하여 각 장치를 식별합니다. 또한 데이터가 목적지 네트워크까지 도달할 수 있도록 어떤 경로로 이동해야 하는지 결정하는 라우팅 기능도 수행합니다.

Q1, Data Link Layer에서는 MAC Address 아니었나요?

네트워크 계층에서 사용되는 대표적인 프로토콜이 바로 IP(Internet Protocol) 입니다. 인터넷에서 이루어지는 대부분의 데이터 통신은 이 IP를 기반으로 이루어지며, 서로 다른 네트워크 간의 통신을 가능하게 합니다.

또한 다른 네트워크로 데이터를 전달하기 위해서는 라우터(Router)라는 네트워크 장비가 필요합니다. 라우터는 여러 네트워크를 연결하고, 데이터가 목적지까지 올바른 경로로 전달할 수 있도록 중간에서 전달하는 역할을 수행합니다.

IP Address & Structure

네트워크 계층에서는 캡슐화할 때 IP 헤더를 붙입니다. 13개의 필드에 대한 자세한 내용은 아래 링크를 참조하면 됩니다.

이처럼 IP 프로토콜을 이용해 캡슐화를 수행하면 데이터 앞에 IP 헤더가 추가되며, 이렇게 만들어진 데이터 단위를 IP 패킷(IP Packet) 이라고 합니다.

데이터 링크 계층에서의 데이터 단위를 프레임(Frame) 이라고 부르는 것과 달리, 네트워크 계층에서는 데이터 단위를 IP 패킷이라고 부른다는 차이가 있습니다.

IPv4 & IPv6

.
.
.

Public IP Address & Private IP Address

.
.
.

Network ID & Host ID

.
.
.

IP Address Class

.
.
.

Network Address & Broadcast Address

.
.
.

Subnet Structure

What is "Subnet"

.
.
.

What is "Subnet Mask"

.
.
.

Router Structure

What is "Router"

.
.
.

What is "Routing"

.
.
.

Conclusion

Reference

[wikipedia]

[ComputerNetworkNote]

profile
CK23 Game programmer

0개의 댓글