[네트워크 관리사 2급] [자격증 준비] 6일차 TCP/IP 4 계층 (1)
목표
TCP/IP와 TCP/IP 4 계층에 대해 알아보고 계층별 특징과 관련 프로토콜, IP 개념을 이해한다.
1. TCP/IP 4 계층
TCP/IP란?
Transmission Control Protocool/Internet Protocol의 약자로, DoD(미국방성) 모델이라고 하며 OSI 7 계층과 흡사하다. 이 기종 간 네트워크 환경에 대한 표준으로 OSI 7 계층모다 먼저 만들어지고 실용적이며 간결하여 가장 많이 사용되고 있다.
구분 | 내용 | OSI 7 계층과의 비교 |
특징 | - 미국 ARPANET에서 개발된 프로토콜(1983년에 전환, Flag Day) - 현재 IETF(국제 인터넷 표준화 기구)에서 문서화, 유지 관리 중 - 인터넷 통신(HTTP, FTP, 이메일)이 TCP/IP 프로토콜 스택을 기반으로 동작하며 다양한 네트워크와 상호 접속이 가능 |
- 더 간결한 4 계층의 구조 - 실제 네트워크에서 더 많이 사용(실무 적합) |
네트워크 접근 계층 (Network Access) |
- TCP/IP 4 계층 중 1계층 - 물리적 케이블 혹은 무선 통신과 연결하고 메시지를 전송 - MAC 주소 기반으로 통신을 수행하며 데이터가 실제로 네트워크를 통해 전송되는 부분 |
물리 계층 (Physical) |
데이터 링크 계층 (Data Link) |
||
인터넷 계층 (Internet) |
- TCP/IP 4 계층 중 2계층 - 패킷의 목적지까지 라우팅(IP 주소를 읽어서 경로를 결정)을 담당 - 논리적 주소인 IP 주소를 부여하고 최단 경로를 결정 - IP 주소를 MAC 주소로 변환하는 ARP를 지원 - 네트워크 에러 검사하는 ICMP를 지원 |
네트워크 계층 (Network) |
전송 계층 (Transport) |
- TCP/IP 4 계층 중 3계층 - 프로세스 간의 데이터 전송을 관리하는 역할 - 신뢰성 있게 메시지를 전송하는 TCP를 지원 - 비연결성으로 연결하지않고 빠르게 메시지를 전송하는 UDP를 지원 - 흐름제어, 오류 제어등을 수행 |
전송 계층 (Transport) |
응용 계층 (Application) |
- TCP/IP 4 계층 중 4계층 - 사용자들이 사용하는 프로그램이 있는 계층 - 응용 프로그램이 네트워크와 상호작용 - FTP, Telnet, SSH, HTTP, SMTP, SNMP 등의 프로토콜 |
세션 계층 (Session) |
표현 계층 (Presentation) |
||
응용 계층 (Application) |
*TCP/IP 스니핑(Sniffing)
스니핑이란 네트워크 상에서 전송되는 데이터를 훔쳐보는 기법을 뜻한다. 스니핑 도구(ex. Wireshark)를 사용해서 웹사이트로 송수신되는 패킷을 모니터링하면 애플리케이션 계층에서 HTTP를 사용하고 내부적으로 TCP를 사용함을 알 수 있다.
2. 네트워크 접근(Network Access) 계층
네트워크 접근 계층이란?
LAN 카드의 물리적인 주소인 MAC 주소를 가지고 전기적인 비트 신호로 메시지를 전송하는 계층이다.
구분 | 내용 | |||||||
특징 및 기능 | - OSI 7 계층의 물리 계층이 이해할 수 있는 헤더를 붙여주는 계층으로 Frame 단위를 사용하고 MAC 주소를 사용 - 통신기기 사이에 연결 및 데이터 전송 기능을 지원 - 주요 프로토콜: PPP, 이더넷, Wi-Fi, HDLC, ATM, FDDI, MPLS 등 |
|||||||
구조 | Header | Payload | Footer | |||||
Preamble (10101010) ( 7bytes) |
SOF (10101011) (1byte) |
Destination Address (6bytes) |
Source Address (6bytes) |
Type (2bytes) |
Data (46~1500bytes) |
PAD (0~Nbytes) |
FCS (4bytes) |
|
구조 설명 | - Preamble: 동기화 정보 - SOF(Starting Frame Delimiter): 프레임의 시작을 알리는 구분자 - Destination Address: 수신자(목적지)의 물리적 MAC Addess - Source Address: 송신자(출발지)의 물리적 MAC Address - Type: 상위 계층의 프로토콜 종류 - PAD: 프레임 길이를 맞추기 위한 영역으로 64bytes 길이를 만족하지 못하면 나머지는 0으로 채움 - FCS(Frame Check Sequence): 비트열의 오류를 검사하기 위해서 사용 |
3-1. 인터넷(Internet) 계층
인터넷 계층이란?
송신자의 IP 주소와 수신자의 IP 주소를 읽어러 경로를 결정하거나 전송하는 역할을 수행한다.
구분 | 내용 | |||||||
특징 및 기능 | - 패킷을 목적지까지 전달하는 역할을 수행 - IP 주소 기반의 라우팅(경로 결정) 및 네트워크 간 통신을 수행 - 네트워크마다 지원하는 MTU(최대 전송 크기)가 다르므로 패킷을 적절한 크기로 분할 후 목적지에서 재조립 수행 - 네트워크에서 패킷 손실, 경로 문제 등을 감지하고 알림(ICMP 활용) - IP, ICMP의 TCP/IP 군이 존재하고 멀티캐스팅을 위한 IGMP, 라우팅을 위한 RIP, BGP, OSPF 등이 존재 - 하위 계층과 관련해 IP주소를 MAC주소로 변환하는 ARP, 반대 동작인 RARP가 있음 - 라우팅을 수행하는 장비로 라우터(Router), 사설 IP와 공인 IP간의 주소 변환을 수행하는 장비로 NAT가 있음 - 데이터그램(Datagrame): 기존 패킷에 IP Header를 붙이는 것을 의미 |
IP(Internet Protocol)
IP 주소 기반으로 패킷을 목적지까지 전달하는 프로토콜로 비연결형, 최신형 전송 방식을 사용한다. 또한 네트워크 계층(TCP/IP 2계층, OSI 3계층이 해당)의 주소화, 데이터그램 포맷, 패킷 핸들링 등을 정의해놓은 인터넷 규약이다. 그 종류로 IPv4와 IPv6가 있다.
구분 | 특징 |
IPv4 | - 32비트 주소, 8비트씩 4 영역으로 10진수로 표시(ex. 192.168.0.1) - 총 43억개의 주소(주소 부족 현상 발생) - A, B, C, D 등의 클래스 단위 비순차 할당 - 브로드 캐스트 주소가 있고 대역의 첫 주소가 네트워크 주소로 사용됨 - 헤더의 크기가 가변이고 QoS 미흡함 - 보안을 위한 IPSec 프로토콜 별도 설치 필요하며 Plug & Play 불가능(DHCP/자동주소할당 이용 시 가능) |
IPv6 | - IPv4의 주소 부족 문제를 해결하기 위해 만든 차세대 인터넷 프로토콜 - 128비트 주소, 16비트씩 8 영역으로 16진수로 표시(ex. 2002:0221:ABCD:DCBA:0000:0000:FFFF:4002) - 총 2^128개의 주소(약 43억^4) - 네트워크 규모와 단말 기수에 따라 순차 할당 - 브로드 캐스트 주소가 없는 대신 로컬 범위 내에서 모든 노드에 대한 멀티캐스트 주소를 사용 - 헤더의 크기가 고정이고 QoS를 보장함 - IPSec의 자체 지원이 가능하고 Plug & Play가 가능함 |
*HDCP: 응용 계층에 속하는 프로토콜로 네트워크에 연결된 장치에게 자동으로 IP주소, 서브넷 마스크, 게이트웨이, DNS 서버 등의 네트워크 설정을 할당하는 프로토콜.
*IP Header
IP Header 정보에는 버전 정보가 있기에 IPv4와 IPv6를 구분할 수 있다. Flag와 Fragment Offset이라고 패킷 전송 시 크기가 MTU보다 커 분할되면 재조립할 때 필요한 관련 정보 또한 있다. TTL은 IP 패킷이 통과할 수 있는 라우터의 수로 통과할 때 마다 1씩 줄어드는 값이다, Protocol은 IP Header의 상위 프로토콜(TCP, UDP)의 종류를 나타내며 Header Check Sum은 헤더의 무결성을 검사하기 위한 것이다.
*IP 단편화(Fragmentation)
MTU(Maximum Transmission Unit)이라는 한 번에 통과할 수 있는 패킷의 최대 크기보다 작은 단위로 패킷을 나누는 매커니즘을 말한다.
IP주소와 서브넷 마스크
IP주소는 클래스(Class)로 분류할 수 있는데, 이는 네트워크 ID와 호스트 ID로 분류할 수 있으며 각각 네트워크의 주소와 네트워크 내부의 각 호스트의 주소 자릿수를 의미한다. 각 구분에 따라 A, B, C, D, E 클래스로 나뉜다.
이러한 네트워크 주소를 작게 나눠 여러개의 네트워크로 나누는 개념을 서브넷팅(Subneting)이라 하고 나눠진 네트워크 주소를 서브넷(subnet)이라 한다. 또한 IP 주소의 네트워크 식별자 부분을 구분하기 위한 Mask를 서브넷 마스크(Subnet Mask)라 한다. 그리고 서브넷 마스크를 축약으로 IP 주소 뒤에 /N으로 표시하는데 이를 CIDR이라 한다.
CIDR | 서브넷 마스크 | 네트워크 개수 | 호스트 수 (Subnet당) |
---|---|---|---|
/8 | 255.0.0.0 | 1 | 16,777,214 |
/9 | 255.128.0.0 | 2 | 8,388,606 |
/10 | 255.192.0.0 | 4 | 4,194,302 |
/11 | 255.224.0.0 | 8 | 2,097,150 |
/12 | 255.240.0.0 | 16 | 1,048,574 |
/13 | 255.248.0.0 | 32 | 524,286 |
/14 | 255.252.0.0 | 64 | 262,142 |
/15 | 255.254.0.0 | 128 | 131,070 |
/16 | 255.255.0.0 | 256 | 65,534 |
/17 | 255.255.128.0 | 512 | 32,766 |
/18 | 255.255.192.0 | 1,024 | 16,382 |
/19 | 255.255.224.0 | 2,048 | 8,190 |
/20 | 255.255.240.0 | 4,096 | 4,094 |
/21 | 255.255.248.0 | 8,192 | 2,046 |
/22 | 255.255.252.0 | 16,384 | 1,022 |
/23 | 255.255.254.0 | 32,768 | 510 |
/24 | 255.255.255.0 | 65,536 | 254 |
/25 | 255.255.255.128 | 131,072 | 126 |
/26 | 255.255.255.192 | 262,144 | 62 |
/27 | 255.255.255.224 | 524,288 | 30 |
/28 | 255.255.255.240 | 1,048,576 | 14 |
/29 | 255.255.255.248 | 2,097,152 | 6 |
/30 | 255.255.255.252 | 4,194,304 | 2 |
/31 | 255.255.255.254 | 8,388,608 | 2 (Point-to-Point) |
/32 | 255.255.255.255 | 16,777,216 | 1 (Loopback) |
서브넷 마스크와 CIDR을 계산하는 방법은 위 표의 규칙과 같이, IP 주소 형식(8bit * 4)에서 값이 1인 bit의 갯수가 CIDR값이며 그 Bit 값을 10진수로 표현한 것이 서브넷 마스크이다. 그렇기에 남은 비트 수를 통해 호스트 ID로 할당할 수 있는 주소의 갯수를 계산 할 수 있는데, 해당 대역의 전체 주소 갯수(0 값인 Bit의 갯수로 표현 할 수 있는 값의 수)에서 가장 첫 번째 주소(네트워크 주소)와 마지막 주소(Broadcast 주소)를 뺀 나머지 값이 된다. 위 표는 각 네트워크 대역 내 주소들 중 네트워크 주소와 Broadcast 주소를 빼고 단말기에 할당할 수 있는 IP 주소 갯수(호스트 수)를 쓴 것이다.
*일반적으로 /24를 가장 많이 접한다. C클래스 영역까지가 네트워크 대역이고 마지막이 호스트이기에 총 256개의 주소가 호스트 ID이고, 첫 자리수가 네트워크 주소(ex. 192.168.0.0)이고 마지막 주소가 Broadcast 주소(ex. 192.168.0.255), 일반적으로 네트워크 주소 다음을 Gateway 주소(ex. 192.168.0.1)로 사용한다. 이를 기준으로 2진수 값을 기억하고 계산하면 빠르게 네트워크 대역과 호스트 수를 유추할 수 있다.
3-2. 라우팅(Routing)과 각종 프로토콜
라우팅이란?
Internetwork를 통ㄹ해서 데이터를 근원지에서 목적지로 전달하는 기능으로, 경로 결정에서 최단 경로 선정 및 전송을 수행하는 포워딩(Forwarding)을 한다. 또한 이러한 목적지에 대한 경로 정보(Routing Table)를 인접한 라우터들과 교환하기 위한 규약이다.
*경로 정보(라우팅 테이블, Routing Table)
라우팅에 관련된 정보가 저장된 테이블로, 윈도우 콘솔에서는 netstat -r 또는 route PRINT이며 리눅스에서는 ip route show, Cisco 라우터에서는 show ip route를 입력하면 확인할 수 있다.
(ex. 리눅스 라우팅 테이블)
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
192.168.2.0/24 via 192.168.1.1 dev eth0
라우터는 크게 정적 라우팅과 동적 라우팅으로 구분한다. 경로를 지정할 때 사전에 미리 고정한 정적 경로(Static Routing)의 방법이 있고, 네트워크 상태를 파악해 최적의 경로를 결정하는 동적 경로(Dynamic Routing) 방법이 있다.
구분 | 내용 |
정적 경로 (Static Routing) |
- 관리자가 라우팅 테이블을 직접 경로 설정, 경로가 고정적이고 수동으로 갱신 - 기법: Floating Static Routing etc. |
동적 경로 (Dynamic Routing) |
- 네트워크 관리자가 개입없이 네트워크 상황에 따라 인접 라우터 간에 자동으로 경로 정보를 교환 설정 - 경로 정보를 교환하여 최적의 경로를 결정 및 상황에 따른 능동 대처 가능 - 기법: Distance Vector Routing(RIP, IGRP, EIGRP, BGP), Link State Routing(OSPF) etc. |
또한 라우팅 범위에 따라 프로토콜을 구분 할 수 있다. 한 도메인 내에서 경로를 결정하는 IGP(Internal Gateway routing Protocol)와 도메인 간에 경로를 결정하는 EGP(Exterior Gateway routing Protocol)로 분류한다.
구분 | 내용 |
IGP (Internal Gateway routing Protocol) |
- 동일 그룹(AS, 기업 또는 ISP(Internet Service Provider))내에서 라우팅 정보를 교환 - RIP, OSPF, EIGRP etc. |
EGP (Exterior Gateway routing Protocol) |
- 다른 그룹과의 라우팅 정보를 교환 - BGP etc. |
라우팅 프로토콜의 종류(Distance Vector VS Link State)
먼저 동적 라우팅 프로토콜은 대표적으로 Distance Vector 방식과 Link State 방식이 있다. Distance Vector는 라우터가 적은 쪽, 즉 홉 카운터(Hop Count) 또는 TTL(Time to Live)를 기준으로 경로를 지정하는 방식이고, Link State 방식은 네트워크 대역폭, 지연 정보 등을 종합적으로 고려해 Cost를 산정하고 해당 Link의 Cost에 따라 경로를 결정하는 방식이다.
구분 | Distance Vector | Link State |
알고리즘 | 최단 경로(Shorter Path)를 구하는 벨만 포드(Bellman Ford) 알고리즘 기반 | 최소 신장트리(Shortest Path Tree)를 구하는 다익스트라(Dijkstra) 알고리즘 기반 |
동작 원리 | 네트워크 변화 발생 시 해당 정보를 인접한 라우터에 정기적으로 전달하고, 인접 라우터에서는 라우팅 테이블에 정보 갱신 | 라우터와 라우터를 연결하는 Link 상태에 따라 최적의 경로를 설정, 라우터가 네트워크 변화 감지 시 Link 상태 정보를 인접한 라우터에게 즉각 전달하고 이를 저장 |
라우팅 정보 | 모든 라우터까지의 거리 정보 보관 | 인접 라우터까지의 Link Cost 계산 |
정보 전송 시점 | 일정 주기(30초, 이웃 라우터와 공유) | 변화 발생 시에만 |
대표 프로토콜 | RIP, IGRP, EIGRP(내부 라우팅), BGP | OSPF(가장 많이 사용), IS-IS |
단점 | - 변화되는 라우팅 정보를 모든 라우터에 주기적으로 갱신하므로 망 자체의 트래픽 유발 - 라우팅 정보를 변경하는 문제 발생 시 Routing Loop가 발생 할 가능성 있음 |
- 네트워크 전체 정보 유지를 위한 많은 메모리 소모 및 라우터의 CPU 사용량이 높아짐(성능 요구) - 라우터 간 회선의 대역 차이로 동기화 실패할 가능성 존재 |
RIP
Distance Vector 기반 라우팅 프로토콜로, 목적지까지 경로를 결정할 때 통과해야하는 라우터 수, 홉 수(Hop Count)가 적은 쪽으로 결정하는데, 만약 값이 16이상이면 패킷을 폐기한다.
구분 | 내용 |
개념 | RFC 1058에 정의 되어있고, 대표적인 Distance Vector 라우팅 프로토콜 |
동작 원리 | - 라우터간 거리 계산을 위한 척도로 홉 수 (Hop Count)를 사용 - 16Hop 이상이면 패킷을 폐기 - 180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주 - 수신된 목적지의 거리 값과 현재 거리 값을 비교하여 작은 것을 기준으로 라우팅 테이블을 변경 |
라우팅 정보 | 라우팅 정보 변경 시 모든 망에 적용하므로 작은 규모의 망에 적합 |
OSPF
대규모 네트워크에서 사용하는 라우팅 프로토콜로 링크 상태(Link State) 알로리즘을 사용한다. 네트워크의 대역폭과 지연 정도 등의 정보를 종합적으로 고려해 계산한 Cost를 기준으로 경로를 결정한다.
구분 | 내용 |
개념 | RFC 1247에 정의 되어있고, Link State 라우팅 프로토콜 |
동작 원리 | - 링크에서의 전송 시간을 링크 비용으로 사용하여 각 목적지 별 최단 경로를 구함 - 링크(Link)의 지연(Delay), 처리량(Throughput), 신뢰성(Reliability) 정보를 이용 - 네트워크를 Area로 구분하여 많은 라우팅 정보의 교환으로 인한 라우터의 성능 저하를 예방하고 대역폭을 절약 |
라우팅 정보 | 네트워크에 변화가 발생했을 때(링크 변화 감지 시) 상대적으로 짧고 간단한 링크 상태 정보(변경되 링크에 대한 정보)만 즉시 모든 라우터에 전달하여 빠르게 라우팅 테이블을 갱신하기에 대규모 IP망에 적합하여 사용되는 대표적 프로토콜임 |
*OSPF 계위
OSPF는 라우팅 계위, 즉 OSPF에서 관리하는 라우터들 간에 역할을 정의하여 라우팅을 수행한다. 경계 라우터(Boundary Router)는 다른 네트워크로 전달되는 패킷의 경로를 결정하는 것이고, 백본 라우터(Backbone Router)는 영역(Area) 간에 중계 역할을 수행한다. 그러므로 이에 따라 ABR(영역 경계 라우터), ASBR(자율 시스템 경계 라우터), IR(내부 라우터), BR(백본 라우터)의 역할로 나눠 수행한다.
BGP
BGP(Border Gateway Protocol)은 자율 시스템(AS, Autonomous System) 간 라우팅을 담당하는 프로토콜로, 인터넷의 근간을 이루는 중요한 라우팅 프로코톨이다. Path Vector(경로 백터) 프로토콜로, RIP처럼 단순히 홉 수로 계산하는게 아니라 AS 경로(AS Path)를 기반으로 경로를 결정한다.
구분 | 내용 |
개념 | RFC 4271에 정의 되어있으며 Path Vector(경로 백터) 프로토콜 |
동작 원리 | - AS 간 인터넷 라우팅을 담당하는 유일한 EGP - 정책기반 라우팅(Policy-Based Routing, PBR)을 수항하여 비용, 결오 안정성, 정책 등을 고려해 최적의 경로 선택 - 라우터 간 BGP Peering(Neighbor 관계)를 맺고 Open, Update, Keepalive, Notification 4가지 메시지를 사용해 라우팅 정보를 교환 - eBGP(AS간 라우팅)와 iBGP(AS 내부 라우팅)으로 구분 |
라우팅 정보 | - 네트워크 경로 변경 시 AS경로 정보만 업데이트하여 트래픽을 절약하고 안정적인 라우팅을 제공 - 홉 수가 아닌 AS 경로, Local Preference, MED, Origin 등의 다양한 기준을 고려해 경로 선택 - 인터넷 서비스 제공 업체(ISP) 및 글로벌 네트워크에서 대규모 인터넷 트래픽 관리를 위해 사용 |
ICMP
ICMP는 네트워크에서 오류 보고 및 진단을 담당하는 프로토콜이다. 데이터 전송을 직접 수행하지 않지만, 네트워크 오류 감지 및 문제 해결에 필수적인 역할을 한다.
구분 | 내용 |
개념 | - TCP/IP에서 오류를 제어하는 프로토콜 - IP 프로토콜의 일부로 동작하며 데이터 전송이 실패한 경우 원인을 송신자에게 알리는 역할을 수행 - 대표적인 ICMP 메시지로 핑 요청, 핑 응답, 목적지 도달 불가, 시간 초과 등이 있음 - ping, traceroute 명령어를 이용해 네트워크 연결 상태 점검 때 활용 |
주요 기능 | - IP 패킷 처리 도중 발견된 문제를 보고 - 다른 호스트로부터 특정 정보를 획득하기 위해 사용 - TCP/IP 프로토콜에서 두 호스트 간에 에러 처리를 담당 - 통신이 정상적으로 이루어지는지 확인 |
구조 특징 | - Type: ICMP 메시지 유형 표시 - Code: Type과 같이 사용되며 세부적인 유형을 표현 - Check Sum: IP Datagram Checksum |
*주요 ICMP 메시지 종류
Type | Message | 설명 |
3 | Destination Unreachable (목적지 도달 불가) |
Router가 목적지르 찾지 못할 경우 보내는 메시지 |
5 | Redirection (경로 변경 안내) |
패킷 Routing 경로를 수정 |
8 or 10 | Echo Request or Reply (Ping 요청 or 응답) |
Host의 존재를 확인, Smurf 공격과 관련 |
11 | Time Exceeded (TTL 시간 초과) |
패킷을 보냈으나 시간이 경과하여 패킷이 폐기 되었을 때 보내는 메시지(TTL 값이 0이 되면 보내는 메시지) |
IGMP
IGMP는 멀티캐스트 그룹 관리를 위한 프로토콜이다.
구분 | |
개념 | - 멀티캐스트 그룹 관리를 위한 프로토콜 - IP 멀티캐스트 트래픽을 적절한 수신자에게 전달하는 역할 - IPv4 환경에서 동작하며 IPv6에서는 MLD로 대체됨 |
주요 기능 | - 멀티 캐스트 시에 멀티캐스트에 참석하는 수신자 정보를 제공 - 호스트와 라우터 간 멀티캐스트 그룹 가입 및 탈퇴를 관리하며 TTL이 제공됨 - 불필요한 네트워크 트래픽을 줄이고 효율적으로 멀티캐스트 패킷을 전달 |
구조 특징 | - 8 Bytes로 구성 - Version: IGMP 프로토콜의 버전 표시(현 버전은 IGMP Ver.2) - Type: 메시지 유형, 1은 보고, 2는 질의 메시지 - Group id: 보고 메시지의 경우 호스트에서 신규 가입하고자하는 멀티캐스트 서비스의 group id |
*데이터 전송 방식
(1) Unicast → 1:1 전송 방식
(2) Broadcast → 1:N 전송 방식(동일한 서브넷 상의 모든 수신자에게 전송)
(3) Multicast → M:N 전송 방식(하나 이상의 송신자들이 특정 그룹의 수신자에게 전송)
ARP와 RARP
ARP는 IP 주소를 물리적인 하드웨어 주소인 MAC 주소로 변경하는 프로토콜이고, RARP는 이와 반대의 기능을 하는 프로토콜이다.
구분 | 내용 |
ARP (Address Resolution Protocol) |
- IP 주소를 MAC 주소로 변환하는 프로토콜 - LAN에서 호스트가 목적지의 MAC 주소를 알아내기 위해 사용 - ARP 요청(Request)과 ARP 응답(Reply)으로 동작 - 네트워크 성능 향상을 위해 ARP Cache Table을 유지하여 인접 단말기의 IP주소와 MAC 주소를 저장 |
RARP (Reverse Address Resolution Protocol) |
- MAC 주소를 IP 주소로 변환하는 프로토콜 - 디스크 없는 장치(네트워크 부팅 장치)가 자신의 IP 주소를 알지 못할 때 서버로부터 할당 받기 위해 사용 - 즉 하나의 호스트를 RARP 서버로 지정 - 현재는 DHCP가 RARP를 대체해 사용 |
ARP와 RARP의 동작 순서는 다음과 같다.
구분 | 내용 |
ARP 동작 | ARP 요청(Broadcast, 네트워크 전체에 전송) → ARP 응답(Unicast, 응답 단말만 응답 전송) → ARP 캐시(주소 정보 저장) |
RARP 동작 | RARP 요청(Broadcast, 디스크가 없는 워크스테이션이 서버 탐색을 위해 전송) → RARP 응답(Unicast, RARP 서버는 디스크가 없는 워크스테이션들의 MAC 주소를 인터넷 주소로 매핑 후 포함한 패킷으로 응답) |
*NAT
사설 IP와 공인 IP 간 변환을 수행하는 주소 변환 기술을 NAT라고 한다.
구분 | 내용 |
개념 | - 공인 IP와 사설 IP 간 변환을 수행하는 기술로, 하나의 공인 IP를 여러 사설 네트워크에서 공유해서 사용 가능 - IPv4 주소 부족 문제를 해결하기 위해 사용 - 방화벽 기능을 겸하여 보안성 향상 가능 - ISP 변경에 따른 내부 IP변경 최소화 가능 |
동작 원리 | - 라우터 또는 방화벽에서 IP 패킷의 출발지 또는 목적지 IP를 변경하여 트래픽을 전달 - NAT 테이블을 생성하여 내부 네트워크(사설 IP)와 외부 네트워크(공인 IP) 간 매핑 - IPv4에서 주로 사용되며 IPv6에서는 NAT 필요성이 낮아짐 |
유형 | - Static NAT: 내부 IP와 공인 IP를 1:1로 변환 - Dynamic NAT: 내부 IP 풀(pool)에서 동적으로 공인 IP로 매핑 - PAT: 하나의 공인 IP에 여러 개의 사설 IP를 포트(Port) 번호 기반으로 매핑하여 공유(가장 많이 사용) |
라우팅 정보 | - NAT변환 테이블을 사용하여 사설 IP와 공인 IP의 변환 정보 유지 - 외부 네트워크에서 직접 사설 IP에 접근할 수 없도록 보호하는 효과가 있음 - 기업 및 가정에서 인터넷 공유기를 통해 NAT/PAT를 활용하여 여러 장치가 인터넷 접속 가능함 |
**NAT는 N개의 사설 IP를 한 개의 공인 IP로 변환하는 Normal NAT 외에도 Reverse NAT(역방향), Redirect NAT(재지정), Exclude NAT(예외처리)가 있다.
참고
이기적 네트워크 관리사 1/2급 필기 준비 서적, 정보통신기술용어해석, 위키백과, 한국인터넷정보센터 참고.
TCP/IP 4 계층은 OSI 7 계층보다 실무적인 개념이며 현대 인터넷 네트워크 및 장비에 사용되고있다.