Udostępnij przez


Omówienie dzielenia ramek Ethernet

W tej sekcji opisano określone wymagania dotyczące podziału nagłówek-dane, które odnoszą się do dostawców realizujących podział nagłówek-dane, w zależności od typu ramki Ethernet, którą dzieli dostawca.

Uwaga Po zapoznaniu się z ogólnymi wymaganiami w tym temacie można użyć kolejnych tematów, aby zrozumieć określone wymagania dotyczące poszczególnych typów ramek Ethernet. Kolejne tematy opierają się na wymaganiach w poprzednich tematach. Jeśli na przykład ramka zawiera informacje o protokołach IPv4 i UDP, należy przeczytać tematy dzielenie ramek IPv4 oraz dzielenie ramek przy ładunku UDP.

Jeśli dostawca podziału nagłówka i danych dzieli ramkę zgodnie z wymaganiami podziału nagłówka i danych, wskazane struktury NET_BUFFER_LIST muszą mieć flagę NDIS_NBL_FLAGS_HD_SPLIT ustawioną w elemencie NblFlags. Jeśli dostawca podziału nagłówka-danych nie dzieli ramki, ramka musi być oznaczona przy następujących flagach wyczyszczonych w NblFlags :

  • NDIS_NBL_FLAGS_HD_SPLIT

  • NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER

  • NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD

Aby uzyskać więcej informacji na temat ustawiania flag NET_BUFFER_LIST z podziałem danych nagłówka oraz innych wymagań dotyczących wskazań odbioru, zapoznaj się z tematem "Odbiór wskazań przy podziale danych nagłówka".

Istnieją przypadki, w których dostawca podziału danych nagłówka może podzielić odebraną ramkę poza wymaganiami dostawcy podziału danych nagłówka. W takich przypadkach dostawca nigdy nie powinien dzielić ramek Ethernet w środku nagłówka IP, opcji IPv4, nagłówków IPsec, nagłówków rozszerzeń IPv6 lub nagłówków protokołu górnej warstwy, chyba że pierwszy MDL zawiera co najmniej tyle bajtów, ile NDIS określił dla rozmiaru lookahead. Aby uzyskać więcej informacji na temat rozmiaru funkcji lookahead, zobacz OID_GEN_CURRENT_LOOKAHEAD.

Ta sekcja zawiera następujące elementy:

dzielenie ramek IPv4

dzielenie ramek IPv6

Dzielenie fragmentowanych ramek IP

Dzielenie ramek na początku górnychLayer-Protocol nagłówków

Dzielenie ramek na ładunku TCP

Podział ramek przy ładunku UDP

Podział ramek innych niż TCP i UDP