IP
네트워크 계층
- 네트워크 간 통신이 가능한 계층 → 라우팅
- 단편화가 이루어지는 계층
데이터링크 계층의 단점
- 경로를 파악하기 어려움
MAC 주소 - 물리 주소 IP 주소 - 논리 주소
MAC 주소 구조 IP 주소 구조
IP 주소
- 직접 할당
- 자동 할당 ( DHCP )
IP 주소 기능
- 주소 지정
- 단편화
단편화
- 패킷 크기를 MTU 이하로 쪼개는 것
- MTU 크기 이하로 단편화된 패킷들은 목적지에서 재조합
패킷 확인 명령어
- win : netsh interface ipv4 show interfaces
- linux : ifconfig
IPv4 헤더
- 송신지 주소
- 목적지 주소
- Identification : 식별자 , 패킷에 할당된 번호 ( 재조합시 사용 )
- Flags : 부가 정보 (미사용 , Don’t Fragment , More Fragment 비트)
- Fragment Offset : 단편화 오프셋 , 첫 데이터로부터 떨어진 거리
- TTL ( Time To Live ) : 패킷의 수명 라우터를 거칠 때마다 1 감소
- Protocol : 상위 계층의 프로토콜 ( ex) TCP = 6 , UDP = 17 )
IPv4 주소
- 4바이트 ( 32 비트 )로 표현 가능
- 한 옥텟은 0~255 범위의 십진수로 표기
- IPv4 주소 개수 = 2
IPv6
- IPv4 주소 부족 문제를 해결하기 위해 만들어짐
- 16바이트 ( 128 비트 )
- 할당 가능한 주소 개수 = 2
IPv6 헤더 구조
- Next Header : 확장 헤더
단편화 확장헤더
ARP
- Address Resolution Protocol
- IP 주소를 통해 MAC주소를 알아내기위한 프로토콜
- 동일 네트워크 내의 맥주소를 알아내기 위한 프로토콜
ARP 동작 과정
- ARP 요청
- ARP 응답
- ARP 테이블( ARP 캐시 ) 갱신
ARP 요청
- 특정 IP 주소를 가진 호스트의 MAC 주소를 알아내기 위해 보내는 브로드 캐스트 메세지
- 해당 호스트의 맥주소를 모르기 때문에 브로드 캐스트 메세지로 전송
ARP 응답
- ARP 요청 메세지에 대한 응답 , 자신의 MAC 주소 포함
ARP 테이블 갱신
- ARP 테이블 ( ARP 캐시 ). MAC 주소와 IP 주소가 매핑된 표 형태의 데이터
- 일정 시간이 지나면 삭제
명령어 ARP -a : arp 테이블 보는 방법
다른 네트워크에 속한 호스트의 mac 주소 알아내기
IP의 한계
- 비신뢰성 : 패킷이 목적지까지 제대로 전송한다는 보장이 없는 특성 , 최선형 전달 ( best-effort delivery )
- 비연결형 : 호스트 간의 사전 연결 수립이 없는 특성
ICMP
- IP의 비신뢰성과 비연결형 특성을 보완하기 위한 네트워크 계층 프로토콜
- IP 패킷의 전송 과정에 대한 피드백 메세지 제공
- 오류 보고
- 네트워크 진단 정보
- ping , traceroute
- IP의 한계를 보완
ICMP 메세지는 타입과 코드로 정의
IP 주소의 구성
- 네트워크 주소
- 호스트 주소
MAC 주소의 구성 : 제조사 번호, 일련번호 ( 비트 수 24/24비트 고정 )
클래스풀 주소 체계
|---|---|---|---| |클래스|사이더 블록|범위|비고| |A Class|/8|1.0.0.1 ~ 126.255.255.254|255255254| |B Class|/16|128.0.0.1 ~ 191.255.255.254|255*254| |C Class|/24|192.0.0.1 ~ 223.255.255.254|254| |D Class|NA|224.0.0.0 ~ 239.255.255.255|멀티 캐스트| |E Dlass|NA|240.0.0.0 ~ 254.255.255.254|미래 사용 용도로 예약| A 클래스
B 클래스
C 클래스
네트워크의 첫번째 주소 = 네트워크 주소 마지막 주소 = 브로드 캐스트 주소
클래스리스 주소체계
- 클래스풀 주소보다 정교하게 나눠짐
- 네트워크와 호스트를 구분하기 위해 서브넷 마스크 이용
서브넷 마스크
IP 주소와 서브넷 마스크 AND 연산
CIDR 표기
- 192.168.0.29 / 30
- 30부분
Subnet mask 표기법 → 1.1.1.1 (255.255.255.255)
CIDR(prefix) 표기법 → 1.1.1.1/32 Classless Inter-Domain Routing
공인 IP
사설 IP
- 사설 IP 주소 대역
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
예약된 IP 주소
NAT : 공인 IP 주소와 사설 IP 주소 간의 변환 기능
- 하나의 공인 IP 주소를 여러 사설 IP 주소가 공유 가능
- IP 주소 부족 문제 해결
IP 주소 할당
- 정적 IP 주소
- 동적 IP 주소 ( DHCP )
디폴트 게이트 웨이
- 출구 주소?
- 공유기 주소 , 라우터 주소
DHCP 서버에 의해 동적으로 IP 주소 할당
라우터
- 라우팅 : 패킷이 이동할 최적 경로 설정 , 해당 경로로 패킷이동
- 라우팅 프로토콜 : 라우팅을 수행하는 방법
홉 : 라우터와 라우터 간의 패킷 이동 과정 홉 바이 홉 라우팅
라우팅 테이블 ( routing table )
- 특정 목적지까지 도달하기 위한 정보를 명시하는 표와 같은 정보
- 대표적인 정보 : 목적지 주소 , 서브넷 마스크 , 게이트 웨이 , 인터페이스 , 메트릭
방법 1 롱기스트 프리픽스 매치 ( longest prefix match )
- 여러 라우팅 테이블 항목과 일치할 경우 가장 길게 일치하는 항목 선택 후 패킷 전송
디폴트 라우트 ( default route )
- 합치되는 경로가 없을 경우 기본으로 내보낼 경로 ( 0.0.0.0/0 )
- 명령어 route , netstat -rn
라우팅 테이블이 만들어지는 방법
- 정적 라우팅 : 수동으로 넣기
- 동적 라우팅 : 자동으로 넣기 ( 라우팅 프로토콜 )
AS
- Autonomous System
- 동일한 라우팅 정책으로 운영되는 라우터들의 집단 네트워크
- AS 내부 라우팅 프로토콜 (IGP) : RIP , OSPF
- AS 외부 라우팅 프로토콜 (EGP) : BGP