기초 물방울/네트워크

IPv6~ICMP~ARP (수업) #4

Weeding 2022. 6. 30. 18:42
반응형
SMALL

우리가 보통 쓰는 라우터에 배정해야 하는 IP 주소는 두 개인데 하나는 이더넷 인터페이스 / 다른 하나는 시리얼 인터페이스 용이다. (네트워크 구성에 따라 달라질 수 있음) 이더넷 용은 우리가 부여받은 번호 중에 하나를 쓰는 것이고, 시리얼(Serial)은 우리가 접속하는 ISP 업체에 따라 다르므로 인터넷 제공업체에 문의해서 써야함!

 

 

"한 네트워크" 란 하나의 브로드캐스트 영역 = 라우터를 거치지 않고도 통신이 가능한 영역

ex) 같은 PC 방 안에서 A(PC)와 B(PC)간의 데이터 전송은 라우터를 거치지 않고 가능함!

 

◆ 호스트란?

- 각각의 PC 또는 장비라고 생각하면 됨.

 

따라서, 어떤 네트워크에서든지 "하나의 네트웤"에서 네트워크 부분은 모두 같고 호스트 부분은 모두 달라야! 정상적인 통신이 일어난다!

 

 

Q. 다음 IP 네트워크 부분과 호스트 부분은?

IP주소 클래스 네트워크 부분 호스트 부분
10.3.4.3 A클래스 10.0.0.0 3, 4, 3
132.12.11.4 B클래스 132.12.0.0 11, 4
130.11.4.1 B클래스 130.11.0.0 4, 1
192.12.100.2 C클래스 192.11.100.0 2
203.10.1.1 C클래스 203.10.1.0 1
261.12.4.1 ? ? ?

 

 

 


 

IPv6 주소

  • 2의 128승 
  • 128비트
  • 16비트 씩 : (콜론)으로 8개 부분으로 나눔
  • 각 부분을 16진법으로 표기(Hexa 코드)
  • CIDR 표기법(/xx)을 사용하여 네트워크 주소 부분을 구분

하나가 16비트 x 8 = 128비트 / 1300 = 0001 0011 0000 0000

특징

  • 전 세계에서 유일한 번호
  • 유니(1:1) / 애니 / 멀티(1:N) 캐스트 주소로 구성
    IPv4의 A,B,C클래스와 비슷한 느낌
  • 인터넷에서 목적지까지 경로 설정

 

 

주소 생략 방법

  • 0을 포함하는 IPv6 주소를 간략하게 표현하기 위해서 몇 가지 생략 방법을 채택
  • 상위 0 생략
  • 0이 연속된 필드는 ::으로 표시

 

 

 

IPv4 주소의 IPv6 주소 표기 방법

 

 

 

주소의 프리픽스 표기 방법

  • IPv4의 CIDR (Classless Inter Domain Routing) 표기법과 유사 
  • (주소 값 뒤에 " /XX " 로 표시)

포맷 프리픽스 : 이 주소가 어떤 용도로 쓰일건지

 

 

유니캐스트 주소

  • 단일 인터페이스를 식별하기 위한 주소 = 001
  • 미지정 주소
  • 모두 0(::), 자신의 주소를 알지 못할 때 - 특정 호스트에 할당되지 않음

  • 루프백 주소
  • - :: 1로 128비트 중 상위 127비트가 0이고 마지막만 1일 때
  • - IPv4의 경우 127.0.0.1을 사용

 

 

통합글로벌 유니캐스트 주소

  • Format Prefix:001
  • - 자동설정되는 번호, 각 인터페이스를 유일하게 식별하기 위한 주소
  • - 기본적으로 64비트의 네트워크 부분과 64비트의 호스트 부분으로 구성

 

 

 

 

로컬 주소(Local Address)

  • IPv4의 사설 IP 주소와 비슷한 개념
  • IPv6에서 보안 등의 이유로 외부 인터넷에 연결하지 않은 주소
  • 로컬 사이트 내에서만 사용 가능!
    네트워크 외부에서 사이트 로컬 주소를 사용하는 호스트로 패킷을 전송하는 것은 불가능!

 

 

 

멀티캐스트 주소

  • 인터페이스 그룹을 식별하는 주소
  • 패킷을 해당 멀티캐스트 그룹에 등록되어 있는 모든 인터페이스에 전달
  • 상위 8비트가 '1'로 시작
  • - 1111 111 즉, FF로 시작
  • IPv4의 경우 = 224.0.0.X

플래그 : 멀티캐스트가 이미 정의되어있는지, 잘 알려져 있는지, 사전에 약속되어있는지(0), 일시적사용인지 구분(1)

 

 


 

 

