2011-06-23 9 views
6

Mam trochę problemów ze zrozumieniem System.Net.IPAddress class, ponieważ nie wiem, gdzie szukać definicji tego, do czego odnoszą się niektóre właściwości. W szczególności:Wyjaśnij właściwości instancji System.Net.IPAddress

IPAddress.IsIPv6LinkLocal 
IPAddress.IsIPv6Multicast 
IPAddress.IsIPv6SiteLocal 
IPAddress.IsIPv6Teredo 

Z radością przyjmuję również odpowiedź, która wskazuje na zasoby wyjaśniające te pojęcia. Witryna MSDN okazała się niewystarczająca.

Odpowiedz

8

IPAddress.IsIPv6LinkLocal

Adres link-local jest adresem IP który jest przeznaczony wyłącznie dla komunikacji wewnątrz lokalnej podsieci. Routery nie przekazują pakietów z adresami lokalnymi łącza.

IPAddress.IsIPv6Multicast

adres multiemisji jest logicznym identyfikator grupy komputerów w sieci komputera, które są dostępne przetwarzać datagramów lub ramek przeznaczone do rozsyłu grupowego do wyznaczonego usługa sieciowa. Multicast adresowanie może być stosowany w linku Layer (warstwa 2 w modelu OSI), takie jako multicast Ethernet, a w warstwie Internet (warstwa 3 dla OSI) dla Protokół internetowy w wersji 4 (IPv4) lub Version 6 multicast (IPv6).

IPAddress.IsIPv6SiteLocal

unikalny adres lokalny (ULA) jest adresem IPv6 w FC00 bloku ::/7, zdefiniowany w dokumencie RFC 4193. Jest IPv6 odpowiednikiem IPv4 prywatne adres. Unikalne adresy lokalne to dostępne do użytku w sieciach prywatnych, np. , np. wewnątrz pojedynczej witryny lub organizacji lub obejmującej ograniczoną liczbę witryn lub organizacji . One nie są rutowalne w globalnym IPv6 Internet.

IPAddress.IsIPv6Teredo

W sieci komputerowych, Teredo to technologia przejściowy, który daje pełną łączność IPv6 IPv6 gospodarzy będących w Internecie IPv4 ale które nie mają bezpośredniego natywną połączenia do sieci IPv6. W porównaniu z innymi podobnymi protokołami, jego cechą wyróżniającą jest to, że może pełnić swoją funkcję nawet zza adresu sieciowego urządzeń (NAT), takich jak domowe routery .

4

Odpowiedź CodeNaked jest prawie poprawne, ale proszę uważać z IPAddress.IsIPv6SiteLocal. Pierwotne adresy lokalne witryny IPv6 (fec0 ::/10) są przestarzałe.

W tych dniach używane są Unikalne adresy lokalne (ULA) zamiast Lokacji lokacji. ULA ma dwa warianty: fc00 ::/8 nie jest jeszcze zdefiniowany, ale może być używany w przyszłości w przypadku adresów do użytku wewnętrznego zarejestrowanych w centralnym miejscu (centrala ULA). fd00 ::/8 jest w użyciu i nie musi się nigdzie rejestrować. Prefiksy z tego zakresu generowane są losowo.

Niestety IsIPv6SiteLocal sprawdza tylko oryginalnej wersji nieaktualne:

PS C:\Users\Administrator> [System.Net.IPAddress]'fec0::' 

Address   : 
AddressFamily  : InterNetworkV6 
ScopeId   : 0 
IsIPv6Multicast : False 
IsIPv6LinkLocal : False 
IsIPv6SiteLocal : True 
IPAddressToString : fec0:: 

To nie rozpoznaje ULA centralny:

PS C:\Users\Administrator> [System.Net.IPAddress]'fc00::' 

Address   : 
AddressFamily  : InterNetworkV6 
ScopeId   : 0 
IsIPv6Multicast : False 
IsIPv6LinkLocal : False 
IsIPv6SiteLocal : False 
IPAddressToString : fc00:: 

lub lokalnie przypisany ULA:

PS C:\Users\Administrator> [System.Net.IPAddress]'fd00::' 

Address   : 
AddressFamily  : InterNetworkV6 
ScopeId   : 0 
IsIPv6Multicast : False 
IsIPv6LinkLocal : False 
IsIPv6SiteLocal : False 
IPAddressToString : fd00:: 

proszę zobaczyć http://tools.ietf.org/search/rfc4193 dla dalszych szczegółów.

Powiązane problemy