본문 바로가기
이모저모 잡지식

[SERVER] IPv6 와 IPv4

by ssollacc 2021. 12. 13.
728x90

스프링으로 로컬 개발 중  request.getRemoteAddr() 함수로 아이피 주소를 가져오는데 

 0:0:0:0:0:0:0:1 로 찍히는 사용자와  127.0.0.1 찍히는 사용자를 보았다.

 

이유는 간단!

 0:0:0:0:0:0:0:1는 IPv6 주소이고 127.0.0.1는 IPv4 주소이기 때문이다.

 


 

그럼 IPv6와 IPv4는 무엇일까?

 

IPv6(Internet Protocol version 6)는 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서

버전 6 인터넷 프로토콜(version 6 Internet Protocol)로 제정된 차세대 인터넷 프로토콜을 말한다!

 

인터넷(Internet)은 IPv4 프로토콜로 구축되어 왔으나 IPv4 프로토콜의 주소가 32비트라는 제한된 주소 공간 및 국가별로 할당된 주소가 거의 소진되고 있다는 한계점으로 인해

지속적인 인터넷 발전에 문제가 예상되어, 이에 대한 대안으로서 IPv6 프로토콜이 제안되었으며,

국제 표준이 RFC를 통해서 확정되었고, 실제로 IPv6 주소는 휴대폰 및 컴퓨터에 할당되어 적용되고 있다.

 

윈도우7에서부터 기본적으로 IPv6를 리턴 한다고 한다.

 

IPv6는 IPv4 보다 기밀성, 인증 및 데이터 무결성을 제공하고IPv4와 달리 IPv6는 전 세계 어느 곳에서 사용할 수 있다.(IPv4의 주소 50%는 생성될 때 미국에서 사용하는 용도로 예약되어 있다고 함)

 

그리고 IPv6는 일관된 헤더가 있어 주소로 라우팅하기 위한 코드가 더 간단해지고 하드웨어 처리가 덜 필요하다.그리고 가장 좋은 기능은 상태 비상태 유지 자동 저장 구성인데,이를 통해 장치는 서버 없이도 자체 IP주소를 할당할 수 있다.대신 사용자가 소유한 모든 휴대폰, 태플릿 또는 노트북에 고유한 장치의 MAC 주소를 사용하여 IP주소가 생성되어동일한 네트워크에 연결된 장치가 서로를 더 쉽게 검색할 수 있다.

 

하지만 아직까지 IPv6에서 발생하는 트래픽은 매우 적다. 즉, 사용자가 적다는 것.(물론, 늘어나는 추세.)

 

왜냐하면 고객 단말은 IPv6를 사용하지만 중간에 터널링을 이용하여 IPv4로 전환 되기 때문.기존 인프라와 소통하기 위해서는 최종적으로 IPv4 인프라로 전환해야한다는 것이다.

 

그리고 이에 따른 가장 근본적인 문제는 보안이라고 한다.현재 국내의 IPv4 기반의 보안 시스템은 IPv6로 설정 된 모바일 기기, pc, 서버 등에서 발생되는 공격을 탐지하기 어렵다.

 

결국 IPv4에서 IPv6를 전환하기 위해서 비용도 많이 들고, IPv6 환경을 완성하기 위해서는 통신망 인프라나 보안 기술등이 뒷받침 되어야 한다는 것!

 

기술 발전과 흐름에 따라 IPv4에서 IPv6로 천천히 바뀌지 않을까 싶다. 


IPv6 -> IPv4 방법

 

 

이클립스에서 톰캣 실행시 세팅

Run > Run Configurations > Arguments 탭 > -Djava.net.preferIPv4Stack=true 추가

Server > 해당 서버 더블클릭 > Open launch configuration > -Djava.net.preferIPv4Stack=true 추가

 

톰캣을 개별로 실행할 경우

톰캣설치경로 /bin/catalina.bat의 "set JAVA_OPTS" 라는 키워드로 검색하면 두 개가 나오는데 두 곳 다 -Djava.net.preferIPv4Stack=true 추가

 

 

지금은 회사 프로젝트에서 내부망을 쓰기 때문에 캡쳐와 인터넷을 못쓴다ㅜ

시간 날 때 스크릿 샷도 추가 하기!

 

728x90

댓글