IPv4 주소의 문제점

  • IPv4 주소 개수의 부족 : 32비트로는 주소 수가 43억 개로 절대적으로 부족함
  • 클래스 별 주소 분류 방식으로 인한 "비효율적인 주소 할당"
  • 국가별로 보유한 IP 주소 개수의 불균형
  • 주소 부족 문제 해결을 위한 NAT, DHCP 방법으로는 "근본적인 한계 도달"
  • 취약한 보안 문제
  • 새롭게 등장하는 다양한 임베디드 단말에 대한 주소 설정의 어려움.

 

 

IPv6 주소의 특징

  • 인터넷 주소 길이 확장 (32 -> 128비트)
  • 보안기능의 강화 (IPsec가 디폴트)
  • 품질기능의 강화 (서비스유형필드 -> 트래픽클래스와 플로우 레이블 필드로 대체)
  • 자동설정 기능 (수동설정 -> 자동설정 / 각종 임베디드 단말에적용 -> 사물인터넷 활성화)
  • 헤더 포맷의 단순화 (12바이트 -> 8바이트로 대체)

 

 

IPv6 패킷 구조

  1. 기본 헤더 : 40바이트로 패킷의 기본적인 정보와 송/수신 주소 등 필수적인 정보로 구성
  2. 확장 헤더 : 추가적인 전송기능이 필요할때 사용, 기본 헤더 뒤에 선택적으로 추가
  3. 데이터필드 : IP 상위 프로토콜에서 사용하는 부분 , TCP 세그먼트나 UDP 데이터그램

IPv6 기본 헤더

 

 

IPv4와 IPv6 기본 헤더의 차이점

  • 크기 : 20 -> 40 바이트
  • 헤더길이, 식별자 플래그, 분할옵셋, 헤더체크 섬과 같은 다섯 필드가 제거됨
  • 서비스타입 필드 -> 트래픽 클래스, 플로우 레이블
  • 프로토콜 필드 -> 다음 헤더
  • TTL -> 홉 제한

 

 

확장헤더 : 추가적인 전송기능이 필요할 때 사용, 기본 헤더 뒤에 선택적으로 추가!

 

 


 

 

ICMP (인터넷 제어 메시지 프로토콜)

 

IPCMP의 필요성

IP

  • 비연결형으로 신뢰성이 없음. 오류보고와 오류수정 기능이 없음
  • 호스트와 관리자를 위한 매커니즘이 없음. 그냥 브로드캐스트 전달!
  • 이런부분을 보완하기 위해 ICMP가 만들어짐!
  • 호스트와 관리자를 위해 필요한 것을 보완하기 위하여 설계됨

Internet Control Mesage Protocol

 

 

네트워크 계층에서의 ICMP 위치

  • ICMP는 "네트워크 계층 프로토콜"
  • 직접 데이터 링크 계층으로 데이터를 전달하지 않음.
  • 메시지는 IP 데이터그램에 캡슐화 됨!

ICMP는 3.5계층에 위치

 

 

ICMPv4 패킷 형식

  • IP 헤더의 프로토콜 번호 : 1번
  • ICMP 헤더 : 8바이트
  • ICMP 필드 값
  • 1. Type : ICMP 메시지 종류 표시
  • 2. Code : 메시지 타입에 따라 세분화 할 때 사용
  • 3. Checksum : ICMP 메시지에 대해 체크섬을 계산한 값
  • 4. Rest of header : 메시지 타입에 따른 추가적인 헤더 정보

 

 

ICMPv4 메시지 유형

  1. 오류보고 메시지 : 라우터나 목적지 호스트가 IP  패킷을 처리하는 도중 탐지하는 문제를 보고
    ex) ping xxx.xxxx.xxx.xxx
  2. 질의 메시지 : 호스트나 네트워크 관리자가 라우터나 호스트로부터 특정 정보를 획득하는데 사용

 

 

오류보고 메시지 개요

  • IP는 오류제어나 오류보고가 없는 비신뢰성
  • ICMP는 오류를 수정하지 않고 "오류보고"만 수행
    -> 오류수정은 상위계층(TCP)에서만 수행
  • ICMP는 "최초 발신지"로 발신지 IP주소를 사용하여 오류 메시지를 보고

 

 

오류보고 메시지가 생성되지 않는 경우

  • ICMP 오류 메시지를 전달하는 데이터그램
  • 처음 단편이 아닌 단편화된 데이터그램
  • 멀티캐스트를 가진 데이터그램
  • 127.0.0.1(루프 백 주소)와 0.0.0.0 같은 특별한 주소를 가진 데이터그램

 

 

