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 동작 과정

  1. ARP 요청
  2. ARP 응답
  3. ARP 테이블( ARP 캐시 ) 갱신

ARP 요청

  1. 특정 IP 주소를 가진 호스트의 MAC 주소를 알아내기 위해 보내는 브로드 캐스트 메세지
  2. 해당 호스트의 맥주소를 모르기 때문에 브로드 캐스트 메세지로 전송

ARP 응답

  1. 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