본문 바로가기
IT/네트워크

[ 네트워크 ] IPv6

by 신인용 2020. 5. 23.
반응형

 

IPv6

 

IPv6

 32bit가 부족할 것에 대비해 나온 것이 64bit를 사용하는 IPv6이다.

 더불어 IP버전을 바꾸면서 기존 IPv4의 header에서 필요없는 부분을 떼고, 진짜 사용할 것만 남겨 header format을 깔끔하게 바꾸었다.

 

IPv6 header

- ver : 4bit. IPv6 version에 해당하는 bit가 들어감.

- pri : dataflow 형태로 전달되는데, flow간에 우선순위를 정해서 보낼 수 있게 해주자. 중간 라우터들이 우선순위에 대응해서 데이터를 빨리 보내줄 수 있음. scheduling하는 것임.

- flow label : flow를 구분해 줄 수 있는 ID. app1app2가 보내는 데이터는 다른 flow.

- payload len : payload의 길이.

- next hdr : upper layer protocol에 대한 처리.

- hop limit : IPv4에서의 TTL이라고 보면 됨. 라우터 지날 때마다 하나씩 빼줌.

- source address, destination address (128bit) : 2^128개의 주소를 적을 수 있음. 이것은 어마어마한 수….

 

 

 header의 크기는 40byte로 딱 두배 늘어났는데, 표현할 수 있는 IP주소의 값은 어마어마하게 많아졌다. 안 쓸 이유가 없어보이는데 왜 안 쓸까?

 IPv6를 구현하려면 라우터에 기능이 들어가야 한다. 이것은 비용이 많이 들어간다. 그리고 전세계 모든 라우터를 교체하는 건 현실적으로 매우 힘들다.

 

 

 

 

Tunneling

 전세계 모든 라우터를 한번에 IPv6로 바꾸는 것을 불가능하다. IPv4IPv6가 공존해야 하는 상황이 올 것이다. 이에 대비하여 "Tunneling"이라는 방법을 고안했다.

 IPv4IPv6가 공존하는 상황이라 함은, IPv6를 인식하는 라우터와 인식하지 못하는 라우터가 있을 것이다. IPv6를 인식하지 못하는 라우터가 IPv6 datagram을 받을 때 처리하는 방법이 필요하다. 그래서 IPv4 datagram 내에다가 IPv6 datagram을 집어넣어서 IPv4 형식으로 처리할 수 있게 하는 방법tunneling을 고안했다.

 

 

 

 IPv6datagram을 보내는데, ABEFIPv6를 처리할 수 있고 CD는 처리하지 못하는 상황.

 이 때 CD 라우터를 지날 때 IPv4header를 붙여서 IPv4인 것처럼 보내서 통과하게 한다.

 B에서 C로 보낼 때, IPv6 datagramIPv4 header를 집어넣고 source IPB, destination IPE로 설정해서 전송한다. 이렇게 CD 라우터는 정상적으로 처리 후, E로 보낸다. E가 받았을 때는 이것을 읽고 IPv4를 떼버린다.

 

 

 

 

 

 

[참고]

Computer Networking A Top-Down Approach 7-th Edition / Kurose, Ross / Pearson

 

 

반응형

댓글