Search
🏫

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

[정보 통신망] 13. 네트워크 보안
CS
Network
2023/06/1115:01
[정보 통신망] 13. 네트워크 보안
CS
Network
2023/06/1115:01

1. IP

1.1. IP 개요

TCP/IP 기본 구조
IP
인터넷 프로토콜. OSI 모델의 네트워크 계층의 기능
사용자에게 복잡한 인터넷 개별 네트워크 구조를 숨겨 모든 호스트들을 연결하는 1개의 가상 네트워크로 보이도록 함
네트워크 계층의 투명성을 제공함

1.2. 비연결형 서비스

인터넷 계층의 투명성
IP의 역할
호스트의 주소 지정 및 데이터그램 전송
경유해야하는 데이터 링크 및 라우터 정보 무시
신뢰성 없는 데이터 전송

1.3. 데이터그램

IP 계층의 패킷
32 Bit → 4 Byte (word), 헤더 - 총 6개의 word로 구성되어있음
헤더 부분 구성
버전 (4비트)
IP version 식별 번호
헤더길이 (4비트)
20~60 bytes
서비스 유형 (8비트): QoS
3개 비트: 우선순위
4개 비트: 서비스 유형
0000: 기본
0001: 비용 최소
0010: 신뢰성 최대
0100: 처리량 최대
1000: 지연최소
1개비트: 사용 X
전체 길이(16비트)
데이터그램 길이
식별자(16비트)
데이터그램이 단편화 되었을때 각 단편은 동일한 식별자를 가짐
플래그 (3비트)
단편화 했냐 안했냐 판단
1개 비트: 사용하지 않음
1개 비트 (DF)
1: Don’t Fragment
0: Fragment
1개 비트 (MF)
1: More Fragment
0: 마지막 단편, 유일한 단편
단편 오프셋(13비트)
메세지가 단편화 되었을 때 데이터그램 내의 데이터가 원래 메세지의 어느 위치에 있었는지 나타냄
TTL (8비트)
데이터그램이 폐기되기 전까지 활동 기간
거쳐야하는 최대 라우터 수를 나타냄. 보통 두 호스트 사이의 라우터 수의 두배로 설정함
라우터를 지날때마다 1씩 감소.
0되면 폐기
프로토콜 (8비트)
상위 계층 프로토콜 식별
1: ICMP
6: TCP
17: UDP
헤더 검사합 (16비트)
헤더만의 검사합
발신자 IP 주소
적지 IP 주소
옵션
패딩

1.4. IP 단편화 (Fragmentation)

IP 데이터그램의 분할
MTU (Maximum Transfer Unit)
네트워크 링크에서 허용하는 프레임당 데이터 최대 길이
Ethernet LAN: MTU = 1,500 byte
CCIT X.25: MTU = 128 byte
IP 데이터그램은 전송 중 각 네트워크의 MTU에 적합한 크기로 분할되었다가 목적지 호스트에서 각 Fragment들을 재조립함
단편화 예시

1.5. 인터넷 상에서의 라우팅

IP 데이터그램이 목적이 호스트까지 진행하면서 경유할 경로를 결정하는 것
비교
IP: 송신자, 수신자 그리고 그 사이의 경로 상에 있는 모든 라우터들이 IP 데이터그램 전달에 관여
TCP: 송신자와 수신자만 TCP 세그먼트 전달에 관여
라우팅 테이블
호스트는 자신의 물리적 네트워크에 연결된 라우터에 대한 정보를 자신의 라우팅 테이블에 관리
동일한 물리적 네트워크에서의 데이터그램 전송
우측 상단에 목적지 네트워크 주소는 오타. 163.100.21.33이어야함
다른 물리적 네트워크에서의 데이터그램 전송

2. 주소 변환 (ARP, RARP)

2.1. ARP

Address Resolution Protocol
상대방 호스트의 IP 주소는 알고 물리주소를 모를때 물리주소를 알기위해 사용
IP 주소를 물리주소로 매핑해주는 프로토콜
동적 바인딩
ARP는 호스트의 IP 주소를 대응하는 물리주소로 변환하여 실제 데이터 통신이 가능하게 해줌
IP 주소: 32비트 (4바이트) - IPv4
물리주소: 48비트 (6바이트) - MAC 주소
ARP 요청: broadcasting
모든 호스트에게 다보냄 (호스트 A → every host)
ARP 응답: unicasting
응답이 온 호스트가 응답함 (호스트 B → A)
프록시 ARP

