NCP

Protokół NCP jest głównym protokołem warstwy 7 sieci NetWare , zapewniającym usługi związane z plikami , drukowaniem oraz kolejkowaniem. Orginalny protokół NCP działał bezpośrednio poprzez IPX , a NCP zawarty w wersji 5.x i wyższych może także używać TCP/IP.Ponieważ NCP przez IPX nie posiada oddzielnej warstwy sesji i transportowej , musi sam zatroszczy©ć się o funkcję zapewniane przez te warstwy. NCP zawiera swój własny mechanizm ustawiania sesji oraz stosuje numery sekwencji w celu uzyskania zgubionych pakietów.

NCP posiada także mechanizmy potwierdzania. Każde polecenie NCP wymaga potwierdzenia. Jako potwierdzenie uznawana jest prawie każda odpowiedż. Jeżeli nie zostanie odebrana żadna odpowiedż , polecenie jest powtarzane.

Nagłówek pakietu żądania

16 bitów

8 bitów

8 bitów

8 bitów

8 bitów

Typy pakietu

Numer sekwencyjny

Numer połączenia(bajt mniej znaczący)

Numer zadania

Numer połączenia

 

 Nagłówek pakietu odpowiedzi:

16 bitów

8 bitów

8 bitów

8 bitów

8 bitów

8 bitów

8 bitów

Typ pakietu

Numer sekwencyjny

Numer połączenia

Numer zadania

Numer    połączenia ( bajt bardziej znaczący )

Kod zakończenia

Stan połączenia

 

 

definicje typów pakietów

Wartość Pola ( hex)

Opis

1111

Utworzenie usługi

2222

Żądanie NCP

3333

Odpowiedż NCP

5555

Połaczenie kończące usługę

7777

Protokół Packet Burst

9999

Odpowiedż “ server busy”

 

 

 

 

Po polu typ pakietu następuje numer sekwencyjny. Pakiet z żądaniem zawiera numer sekwencji , który powinien się znależ©ć w pakiecie z odpowiedzią. Po umerze sekwencji występuje niższe 8 bitów numeru połączenia klienta z serwerem. NetWare w wersjach do 3.x ograniczał maksymalną liczbę połączeń do 255(FFh). Następne wersję zwiększyły tę liczbę do 65353(FFFFh) przez dodanie kolejnych8 bitów na końcu nałówka NCP z żądaniem. Numer zadania pozwala klientowi wykona©ć wiele zadań związanych z tym samym serwerem.

Pakiet z opowiedzią zawiera również pola “Kod Zakończenia” oraz “ Stan połączenia”. Bezbłedna odpowiedż NCP jest zwracana z kodem zakończenia równym zero. Inne wartości oznaczają wystąpienie problemó.

Ostatnie pole z odpowiedzią to 8-bitowy stan połączenia. Wartoś©ć tego pola różna od zera oznacza, że użytkownik próbował uży©ć numeru połączenia , który nie jest dla niego dozwolony.Może się to wydarzy©ć, gdy serwer odłączy użytkownika ze względu na długi okres bezczynności, a użytkownik będzie próbował uży©ć starego numeru połączenia bez wcześniejszego zalogowania.

 

by Krzysztof Pietrzak 2004

[7.Warstwa aplikacji] [SMB] [DHCP] [BOOTP] [NCP] [TCP/IP] [NFS] [SNMP]