Search

[정보통신망] TCP/IP 네트워크 계층

제목
Tag
작성일

1. IP

1.1 개요

OSI 모델의 네트워크 계층 기능
복잡한 인터넷 구조를 숨겨 모든 호스트를 1개의 가상 네트워크로 보이도록 함
네트워크 계층의 투명성(transparency) 제공 → 송신자는 경유 라우터/데이터링크 세부 사항을 몰라도 됨

1.2 비연결형 서비스

IP = 비연결성 · 비신뢰성 전송 서비스 (TCP는 연결지향형)
IP 역할: 호스트 주소 지정 + 데이터그램 전송
경유 데이터링크 및 라우터 정보 무시, 신뢰성 보장 없음

1.3 IP 데이터그램 헤더 필드

필드
크기
설명
버전
4비트
IP version 식별번호
헤더길이
4비트
20~60 bytes (1 word = 4 bytes, 최소 5)
서비스 유형
8비트
QoS (우선순위 3bit + 서비스유형 4bit + 미사용 1bit)
전체 길이
16비트
데이터그램 전체 길이
식별자
16비트
단편화 시 각 단편이 동일한 값 공유
플래그
3비트
DF(Don't Fragment) / MF(More Fragment)
단편 오프셋
13비트
원래 메시지 내 데이터 위치
TTL
8비트
라우터 통과 시마다 1씩 감소, 0이면 폐기
프로토콜
8비트
상위계층 식별 (1=ICMP, 6=TCP, 17=UDP)
헤더 검사합
16비트
헤더만의 오류 검사
발신지/목적지 IP
각 32비트
송수신 IP 주소
서비스 유형(4비트): 0000=기본 / 0001=비용최소 / 0010=신뢰성최대 / 0100=처리량최대 / 1000=지연최소

1.4 IP 단편화 (Fragmentation)

MTU(Maximum Transfer Unit): 네트워크 링크에서 허용하는 프레임당 데이터 최대 길이
Ethernet LAN: MTU = 1,500 byte
CCITT X.25: MTU = 128 byte
MTU보다 큰 데이터그램은 중간 라우터에서 분할 → 목적지 호스트에서 재조립
MF=1이면 뒤에 단편 더 있음 / MF=0이면 마지막 단편
오프셋은 바이트 단위로 원래 위치를 나타냄

1.5 라우팅

IP 데이터그램이 목적지까지 경유할 경로를 결정
IP: 송신자 + 수신자 + 경로상 모든 라우터가 관여
TCP: 송신자와 수신자만 관여
라우팅 테이블 구성: 마스크 · 목적지 주소 · 다음홉 주소 · 플래그 · 참조횟수 · 사용 · 인터페이스 (7개 필드)

2. 주소변환 (ARP / RARP)

2.1 ARP (Address Resolution Protocol)

IP 주소 → 물리(MAC) 주소 변환
IP 주소(32bit)를 알 때, 실제 통신에 필요한 물리 주소(48bit)를 얻는 프로토콜
요청(Request): 브로드캐스트로 전송
응답(Reply): 유니캐스트로 전송
프락시 ARP: 라우터가 다른 서브넷의 ARP 요청에 대신 응답

2.2 RARP (Reverse Address Resolution Protocol)

물리 주소 → IP 주소 변환 (ARP의 역방향)
디스크 없는 호스트(X 터미널)처럼 물리주소만 아는 경우 사용
요청: 브로드캐스트 / 응답: 유니캐스트 (RARP 서버가 응답)

3. ICMP (Internet Control Message Protocol)

3.1 개요

인터넷 계층 프로토콜
IP는 비신뢰성 전송 → 오류 발생 시 오류 메시지/제어 메시지를 발신지에 보고하는 역할
ICMP는 오류를 수정하지 않고 보고만
메시지 형식: 유형(8) + 코드(8) + 검사합(16) + ICMP 메시지 + 옵션 데이터

3.2 메시지 유형

오류 보고 메시지 (Error Reporting)
유형
설명
발신지 억제
데이터그램이 처리능력 초과로 포화 상태
시간 초과
TTL이 0으로 감소되어 폐기
목적지 도달 불가
라우터가 최종 목적지에 전달 불가
재지정
더 좋은 경로의 다른 라우터로 전달
질의 메시지 (Simple Query)
유형
설명
에코 요청/응답
두 호스트 사이 통신 가능 여부 확인 (ping)
주소 마스크 요청/응답
호스트가 라우터에 서브넷 마스크 요청
타임스탬프 요청/응답
두 시스템 간 IP 데이터그램 왕복 시간 결정
라우터 요청/응답
연결된 라우터의 주소 요청

4. IGMP (Internet Group Management Protocol)

4.1 개요

인터넷 계층 프로토콜
IP 멀티캐스트 서비스를 위한 프로토콜
IP 호스트가 어떤 멀티캐스트 그룹에 참가 중인지 멀티캐스트 라우터에 통보
Multicast = 1-to-many (cf. unicast=1:1, broadcast=1:all)

4.2 IP 멀티캐스트 주소

클래스 D 주소 사용: 상위 4비트가 1110
주소 범위: 224.0.0.0 ~ 239.255.255.255
예약 주소: 224.0.0.1(모든 호스트·라우터), 224.0.0.2(모든 라우터)

4.3 IGMP 메시지 형식 (버전2)

유형(8) + 최대응답시간(8) + 검사합(16) + 그룹주소(32)
필드
설명
유형
Query / Membership Report / Leave Report
최대 응답시간
질의에 응답해야 하는 최대 허용 시간
검사합
전체 IGMP 메시지 오류 검사
그룹 주소
멀티캐스트 주소(클래스 D), General Query면 0

5. DHCP (Dynamic Host Configuration Protocol)

5.1 IP 주소 관리 방법 비교

방법
특징
Host Table
IP호스트명 테이블, 단순하지만 확장성 부족
DNS
계층적·분산 관리, 도메인 이름 사용
BOOTP
동적 할당, 디스크 없는 호스트 지원
DHCP
BOOTP 발전형, IP 주소 재사용 가능, 임대 방식

5.2 DHCP 개요

응용계층 프로토콜
IP 주소 풀(pool)에서 사용 가능한 주소를 선택해 호스트에게 일정 기간 임대
DHCP 메시지 형식은 BOOTP와 동일 (300 bytes)

5.3 IP 주소 자동 할당 과정

단계
메시지
방향
내용
1
DHCPDISCOVER
클라이언트 → 브로드캐스트
"DHCP 서버 있습니까?"
2
DHCPOFFER
서버 → 클라이언트
"이 IP를 N일간 사용 가능"
3
DHCPREQUEST
클라이언트 → 브로드캐스트
"이 IP 사용할 수 있을까요?"
4
DHCPACK
서버 → 클라이언트
"좋습니다. 서브넷 마스크, DNS 등 가져가세요"

한줄 정리

프로토콜
한 줄 역할
IP
패킷을 목적지까지 전달 (길 찾기)
ARP/RARP
IP주소 MAC주소 변환
ICMP
전달 실패하면 오류 보고
IGMP
멀티캐스트 그룹 관리
DHCP
IP주소 자동으로 나눠줌