네트워크 계층의 역할은?
우리가 인터넷으로 메시지를 보낼 때, 그 메시지는 여러 계층을 거쳐 전달된다. 그중 네트워크 계층은 “데이터를 어디로 보낼까?“를 결정해주는 길잡이 역할이다.
sender 측:
- 우리가 보내는 메시지는 먼저 전송 계층(예: TCP)의 ‘세그먼트’ 형태로 있다.
- 이걸 네트워크 계층이 받아서 IP 데이터그램이라는 형태로 감싸준다. (= 캡슐화)
receive 측:
- 도착한 IP 데이터그램을 받아서 껍질(헤더)을 벗겨내고, 전송 계층으로 전달해준다.
- 이렇게 해야 웹페이지나 이메일 같은 데이터를 정확하게 처리할 수 있다.
처리:
- 호스트(PC, 스마트폰)와 라우터 모두 네트워크 계층 기능을 가지고 있다.
- 특히 라우터는 지나가는 모든 IP 데이터그램을 검사해서 “어디로 보내야 하는지” 판단한다.
네트워크 계층의 두 가지 주요 기능
1. 포워딩 (Forwarding)
- 이미 라우터에 도착한 패킷을 어디로 보낼지 결정하는 과정이다.
- 예시: 교차로에서 좌회전/우회전 같은 결정
- “이 패킷은 다음에 저쪽 포트로 보내야 함!”
2. 라우팅 (Routing)
- 출발지에서 목적지까지 어떤 길로 갈지 전체 경로를 미리 정하는 것이다.
- 예시: 네비게이션이 전체 길을 계획해주는 것
- 이건 보통 라우팅 알고리즘이 결정하고, 각 라우터는 이 결과를 포워딩 테이블이라는 걸로 저장한다.
| 역할 | 설명 | 예시 |
| 포워딩 | 라우터에 온 패킷을 어디로 보낼지 결정 | 교차로에서 어디로 갈지 |
| 라우팅 | 출발지 → 목적지까지 전체 경로를 설정 | 전체 여행 경로 계획 |
이 둘이 협력해서 패킷이 잘 도착하도록 도와준다.
연결 설정 (Connection Setup)
일부 네트워크에서는 데이터를 보내기 전에 연결을 먼저 설정해야 한다.
예: 가상 회선 네트워크
- 전화처럼 “통화 연결”이 먼저 되어야 말할 수 있는 구조.
- 이걸 Virtual Circuit (가상 회선) 이라고 한다.
- 이때는 라우터도 연결 설정에 참여해서 경로를 잡아준다.
구분!
- 네트워크 계층: 호스트(컴퓨터) 간의 연결
- 전송 계층: 그 안의 프로세스(프로그램) 간의 연결 (예: 웹 브라우저 ↔ 웹 서버)
네트워크 서비스 모델이란?
“인터넷이 패킷을 전송할 때 얼마나 잘 챙겨주냐”를 정의하는 기준이다.
예를 들어 어떤 네트워크는 절대 잃어버리지 않고 보내줄 수 있고, 순서를 지켜서 보내주기도 하고, 지연시간을 줄여주는 서비스도 제공한다.
하지만 인터넷은 기본적으로 이런 걸 보장하지 않는다. 그냥 Best Effort (최대한 잘^^;;) 수준이다.
예시 서비스들
| 데이터그램 단위 서비스 | 흐름 단위 서비스 |
| 전송 보장 (손실 없음) | 순서 보장 전달 |
| 지연 시간 보장 (ex. 40ms 이내) | 최소 대역폭 보장 |
| - | 패킷 간 간격 일정 유지 |
네트워크 종류별 서비스 모델 비교
| 네트워크 | 대역폭 보장 | 손실 없음 | 순서 보장 | 시간 보장 | 혼잡 피드백 |
| 인터넷 | ❌ 없음 | ❌ 없음 | ❌ 없음 | ❌ 없음 | ❌ 없음 (손실로 추측) |
| ATM CBR | ✅ 항상 | ✅ | ✅ | ✅ | ✅ |
| ATM VBR | ✅ (유동적) | ✅ | ✅ | ✅ | ✅ |
| ATM ABR | ✅ (최소 보장) | ✅ | ✅ | ❌ 없음 | ✅ |
| ATM UBR | ❌ 없음 | ❌ 없음 | ❌ 없음 | ❌ 없음 | ❌ 없음 |
'CS > Network' 카테고리의 다른 글
| [네트워크] 라우터 (1) | 2025.06.06 |
|---|---|
| [네트워크] 데이터그램, 가상회선 (0) | 2025.06.06 |
| [네트워크] TCP Congestion Control (0) | 2025.04.22 |
| [네트워크] Congestion Contol (0) | 2025.04.22 |
| [네트워크] principles of reliable data transfer (rdt의 원리) (0) | 2025.04.21 |