eztcp 기술자료 IPv6 가이드 Version 1.3 솔내시스템 http://www.sollae.co.kr
목차 1 IPv6...- 2-1.1 개요...- 2-1.2 IPv6 주소체계...- 3-1.2.1 주소의형식...- 3-1.2.2 Link Local Address...- 3-1.2.3 Global Unicast Address...- 4-1.3 IPv6 주소설정방식...- 5-1.3.1 Stateless auto configuration...- 6-1.3.2 Stateful auto configuration(dhcpv6)...- 6-1.4 IPv6 관련용어...- 7-1.4.1 Neighbor Discovery...- 7-2 eztcp와 IPv6...- 8-2.1 ezmanager로 IPv6 설정하기...- 8-2.1.1 초기화면구성...- 8-2.1.2 IPv6 주소설정...- 9-2.1.3 IPv6 통신설정및옵션... - 10-2.1.4 IPv6 통신테스트... - 11-2.1.5 현재상태보기... - 12-2.2 IPv6용 AT 명령어... - 14-2.2.1 추가된 AT 확장명령어... - 14-2.2.2 추가된 AT 명령어에의한자동설정예... - 15-2.2.3 추가된 AT 명령어에의한수동설정예... - 16-3 문서변경이력... - 17 - - 1 - http://www.sollae.co.kr
1 IPv6 1.1 개요 인터넷이보급된이후우리의삶에는무수히많은변화가이어져왔습니다. PC가설치된곳이면어디든인터넷이가능해졌고, 각종임베디드기기와스마트폰의등장으로언제어디든인터넷을사용할수있게되었습니다. 이러한변화는비단한나라뿐만이아니라전세계적인범위로확장되고있습니다. 비로소세계인들은인터넷을통해전세계를그야말로그물망 (web) 과같이구성하게된것입니다. 이처럼또하나의세계라고해도과언이아닌인터넷세계는점점더많은사람들의발길을모으고있습니다. 그런데과거에는그다지많지않았던이세계안에많은사람들이드나들게되면서한가지문제점이생겨났습니다. 그것은바로 주소공간의부족 입니다. 인터넷세계에들어오는모든호스트들은고유의주소를가져야하는데, 이용자들이많아지면서주소공간의밑바닥이보이기시작한것입니다. 기존에사용된 IP version 4( 이하 IPv4) 의주소는 123.456.789.012 와같은 32비트주소체계였습니다. 이공간에서최대한나올수있는주소의개수는 2 32 = 약 43억개정도지만, 실질적으로사용할수있는총개수는 2억 5천만개정도가됩니다. 숫자로만본다면아직많아보이지만, 전세계인구수를생각한다면이는턱없이부족합니다. 특히나인터넷전화, 스마트폰등의등장이 IP 주소의고갈을더욱부추기고있습니다. 현재에는 DHCP나 NAT(Network Address Translation) 의기술등이모자란주소를열심히돌려쓰게해주고있지만이는임시방편일뿐, 근본적인해결책은되지못합니다. 따라서사람들은 IPv4를대체하기위한새로운 IP 방식이필요하게되었고, IP version 6( 이하 IPv6) 가탄생되었습니다. IPv6는주소공간의확대뿐만아니라기존의 IPv4 방식에서의문제점들도보완이되어, 보다효율적인라우팅을기대할수있게되었습니다. 하지만 IPv4와는프로토콜구조가많이다르기때문에, 기존에사용했던 IPv4 전용소프트웨어및장비로는사용이어렵습니다. 이러한사항을고려하여 eztcp( 모델명 ) 는 IPv6 환경에서도적합하도록설정이가능하게개발되었으며, IPv4 환경에서도정상적으로동작이가능합니다. ezmanager에서의간단한설정을통하여새로운환경에서의시리얼 이더넷의변환과정은문제없이처리될것입니다. - 2 - http://www.sollae.co.kr
1.2 IPv6 주소체계 1.2.1 주소의형식 IPv6 의주소는총 128bit 로이루어져있으며각숫자는 16 진수로이루어져있습니다. 그림 1-1 IPv6 주소 그림 1-1 에서와같은 IPv6 주소형식은다음과같은몇가지의약속을통해더욱 간략하게표현할수있습니다. - 0000은 0으로표현이가능 - 각필드의가장앞에연속되는 0은생략가능 - 필드의 0000이연속될경우 :: 로표현 - 하나의주소에서 :: 는두개가나타날수없음 위의약속을적용하여예제 1-1 을다음과같이축약할수있습니다. 그림 1-2 IPv6 주소의간략화 모든 IPv6 주소는이와같은형식으로표현됩니다. 1.2.2 Link Local Address 모든 IPv6 환경에서각각의호스트는내부네트워크내에서만사용할수있는주소인 Link Local Address를가지게됩니다. 이는 IPv4의사설 IP와도비슷한개념으로이해할수있으나그와는차이가있습니다. Link Local Address는한네트워크안에서만통용되는주소로그네트워크안에서만구분하기위해사용되며, 주소를설정하지않아도기본적으로생성됩니다. 따라서내부적으로만통신하고자할시에원한다면라우터없이 Link Local Address로통신할수있습니다. Link Local Address의 IP 구조는다음과같습니다. 그림 1-3 Local Link Address 의구조 FE80 의고정된값을갖는 prefix 가있고그뒤로부터 64bit 까지는 0 으로채워집니다. 뒤의 64bit 는 MAC 주소를기반으로생성된 ( 이하 EUI-64 포맷 ) 64bit 의주소로자동설정 됩니다. - 3 - http://www.sollae.co.kr
1.2.3 Global Unicast Address 1.2.2 절에서다뤄진 Link Local Address는내부에서만사용할수있는주소인반면 Global Address는이와달리외부로사용할수있는주소입니다. IP 주소의구조는다음과같습니다. 그림 1-4 Global Address 1 Prefix IPv4에서의 Subnet mask와비슷한역할을합니다. 앞에서부터이숫자만큼의 bit가같은네트워크로묶여집니다. 예제에서는 64bit만큼이같은네트워크가되므로 Prefix는총 64bit가됩니다. 2 Network Address Subnet 숫자만큼의 bit가 Prefix가되며, 이들은같은네트워크가됩니다. 여기서 같은네트워크 란 Link Local에서의개념과는다르며, 아래그림을통해보다쉽게이해할수있습니다. 그림 1-5 IPv6 Aggregation IPv6의 Aggregation이라는개념이있습니다. IPv6 환경에서의라우터가 Prefix가같은것끼리묶어서밖으로내보냄을의미합니다. 그림 1-1과같이같은 Prefix의네트워크들은각각이모여하나의네트워크가되어외부로는 Prefix 정보만을내보내게됩니다. 즉, 같은네트워크란하나로묶여져외부로나가는것을뜻합니다. - 4 - http://www.sollae.co.kr
3 Interface ID IPv4 의 Host ID 부분과비슷한역할을하며, 각네트워크의 host 별로할당되는 값이위치하게됩니다. 1.3 IPv6 주소설정방식 IPv4 와마찬가지로 IPv6 주소역시수동으로설정이가능합니다. 그림 1-6 Windows 7 에서의 IPv6 주소설정 자동설정으로선택할시, IPv4 에서는 DHCP 서버에서 IP 주소를자동으로할당받는 방식으로사용이되지만 IPv6 에서는 DHCP 서버없이라우터에서도 IP 할당이가능합니다. - 5 - http://www.sollae.co.kr
1.3.1 Stateless auto configuration IPv4에서자동설정방식으로 IP를할당받기위해서는 DHCP 서버를이용해야합니다. 하지만 IPv6에서는 DHCP 서버없이라우터등에서도 IP를할당받을수있으며, 이방식을 Stateless auto configuration이라합니다. 그림 1-7 Stateless auto configuration Router Solicitation (RS) Router Advertisement (RA) 라우터에게 Global Prefix를요청하는메시지라우터에게서 Global Prefix를포함한정보를담고있으며 RS에대한응답메시지표 1-1 Information Message Host A는자신의 Link Local address를출발지로하여 RS를라우터로보내어 Global prefix를요청합니다. 그리고메시지를받은라우터는글로벌 prefix 를포함한정보를 RA로보내게됩니다. 이때, Host A는 prefix와 EUI-64 포맷으로형성된 64bit의 ID가합쳐진 IP를할당받게됩니다. 1.3.2 Stateful auto configuration(dhcpv6) IPv6에서는 DHCP 서버가필요하지않은 Stateless 방식이등장하였지만, 이러한방식이완전히사라진것은아닙니다. Stateless 방식으로는 DNS를포함한여러정보들을추가로세팅할수없기때문입니다. IPv6에서도 DHCPv6를사용할수있으며, 이러한방식을 Stateful auto configuration 방식이라고합니다. 이와같은방식은 Stateless와동시에사용될수있습니다. Host는예제 1-6에서의방식대로라우터에게 RS를보냅니다. 그후에, 라우터설정에따라서 DHCP 서버로부터 IP를할당받게됩니다. DHCP 서버에서는단순히 IP만을할당해주지않으며, 다른부가적인정보들도제공하고있습니다. 따라서 IPv6에서는 Stateless에서 IP를할당받고, 다른부가적인정보들은 Stateful로받는것이가능합니다. - 6 - http://www.sollae.co.kr
1.4 IPv6 관련용어 1.4.1 Neighbor Discovery Neighbor Discovery( 이하 ND) 란 IPv6의핵심적인프로토콜중하나이며 IPv4에서의 ARP와유사한역할을수행합니다. 즉, 다른호스트의 IPv6 주소를통해 MAC 주소를알아내고그호스트와의통신을가능하게합니다. 그림 1-8 Neighbor Discovery Neighbor Solicitation (NS) Neighbor Advertisement (NA) MAC 주소와 Link Local Address 를요청하는메시지 MAC 주소와 Link Local Address 정보가포함된 NS 의응답메시지 표 1-2 Information Message (ND) Host A 는통신을위해서 NS 메시지를전송합니다. 메시지를받은 Host B 는자신의 MAC 주소와 Link Local Address 정보가포함된 NA 응답메시지를 Host A 로전송합니다. 이 과정을거치면 A 와 B 가서로의정보를교환하게되어서로통신이가능해집니다. - 7 - http://www.sollae.co.kr
2 eztcp 와 IPv6 2.1 ezmanager 로 IPv6 설정하기 eztcp는 IPv4와 IPv6를동시에설정및사용이가능합니다. 물론 eztcp는 IPv6가지원되는환경에서사용이가능합니다. eztcp에 IP주소를설정하기위해서는 ezmanager라는프로그램을사용할수있습니다. CSE-M53N을기준으로 IPv6에관련된 ezmanager의화면구성및사용법을확인해보도록하겠습니다. 기존 IPv4 의설정및화면구성은 ezmanager 사용설명서를참고해주시기바랍니다. 2.1.1 초기화면구성 그림 2-1 IPv6 설정화면 기존에사용되었던 IPv4 뿐만아니라 IPv6 주소설정도가능하도록되어있습니다. - 8 - http://www.sollae.co.kr
2.1.2 IPv6 주소설정 그림 2-2 IPv6 주소설정 1 기본값은 사용안함 으로설정되어있으며 사용 선택시 IPv6 설정탭이활성화됩니다. 사용 으로설정할경우기본적으로사용이가능한 IPv4와 IPv6를동시에설정하고사용할수있습니다. 2 1이 사용 으로선택되어있을경우활성화되며 IP 설정방식을선택할수있습니다. 3 2 항목이 자동으로 IP 주소받기 로설정될경우선택가능하며 Interface ID 생성방식을선택할수있습니다. 자동으로 IP를생성할경우 IP는라우터에서할당받은 64bit의 prefix와 Host 별로생성한 64bit의 Interface ID로구성됩니다. 이때, MAC 주소를기반으로 IP 주소를생성할지랜덤하게생성할지여부를선택할수있습니다. 4 2 항목이 고정된 IP 주소사용 으로설정되어있을경우설정가능하며수동으로 IP 주소와게이트웨이주소, DNS 서버주소를넣을수있습니다. 사용예 그림 2-3 IP 수동설정예 그림 2-4 IP 자동설정예 - 9 - http://www.sollae.co.kr
2.1.3 IPv6 통신설정및옵션 TCP/IP 통신설정 그림 2-5 TCP/IP 통신설정 eztcp 를 TCP 클라이언트모드로동작할경우통신할주소에 IPv6 입력이가능합니다. 제품 (eztcp) 접근제한 그림 2-6 접근제한접근을허용할장비또는 PC의 IPv4 주소와 IP 주소대역을설정할수있으며, IPv6 주소가추가되어 IPv6 주소로도접근을제한할수있습니다. IPv6는설정한 Network mask까지접근이가능합니다. 예제 2-4의경우, 2001:DB8까지의 IP를가지고있는호스트만이접근이가능하게됩니다. - 10 - http://www.sollae.co.kr
2.1.4 IPv6 통신테스트 ezmanager 의통신테스트는 PC 를사용하여 eztcp 시리얼포트의데이터와 LAN 사이의 아주간단한데이터통신을확인하는기능입니다. 상세한통신테스트사용법은 ezmanager 메뉴얼을참고해주세요. eztcp 가서버모드일경우, 해당메뉴는클라이언트로동작해야하며, IPv4 주소와 IPv6 주소에모두연결요청을보낼수있습니다. 다음은 IPv6 의 [ 통신테스트 ] 사용법입니다. 그림 2-7 통신테스트 IPv6 주소로접속통신할주소에 eztcp에설정한 IPv6 주소를입력합니다. 접속상태확인 [ 접속하기 ] 버튼을누르면접속이완료되며메시지를확인할수있습니다. 받은데이터확인시리얼포트와 LAN이접속이된것을확인하면 [ 데이터보내기 ] 버튼을눌러서로의 [ 받은데이터 ] 에데이터가잘전송되는지확인할수있습니다. - 11 - http://www.sollae.co.kr
2.1.5 현재상태보기 기존에표시되었던 IPv4 주소할당및제품동작은정상적으로실행되며 IPv6 IP 주소 할당상태가추가되었습니다. 그림 2-8 현재상태보기 IPv6 주소할당상태 (IP6 NETWORK INFORMATION) 제품에할당된 IP주소관련값들을나타냅니다. 자동으로 IP주소를할당받는경우에할당여부를판단할수있습니다. - 12 - http://www.sollae.co.kr
ARP/ND 캐시테이블제품의 ARP 테이블을나타냅니다. TCP 접속이나 UDP 데이터를송 / 수신받은경우해당 IP주소와 MAC 주소는제품의 ARP 테이블에등록됩니다. 이정보는 60초동안지속되며 50초가경과하면 ARP 패킷을브로드캐스트합니다. 응답이없는상태로 0초가되면해당정보는소멸되고, 그사이에응답이오면다시 60초로갱신됩니다. IPv6의경우, 제품의 ND캐시목록을나타냅니다. 이때표시되는메시지로상태를확인할수있습니다. 메시지는다음과같은 5개의상태로구분됩니다. 상태설명처음통신시상대방의 MAC 및링크로컬주소를알아내기 INCOMPLETE 위해네트워크에요청메시지 Neighbor Solicitation을보낸후대기하는상태입니다. 요청메시지인 Neighbor Solicitation을보낸후응답메시지 Neighbor Advertisement를응답받아상대방의정보를가지 REACHABLE 고있는상태입니다. 이상태로표시되는장비와바로통신이가능합니다. 마지막 REACHABLE 상태로진입한후일정시간이지나면이상태로진입하게됩니다. 이상태로진입한장비와다시 STALE 통신하기위해서는이상태에서요청메시지인 Neighbor Solicitation을보내게됩니다. STALE 상태에진입한장비와다시통신하기위해보낸 Neighbor Solicitation 요청메시지의응답이오지않을경우 DELAY 해당상태에진입하게됩니다. 이상태에진입할장비와는연결이닿지않습니다. DELAY 상태에진입한장비에게요청메시지를재전송하는 PROBE 상태입니다. 이상태에진입한장비가응답할때까지요청메시지인 Neighbor Solicitation을전송하게됩니다. 표 2-1 ND Cache 테이블에표시되는 5가지상태 - 13 - http://www.sollae.co.kr
2.2 IPv6 용 AT 명령어 eztcp 는 AT 명령어를이용하여 AT 모드로설정하여모뎀제어와유사하게 eztcp 를 제어할수있습니다. IPv6 환경값설정을위해 AT 명령어가추가되었습니다. 다른 AT 명령어는 [ 다운로드 ]>>[ 기술문서 ] 의 ATC-AT 명령모드기술문서를 확인하시기바랍니다. 2.2.1 추가된 AT 확장명령어 명령어 설명 비고 +PIP6 IPv6 주소사용여부 사용안함 : 0, 사용 : 1 +PGUA IPv6 설정방식 자동 : 0, 수동 : 1 +PEUI EUI 생성방식 MAC : 0, RANDOM : 1 +PLIP6 제품로컬 IPv6 주소 +PPFX 제품로컬 Prefix +PGIP6 제품 IPv6 게이트웨이주소 +PRIP6 통신할 IPv6 주소 표 2-2 AT 확장명령어 IPv4 AT 명령어와동시에사용할수있습니다. - 14 - http://www.sollae.co.kr
2.2.2 추가된 AT 명령어에의한자동설정예 데이터 ( : 명령어, : 응답코드 ) 설명 AT+PIP6=1<CR> IPv6 주소사용설정 <CR><LF>OK<CR><LF> 명령처리 OK AT+PGUA=0<CR> IPv6 설정방식을자동으로설정 <CR><LF>OK<CR><LF> 명령처리 OK AT+PRIP6= 2001:DB8:131F::140B <CR> 통신할 IPv6 주소설정 AT+PWP<CR> FLASH 메모리에설정값저장 <CR><LF>OK<CR><LF> 명령처리 OK <CR><LF>NO CARRIER<CR><LF> 시스템리셋 표 2-3 확장 AT 명령어자동설정예 그림 2-9 확장 AT 명령어자동설정활용예 - 15 - http://www.sollae.co.kr
2.2.3 추가된 AT 명령어에의한수동설정예 데이터 ( : 명령어, : 응답코드 ) 설명 AT+PIP6=1<CR> IPv6 주소사용설정 <CR><LF>OK<CR><LF> 명령처리 OK AT+PGUA=1<CR> IPv6 설정방식을수동으로설정 <CR><LF>OK<CR><LF> 명령처리 OK AT+PLIP6= 2001:DB8:131F::140B <CR> LOCAL IPv6 주소설정 <CR><LF>OK<CR><LF> 명령처리 OK AT+PPFX=32 PREFIX 설정 <CR><LF>OK<CR><LF> 명령처리 OK AT+PGIP6= 2001:DB8::1 GATEWAY IPv6 주소설정 <CR><LF>OK<CR><LF> 명령처리 OK AT+PWP<CR> FLASH 메모리에설정값저장 <CR><LF>OK<CR><LF> 명령처리 OK <CR><LF>NO CARRIER<CR><LF> 시스템리셋 표 2-4 확장 AT 명령어수동설정예 그림 2-10 확장 AT 명령어수동설정활용예 - 16 - http://www.sollae.co.kr
3 문서변경이력 작성일 버전 변경내용 작성자 2012.03.27 1.0 최초작성 신누리 2013.12.27 1.1 IPv6 지원모델명변경 신누리 2014.08.25 1.2 오타및캡션수정 이사라 2018.03.09 1.3 표 IPv6 지원가능한모델 삭제 이사라 - 17 - http://www.sollae.co.kr