Shine's dev log
IPv6 의 개념 본문
1. IPv6의 등장
최근 IOT 등 다양한 기기들이 인터넷에 연결되면서, 연결된 단말들에게 부여되는 주소인 IP 주소가 점점 부족해져가고 있다.
이제까지 자주 사용되어왔던 IPv4 주소와 같은 경우, 32bit의 주소 체계를 사용하였다. 근데, 해당 비트로 할당해줄 수 있는 기기의 개수가 어느순간 한계에 도달했고, 이에 조금 더 많은 기기들이 인터넷에 연결될 수 있도록 나온 녀석이 바로 IPv6 주소체계이다.
IPv6는 128bit의 주소값을 사용하여, 엄청난 수의 기기들을 인터넷에 연결할 수 있도록 하였다.
사실 IPv6가 처음 나오고, 표준화된 것은 90년대이지만, 우리나라에서는 아직까지도 그렇게 많이 상용화되지는 않고 있는 기술이다.
2. IPv4 의 헤더 구조
IPv4의 헤더 구조는 아래 그림과 같다.
그림에서 볼 수 있듯이, 거의 대부분 주소값을 나타내고, 전체적인 복잡도는 IPv4에 비해 굉장히 단순한 것을 알 수 있다.
3. IPv6의 특징
IPv4와 비교하여 IPv6는 다음과 같은 차이점을 가지고 있다.
- 고정된 길이의 40bytes 헤더를 사용한다.
여러가지 옵션에 따라서 헤더의 길이가 가변적으로 변했던 IPv4에 비해 IPv6는 정말 필요한 녀석들만 알짜배기로 담아 고정된 길이의 40bytes 헤더를 사용하도록 하였다.
Fragmentation과 관련된 헤더값들이 모두 사라졌고, checksum 또한 없애버렸다. (사실 위 아래 레이어에서 에러 체크를 어차피 하기 떄문에 checksum 없어져도 상관없다.)
전체적인 헤더의 크기는 증가했지만, 기타 잡다한 연산이 필요 없으므로 처리시간은 훨씬 단축되는 효과를 가져왔다.
- Fragmentation을 허용하지 않는다.
전송 도중 link의 상황에 따라 라우터에서 fragmentation을 수행하던 IPv4와 다르게, IPv6에서는 라우터에서 Fragmentation을 허용하지 않는다.
아래 그림과 같이, 일단 처음에 무지성으로 그냥 패킷을 보내고, 만약 라우터에서 link가 감당할 수 있는 크기가 아니라고 경고 메시지를 보내면, 그제서야 호스트 단에서 fragmentaion을 수행하여 보내주는 식으로 동작한다.
- 주소의 다변화
IPv4의 경우, 크게 Public / Private 네트워크 두가지로만 주소체계가 잡혀있었다.
이에 반해 IPv6의 경우, Private에 해당하는 Link Local, 특정 기관, 도시 단위로 사용할 수 있는 Unique Local, Public에 해당하는 Global 세가지 주소체계로 이루어져 있다.
- IP 주소의 자동 할당
IPv4의 경우, 새로운 기기가 IP 주소를 할당받을 때, 직접 사용자가 주소를 할당해주던지, DHCP 프로토콜을 사용해서 자동으로 할당받아주어야만 했다.
하지만, IPv6의 경우, MAC 주소와 네트워크 정보를 조합하여 자동으로 IP주소를 할당해준다. (Plug-and-Play)
4. IPv4와 IPv6의 공존
사실 처음 IPv6를 설계할 때부터, 한번에 모든 시스템이 IPv6로 바뀔 것이라고 생각하지는 않았다.
그래서 IPv4와 IPv6가 공존하기 위해서, Tunneling 기능을 활용할 수 있다. 해당 기술은 IPv6 패킷을 IPv4 패킷 속에 담아서 전송하는 방식이다.
즉, 일종의 겉봉투 씌우기라고 생각하면 된다.
오늘 배운 내용을 정리해보면,
1. IPv6는 수많은 기기들을 연결해줄 수 있는 주소체계이다.
2. IPv6의 헤더의 크기는 크지만, 복잡하지 않아서 처리 속도가 빠르다.
3. IPv6의 특징으로는 고정길이 헤더, Fragmentation 불허, 다양한 주소체계, 자동 할당 등이 있다.
4. IPv4와 IPv6는 현재 공존하고 있다.
위 내용은 공부하며 정리한 것으로, 오류가 있을 수 있습니다.
'컴퓨터 네트워크' 카테고리의 다른 글
라우팅 알고리즘 (Dijkstra's 알고리즘, Bellman-Ford 알고리즘) (0) | 2021.07.15 |
---|---|
라우팅 알고리즘 (Link state & Distance vector) (0) | 2021.07.14 |
NAT(Network Address Translation) 의 개념 (0) | 2021.03.07 |
IP addressing (CIDR, DHCP) (0) | 2021.03.04 |
IP 프로토콜 (IP header, fragmentation) (0) | 2021.03.03 |