Aracılığıyla paylaş


yuva seçeneklerini IPPROTO_IPV6

Aşağıdaki tablolarda, IPv6 adres ailesi (AF_INET6) için oluşturulan yuvalara uygulanan IPPROTO_IPV6 yuva seçenekleri açıklanmaktadır. Yuva seçeneklerini alma ve ayarlama hakkında daha fazla bilgi için getsockopt ve setsockopt işlev başvuru sayfalarına bakın.

Protokolleri listelemek ve yüklenen her protokolün desteklenen özelliklerini bulmak için WSAEnumProtocols, WSCEnumProtocolskullanın veya WSCEnumProtocols32işlevini.

Bazı yuva seçenekleri, bu tabloların ileteyenden daha fazla açıklama gerektirir; bu tür seçenekler ek bilgilere bağlantılar içerir.

Seçenekler

Seçenek Al ayarlamak Optval türü Açıklama
IP_ORIGINAL_ARRIVAL_IF evet evet DWORD (boole) LPFN_WSARECVMSG (WSARecvMsg) işlevinin, paketin veri birimi yuvaları için alındığı özgün varış arabirimini içeren isteğe bağlı denetim verilerini döndürmesi gerekip gerekmediğini gösterir. Bu seçenek, IPv6 konaklarının diğer IPv6 ağlarına ulaşmak için IP4 ağlarından geçmesi gerektiğinde tek noktaya yayın IPv6 trafiği için adres ataması ve konaklar arası otomatik tünel sağlayan IPv6 geçiş teknolojileriyle (örneğin, 6to4, ISATAP ve Teredo tünelleri) kullanılır. IPv6 paketleri, tünele IPv4 paketleri olarak gönderilir. Bu seçenek paketin alındığı özgün IPv4 arabiriminin WSAMSG yapısında döndürülmesini sağlar.
IPV6_ADD_IFLIST evet DWORD (IF_INDEX) IP_IFLIST seçeneğiyle ilişkili IFLIST'e bir arabirim dizini ekler.
IPV6_ADD_MEMBERSHIP evet ipv6_mreq Yuvayı belirtilen arabirimde sağlanan çok noktaya yayın grubuna ekleyin. Bu seçenek yalnızca veri birimi ve ham yuvalarda geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır).
IPV6_DEL_IFLIST evet DWORD (IF_INDEX) IP_IFLIST seçeneğiyle ilişkili IFLIST'ten arabirim dizinini kaldırır. Girdiler yalnızca uygulama tarafından kaldırılabilir, bu nedenle bir arabirim kaldırıldıktan sonra girişlerin eskiyebileceğini unutmayın.
IPV6_DROP_MEMBERSHIP evet ipv6_mreq Sağlanan çok noktaya yayın grubunu verilen arabirimden bırakın. Bu seçenek yalnızca veri birimi ve ham yuvalarda geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır).
IPV6_GET_IFLIST evet DWORD[] (IF_INDEX[]) IP_IFLIST seçeneğiyle ilişkili geçerli IFLIST'i alır. IP_IFLIST etkinleştirilmediyse hata döndürür.
IPV6_HDRINCL evet evet DWORD(boole) Uygulamanın tüm giden verilerde IPv6 üst bilgisini sağladığını gösterir. setsockoptçağrısında optval parametresi 1 olarak ayarlanırsa seçeneği etkinleştirilir. optval0olarak ayarlanırsa, seçenek devre dışı bırakılır. Varsayılan değer devre dışıdır. Bu seçenek yalnızca veri birimi ve ham yuvalar için geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır). SOCK_RAW destekleyen bir TCP/IP hizmet sağlayıcısı da IPV6_HDRINCL desteklemelidir.
IPV6_HOPLIMIT evet evet DWORD (boole) atlama (TTL) bilgilerinin LPFN_WSARECVMSG (WSARecvMsg) işlevinde döndürülmesi gerektiğini gösterir. optvalsetsockoptçağrısında 1 olarak ayarlanırsa seçeneği etkinleştirilir. 0olarak ayarlanırsa, seçenek devre dışı bırakılır. Bu seçenek yalnızca veri birimi ve ham yuvalar için geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır).
IPV6_IFLIST evet evet DWORD (boole) Yuvanın IP_IFLIST durumunu alır veya ayarlar. Bu seçenek true olarak ayarlandığında, Datagram alımı IFLIST içindeki arabirimlerle kısıtlanır. Diğer arabirimlerde alınan veri birimleri yoksayılır. EĞERLIST boş başlar. IFLIST'i düzenlemek için IP_ADD_IFLIST ve IP_DEL_IFLIST kullanın.
IPV6_JOIN_GROUP evet ipv6_mreq IPV6_ADD_MEMBERSHIP ile aynı
IPV6_LEAVE_GROUP evet ipv6_mreq IPV6_DROP_MEMBERSHIP ile aynı
IPV6_MTU evet DWORD Sistemin MTU yolunu tahminini alır. Yuva bağlı olmalıdır.
IPV6_MTU_DISCOVER evet evet DWORD (PMTUD_STATE) Yuva için MTU bulma durumunu alır veya ayarlar. Varsayılan değer IP_PMTUDISC_NOT_SETdeğeridir. Akış yuvaları için IP_PMTUDISC_NOT_SET ve IP_PMTUDISC_DO yol MTU bulma işlemini gerçekleştirir. IP_PMTUDISC_DONT ve IP_PMTUDISC_PROBE MTU bulma yolunu kapatır. Veri birimi yuvaları için, IP_PMTUDISC_DO olarak ayarlanırsa, MTU yolundan daha büyük paketleri gönderme girişimleri hataya neden olur. IP_PMTUDISC_DONTolarak ayarlanırsa paketler MTU arabirimine göre parçalanır. IP_PMTUDISC_PROBEolarak ayarlanırsa, MTU arabiriminden daha büyük paketler göndermeye çalışılırsa hata oluşur.
IPV6_MULTICAST_HOPS evet evet DWORD Yuvadaki IPv6 çok noktaya yayın trafiğiyle ilişkili TTL değerini alır veya ayarlar. TTL'yi 255'ten büyük bir değere ayarlamak geçersizdir. Bu seçenek yalnızca veri birimi ve ham yuvalar için geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır).
IPV6_MULTICAST_IF evet evet DWORD IPv6 çok noktaya yayın trafiği göndermek için giden arabirimi alır veya ayarlar. Bu seçenek, IPv6 çok noktaya yayın trafiğini almak için varsayılan arabirimi değiştirmez. Bu seçenek çok ana bilgisayarlı bilgisayarlar için önemlidir. Bu seçeneği ayarlamak için giriş değeri, istenen giden arabirimin ana bilgisayar bayt sırasına göre 4 baytlık arabirim dizinidir. GetAdaptersAddresses işlevi, arabirim dizini bilgilerini almak için kullanılabilir. optval, setsockoptçağrısında NULL olarak ayarlanırsa, varsayılan IPv6 arabirimi kullanılır. optval sıfırsa, çok noktaya yayın trafiği göndermek için varsayılan çok noktaya yayın arabirimi belirtilir. Bu seçenek kullanıldığında, optval, çok noktaya yayın IPv6 trafiğini ana bilgisayar bayt sırasına göre göndermek için geçerli varsayılan arabirim dizinini döndürür.
IPV6_MULTICAST_LOOP evet evet DWORD (boole) Yuvaya gönderilen çok noktaya yayın verilerinin, hedef çok noktaya yayın grubunda da birleştirilmişse yuva alma arabelleğine yankılanacağına işaret eder. optvalsetsockoptçağrısında 1 olarak ayarlanırsa seçeneği etkinleştirilir. 0olarak ayarlanırsa, seçenek devre dışı bırakılır. Bu seçenek yalnızca veri birimi ve ham yuvalar için geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır).
IPV6_PKTINFO evet evet DWORD (boole) Paket bilgilerinin LPFN_WSARECVMSG (WSARecvMsg) işlevi tarafından döndürülmesi gerektiğini gösterir.
IPV6_PROTECTION_LEVEL evet evet INT Aynı bağlantı yerel veya site yerel ön ekine sahip adresler gibi belirli bir kapsama yuva kısıtlamasını etkinleştirir. Çeşitli kısıtlama düzeyleri ve varsayılan ayarlar sağlar. Daha fazla bilgi için bkz. IPV6_PROTECTION_LEVEL.
IPV6_RECVIF evet evet DWORD (boole) IP yığınının denetim arabelleğinde veri birimi yuvası olan bir paketi hangi arabirimin aldığına ilişkin ayrıntılarla doldurulup doldurulmayacağını gösterir. Bu değer true olduğunda, LPFN_WSARECVMSG (WSARecvMsg) işlevi, veri birimi yuvaları için paketin alındığı arabirimi içeren isteğe bağlı denetim verilerini döndürür. Bu seçenek paketin alındığı IPv6 arabiriminin WSAMSG yapısında döndürülmesini sağlar. Bu seçenek yalnızca veri birimi ve ham yuvalar için geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır).
IPV6_RECVTCLASS evet evet DWORD (boole) IP yığınının alınan bir veri birimindeki Trafik Sınıfı IPv6 üst bilgi alanını içeren bir iletiyle denetim arabelleğinin doldurulup doldurulmayacağını gösterir. Bu değer true olduğunda, LPFN_WSARECVMSG (WSARecvMsg) işlevi, alınan veri biriminin Traffic Class IPv6 üst bilgi alanı değerini içeren isteğe bağlı denetim verileri döndürür. Bu seçenek, alınan veri biriminin Trafik Sınıfı IPv6 üst bilgi alanının WSAMSG yapısında döndürülmesini sağlar. Döndürülen ileti türü IPV6_TCLASS. Trafik Sınıfı alanının tüm DSCP ve ECN bitleri döndürülür. Bu seçenek yalnızca veri birimi yuvalarında geçerlidir (yuva türü SOCK_DGRAM olmalıdır).
IPV6_RECVECN evet evet DWORD (boole) IP yığınının alınan bir veri birimindeki Trafik Sınıfı IPv6 üst bilgi alanının ECN bitlerini içeren bir iletiyle denetim arabelleğinin doldurulup doldurulmayacağını gösterir. Bu değer true olduğunda, LPFN_WSARECVMSG (WSARecvMsg) işlevi, alınan veri biriminin Traffic Class IPv6 üst bilgi alanı değerinin ECN bitlerini içeren isteğe bağlı denetim verileri döndürür. Bu seçenek, alınan veri biriminin Traffic Class IPv6 üst bilgi alanının ECN bitlerinin WSAMSG yapısında döndürülmesini sağlar. Döndürülen ileti türü IPV6_ECN. Trafik Sınıfı alanının tüm 2 ECN biti döndürülür. Bu seçenek yalnızca veri birimi ve ham yuvalarda geçerlidir (yuva türü SOCK_DGRAM veya SOCK_RAW olmalıdır). Tür güvenliği için, yuva seçeneğini doğrudan kullanmak yerine WSAGetRecvIPEcnve WSASetRecvIPEcnişlevlerini.
IPV6_UNICAST_HOPS evet evet DWORD Tek noktaya yayın trafiği için IPv6 yuvasıyla ilişkili geçerli TTL değerini alır veya ayarlar. TTL'yi 255'ten büyük bir değere ayarlamak geçersizdir.
IPV6_UNICAST_IF evet evet DWORD (IF_INDEX) IPv6 trafiğini göndermek için giden arabirimi alır veya ayarlar. Bu seçenek, IPv6 trafiğini almak için varsayılan arabirimi değiştirmez. Bu seçenek çok ana bilgisayarlı bilgisayarlar için önemlidir. Bu seçeneği ayarlamak için giriş değeri, istenen giden arabirimin ana bilgisayar bayt sırasına göre 4 baytlık arabirim dizinidir. GetAdaptersAddresses işlevi, arabirim dizini bilgilerini almak için kullanılabilir. optval sıfırsa, IPv6 trafiğini göndermek için varsayılan arabirim belirtilmemiş olarak ayarlanır. Bu seçenek kullanıldığında, optval, IPv6 trafiğini ana bilgisayar bayt sırasına göre göndermek için geçerli varsayılan arabirim dizinini döndürür.
IPV6_USER_MTU evet evet DWORD Verilen yuva için IP katmanı MTU'sunda (bayt cinsinden) bir üst sınır alır veya ayarlar. Değer sistemin MTU yolu tahmininden yüksekse (IPV6_MTU yuva seçeneğini sorgulayarak bağlı bir yuvada alabilirsiniz), seçeneğin hiçbir etkisi olmaz. Değer daha düşükse, bundan büyük giden paketler parçalanır veya IPV6_DONTFRAGdeğerine bağlı olarak gönderilemeyecektir. Varsayılan değer IP_UNSPECIFIED_USER_MTU (MAXULONG) değeridir. Tür güvenliği için, yuva seçeneğini doğrudan kullanmak yerine WSAGetIPUserMtu ve WSASetIPUserMtu işlevlerini kullanmanız gerekir.
IPV6_V6ONLY evet evet DWORD (boole) AF_INET6 adres ailesi için oluşturulan bir yuvanın yalnızca IPv6 iletişimleri ile sınırlı olup olmadığını gösterir. AF_INET6 adres ailesi için oluşturulan yuvalar hem IPv6 hem de IPv4 iletişimleri için kullanılabilir. Bazı uygulamalar, AF_INET6 adres ailesi için oluşturulan bir yuva kullanımını yalnızca IPv6 iletişimleriyle kısıtlamak isteyebilir. Bu değer sıfır olmayan olduğunda (Windows'ta varsayılan), yalnızca IPv6 paketlerini göndermek ve almak için AF_INET6 adres ailesi için oluşturulan bir yuva kullanılabilir. Bu değer sıfır olduğunda, AF_INET6 adres ailesi için oluşturulan bir yuva, bir IPv6 adresine veya bir IPv4 adresine paket gönderip almak için kullanılabilir. Bir IPv4 adresiyle etkileşim kurabilmek için IPv4 eşlenmiş adreslerin kullanılmasının gerekli olduğunu unutmayın. Bu yuva seçeneği Windows Vista veya sonraki sürümlerde desteklenir.

IPPROTO_IPV6 yuva seçenekleri için Windows desteği

Seçenek Windows 8 Windows Server 2012 Windows 7 Windows Server 2008 Windows Vista
IP_ORIGINAL_ARRIVAL_IF evet evet evet
IPV6_ADD_IFLIST Windows 10, sürüm 1803'den itibaren
IPV6_ADD_MEMBERSHIP evet evet evet evet evet
IPV6_DEL_IFLIST Windows 10, sürüm 1803'den itibaren
IPV6_DROP_MEMBERSHIP evet evet evet evet evet
IPV6_GET_IFLIST Windows 10, sürüm 1803'den itibaren
IPV6_HDRINCL evet evet evet evet evet
IPV6_HOPLIMIT evet evet evet evet evet
IPV6_IFLIST Windows 10, sürüm 1803'den itibaren
IPV6_JOIN_GROUP evet evet evet evet evet
IPV6_LEAVE_GROUP evet evet evet evet evet
IPV6_MULTICAST_HOPS evet evet evet evet evet
IPV6_MULTICAST_IF evet evet evet evet evet
IPV6_MULTICAST_LOOP evet evet evet evet evet
IPV6_PKTINFO evet evet evet evet evet
IPV6_PROTECTION_LEVEL evet evet evet evet evet
IPV6_RECVIF evet evet evet evet evet
IPV6_UNICAST_HOPS evet evet evet evet evet
IPV6_UNICAST_IF evet evet evet evet evet
IPV6_V6ONLY evet evet evet evet evet

Seçenek Windows Server 2003 Windows XP
IP_ORIGINAL_ARRIVAL_IF
IPV6_ADD_IFLIST
IPV6_ADD_MEMBERSHIP evet evet
IPV6_DEL_IFLIST
IPV6_DROP_MEMBERSHIP evet evet
IPV6_GET_IFLIST
IPV6_HDRINCL evet evet
IPV6_HOPLIMIT evet evet
IPV6_IFLIST
IPV6_JOIN_GROUP evet evet
IPV6_LEAVE_GROUP evet evet
IPV6_MULTICAST_HOPS evet evet
IPV6_MULTICAST_IF evet evet
IPV6_MULTICAST_LOOP evet evet
IPV6_PKTINFO evet evet
IPV6_PROTECTION_LEVEL evet evet
IPV6_RECVIF
IPV6_UNICAST_HOPS evet evet
IPV6_UNICAST_IF
IPV6_V6ONLY

Açıklamalar

Windows Vista ve sonraki sürümler için yayımlanan Microsoft Windows Yazılım Geliştirme Seti'nde (SDK) üst bilgi dosyalarının organizasyonu değişmiştir ve IPPROTO_IPV6 düzeyi, Winsock2.h üst bilgi dosyasına otomatik olarak eklenen Ws2def.h üst bilgi dosyasında tanımlanır. IPPROTO_IPV6 yuva seçenekleri, Ws2tcpip.h üst bilgi dosyasına otomatik olarak eklenen Ws2ipdef.h üst bilgi dosyasında tanımlanır. Ws2def.h ve Ws2ipdef.h üst bilgi dosyaları hiçbir zaman doğrudan kullanılmamalıdır.

IP_ORIGINAL_ARRIVAL_IF yuva seçeneği Hem Windows Server 2008 R2'de hem de Windows 7'de desteklenir.

Gereksinim -leri

Gereksinim Değer
Üstbilgi
Ws2def.h (Winsock2.h içerir);
Windows Server 2003 ve Windows XP'de Winsock2.h