NetWare Core Protocol
NetWare Core Protocol (NCP) je síťový protokol používaný pro komunikaci klientských stanic se servery v síťovém operačním systému Novell NetWare.
Novell NetWare primárně podporoval klientské stanice s operačním systémem MS-DOS, ale podpora byla později rozšířena i na jiné platformy jako Microsoft Windows, Mac OS, Linux, Windows NT a různé varianty Unixu.
NCP se používá pro přístup souborovým, tiskovým, adresářovým, časovým serverům, k serverům pro přenos zpráv, provádění vzdálených příkazů a k dalším síťovým službám. Díky snadné konfiguraci sítě a malým paměťovým nárokům protokolového zásobníku IPX/SPX se NCP do poloviny 90. let 20. století používalo výhradně s protokolem IPX. Později byl dostupná i implementace pro protokoly TCP/IP, která se postupně stala preferovanou.
Adresářová služba Novell eDirectory používá NCP pro synchronizaci změn dat na serverech ve stromě adresářových služeb.
Technické informace
[editovat | editovat zdroj]Původní implementace dostupná pouze pro komunikační protokol IPX s protokolem SAP pro vyhledávání a ohlašování služeb se v současnosti považuje za zastaralou. Novější implementace s protokoly TCP/IP používá TCP/UDP na portu 524 a pro ohlašování služeb používá SLP.
Při přenosu NCP pomocí protokolů IPX/SPX se používá protokol IPX (bez SPX) s hodnotou 17 v poli Typ paketu. Na straně klienta se používá číslo soketu 0x4003, na straně serveru číslo soketu 0x0451.
Protokolová datová jednotka NCP má následující strukturu:
Oktetů | Pole |
---|---|
2 | NCP typ |
1 | Pořadové číslo |
1 | Číslo spojení (spodní oktet) |
1 | Číslo úlohy |
1 | Číslo spojení (horní oktet) |
1 | Návratový kód (pouze v odpovědi) |
1 | Status spojení (pouze v odpovědi) |
proměnný | Datové pole |
Pole NCP Typ určuje typ operace:
Hodnota | Význam |
---|---|
0x1111 | Vytvořit služební spojení |
0x2222 | Žádost o službu |
0x3333 | Odpověď na žádost |
0x5555 | Zrušit služební spojení |
0x7777 | Burst Mode Transfer (dotaz i odppověď) |
0x9999 | Požadavek je zpracováván (Server Busy) |
Jednotlivé požadavky jsou identifikovány pořadovým číslem (modulo 256). Číslo spojení identifikuje spojení klientské stanice se serverem. Servery Novell Netware do verze 2.x podporovaly nejvýše 255 spojení a číslo spojení zabíralo 1 oktet. Ve vyšších verzích bylo rozšířeno na 2 oktety. Číslo úlohy má v požadavcích hodnotu 3 a v odpovědích 1. Datové pole začíná oktetem obsahujícím číslo NCP funkce, které rozlišuje jednotlivé služby.
Číslo | Název operace |
---|---|
0 | Login User Object |
1 | Change User Password |
2 | Map User to Station Set |
3 | Map Object to Number |
4 | Map Number to Object |
5 | Get Station's Logged Information |
8 | Map Number to Group Name |
9 | Get Member Set M of Group G |
10 | Enter Login Area |
12 | Verify Network Serial Number |
13 | Log Network Message |
14 | Get Disk Utilization |
15 | Scan File Information |
16 | Set File Information |
17 | Get File Server Information |
18 | Get Network Serial Number |
19 | Get Internet Address |
20 | Login Object |
21 | Get Object Connection List |
22 | Get Station's Logged Information |
23 | Get Encryption Key |
24 | Login Object Encrypted |
31 | Get Connection List from Object |
50 | Create Bindery Object |
51 | Delete Bindery Object |
52 | Rename Object |
53 | Get Bindery Object Id |
54 | Get Bindery Object Name |
55 | Scan Bindery Object |
56 | Change Bindery Object Security |
57 | Create Property |
58 | Delete Property |
59 | Change Bindery Property Security |
60 | Scan Property |
61 | Read Property Value |
62 | Write Property Value |
63 | Verify Bindery Object Password |
64 | Change Bindery Object Password |
65 | Add Bindery Object to Set |
66 | Delete Bindery Object from Set |
67 | Is Bindery Object In Set? |
68 | Close Bindery |
69 | Open Bindery |
70 | Get Bindery Access Level |
71 | Sacn Bindery Object Trustee Paths |
72 | Get Bindery Object Access Level |
73 | Is Calling Station a Manager? |
74 | Verify Bindery Object Password Encrypted |
75 | Change Bindery Object Password Encrypted |
76 | List Relations of an Object |
100 | Create Queue |
101 | Destroy Queue |
102 | Read Queue Current Status |
103 | Set Queue Current Status |
104 | Create Queue Job and File |
105 | Close File and Start Queue Job |
106 | Remove Job from Queue |
107 | Get Queue Job List |
108 | Read Queue Job Entry |
109 | Change Queue Job Entry |
110 | Change Queue Job Position |
111 | Attach Queue Server to Queue |
112 | Detach Queue Server from Queue |
113 | Service Queue Job |
114 | Finish Servicing Queue Job |
115 | Abort Servicing Queue Job |
116 | Change to Client's Rights |
117 | Restore Queue Server Rights |
118 | Read Queue Server Current Status |
119 | Set Queue Server Current Status |
120 | Get Queue Job Size |
150 | Get Current Account Status |
151 | Submit Account Charge |
152 | Submit Account Hold |
153 | Submit Account Note |
200 | Check Console Privileges |
201 | Get File Server Description Strings |
202 | Set File Server Date and Time |
203 | Disable File Server Login |
204 | Enable File Server Login |
205 | Get File Server Login Status |
206 | Purge All Erased Files |
207 | Disable Transaction Tracking |
208 | Enable Transaction Tracking |
209 | Set Console Broadcast |
210 | Clear Connection Number |
211 | Down File Server |
212 | Get File System Statistics |
213 | TTS Get Statistics |
214 | Get Disk Cache Statistics |
215 | Get Drive Mapping Table |
216 | Get Physical Disk Statistics |
217 | Get Disk Channel Statistics |
218 | Get Connection's Task Information |
219 | Get Connection's Open Files |
220 | Get Connection's Using a File |
221 | Get Physical Record Locks by Connection and File |
222 | Get Physical Record Locks by File |
223 | Get Logical Records by Connection |
224 | Get Logical Record Information |
225 | Get Connection's Semaphores |
226 | Get Semaphore Information |
227 | Get LAN Driver's Configuration Information |
229 | Get Connection's Usage Statistics |
230 | Get Object's Remaining Disk Space |
231 | Get File Server LAN I/O Statistics |
232 | Get File Server Misc Information |
233 | Get Volume Information |
Délka a obsah zbytku datového pole závisí na čísle NCP funkce.
Implementace klientů
[editovat | editovat zdroj]- Novell Client for Windows Vista from Novell.
- Novell Client for Windows 2000/XP/2003 from Novell.
- Novell Client for Windows 95/98 from Novell.
- Novell Client for Linux from Novell.
- NetWare Clients for DOS Archivováno 20. 7. 2008 na Wayback Machine. from Novell – no longer supported.
- NetWare Client for Mac OS X from Prosoft Engineering.
- The Linux ncpfs page an open-source NCP client implementation for Linux.
- ncpfs, an open-source NCP client implementation for Linux.
- Client Service for NetWare from Microsoft.
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku NetWare Core Protocol na anglické Wikipedii.
Související články
[editovat | editovat zdroj]Externí odkazy
[editovat | editovat zdroj]- NCP specification without description of underlying Netware RPC framework
- Wireshark (an open source protocol analyzer) Documentation - Fields of the NCP packet
- Making Mac OS X play nicely with Novell