[go: nahoru, domu]

Jump to content

NetWare Core Protocol

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Kolarp (talk | contribs) at 03:14, 4 March 2014 (Added link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 supported primarily MS-DOS client stations, but more recently a support of other platforms such as Microsoft Windows, Mac OS, Linux, Windows NT and various flavors of Unix was added.

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 mid-1990s the TCP/IP implementation is available.

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:

Octets Field
2 NCP type
1 Sequence Number
1 Connection Number, lower octet
1 Task Number
1 Connection Number, higher octet
1 Completion Code (only in Reply packet)
1 Connection Status (only in Reply packet)
var Data

The NCP Type field determines the type of operation:

Value Meaning
0x1111 Create a Service Connection
0x2222 Service Request
0x3333 Service Reply
0x5555 Destroy Service Connection
0x7777 Burst Mode Transfer
0x9999 Request 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. The contents and the length of the rest of the Data field depends on the NCP Function.

Client-side implementations

External links