안녕하세요.
방프개입니다.
지난 시간에 이어 TCP/IP 프로토콜에 관해 적어보도록 하겠습니다.
** TCP/IP - (1) 은 아래의 링크로 남겨놓도록 하겠습니다.
https://wjdtngus5511.tistory.com/entry/정보보안-TCPIP-프로토콜
오늘은 인터넷 프로토콜(IP), ARP, RARP, IPv6에 대해 알아보도록 하겠습니다.
1. 네트워크 계층 프로토콜
(1) 인터넷 프로토콜(IP)
1) 개요
> IPv4는 비신뢰적이고 비연결형인 데이터그램 프로토콜로 최선형 전송 서비스입니다.
여기서 최선형 전송의 의미는 IPv4 패킷이 훼손되거나 손실, 순서에 맞지 않게 도착,
지연되어 도착 그리고 네트워크에 혼잡을 발생시킬 수 있는 것을 뜻합니다.
> 만약 신뢰성이 중요하다면 IPv4는 TCP처럼 신뢰성 있는 전송 계층 프로토콜과
함께 사용해야 합니다.
> 모든 TCP/UDP, ICMP, IGMP, IGMP 데이터는 IP 데이터그램을 사용하여 전송합니다.
2) IPv4 데이터그램 형식
> IP가 사용하는 패킷을 데이터그램(Datagram)이라 합니다. 데이터그램은 가변 길이의 패킷으로
헤더와 페이로드(데이터)로 이루어져 있습니다.
> 헤더는 20에서 60바이트의 길이이며 라우팅과 전송에 필수적인 정보를 가지고 있습니다.
TCP/IP에서는 헤더를 4바이트 부분으로 표현하는 것이 일반적입니다.
(2) 논리주소와 물리주소의 변환
1) ARP(Address REsolution Protocol) 개요
> 호스트는 ARP 요청 메시지를 보낼 때 자신의 IP 주소, 자신의 물리주소 그리고 수신자 측
IP 주소는 알고 있지만 수신자 측 물리주소는 모르기 때문에 물리 계층 브로드캐스트를 통해
모든 호스트에게 패킷을 전송합니다.
> ARP 요청 메시지를 수신한 호스트 또는 라우터는 수신 IP 주소와 자신의 IP 주소를 검사해
자신에 대해 물리주소를 요구하는 경우라면 ARP 응답 메시지를 전송합니다.
> 각 시스템은 ARP Cache가 있고 Cache에 정보를 보관해 둡니다.
2) ARP 메시지 종류
① ARP 요청 메시지
> 특정 IP 주소에 대한 물리 주소를 요구합니다.
> 호스트는 ARP 요청 메시지를 보낼 때 수신자측 물리 주소는 모르기 때문에
브로드캐스트로 전송합니다.
② ARP 응답 메시지
> 물리 주소 정보를 알립니다.(유니캐스트로 전송합니다.)
> ARP 요청 메시지를 수신한 호스트 또는 라우터는 자신의 물리 주소를 요구하는 경우
ARP 응답 메시지 전송합니다.
3) RARP(Reverse Address Resolution Protocol)
> ARP가 IP 주소에 대한 물리주소를 얻고자 하는 경우에 사용하는데 반해
RARP는 물리주소에 해당하는 IP 주소를 얻고자 할 때 사용됩니다.
> RARP는 디스크와 같은 저장장치가 없는 호스트에서 주로 사용되며 RARP 응답은
일반적으로 RARP 서버에서 생성합니다.
> 자신의 MAC 정보를 담고 있는 RARP 요청 메시지를 만들어서 브로드캐스트 합니다.
RARP 서버는 요청자의 IP 주소 정보를 담은 RARP 응답 메시지를 만들어
요청자의 MAC 주소로 유니캐스트 방식으로 응답을 줍니다.
(3) ICMPv4(Internet Control Message Protocol version 4)
1) 개요
>IP 프로토콜은 호스트와의 관리 질의를 위한 메커니즘이 없습니다. 그러나 호스트는 간혹
라우터나 다른 호스트가 동작하고 있는지 알 필요가 있습니다.
> 인터넷 제어 메시지 프로토콜 버전 4(ICMPv4)는 위의 두 가지 단점을 보완하기 위해
설계되었습니다. ICMP는 IP 프로토콜의 동반 프로토콜입니다.
2) 메시지
> ICMPv4 메시지는 크게 오류보고 메시지와 질의 메시지로 나눌 수 있습니다.
> 오류보고 메시지는 라우터(목적지)나 호스트가 IP 패킷을 처리하는 도중에 탐지하는
문제를 보고합니다. 질의 메시지는 쌍으로 생성되는데 호스트나 네트워크 관리자가
라우터나 다른 호스트로부터 특정 정보를 획득하기 위해 사용합니다.
3) 오류 보고 메시지
> IP가 신뢰성 없는 프로토콜이기 때문에 ICMP의 주된 임무 중 하나는 IP 데이터그램의
프로세싱 동안 발생하는 오류를 보고하는 것입니다. 그러나 ICMP는 오류를 수정하는 것이
아니고 단지 보고를 할 뿐입니다.
> 오류 수정은 상위 계층 프로토콜에 맡깁니다. 오류 메시지는 언제나 최초의 근원지에
보내집니다. 왜냐하면 데이터그램으로부터 알 수 있는 경로에 대한 정보는 근원지와
목적지 IP 주소뿐이기 때문입니다.
> 다음은 ICMP 오류 메시지의 중요한 점입니다.
- 어떠한 ICMP 오류 메시지도 ICMP 오류 메시지를 운반하는 데이터그램의 응답으로
생성되지 않습니다.
- 어떠한 ICMP 오류 메시지도 처음 단편이 아닌 단편 데이터그램을 위해 생성되지 않습니다.
- 어떠한 ICMP 오류 메시지도 멀티캐스트 주소를 가진 데이터그램을 위해 생성되지 않습니다.
- 어떠한 ICMP 오류 메시지도 127.0.0.0 혹은 0.0.0.0과 같은 특수한 주소를 가진
데이터그램을 위해 생성되지 않습니다.
> 목적지 도달 불가(Destination Unreachable, Type 3)
- 가장 널리 사용되는 오류 메시지는 목적지 도달 불가(type 3)입니다.
- 이 메시지는 왜 데이터그램이 최종 목적지에 도착하지 못하였는지에 대한 오류 메시지의
종류를 정의하기 위해 0부터 15까지의 다른 코드를 사용합니다.
> 근원지 억제(Source Quench, Type4)
- 다른 오류 메시지는 근원지 억제 메시지입니다. 이 메시지는 송신자에게 네트워크에 충돌이
발생해서 데이터그램이 폐기되었음을 알리는 메시지입니다.
- 이 메시지를 전달받은 근원지는 데이터그램을 송신하는 과정을 천천히 수행합니다.
> 재지정 메시지(Redirection, Type 5)
- 재지정 메시지는 발신자가 메시지를 전송하기 위해 잘못된 라우터를 사용할 때
사용되는 메시지입니다.
> 시간 경과 메시지(Time Exceeded, Type 11)
- 타임아웃이 발생하여 IP 패킷이 폐기되었음을 알리는 메시지입니다. 타임아웃 사유는
Code를 통해 알 수 있습니다.
ⓐ Code 0(Time To Live exceede in Transit) : IP 패킷이 최종 목적지에 도달하기 전에 TTL값이
0이 되어 해당 패킷이 폐기되었음을 알리는 메시지입니다.
ⓑ Code 1(Fragment reassembly time exceeded) : IP 패킷 재조합 과정에서 타임아웃이
발생하여 해당 IP 데이터그램이 모두 폐기되었음을 알리는 메시지입니다.
> 매개변수 문제(Parameter Problem, Type 12)
- 매개변수 문제는 데이터그램의 헤더에 문제가 있거나(Code 0) 어떤 옵션이 없거나 옵션의
의미를 알 수 없는 경우(Code 1)에 전송될 수 있습니다.
ICMP | 메시지 기능 |
Echo Request | 원하는 호스트로의 IP 연결을 확인하기 위해 사용되는 간단한 문제 해결 메시지 |
Echo Reply | ICMP Echo Request에 대한 응답 메시지 |
Redirect | 데이터를 보낸 호스트에게 목적 IP 주소에 대한 좀 더 적합한 경로가 있음을 알리기 위해 라우터가 보내는 메시지 |
Source Quench | 데이터를 보낸 호스트에게 IP 데이터그램이 라우터의 집중 현상에 의해 손실되고 있음을 알리기 위해 라우터가 보내는 메시지 |
Destination Unreachable |
라우터나 목적 호스트에 의해 보내지며 데이터그램이 전달되지 못한다는 것을 데이터를 보낸 호스트에게 알려주는 메시지 |
(4) IPv6
1) IPv4의 한계
>전 세계적으로 인터넷의 급격한 보급과 무선 인터넷, 인터넷 정보 가전기기 등의 IP 주소에 대한
수요가 증가하면서 IPv4의 주소 체계로는 처리가 어렵다는 문제가 대두되었습니다.
> IPv4구조에 잠재하는 문제인 클래스 단위의 주소 할당 방식은 쓰이지 않는 많은 IP 주소를
발생시켜 주소의 낭비를 초래했습니다.
2) IPv6의 등장
> 기존 IPv4의 32비트 주소 길이를 4배 확장한 128비트 주소 길이를 사용해 약 3.4X10^38 개의
주소가 생성 가능합니다.
> 보안 문제, 라우팅 효율성 문제, QoS(Quality of Service) 보장, 무선 인터넷 지원과 같은 다양한
기능을 제공할 수 있어 차세대 인터넷 구현의 핵심 요소로 인식되고 있습니다.
3) 특징
(가) 확장된 주소 공간
> 128비트 주소체계를 사용하는 IPv6는 IPv4의 주소 부족 문제를 해결할 수 있을 만큼
주소 공간을 갖습니다.
> IP 주소를 절약하기 위해 사용되는 NAT(Network Address Translation)와 같은 주소 변환
기술도 불필요합니다.
> 주소 할당 방식은 기존의 비효율적인 클래스별 할당을 지양하고 유니캐스트, 애니캐스트,
멀티캐스트 주소 형태로 이루어집니다.
(나) 새로운 헤더 포맷
> IPv4에서 별로 사용되지 않았던 일부 헤더 필드를 삭제하고 확장 헤더를 도입해 선택적인
사용을 가능하게 하였는데, 이는 패킷을 중계하는 라우터의 부하를 줄이기 위한 것입니다.
> 헤더를 고정 길이로 변경
- 시스템에서 헤더 길이를 예측하기 용이해져 빠른 처리가 가능합니다.
> 패킷 단편화(Fragmentation) 관련 필드 삭제
- 패킷을 보내기 전에 적합한 패킷 크기를 알아내는 경로 MTU 탐색 기능을 추가했습니다.
> 체크섬(Checksum) 필드 삭제
- 이미 데이터링크 계층에서 체크섬의 계산이 행해지므로 삭제되었습니다.
(다) 보안 기능
> IPv4는 처음 설계 시 보안에 대한 규정을 하지 않았습니다. 따라서 IPv4에서의 보안은
IPSec이라는 보안 관련 프로토콜을 별도로 설치해줘야 했습니다.
> IPv6에서는 프로토콜 내에 보안 관련 기능을 탑재할 수 있도록 설계되었습니다. 즉, 인증 절차,
데이터 무결성 보호, 메시지 발신지 확인 기능을 제공합니다.
> IPv6의 표준 확장 헤더를 통해 네트워크 계층에서의 종단 간 암호화를 제공해 패킷에 대한
변조를 방지할 수 있습니다.
구분 | IPv4 | IPv6 |
주소 길이 | 32비트 | 128비트 |
표시 방법 | 8비트 4부분 10진수 표시 ex) 203.252.53.55 |
16비트 8부분 16진수로 표시 |
주소 개수 | 약 43억개 | 2^128개 (약 43억X43억X43억X43억) |
주소할당 방식 | A,B,C,D 등의 클래스 단위 비순차 할당 |
네트워크 규모, 단말기 수에 따라 순차할당 |
브로드캐스트 주소 | 있음 | 없음 |
헤더 크기 | 가변 | 고정 |
QoS 제공 | 미흡 | 제공 |
보안 | IPSec 프로토콜 별도 설치 | IPSec 자체 지원 |
서비스 품질 | 제한적 품질 보장 | 확장된 품질 보장 |
Plug&Play | 불가(DHCP 이용 가능) | 가능 |
<IPv4와 IPv6 특징 비교>
생각보다 TCP/IP에 대해 다룰 내용이 많은 것 같습니다.
다음 시간엔 전송 계층, 응용 계층에 대해 알아보도록 하겠습니다.
감사합니다.
'IT > 정보보안' 카테고리의 다른 글
제 16 회 정보보안기사 필기 후기(feat. 알기사 지안패스 강의 후기) (4) | 2020.12.21 |
---|---|
[정보보안] TCP/IP 프로토콜 - (1) (6) | 2020.10.02 |
[정보보안] 네트워크 개요 (6) | 2020.10.01 |