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