TIL 2021-10-13 IPv6 2
Multicast 주소
첫 8bit는 11111111(FF)
4bit field인 flag와 scope로 형패를 정의함
112 low-order bit는 multicast group id임! (8bit 첫 FF, 4bit flag, 4bit scope)
flag
1번째 low-order bit -> Transient Flag
0->T flag는 IANA에 의해 할당된 영구적으로 소속된 멀티캐스트 주소(well-known)라는 것
1->T는 일시적인 멀티캐스트 주소
2번째 low-order bit -> Prefix flag
멀티캐스트가 유니캐스트 주소 prefix 기반인지 확인
3번째 -> Rendezvous point flag(랑데부 지점)
멀티캐스트가 고정된 랑데부 지점 주소를 가지고 있는지 확인
Scope
어떤 mutlicast traffix이 의도되었는지를 알기 위해 IPv6네트워크의 스코프를 사용
라우터는 multicast traffic이 forwrard될 수 있는지를 결정해야함
가장 많이 사용하는 값
1(interface-local scope) 0001
2(link-local scope) -> 0010
5(site-local scope) -> 0101
FF02::2는 link-local,
IPv6 라우터는 local link 밖으로 트래픽을 내보내지 않음
이미 예약된 주소들은 mutlicast assigned 주소라고 부름
]
Scope의 의미
Interface-local
interface-local 범위는 단일 인터페이스에 걸쳐있음.
interface-local 범위의 multicast주소는 노드 내의 멀티캐스트의 루프백 전달에만 유용함
unicast loopback address와 다르게, interface-local multicast주소는 어느 인터페이스에 참여해야한다.
Link-local
이는 동일 링크의 이웃 노드들과 소통할때 노드들에 의해 사용한다.
link-local address의 범위는 local link임
Solicited-Node multicast address(요청된 노드 멀티캐스트 주소)
FF02::1:FF00:0000/104 + low-order 24bit
Unicast address -> FE80::2AA:FF:FE28:9C5A
변환한 Solicited node multicast address - >FF02::1:FF28:9C5A
prefix FF02::1:FF + Unicast 주소의 뒷 24bit 28:9C5A
FF02::1의 1은 All node를 의미하고
FF02::2라면 이는 All routers를 의미함
Solicited-node multicast address의 의의
IPv4의 ARP(Address Resolution Protocol)의 대체
ARP는 IPv6에 사용되지 않고, solicited-node multicast address는 이웃노드의 link-layer주소와 동일 local-link의 라우터를 알기 위해 노드와 라우터에 의해 사용됨
IPv4의 ARP와 마찬가지로, IPv6 PACKET을 전하기 위한 link-layer 프레임을 만들기 위해 이웃 노드의 link-layer 주소의 지식이 필요하다.
Duplicate Address Detection(DAD) (중복 주소 발견)(별로 안중요)
DAD는 Neigbor Discovery Protocol(NDP)의 부분
노드에서는 IPv6 주소가 local link에서 이미 사용중인지 확인 한 후에, 해당 주소를 사용하여 stateless 자동 설정으로 자신의 IPv6를 설정할수 있다.
solicited-node multicast주소는 특정 unicast나 anycast가 이미 다른 노드에 설정되지 않았지 local link를 검증하는데 사용됨
Host나 Router는 얼마나 많은 IPv6 주소를 가질수 있을까?
하나의 네트워크 어댑터를 가진 IPv4 호스트는 전형적으로 어댑터에 할당된 하나의 IPv4 주소를 가진다.
그러나 IPv6 호스트는 여러 IPv6 주소를 가질수 있다. 하나의 인터페이스라도
IPv6 호스트는 이러한 unicast address에 할당됨
각 인터페이스들의 link-local address
각 인터페이스들의 Unicast address
loopback interface의 loopback address(::1)
라우터의 IPv6 주소
각 interface의 link-local address
각 인터페이스의 Unicast address
loopback interface의 loopback address(::1)
Subnet-Router anycast address
추가적인 anycast address
라우터의 주소는 host의 주소에 Subnet-Router anycast와 추가적인 anycast를 더한것과 같다.
IPv6 호스트는 패킷을 받을수 있는 주소가 두개 이상 존재하는 logically multihomed임
local link traffic을 위한 link-local address
routable site-local or global address
추가적으로 이런 multicast 주소들을 들음
interface-local scope all-nodes multicast address(FF01::1)
link-local scope all-nodes multicast address(FF02::1)
각 인터페이스들의 unicast주소에 대한 solicited-node address
각 인터페이스에서 조인한 그룹에 대한 multicast 주소
Router 의 주소는
interface-local scope all-nodes multicast address(FF01::1)
link-local scope all-nodes multicast address(FF02::1)
각 인터페이스들의 unicast주소에 대한 solicited-node address
각 인터페이스에서 조인한 그룹에 대한 multicast 주소
++
interface-local scope all-routers multicast address(FF01::2)
link-local scope all-routers multicast address(FF02::1)
site-local scope all-routers multicast address(FF05::2)