Jump to content

NetWare Core Protocol

From Alfawiki
Novell, Inc.
IndustrySoftware, Networking
ProductsNetWare Core Protocol (NCP), Novell NetWare

The NetWare Core Protocol (NCP) serves as a network communication protocol developed by Novell, Inc., predominantly utilized within the client-server operating system Novell NetWare. Initially designed to support MS-DOS clients, its compatibility later extended to various platforms such as Microsoft Windows, classic Mac OS, Linux, Windows NT, Mac OS X, and multiple Unix variants.

NCP enables network-based services including file and print access, directory management, clock synchronization, messaging, remote command execution, among others. While it was originally built upon the lightweight IPX/SPX protocol suite, it has incorporated support for TCP/IP since 1991.

Data synchronization across directory service servers in Novell eDirectory is achieved through NCP.

Technical information

The initial server implementation based on the IPX/SPX protocol stack was exclusive to Novell NetWare but has since become outdated. The modern TCP/IP variant operates over TCP/UDP port 524 and employs the SLP for resolving network names.

Within IPX/SPX environments, NCP communicated directly over the base IPX protocol using Packet Type 17; clients connected via socket number 0x4003, whereas servers used socket 0x0451.

The structure of an NCP protocol data unit (PDU) encompasses several fields: NCP type, sequence number, connection identifier, task identifier, completion code (present in responses), connection status (in responses), and the data payload.

NCP type codes specify the nature of operations:

Value Operation
0x1111 Establish Service Connection
0x2222 Service Request
0x3333 Service Response
0x5555 Terminate Service Connection
0x7777 Burst Transfer Mode
0x9999 Request Processing (Server Busy)

Each request is marked with a Sequence Number that cycles modulo 256. The Connection Number identifies distinct client sessions; early versions up to NetWare 2.x supported a maximum of 255 connections using a single-byte field, which was later expanded to two bytes. The Task Number usually holds the value 3 for requests and 1 for responses. The Data segment starts with an NCP Function code that specifies the requested service.

Prominent NCP Functions include:

Number Function
0 User Object Login
1 Modify User Password
14 Retrieve Disk Usage
15 Enumerate File Information
16 Update File Information
50 Create Bindery Object
51 Remove Bindery Object
100 Initialize Queue
101 Delete Queue
200 Verify Console Privileges
202 Adjust File Server Date and Time
211 Shut Down File Server
212 Obtain File System Statistics

The size and format of the data field depend on the specific NCP Function executed.

Client-side implementations

  • Novell Client for Windows Vista
  • Novell Client for Windows 2000/XP/2003
  • Novell Client for Windows 95/98
  • Novell Client for Linux
  • Novell’s discontinued NetWare Clients for DOS
  • Prosoft Engineering’s NetWare Client for Mac OS X (archived)
  • ncpfs, an open-source Linux NCP client
  • Microsoft’s Client Service for NetWare

References


External links

  • NCP protocol specification (excluding NetWare RPC specifics)
  • Wireshark Guide – Details on NCP packet structure
  • Guide on connecting Mac OS X to Novell