2.2. RARP

Reverse ARP
물리주소를 알고 IP 주소를 모르는 경우 사용
일반적으로는 호스트의 IP 주소는 디스크에 저장된 구성파일에서 확인
디스크가 없는 호스트는 물리주소만 알고 있으므로 이를 이용하여 IP 주소를 얻고자함
RARP 프로토콜
RARP 요청 (broadcasting)
RARP 응답 (unicasting)

3. ICMP

3.1. ICMP 프로토콜

Internal Control Message Protocol
인터넷 계층 프로토콜
전송 오류 제어
IP는 비연결성 비신뢰성 전송 서비스 (실패 가능성 있음)
IP는 데이터그램 전송의 오류가 발생 시 오류/제어 메세지 제공해주는 프로토콜
IP 데이터그램의 전송과정에서 발생하는 오류를 라우터나 발신지 호스트에게 보고하는 매커니즘 제공
IP의 전송 실패를 대신 처리해줌

3.2. ICMP 메세지

ICMP 메세지 형식
ICMP 메세지 유형
오류 보고 메세지 (error reporting)
ICMP는 오류를 수정하지 않고 단지 보고만 수행
IP 주소를 이용하여 발신지에 오류 전송
질의 메세지 (simple query)
일부 네트워크의 문제를 진단
종류

4. IGMP

4.1. IP 멀티캐스트

IGMP 정의
Internal Group Management Protocol
인터넷 계층 프로토콜
인터넷에서 멀티캐스트 서비스를 위해 사용되는 프로토콜
IP 호스트가 어떤 멀티캐스트 그룹에 참가하고 있는지를 멀티캐스트 라우터에 통보하는 프로토콜
Multicast
하나의 그룹에 속한 호스트에게 메세지 전송 (1-to-many)
cf) broadcast (1-to-all)
IP Multicast
클래스 D 주소 사용
주소 범위: 224.0.0.0 ~ 239.255.255.255
예약된 멀티캐스트 주소

4.2. IGMP 메세지

IGMP 버전 2 메세지 형식
유형 (8비트)
Query (general / special)
Membership report
Leave report
최대 응답시간 (8비트)
질의에 응답해야하는 최대 허용시간
검사합 (16비트)
전체 IGMP 메세지의 오류 검사
그룹 주소 (32비트)
멀티캐스트 주소 (클래스 D IP 주소)

4.3. IGMP 프로토콜

IGMP 동작
IGMP 보고 및 질의

5. DHCP

Dynamic Host Configuration Protocol

5.1. IP 주소 관리

IP 주소 관리 방법
IP 주소 (32비트)
기억하기 어려움 → IP 주소 관리 방법의 필요
Host Table
DNS (Domain Name System)
BOOTP (Bootstrap Protocol)
DHCP (Dynamic Host Configuration Protocol)
호스트 테이블
모든 IP 주소와 맵핑되는 호스트 이름으로 구성된 테이블
장점
중앙집중형 관리 방식
호스트 테이블 구조 간단
단점
호스트의 급속한 증가와 변화에 대응 어려움
매핑정보의 일관성 유지 어려움
계층적 구조가 아닌 평면 구조
중복 정보 포함
DNS
계층적 구조 및 분산 관리 특성
예) knou.ac.kr
분산 관리문제
name sever는 특정 네트워크 영역만의 정보를 가지며 다른 영역에 대해서는 다른 name server 정보를 참조
name server 데이터의 복잠성
수작업에 의한 데이터 오류 가능성
BOOTP
기존의 방식은 IP 주소를 수작업으로 할당 (정적 할당)
BOOTP는 동적으로 IP 주소 할당
디스크가 없는 호스트(X터미널)에 대해 주소 및 설정 정보를 자동적으로 할당하고 관리하는 프로토콜
DHCP
응용계층 프로토콜
BOOTP에서 발전된 동적 주소 할당 프로토콜로서 IP주소 사용이 가능
DHCP 메세지 형식은 BOOTP와 동일
동적 주소 할당 프로토콜
IP 주소 pool에서 사용가능한 IP 주소를 선택하여 원하는 호스트에게 일정 기간 임대해줌

5.2. DHCP 메시지 형식

메시지 형식

5.3. DHCP 프로토콜

DHCP 네트워크의 구성
IP 주소 자동 할당
DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
DHCPACK