The NetWare Core Protocol (NCP) is a network protocol used in some products from Novell, Inc. It is usually associated with the client-server operating system Novell NetWare which originally supported primarily MS-DOS client stations, but later support for other platforms such as Microsoft Windows, the classic Mac OS, Linux, Windows NT, Mac OS X, and various flavors of Unix was added.[1]

The NCP is used to access file, print, directory, clock synchronization, messaging, remote command execution and other network service functions. It originally took advantage of an easy network configuration and a little memory footprint of the IPX/SPX protocol stack. Since 1991 the TCP/IP implementation is available.[1]

Novell eDirectory uses NCP for synchronizing data changes between the servers in a directory service tree.

Technical information

The original IPX/SPX implementation was provided only for Novell NetWare platform and now is obsolete. The TCP/IP implementation uses TCP/UDP port 524 and relies on SLP for name resolution.

For NCP operation in IPX/SPX networks the bare IPX protocol was used with Packet Type field set to 17. On the workstation (client station) side the IPX socket number of 0x4003 was used, on the server side the socket number of 0x0451.

The NCP PDU has the following structure:

OctetsField
2NCP type
1Sequence Number
1Connection Number, lower octet
1Task Number
1Connection Number, higher octet
1Completion Code (only in Reply packet)
1Connection Status (only in Reply packet)
varData

The NCP Type field determines the type of operation:[2]

ValueMeaning
0x1111Create a Service Connection
0x2222Service Request
0x3333Service Reply
0x5555Destroy Service Connection
0x7777Burst Mode Transfer
0x9999Request Being Processed (Server Busy)

Individual requests are identified by the Sequence Number (modulo 256). The Connection Number identifies an individual client station connection on the server. Novell Netware servers of version up to 2.x supported up to 255 connections and the Connection Number occupied only 1 octet. Later it was extended to 2 octets. Task number has value 3 in requests and 1 in replies. The Data field starts with NCP Function number octet which distinguishes individual services.

NumberFunction
0Login User Object
1Change User Password
2Map User to Station Set
3Map Object to Number
4Map Number to Object
5Get Station's Logged Information
8Map Number to Group Name
9Get Member Set M of Group G
10Enter Login Area
12Verify Network Serial Number
13Log Network Message
14Get Disk Utilization
15Scan File Information
16Set File Information
17Get File Server Information
18Get Network Serial Number
19Get Internet Address
20Login Object
21Get Object Connection List
22Get Station's Logged Information
23Get Encryption Key
24Login Object Encrypted
31Get Connection List from Object
50Create Bindery Object
51Delete Bindery Object
52Rename Object
53Get Bindery Object Id
54Get Bindery Object Name
55Scan Bindery Object
56Change Bindery Object Security
57Create Property
58Delete Property
59Change Bindery Property Security
60Scan Property
61Read Property Value
62Write Property Value
63Verify Bindery Object Password
64Change Bindery Object Password
65Add Bindery Object to Set
66Delete Bindery Object from Set
67Is Bindery Object In Set?
68Close Bindery
69Open Bindery
70Get Bindery Access Level
71Sacn Bindery Object Trustee Paths
72Get Bindery Object Access Level
73Is Calling Station a Manager?
74Verify Bindery Object Password Encrypted
75Change Bindery Object Password Encrypted
76List Relations of an Object
100Create Queue
101Destroy Queue
102Read Queue Current Status
103Set Queue Current Status
104Create Queue Job and File
105Close File and Start Queue Job
106Remove Job from Queue
107Get Queue Job List
108Read Queue Job Entry
109Change Queue Job Entry
110Change Queue Job Position
111Attach Queue Server to Queue
112Detach Queue Server from Queue
113Service Queue Job
114Finish Servicing Queue Job
115Abort Servicing Queue Job
116Change to Client's Rights
117Restore Queue Server Rights
118Read Queue Server Current Status
119Set Queue Server Current Status
120Get Queue Job Size
150Get Current Account Status
151Submit Account Charge
152Submit Account Hold
153Submit Account Note
200Check Console Privileges
201Get File Server Description Strings
202Set File Server Date and Time
203Disable File Server Login
204Enable File Server Login
205Get File Server Login Status
206Purge All Erased Files
207Disable Transaction Tracking
208Enable Transaction Tracking
209Set Console Broadcast
210Clear Connection Number
211Down File Server
212Get File System Statistics
213TTS Get Statistics
214Get Disk Cache Statistics
215Get Drive Mapping Table
216Get Physical Disk Statistics
217Get Disk Channel Statistics
218Get Connection's Task Information
219Get Connection's Open Files
220Get Connection's Using a File
221Get Physical Record Locks by Connection and File
222Get Physical Record Locks by File
223Get Logical Records by Connection
224Get Logical Record Information
225Get Connection's Semaphores
226Get Semaphore Information
227Get LAN Driver's Configuration Information
229Get Connection's Usage Statistics
230Get Object's Remaining Disk Space
231Get File Server LAN I/O Statistics
232Get File Server Misc Information
233Get Volume Information

The contents and the length of the rest of the Data field depends on the NCP Function.

Client-side implementations

References

  1. 1 2 "Final Evaluation Report Novell, Incorporated NetWare 4.11 Server". NATIONAL COMPUTER SECURITY CENTER. 22 June 1998. Retrieved 2023-02-08., page 6
  2. "How to quickly identify error conditions with Ethereal". 15 Jul 2003. Retrieved 2023-02-08.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.