기초 물방울/네트워크
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)을 사용하여 네트워크 주소 부분을 구분
특징
- 전 세계에서 유일한 번호
- 유니(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
IPv4 주소의 문제점
- IPv4 주소 개수의 부족 : 32비트로는 주소 수가 43억 개로 절대적으로 부족함
- 클래스 별 주소 분류 방식으로 인한 "비효율적인 주소 할당"
- 국가별로 보유한 IP 주소 개수의 불균형
- 주소 부족 문제 해결을 위한 NAT, DHCP 방법으로는 "근본적인 한계 도달"
- 취약한 보안 문제
- 새롭게 등장하는 다양한 임베디드 단말에 대한 주소 설정의 어려움.
IPv6 주소의 특징
- 인터넷 주소 길이 확장 (32 -> 128비트)
- 보안기능의 강화 (IPsec가 디폴트)
- 품질기능의 강화 (서비스유형필드 -> 트래픽클래스와 플로우 레이블 필드로 대체)
- 자동설정 기능 (수동설정 -> 자동설정 / 각종 임베디드 단말에적용 -> 사물인터넷 활성화)
- 헤더 포맷의 단순화 (12바이트 -> 8바이트로 대체)
IPv6 패킷 구조
- 기본 헤더 : 40바이트로 패킷의 기본적인 정보와 송/수신 주소 등 필수적인 정보로 구성
- 확장 헤더 : 추가적인 전송기능이 필요할때 사용, 기본 헤더 뒤에 선택적으로 추가
- 데이터필드 : IP 상위 프로토콜에서 사용하는 부분 , TCP 세그먼트나 UDP 데이터그램
IPv4와 IPv6 기본 헤더의 차이점
- 크기 : 20 -> 40 바이트
- 헤더길이, 식별자 플래그, 분할옵셋, 헤더체크 섬과 같은 다섯 필드가 제거됨
- 서비스타입 필드 -> 트래픽 클래스, 플로우 레이블
- 프로토콜 필드 -> 다음 헤더
- TTL -> 홉 제한
ICMP (인터넷 제어 메시지 프로토콜)
IPCMP의 필요성
IP
- 비연결형으로 신뢰성이 없음. 오류보고와 오류수정 기능이 없음
- 호스트와 관리자를 위한 매커니즘이 없음. 그냥 브로드캐스트 전달!
- 이런부분을 보완하기 위해 ICMP가 만들어짐!
- 호스트와 관리자를 위해 필요한 것을 보완하기 위하여 설계됨
네트워크 계층에서의 ICMP 위치
- ICMP는 "네트워크 계층 프로토콜"
- 직접 데이터 링크 계층으로 데이터를 전달하지 않음.
- 메시지는 IP 데이터그램에 캡슐화 됨!
ICMPv4 패킷 형식
- IP 헤더의 프로토콜 번호 : 1번
- ICMP 헤더 : 8바이트
- ICMP 필드 값
- 1. Type : ICMP 메시지 종류 표시
- 2. Code : 메시지 타입에 따라 세분화 할 때 사용
- 3. Checksum : ICMP 메시지에 대해 체크섬을 계산한 값
- 4. Rest of header : 메시지 타입에 따른 추가적인 헤더 정보
ICMPv4 메시지 유형
- 오류보고 메시지 : 라우터나 목적지 호스트가 IP 패킷을 처리하는 도중 탐지하는 문제를 보고
ex) ping xxx.xxxx.xxx.xxx - 질의 메시지 : 호스트나 네트워크 관리자가 라우터나 호스트로부터 특정 정보를 획득하는데 사용
오류보고 메시지 개요
- IP는 오류제어나 오류보고가 없는 비신뢰성
- ICMP는 오류를 수정하지 않고 "오류보고"만 수행
-> 오류수정은 상위계층(TCP)에서만 수행 - ICMP는 "최초 발신지"로 발신지 IP주소를 사용하여 오류 메시지를 보고
오류보고 메시지가 생성되지 않는 경우
- ICMP 오류 메시지를 전달하는 데이터그램
- 처음 단편이 아닌 단편화된 데이터그램
- 멀티캐스트를 가진 데이터그램
- 127.0.0.1(루프 백 주소)와 0.0.0.0 같은 특별한 주소를 가진 데이터그램
오류보고 메시지 유형
- 목적지 도달 불가
- 데이터그램 폐기
- - 라우터가 데이터그램을 전달할 수 없을 때
- - 호스트가 데이터그램을 배달할 수 없을 때
- 라우터나 목적지 호스트는 송신지 호스트에게 목적지 도달 불가 메시지를 보냄!
- 발신지 억제
- - 비신뢰성인 IP를 보완하여 흐름제어와 혼잡제어 기능과 유사한 기능을 추가하기 위하여 설계
- - 혼잡으로 인해 데이터그램이 폐기하면 라우터나 호스트는 송신자에게 발신지 억제 메시지를 송신
- 데이터그램이 "폐기 되었음"과 경로상에 "혼잡이 발생했음"을 알림
- 시간 초과
- - 경로를 따라 라우터(홉)를 거쳐서 패킷의 TTL 필드가 0이 되어 데이터그램이 폐기될 때
- 라우터가 시간 초과 메시지를 원래 발신지로 보냄 - - 최종 목적지가 정해진 시간내에 모든 단편을 받지 못했을 때
- 재지정(Redirection)
- 호스트가 데이터그램을 다른 라우터에게 보낼 경우!
- 호스트의 라우팅 테이블을 갱신할 수 있도록 라우터는 호스트에게 재지정 메시지를 보냄
질의 메시지 기능
- 1. 에코 요청과 응답 메시지
- 2. 타임스탬프 요청과 응답 메시지
- "네트워크 문제 진단 기능(Ping)"
질의 메시지 유형
에코 요청 응답
- 고장진단을 목적으로 설계
- 에코 요청과 응답은 IP계층에서 상대방과 통신이 되는지 확인하기 위해서 사용
ex) Ping 명령어
타임스탬프 요청 응답
- 발신지와 목적지 사이에 왕복시간 측정을 위하여 사용
ICMPv6의 개요
- IPv4에서의 ARP, IGMP, ICMP 기능을 ICMPv6에서 수용
- 오류를 보고하고, 정보를 얻으며, 이웃을 검사하고, 멀티캐스트 통신을 관리
- 인터넷에서 멀티캐스트(사전에 나에게 등록된 여러 사람들)를 위한 그룹을 관리하는 프로토콜
- 멀티캐스트 주소의 예 : 224.0.0.0/4
※ 멀티캐스트 : 사전에 나에게 등록된 여러 사람들
브로드캐스트 : 불특정 다수들
ICMPv6 메시지 분류
- 오류 메시지 : 목적지 도달 불가 / 너무 큰 패킷 / 시간 초과(TTL 0) / 매개변수 문제(잘못된 헤더)
- 정보 메시지 : 에코요구 / 에코응답
- 이웃탐색 메시지 : 이웃 라우터를 찾기 위해 사용 / 라우터 요청, 광고
- 그룹 멤버쉽 메시지 : IGMP 기능을 담당 / 멤버쉽 질의, 보고
IGMP의 개요
- 인터넷에서 멀티캐스트를 위한 그룹을 관리하는 프로토콜
- 인터넷에서 멀티캐스트 주소 예 : 224.0.0.0/4
- IP 번호에 대해서 관리 -> 네트워크 계층에서 동작
IGMP의 동작
1. 그룹 가입
2. 그룹 감시
3. 그룹 응답
4. 그룹 탈퇴
주소 변환 프로토콜 (ARP, RARP)
ARP의 기능
- 수신 측 논리 주소인 IP(3)를 가지고 이에 해당하는 물리 주소인 MAC 주소(2)를 가져오는 프로토콜
- IP주소를 가지고 MAC주소를 찾아오는 주소를 "해석"하는 프로토콜
- IP 주소를 가지고 LAN 카드에 있는 MAC 주소를 식별해 오는 것!
- IPv6에서는 ICMP에 다 포함되어서 사용됨! IPv4에만 있는 기술!
RARP 프로토콜
- ARP의 반대과정
- MAC주소(2)를 가지고 IP주소(3)를 찾아오는 프로토콜
- 유동 IP 환경(DHCP)에서 송신 측에서 컴퓨터를 켜고 MAC을 보내서 IP를 받음.
반응형
LIST