NCP protokolas (NetWare Core Protocol)

Aukštesnių sluoksnių Novell protokolai kaip susisiekimo protokolus naudoja SPX/IPX arba TCP/IP. Tokie protokolai neturi įtakos bazinių protokolų (pvz. TCP/IP) antraštėms, bet įtakoja duomenų lauko formavimą.

NCP paketų formatai

Duomenų apskeitimui tarp serverio bei darbo stočių, naudojamas NCP (NetWare Core Protocol) protokolas. Visos funkcijos, siejančios serverį su klientu, yra įgyvendinamos per šį protokolą.

Straipsniai 1 reklama

Yra dviejų rūšių NCP paketai: tie, kurie perduoda darbo stoties užklausą (request) serveriui, ir tie, kurie perneša atsakymo (replay) duomenis iš serverio į darbo stotį. Todėl yra skriamos dviejų rūšių NCP paketo antraštės: užklausos bei atsakymo (Request Header, Replay Header). Jie skiriami iš pirmųjų dviejų baitų.

Užklausos antraštė (Request Header)
Užklausos antraštė yra 6 baitų ilgio. Ją sudaro sekantys laukai:

– užklausos tipas (2 baitai); galimos sekančios reikšmės:

Reikšmė, Aprašymas

1111 Sukuria Service-kontaktą
2222 Specialios paslaugos(service) užklausimas
5555 Nutraukia Service-kontaktą
7777 Duomenys transportuojami Burst-Mode režimu

– Sequence-Number (1 baitas); reikalingas paketų sekai kontruoliuoti.

– Connection-Number-Low (1 baitas); numeris, susijęs su klientu ir reikalingas Service-kontakto sukūrimui.

– Task-Number (1 baitas); proceso, pateikusio užklausą darbo stotyje, numeris.

– Connection-Number-High (1 baitas); reikalingas tik jei yra labai daug vartotojų (1000 ir daugiau). Paprastai čia įrašomas 00.

Atsakymo antraštė (Replay header)

Atsakymo antraštė yra 8 baitų ilgio ir sudaryta iš sekančių laukų:

– atsakymo tipas (2 baitai); galimos sekančios reikšmės:

Reikšmė, Aprašymas

3333 Atsakymas į užklausą 2222, servisą galima nauoti
7777 Burst-Mode režimas sukurtas
9999 Atsakymas į užklausą 2222, servisas dar neatlaisvintas

– laukai Sequence-Number (1 baitas), Connection-Number-Low (1 baitas), Task-Number (1 baitas) ir Connection-Number-High (1 baitas) turi tas pačias reikšmes kaip ir užklausos antraštėje.

– Completion-Code (1 baitas); parodo, ar kliento užklausa išpildyta sėkmingai (reikšmė 00), priešingu atveju grąžina klaidos kodą.

– Connection-Status (1 baitas); serveris perduoda savo būseną klientams, pav. jei jis išjungiamas.

NCP duomenų laukas

Po antraščių formuojamas duomenų laukas. Pastarajame pirmiausia yra įrašomas funkcijos kodas, informuojantis serverį, koks servisas turi būti atliekamas. Novell tinkluose kiekvienam servisui turi būti priskiriamas atitinkamas funkcijos kodas. Nuo šio kodo priklauso tolesnė duomenų lauko struktūra, kuri svarbi tik tinklų programuotojams.

NCP paketo pavyzdys parodo patį principą. Funkcijos kodas 76 yra aprašytas kaip Open-File. Jei klientas nori pasiekti duoemenis, esančius serverio kompiuteryje, jis siunčia Request-NCP paketą serveriui. Toks paketas atrodytų sekančiai:

Request-Type: 2222
Sequence-Number:121
Connection-Low-Number: 1
Task-Number: 1
Connection-Number-High: 0
Function-Code: 76
Directory-Handle: 1
Search-Attributes: 6
Desired-Access-Rights: 11
File-Name: Length: 5

Value: LOGIN

Tokiu atveju turi būti atidaromi duomenys, reikalingi vartotojo registracijai sistemoje.

Toliau pavaizduoti keletas iš daugelio funkcijų kodų pavyzdžių su galimais jų pagalbiniais kodais.

Paslauga (service), Funkcijos kodas

Open_File 76
CloseFile 66
Create_Directory 22 (10)
Delete_Directory 22 (11)
Get_File_Server_Login_Status 23 (205)
Get_LAN_Driver_Configuration_Information 23 (227)

Pridėti komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *