백지부터 시작하는 이세계 코딩 생활
IPv4 , IPv6 본문
IPv4
Internet Protocol version 4
IPv6
Internet Protocol version 6
모두 IP 프로토콜을 의미한다.
IPv4 프로토콜의 주소가 32비트라는 제한된 주소 공간 및 국가별로 할당된 주소가 거의 소진되고 있다는 한계점으로 인해 지속적인 인터넷 발전에 문제가 예상되어, 이에 대한 대안으로서 IPv6 프로토콜이 제안.
IPv6와 기존 IPv4 사이의 가장 큰 차이점은 바로 IP 주소의 길이가 128비트로 늘어났다는 점
특성
- IP 주소의 확장 : IPv4의 기존 32 비트 주소공간에서 벗어나, IPv6는 128 비트 주소공간을 제공한다.
- 호스트 주소 자동 설정 : IPv6 호스트는 IPv6 네트워크에 접속하는 순간 자동적으로 네트워크 주소를 부여받는다. 이는 네트워크 관리자로부터 IP 주소를 부여받아 수동으로 설정해야 했던 IPv4에 비해 중요한 이점이다.
- 패킷 크기 확장 : IPv4에서 패킷 크기는 64킬로바이트로 제한되어 있었다. IPv6의 정보프로그램 옵션을 사용하면 특정 호스트 사이에는 임의로 큰 크기의 패킷을 주고받을 수 있도록 제한이 없어지게 된다. 따라서 대역폭이 넓은 네트워크를 더 효율적으로 사용할 수 있다.
- 효율적인 라우팅 : IP 패킷의 처리를 신속하게 할 수 있도록 고정크기의 단순한 헤더를 사용하는 동시에, 확장헤더를 통해 네트워크 기능에 대한 확장 및 옵션기능의 확장이 용이한 구조로 정의하였다.
- 플로 레이블링(Flow Labeling) : 플로 레이블(flow label) 개념을 도입, 특정 트래픽은 별도의 특별한 처리(실시간 통신 등)를 통해 높은 품질의 서비스를 제공할 수 있도록 한다.
- 인증 및 보안 기능 : 패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 IP 프로토콜 체계에 반영하였다. IPv6 확장헤더를 통해 적용할 수 있다.
- 이동성 : IPv6 호스트는 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서도 자유롭게 이동할 수 있다. 이와 같은 모바일 IPv6는 RFC 3775와 RFC 3776에 기술되어 있다. (IPv4에도 모바일 IP가 정의되어 있지만 아직 많이 사용되지 않는다.)
터널링
- 터널링은 IPv6/IPv4 호스트와 라우터에서 IPv6 데이터그램을 IPv4 패킷에 캡슐화하여 IPv4 라우팅 토폴로지 영역을 통해 전송하는 방법이다. 터널링은 기존의 IPv4 라우팅 인프라를 활용하여 IPv6 트래픽을 전송하는 방법을 제공한다. IPv6 패킷은 그 영역에 들어갈때 IPv4 패킷 내에 캡슐화되고, 그 영역을 나올 때 역캡슐화 된다.IPv6-in-IPv4 터널링 방법은 크게 설정 터널링(configured tunneling) 방식과 자동 터널링(automatic tunneling) 방식으로 구분된다.
- 설정 터널링6Bone에서 주로 사용하는 방법으로 두 라우터 간(혹은 호스트 간)의 IPv4 주소를 통해 수동으로 정적인 터널을 설정하는 방식이다.
- 자동 터널링IPv4-호환 주소를 이용하여 수동 설정 없이 IPv4 구간을 통과할 때면 IPv4 호환 주소에 내포되어 있는 IPv4 주소를 통해 자동으로 터널링을 하여주는 방식이다.
- Tunneling 기술의 문제
- Tunnel의 양단간의 장비는 반드시 두 개의 프로토콜을 지원하는 장비(Dual Stack)이어야 한다.
- Tunnel의 양단간의 장비에서는 반드시 변환 프로토콜 번호를 허용해야 하기 때문에 보안상 문제가 발생한다. (IPv6의 프로토콜이 41번이므로, Tunnel 양단 장비에서 41번 프로토콜을 허용해야 터널링 구성 가능)
- Tunneling에 의한 패킷 크기 증가로 패킷의 분할될 수 있으며 이는 장비의 부하량을 증가 시킨다.
Ref.
https://ko.wikipedia.org/wiki/IPv6
IPv6 - 위키백과, 우리 모두의 백과사전
IPv6(Internet Protocol version 6)는 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서 버전 6 인터넷 프로토콜(version 6 Internet Protocol)로 제정된 차세대 인터넷 프로토콜을 말한다. 인터넷(Internet)은
ko.wikipedia.org
'Service || Server > Ubuntu' 카테고리의 다른 글
npm install -g grunt-cli (0) | 2021.07.20 |
---|---|
npm install PM2 -g (0) | 2021.07.19 |
gcc (0) | 2021.07.19 |
Ubuntu 18.04 - node js 설치 (0) | 2021.07.19 |
Comments