Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
NDIS 6.30 (Windows Server 2012) wprowadza wirtualizację sieci przy użyciu ogólnej kapsulacji routingu (NVGRE). Sterowniki NDIS miniport, protokoły i sterowniki filtru oraz karty sieciowe, które wykonują duże odciążanie wysyłania (LSO) w wersji 2 (LSOV2), powinny to robić w sposób obsługujący NVGRE.
Uwaga Ta strona zakłada, że jesteś zaznajomiony z informacjami zawartymi w sekcji "Odciążanie segmentacji dużych pakietów TCP".
Jeśli NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO.IsEncapsulatedPacket jest PRAWDA i informacje poza pasmem (OOB) w TcpIpChecksumNetBufferListInfo są prawidłowe, oznacza to, że obsługa NVGRE jest wymagana, a karta sieciowa musi dokonać odciążenia LSOV2 w pakiecie w formacie NVGRE, z następującymi warunkami:
- Tylko wartości w NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO.LsoV2Transmit są prawidłowe. Sterownik karty sieciowej i miniportu nie powinny odwoływać się do wartości w strukturze NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO.LsoV1Transmit.
- NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO.LsoV2Transmit.element TcpHeaderOffset nie posiada prawidłowej wartości przesunięcia i nie może być używany przez kartę sieciową ani sterownik miniportu.
Aby obsługiwać protokół NVGRE w LSOV2, sterowniki protokołu i filtru muszą wprowadzić następujące zmiany:
- Zmniejsz wartość MSS w strukturze NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO.LsoV2Transmit, aby uwzględnić nowy nagłówek GRE.
- Przekaż długość pakietu TCP, która może nie być dokładną wielokrotnością zredukowanej wartości MSS.
- Dostosuj wartości InnerFrameOffset, TransportIpHeaderRelativeOffseti TcpHeaderRelativeOffset w strukturze NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO, aby uwzględnić nagłówek GRE.
Karty sieciowe i sterowniki miniportów mogą używać wartości InnerFrameOffset, TransportIpHeaderRelativeOffseti TcpHeaderRelativeOffset podanych w strukturze NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO. Sterownik karty sieciowej lub miniportu może wykonać wszelkie wymagane sprawdzenia zewnętrznego nagłówka IP tunelu lub kolejnych nagłówków w celu zweryfikowania tych przesunięć.
Sterowniki Miniport muszą obsługiwać przypadek, w którym NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO.InnerFrameOffset może znajdować się na innej liście scatter-gather niż początek pakietu. Sterownik protokołu gwarantuje, że wszystkie nagłówki hermetyzacji dodane na początku (ETH, IP, GRE) będą fizycznie przylegające i znajdą się w pierwszym MDL pakietu.
Sterowniki protokołów i filtrów nie zapewniają, że łączna długość ładunku TCP jest dokładną wielokrotnością zmniejszonej wartości MSS. Z tego powodu sterowniki miniportów i karty sieciowe muszą zaktualizować nagłówek adresu IP tunelu (zewnętrznego). Karty sieciowe muszą generować jak najwięcej segmentów o pełnym rozmiarze na podstawie zmniejszonej wartości MSS w informacjach NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO.LsoV2Transmit pozapasmowych (OOB). Na każde wysyłanie LSOv2 może zostać wygenerowany tylko jeden segmentMSS.
Sterowniki miniportu muszą wykonywać następujące czynności:
- Oblicz sumę kontrolną dla nagłówka adresu IP tunelu (zewnętrznego).
- Zwiększaj wartość identyfikatora IP (IP ID) w nagłówku zewnętrznego adresu IP tunelu dla każdego pakietu. Pierwszy pakiet musi używać identyfikatora IP w nagłówku adresu IP oryginalnego tunelu (zewnętrznego).
- Zwiększ identyfikator IP w wewnętrznym nagłówku IP transportu dla każdego pakietu. Pierwszy pakiet musi używać ID IP w oryginalnym nagłówku IP transportowym (wewnętrznym).
- Oblicz sumę kontrolną nagłówka TCP i nagłówka IP warstwy transportowej (wewnętrznego).
- Upewnij się, że pełne nagłówki, w tym nagłówki tunelu hermetyzacji (zewnętrzne) są dodawane do każdego wygenerowanego pakietu.