ENI (Elastic Network Interface)
AWS에서 제공하는 네트워크 인터페이스, 클라우드 가상 서버에 장착하는 “가상 랜카드”
- 독립적인 네트워크 속성: IP 주소, MAC 주소, 보안 그룹 등
- 자유로운 탈부착: 인스턴스 작동 중에도 ENI 분리해 다른 인스턴스에 연결 가능
- 다중 네트워크 구성: 하나의 EC2 인스턴스에 여러 개의 ENI를 연결하여 다양한 네트워크 환경 구성 가능
- 장애 복구: 서버에 문제가 생겼을 때 ENI를 대기 중인 다른 인스턴스에 연결하여 IP 주소를 그대로 유지한 채 서비스 계속 운영 가능
NIC (Network Interface Card)
주요 기능
- 네트워크 연결: 유선(LAN) 또는 무선(Wi-Fi) 네트워크에 연결
- MAC 주소 부여: 각 NIC마다 고유한 MAC 주소가 할당되어 네트워크 상에서 식별
- 데이터 전송/수신: 네트워크를 통해 데이터 패킷을 송수신
종류
| 종류 | 설명 |
|---|---|
| 유선 NIC | 이더넷 케이블(LAN) 연결, 일반적으로 PC에 내장 |
| 무선 NIC | Wi-Fi 연결, 주로 노트북이나 무선 액세스 포인트 |
| 가상 NIC | 가상 머신이나 컨테이너용 소프트웨어 기반 네트워크 인터페이스 |
NIC 요즘 것들 특징
- 대부분 메인보드에 내장되어 별도 카드가 필요 없음
- 속도: 기가비트(1Gbps), 10기가비트(10Gbps) 등 다양한 옵션
- 무선은 Wi-Fi 6, Wi-Fi 6E 등 최신 표준 지원
ip -rc addr: 인터페이스 플래그
lo 인터페이스 (루프백)
lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
| 플래그 | 의미 |
|---|---|
| UNKNOWN | 인터페이스 상태 (루프백은 특별한 상태) |
| LOOPBACK | 루프백 인터페이스임 (127.0.0.1) |
| UP | 관리상(관리자 설정) 인터페이스가 켜짐 |
| LOWER_UP | 물리적 링크가 활성화됨 (루프백은 가상이므로 항상 ON) |
ens5 인터페이스 (실제 네트워크 카드)
ens5 UP 11:11:11:11:11:11<BROADCAST,MULTICAST,UP,LOWER_UP>
| 플래그 | 의미 |
|---|---|
| UP | 인터페이스가 켜짐 |
| BROADCAST | 브로드캐스트 주소 지원 (일반 LAN) |
| MULTICAST | 멀티캐스트 주소 지원 |
| LOWER_UP | 물리적 연결됨 (케이블이 연결되고 신호 수신 중) |
LOWER_UP과 UP의 차이점
- LOWER_UP: 물리적 연결이 활성화된 상태 (케이블이 연결되고 신호 수신 중)
- UP: 논리적 상태로서
이 인터페이스를 쓰겠다는 설정임.관리상(관리자 설정) 인터페이스가 켜진 상태
ip rule show
출력 결과
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
- 숫자가 낮을 수록 우선순위가 높음.
lookup local: 로컬 네트워크 (로컬 호스트) 특수 테이블lookup main: 시스템의 기본 라우팅 테이블lookup default: 기본 라우팅 경로 (예비 라우팅 테이블 보통 비어있음)
ip route get 8.8.8.8 (구글 공용 DNS 서버) 했을 때 일어나는 일
출력 내용 예시
8.8.8.8 via 172.31.0.1 dev ens5 src 172.31.12.122 uid 1000
| 항목 | 의미 |
|---|---|
8.8.8.8 | 목적지 IP 주소 (Google DNS 서버) |
via 172.31.0.1 | 게이트웨이 (Router) 주소. 이 IP를 통해 8.8.8.8로 데이터를 전송합니다. |
dev ens5 | 사용되는 네트워크 인터페이스 (ens5) |
src 172.31.12.122 | 출발지 (Source) IP 주소 (이 호스트의 개인 IP) |
uid 1000 | 이 요청을 처리한 사용자 ID (보통 시스템 프로세스인 경우 1000 이상) |
데이터 이동 경로
- 출발지:
172.31.12.122(이 호스트의 개인 IP) - 인터페이스:
ens5(예: 클라우드 환경의 개인 네트워크 인터페이스) - 게이트웨이:
172.31.0.1- 이 게이트웨이는 사설 네트워크에서 공인 인터넷으로의 트래픽을 NAT (Network Address Translation) 하는 역할입니다.
- 172.31.x.x는 AWS VPC나 Azure VNet과 같은 클라우드 환경에서 사용되는 사설 IP 범위임
- 이 게이트웨이를 통해
8.8.8.8로의 요청이 공인 IP로 변환되어 전송됨
- 목적지:
8.8.8.8(Google DNS 서버)
CIDR이란?
CIDR (Classless Inter-Domain Routing)은 IP 주소를 효율적으로 관리하기 위한 방법임
VPC CIDR은 VPC가 사용할 private IP 주소 범위
CIDR은 이런 식으로 생겼음
172.31.0.0/16
10.0.0.0/16
192.168.0.0/24
예를 들어 VPC CIDR이
- 172.31.0.0/16 이면 이 VPC 안에서는 대략 이런 IP들을 쓸 수 있음.
- 172.31.0.0 ~ 172.31.255.255 즉, VPC 전체 주소 풀임
그 안에서 subnet을 더 작게 나눈다.
VPC CIDR: 172.31.0.0/16
Subnet A: 172.31.0.0/20
Subnet B: 172.31.16.0/20
Subnet C: 172.31.32.0/20
EC2 라우팅에 이런게 있었음:
- 172.31.0.0/20 dev ens5 proto kernel scope link src 172.31.12.122 이건 현재 EC2가 속한 subnet CIDR임
그리고 VPC 전체 CIDR은 더 클 가능성이 큽니다. 기본 VPC라면 보통
- 172.31.0.0/16 일 가능성이 높음
정리
- VPC CIDR: 클라우드 안의 큰 사설 네트워크 주소 범위
- Subnet CIDR: VPC CIDR을 AZ별/용도별로 나눈 작은 주소 범위
- EC2 Private IP: Subnet CIDR 안에서 ENI에 하나 할당된 IP
EC2 private IP: 172.31.12.122
Subnet CIDR: 172.31.0.0/20
VPC CIDR: 아마 172.31.0.0/16
- /20, /16의 차이는 범위 크기
- /16 = 앞 16비트가 네트워크 주소 172.31.x.x 전체에 가까운 큰 범위 약 65,536개 주소
- /20 = 앞 20비트가 네트워크 주소 172.31.0.0 ~ 172.31.15.255 약 4,096개 주소
참고: 서브넷 정리하고 넘어가기
IP주소
ip 주소는 IPv4가 32bit, IPv6가 128bit 주소임 IPv4: 256bit.256bit.256bit.256bit -> (8bit) * 4개 = 32 bit IPv6: [hex 4자리].[hex 4자리].[hex 4자리].[hex 4자리].[hex 4자리].[hex 4자리].[hex 4자리].[hex 4자리] -> (16bit) * 8개 = 128 bit
일반적 서브넷 마스크
| 구분 | 내용 | 핵심 포인트 |
|---|---|---|
| IP 주소 | 32‑bit(IPv4) 혹은 128‑bit(IPv6) 숫자 | 192.168.10.0/24 같은 표기법 |
| 서브넷 | IP 네트워크를 작은 네트워크 로 나누는 방법 | 라우팅 효율성·보안·관리 경계를 만들기 위해 사용 |
| CIDR | 주소/마스크길이 로 서브넷 마스크를 간단히 표현 | /24 = 24비트가 네트워크 부분, 남은 8비트가 호스트 부분 |
| 서브넷 마스크 | 네트워크와 호스트 부분을 구분하는 32‑bit 값 | 255.255.255.0 ↔ /24 |
| 네트워크 주소 | 서브넷 안에서 가장 작은 IP (모든 호스트 비트가 0) | 192.168.10.0 |
| 브로드캐스트 주소 | 서브넷 안에서 가장 큰 IP (모든 호스트 비트가 1) | 192.168.10.255 |
| 호스트 주소 | 네트워크와 브로드캐스트를 제외한 나머지 IP 그래서 호스트 할당 가능 개수에서 2개가 빠짐 | 192.168.10.1 … 192.168.10.254 (실제 사용 가능한 주소) |
| 서브넷 마스크 | CIDR | 호스트(기기) 할당 가능 개수 | 설명 |
|---|---|---|---|
255.255.255.0 | /24 | 254개 | 일반 가정 및 소규모 사무실에서 사용 |
255.255.255.128 | /25 | 126개 | 네트워크를 반으로 분할 |
255.255.255.192 | /26 | 62개 | 네트워크를 4개로 분할 |
255.255.255.240 | /28 | 14개 | 네트워크를 16개로 분할 |