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