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 |
|