Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przegląd
Typ mieszania RSS określa część odebranych danych sieciowych, którą karta sieciowa musi wykorzystać do obliczenia wartości skrótu RSS.
Nadrzędni sterowniki ustawiają typ skrótu, funkcję i tabelę pośrednią. Typ skrótu, który ustawia sterownik nadrzędny, może być podzbiorem typu, który może obsługiwać sterownik miniportu. Aby uzyskać więcej informacji, zobacz Konfiguracja RSS.
Typ skrótu to OR prawidłowych kombinacji następujących flag:
- NDIS_HASH_IPV4
- NDIS_HASH_TCP_IPV4
- NDIS_HASH_UDP_IPV4
- NDIS_HASH_IPV6
- NDIS_HASH_TCP_IPV6
- NDIS_HASH_UDP_IPV6
- NDIS_HASH_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX
- NDIS_HASH_UDP_IPV6_EX
Są to zestawy prawidłowych kombinacji flag:
- IPv4 (kombinacje NDIS_HASH_IPV4, NDIS_HASH_TCP_IPV4 i NDIS_HASH_UDP_IPV4)
- IPv6 (kombinacje NDIS_HASH_IPV6, NDIS_HASH_TCP_IPV6 i NDIS_HASH_UDP_IPV6)
- Protokół IPv6 z nagłówkami rozszerzeń (kombinacje NDIS_HASH_IPV6_EX, NDIS_HASH_TCP_IPV6_EX i NDIS_HASH_UDP_IPV6_EX)
Karta sieciowa musi obsługiwać jedną z kombinacji z zestawu IPv4. Inne zestawy i kombinacje są opcjonalne. Karta sieciowa może jednocześnie obsługiwać więcej niż jeden zestaw ustawień. W tym przypadku to typ odebranych danych określa, jakiego typu skrótu używa karta sieciowa.
Ogólnie rzecz biorąc, jeśli karta sieciowa nie może poprawnie interpretować odebranych danych, nie powinna obliczać wartości skrótu. Jeśli na przykład karta sieciowa obsługuje tylko protokół IPv4 i odbiera pakiet IPv6, którego nie może interpretować poprawnie, nie może obliczyć wartości skrótu. Jeśli karta sieciowa odbiera pakiet dla typu transportowego, który nie obsługuje, musi nie obliczać wartości skrótu. Jeśli na przykład karta sieciowa odbiera pakiet UDP, podczas gdy powinna obliczać wartości skrótu dla pakietów TCP, nie powinna obliczać wartości skrótu. W takim przypadku pakiet jest przetwarzany tak samo jak w przypadku bez RSS. Aby uzyskać więcej informacji na temat przetwarzania odbierania danych innych niż RSS, zobacz przetwarzanie odbierania danych innych niż RSS.
Kombinacje typów skrótów IPv4
Prawidłowe kombinacje typów skrótów w zestawie IPv4 to:
- NDIS_HASH_IPV4
- NDIS_HASH_TCP_IPV4
- NDIS_HASH_UDP_IPV4
- NDIS_HASH_TCP_IPV4 | NDIS_HASH_IPV4
- NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
- NDIS_HASH_TCP_IPV4 | NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
NDIS_HASH_IPV4
Jeśli jest ustawiona tylko ta flaga, karta sieciowa powinna obliczać wartość skrótu w następujących polach nagłówka IPv4:
- Źródło —IPv4-Address
- Miejsce docelowe —IPv4-Address
Notatka
Jeśli karta sieciowa odbiera pakiet zawierający zarówno nagłówki IP, jak i TCP, NDIS_HASH_TCP_IPV4 nie zawsze powinno być używane. W przypadku pofragmentowanego pakietu IP należy użyć NDIS_HASH_IPV4. Obejmuje to pierwszy fragment zawierający zarówno nagłówki IP, jak i TCP.
NDIS_HASH_TCP_IPV4
Jeśli tylko ta flaga jest ustawiona, karta sieciowa powinna przeanalizować odebrane dane, aby zidentyfikować pakiet IPv4 zawierający segment TCP.
Karta sieciowa musi identyfikować i pomijać wszystkie dostępne opcje adresów IP. Jeśli karta sieciowa nie może pominąć żadnych opcji adresu IP, nie powinna obliczyć wartości skrótu.
Karta sieciowa powinna obliczać wartość skrótu w następujących polach:
- Źródło —IPv4-Address
- Miejsce docelowe —IPv4-Address
- Źródłowy port TCP
- Docelowy port TCP
NDIS_HASH_UDP_IPV4
Jeśli ustawiona jest tylko ta flaga, karta sieciowa powinna analizować odebrane dane w celu zidentyfikowania pakietu IPv4 zawierającego datagram UDP.
Karta sieciowa musi identyfikować i pomijać wszystkie dostępne opcje adresów IP. Jeśli karta sieciowa nie może pominąć żadnych opcji adresu IP, nie powinna obliczyć wartości skrótu.
Karta sieciowa powinna obliczać wartość skrótu w następujących polach:
- Źródło —IPv4-Address
- Miejsce docelowe —IPv4-Address
- Źródłowy port UDP
- Docelowy port UDP
NDIS_HASH_TCP_IPV4 | NDIS_HASH_IPV4
Jeśli ta kombinacja flag jest ustawiona, karta sieciowa powinna wykonać obliczenia skrótu określone dla przypadku NDIS_HASH_TCP_IPV4. Jeśli jednak pakiet nie zawiera nagłówka TCP, karta sieciowa powinna obliczyć wartość skrótu określoną dla przypadku NDIS_HASH_IPV4.
NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
Jeśli ta kombinacja flag jest ustawiona, karta sieciowa powinna wykonać obliczenia skrótu zgodne z określeniami dla przypadku NDIS_HASH_UDP_IPV4. Jeśli jednak pakiet nie zawiera nagłówka UDP, karta sieciowa powinna obliczyć wartość skrótu określoną dla przypadku NDIS_HASH_IPV4.
NDIS_HASH_TCP_IPV4 | NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
Jeśli ta kombinacja flagi jest ustawiona, karta sieciowa powinna wykonać obliczenia skrótu określone przez transport w pakiecie. Jeśli jednak pakiet nie zawiera nagłówka TCP lub UDP, karta sieciowa powinna obliczyć wartość skrótu określoną dla przypadku NDIS_HASH_IPV4.
Kombinacje typów skrótów IPv6
Prawidłowe kombinacje typów skrótów w zestawie IPv6 to:
- NDIS_HASH_IPV6
- NDIS_HASH_TCP_IPV6
- NDIS_HASH_UDP_IPV6
- NDIS_HASH_TCP_IPV6 | NDIS_HASH_IPV6
- NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
- NDIS_HASH_TCP_IPV6 | NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
NDIS_HASH_IPV6
Jeśli tylko ta flaga jest ustawiona, karta sieciowa powinna obliczać skrót w następujących polach:
- Źródło:IPv6-Address
- Miejsce docelowe —IPv6-Address
NDIS_HASH_TCP_IPV6
Jeśli ta i tylko ta flaga jest ustawiona, karta sieciowa powinna przeanalizować odebrane dane, aby zidentyfikować pakiet IPv6 zawierający segment TCP. Interfejs sieciowy musi identyfikować i pomijać jakiekolwiek nagłówki rozszerzeń IPv6, które znajdują się w pakiecie. Jeśli karta sieciowa nie może pominąć żadnych nagłówków rozszerzenia IPv6, nie powinna obliczać wartości skrótu.
Karta sieciowa powinna obliczać wartość skrótu w następujących polach:
- Source-IPv6 -Address
- Destination-IPv6 -Address
- Źródłowy port TCP
- Docelowy port TCP
NDIS_HASH_UDP_IPV6
Jeśli tylko ta flaga jest ustawiona, interfejs karty sieciowej powinien przeanalizować odebrane dane w celu zidentyfikowania pakietu IPv6 zawierającego datagram UDP. Interfejs sieciowy musi identyfikować i pomijać jakiekolwiek nagłówki rozszerzeń IPv6, które znajdują się w pakiecie. Jeśli karta sieciowa nie może pominąć żadnych nagłówków rozszerzenia IPv6, nie powinna obliczać wartości skrótu.
Karta sieciowa powinna obliczać wartość skrótu w następujących polach:
- Źródło:IPv6-Address
- Miejsce docelowe —IPv6-Address
- Źródłowy port UDP
- Docelowy port UDP
NDIS_HASH_TCP_IPV6 | NDIS_HASH_IPV6
Jeśli ta kombinacja flagi jest ustawiona, karta sieciowa powinna wykonać obliczenia skrótu określone dla przypadku NDIS_HASH_TCP_IPV6. Jeśli jednak pakiet nie zawiera nagłówka TCP, karta sieciowa powinna obliczyć skrót określony dla przypadku NDIS_HASH_IPV6.
Na przykład jeśli pakiet jest fragmentowany, może on nie zawierać nagłówka TCP. W takim przypadku karta sieciowa powinna obliczać skrót wyłącznie na podstawie nagłówka IP.
NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
Jeśli ta kombinacja flagi jest ustawiona, karta sieciowa powinna wykonać obliczenia skrótu określone dla przypadku NDIS_HASH_UDP_IPV6. Jeśli jednak pakiet nie zawiera nagłówka UDP, karta sieciowa powinna obliczyć skrót określony dla przypadku NDIS_HASH_IPV6.
Na przykład jeśli pakiet jest pofragmentowany, może on nie zawierać nagłówka UDP. W takim przypadku karta sieciowa powinna obliczać skrót wyłącznie na podstawie nagłówka IP.
NDIS_HASH_TCP_IPV6 | NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
Jeśli ta kombinacja flagi jest ustawiona, karta sieciowa powinna wykonać obliczenia skrótu określone przez transport w pakiecie. Jeśli jednak pakiet nie zawiera nagłówka TCP lub UDP, karta sieciowa powinna obliczyć wartość skrótu, jak określono w przypadku NDIS_HASH_IPV6.
Jeśli na przykład pakiet jest pofragmentowany, może on nie zawierać nagłówka TCP lub UDP. W takim przypadku karta sieciowa powinna obliczać skrót wyłącznie na podstawie nagłówka IP.
Kombinacje rodzajów skrótów nagłówków rozszerzeń w protokole IPv6
Prawidłowe kombinacje w IPv6 z ustawionymi nagłówkami rozszerzeń to:
- NDIS_HASH_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX
- NDIS_HASH_UDP_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_IPV6_EX
- NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
NDIS_HASH_IPV6_EX
Jeśli tylko ta flaga jest ustawiona, karta sieciowa powinna obliczać skrót w następujących polach:
- Adres domowy z opcji adresu domowego w nagłówku opcji docelowych IPv6. Jeśli nagłówek rozszerzenia nie jest obecny, użyj źródłowego adresu IPv6.
- Adres IPv6 zawarty w nagłówku typu Routing-Header-Type-2 pochodzącym ze skojarzonego nagłówka rozszerzenia. Jeśli nagłówek rozszerzenia nie jest obecny, użyj docelowego adresu IPv6.
NDIS_HASH_TCP_IPV6_EX
Jeśli tylko ta flaga jest ustawiona, karta sieciowa powinna obliczać skrót w następujących polach:
- Adres domowy z opcji adresu domowego w nagłówku opcji docelowych IPv6. Jeśli nagłówek rozszerzenia nie jest obecny, użyj źródłowego adresu IPv6.
- Adres IPv6 zawarty w nagłówku typu Routing-Header-Type-2 pochodzącym ze skojarzonego nagłówka rozszerzenia. Jeśli nagłówek rozszerzenia nie jest obecny, użyj docelowego adresu IPv6.
- Źródłowy port TCP
- Docelowy port TCP
NDIS_HASH_UDP_IPV6_EX
Jeśli tylko ta flaga jest ustawiona, karta sieciowa powinna obliczać skrót w następujących polach:
- Adres domowy z opcji adresu domowego w nagłówku opcji docelowych IPv6. Jeśli nagłówek rozszerzenia nie jest obecny, użyj źródłowego adresu IPv6.
- Adres IPv6 zawarty w nagłówku typu Routing-Header-Type-2 pochodzącym ze skojarzonego nagłówka rozszerzenia. Jeśli nagłówek rozszerzenia nie jest obecny, użyj docelowego adresu IPv6.
- Źródłowy port UDP
- Docelowy port UDP
NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_IPV6_EX
Jeśli ta kombinacja flag jest ustawiona, karta sieciowa powinna wykonać obliczenia skrótu określone dla przypadku NDIS_HASH_TCP_IPV6_EX. Jeśli jednak pakiet nie zawiera nagłówka TCP, karta sieciowa powinna obliczyć skrót określony dla przypadku NDIS_HASH_IPV6_EX.
NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
Jeśli ta kombinacja flagi jest ustawiona, karta sieciowa powinna wykonywać obliczenia skrótu określone dla przypadku NDIS_HASH_UDP_IPV6_EX. Jeśli jednak pakiet nie zawiera nagłówka UDP, karta sieciowa powinna obliczyć skrót określony dla przypadku NDIS_HASH_IPV6_EX.
NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
Jeśli ta kombinacja flagi jest ustawiona, karta sieciowa powinna wykonywać obliczenia skrótu zgodnie z transportem pakietów. Jeśli jednak pakiet nie zawiera nagłówka TCP lub UDP, karta sieciowa powinna obliczyć skrót określony dla przypadku NDIS_HASH_IPV6_EX.
Notatka
Jeśli sterownik miniportu zgłasza zdolność NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6_EX i/lub NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6_EX dla karty sieciowej, karta sieciowa musi obliczyć wartości skrótu w polach nagłówków rozszerzeń IPv6 zgodnie z typami skrótów rozszerzenia IPv6 ustawionymi przez sterownik protokołu. Karta sieciowa może przechowywać albo typ skrótu rozszerzenia, albo zwykły typ skrótu w strukturze NET_BUFFER_LIST pakietu IPv6, dla którego obliczana jest wartość skrótu.
Sterownik miniportu ustawia typ skrótu w strukturze NET_BUFFER_LIST przed wskazaniem odebranych danych. Aby uzyskać więcej informacji, zobacz Wskazanie odbioru danych RSS.