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 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ů Novell Client for Windows Vista Novell Client for Windows 2000/XP/2003 Novell Client for Windows 95/98 Novell Client for Linux NetWare Clients for DOS NetWare Client for Mac OS X The Linux ncpfs page ncpfs Client Service for NetWare

Odkazy

Reference

Související články NetWare Internetwork Packet Exchange IPX/SPX

Externí odkazy 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

Kategorie:Síťové systémy souborů Kategorie:Protokoly prezentační vrstvy Kategorie:Sada protokolů IPX/SPX Kategorie:NetWare