오류보고 메시지 유형

  • 목적지 도달 불가
  • 데이터그램 폐기
  • - 라우터가 데이터그램을 전달할 수 없을 때
  • - 호스트가 데이터그램을 배달할 수 없을 때
  • 라우터나 목적지 호스트는 송신지 호스트에게 목적지 도달 불가 메시지를 보냄!

  • 발신지 억제
  • - 비신뢰성인 IP를 보완하여 흐름제어와 혼잡제어 기능과 유사한 기능을 추가하기 위하여 설계
  • - 혼잡으로 인해 데이터그램이 폐기하면 라우터나 호스트는 송신자에게 발신지 억제 메시지를 송신
  • 데이터그램이 "폐기 되었음"과 경로상에 "혼잡이 발생했음"을 알림

  • 시간 초과
  • - 경로를 따라 라우터(홉)를 거쳐서 패킷의 TTL 필드가 0이 되어 데이터그램이 폐기될 때
    - 라우터가 시간 초과 메시지를 원래 발신지로 보냄
  • - 최종 목적지가 정해진 시간내에 모든 단편을 받지 못했을 때

  • 재지정(Redirection)
    - 호스트가 데이터그램을 다른 라우터에게 보낼 경우!
    - 호스트의 라우팅 테이블을 갱신할 수 있도록 라우터는 호스트에게 재지정 메시지를 보냄

 

 

 

질의 메시지 기능

  • 1. 에코 요청과 응답 메시지
  • 2. 타임스탬프 요청과 응답 메시지
  • "네트워크 문제 진단 기능(Ping)"

 

 

질의 메시지 유형

에코 요청 응답

  • 고장진단을 목적으로 설계
  • 에코 요청과 응답은 IP계층에서 상대방과 통신이 되는지 확인하기 위해서 사용
    ex) Ping 명령어

 

타임스탬프 요청 응답

  • 발신지와 목적지 사이에 왕복시간 측정을 위하여 사용

10시에 출발했는데 10시 40분에 도착했으면 송
ICMP 모니터링 화면

 

 

ICMPv6의 개요

  • IPv4에서의 ARP, IGMP, ICMP 기능을 ICMPv6에서 수용
  • 오류를 보고하고, 정보를 얻으며, 이웃을 검사하고, 멀티캐스트 통신을 관리
  • 인터넷에서 멀티캐스트(사전에 나에게 등록된 여러 사람들)를 위한 그룹을 관리하는 프로토콜
  • 멀티캐스트 주소의 예 : 224.0.0.0/4

멀티캐스트 : 사전에 나에게 등록된 여러 사람들

    브로드캐스트 : 불특정 다수들

 

 

ICMPv6 메시지 분류

  • 오류 메시지 : 목적지 도달 불가 / 너무 큰 패킷 / 시간 초과(TTL 0) / 매개변수 문제(잘못된 헤더)
  • 정보 메시지 : 에코요구 / 에코응답
  • 이웃탐색 메시지 : 이웃 라우터를 찾기 위해 사용 / 라우터 요청, 광고
  • 그룹 멤버쉽 메시지 : IGMP 기능을 담당 / 멤버쉽 질의, 보고

 


 

IGMP의 개요

  • 인터넷에서 멀티캐스트를 위한 그룹을 관리하는 프로토콜
  • 인터넷에서 멀티캐스트 주소 예 : 224.0.0.0/4
  • IP 번호에 대해서 관리 -> 네트워크 계층에서 동작

IGMP의 동작

 

IGMP의 동작

1. 그룹 가입

2. 그룹 감시

3. 그룹 응답

4. 그룹 탈퇴

 

 

 


 

 

주소 변환 프로토콜 (ARP, RARP)

 

 

ARP의 기능

  • 수신 측 논리 주소인 IP(3)를 가지고 이에 해당하는 물리 주소인 MAC 주소(2)를 가져오는 프로토콜
  • IP주소를 가지고 MAC주소를 찾아오는 주소를 "해석"하는 프로토콜
  • IP 주소를 가지고 LAN 카드에 있는 MAC 주소를 식별해 오는 것!
  • IPv6에서는 ICMP에 다 포함되어서 사용됨! IPv4에만 있는 기술!

IP 소켓 = 편지 봉투
ARP 프로토콜 동작

 

 

RARP 프로토콜

  • ARP의 반대과정
  • MAC주소(2)를 가지고 IP주소(3)를 찾아오는 프로토콜
  • 유동 IP 환경(DHCP)에서 송신 측에서 컴퓨터를 켜고 MAC을 보내서 IP를 받음.

 

주소 변환 프로토콜의 진화

 

 

 

 

 

 

 

반응형
LIST