
                fORMAT PAKETA SETI CMNet

                ========================



     tRANSPORTNAQ SLUVBA LOKALXNOJ SETI  CMNet  OBESPE^IWAET

PEREDA^U  INFORMACII  OT UZLA-OTPRAWITELQ K UZLU-POLU^ATEL@,

OFORMLENNOJ W WIDE PAKETOW SETI CMNet.  pAKETY IME@T  STROGO

FIKSIROWANNYJ    FORMAT   I   SODERVAT,   KROME   INFORMACII

POLXZOWATELQ SLUVEBNU@ INFORMACI@, KOTORAQ  ISPOLXZUETSQ  NA

RAZNYH  UROWNQH  PROTOKOLA  SETI  CMNet.  nIVE OPISAN FORMAT

PAKETA I UKAZANO  NAZNA^ENIE  OTDELXNYH  POLEJ.   aBSOL@TNYE

ZNA^ENIQ  KONSTANT DA@TSQ DLQ SPRAWOK, W REALIZACIQH SLEDUET

POLXZOWATXSQ SIMWOLXNYMI KONSTANTAMI,  KOTORYE  PRIWEDENY  W

SKOBKAH.   dLQ  PROGRAMMISTOW  NA  MACRO-11  SU]ESTWUET FAJL

CMNPAC.MAC,   SODERVA]IJ   WSE   NEOBHODIMYE    OPREDELENIQ.

pOLXZOWATELI  DRUGIH  QZYKOW MOGUT SOZDATX ANALOGI^NYE FAJLY

OPREDELENIJ.  pRI WNIMATELXNOM IZU^ENII FORMATA PAKETA  SETI

CMNet   MOVNO   OBNARUVITX   NEISPOLXZOWANNYE   WOZMOVNOSTI.

iSPOLXZOWATX  IH  NE  REKOMENDUETSQ,   ONI   OSTAWLENY   DLQ

DALXNEJ[IH  RAS[IRENIJ  PROTOKOLA.  pRI OSTROJ NEOBHODIMOSTI

ISPOLXZOWANIQ   NOWYH   FUNKCIJ   SLEDUET    OBRA]ATXSQ    K

RAZRABOT^IKU   PROTOKOLA,   ^TOBY  SOGLASOWATX  DEJSTWIQ  PO

IZMENENI@    PROTOKOLA    I    PREDOWRATITX    WOZNIKNOWENIE

NESOWMESTIMYH WERSIJ SETI CMNet.

     pAKET SETI CMNet SOSTOIT IZ POSLEDOWATELXNOSTI  OT  14.

DO  600.   BAJTOW  WKL@^ITELXNO.   dWA BAJTA OBRAZU@T SLOWO,

PERWYJ  BAJT  MLAD]U@   POLOWINU,   WTOROJ   BAJT   STAR[U@.

mAKSIMALXNAQ   DLINA  PREDSTAWLQET  SOBOJ  KOMPROMISS  MEVDU

STREMLENIEM UWELI^ITX  DLINU  DLQ  POWY[ENIQ  BYSTRODEJSTWIQ


ODNOGO  KANALA I STREMLENIEM UMENX[ITX DLINU DLQ OBESPE^ENIQ

BYSTROJ   REAKCII   NA   KOROTKIE    ZAPROSY.     oBOZNA^ENA

MAKSIMALXNAQ  DLINA ^EREZ p.leng, MINIMALXNAQ DLINA NE IMEET

OBOZNA^ENIQ, DLQ NEE MOVNO ISPOLXZOWATX p.data+2.   pAKET  S

RAZMEROM,  NE  WHODQ]IM  W  UKAZANNYE  PREDELY,  NE QWLQETSQ

PAKETOM SETI CMNet  I  TRANSPORTIROWKE  NE  PODLEVIT.   oDNO

ISKL@^ENIE  SOSTAWLQ@T  SPECIALXNYE  PAKETY SETEWOGO UROWNQ,

SOSTOQ]IE  WSEGO  IZ  8.   BAJTOW.   oNI  OPISANY  WMESTE  S

ALGORITMOM  MAR[RUTIZACII  W RAZDELE SETEWOGO UROWNQ I ZDESX

RASSMATRIWATXSQ NE BUDUT.

     pERWYE 12.  BAJT PAKETA ZANIMAET EGO ZAGOLOWOK.  w  NEM

SODERVITSQ   INFORMACIQ,   OB]EDOSTUPNAQ   NA  WSEH  UROWNQH

PROTOKOLA.     zA    ZAGOLOWKOM    RASPOLOVENA    INFORMACIQ

POLXZOWATELQ   W  [IROKOM  SMYSLE  SLOWA.   w  KONCE  PAKETA

OSTAWLENO ODNO SLOWO DLQ PEREDA^I  KONTROLXNOJ  SUMMY.   oNO

ISPOLXZUETSQ  LI[X  NA  KANALXNOM  UROWNE.   eSLI INFORMACI@

POLXZOWATELQ RASSMATRIWATX KAK ^ISTYE DANNYE  I  UPRAWLQ@]U@

INFORMACI@,   TO  SOGLA[ENIE  O  MAKSIMALXNOJ  DLINE  PAKETA

POZWOLQET PEREDAWATX W  ODNOM  PAKETE  POMIMO  512.   BAJTOW

DANNYH  E]E  74.  BAJTA UPRAWLQ@]EJ INFORMACII, ^TO ZAWEDOMO

DOSTATO^NO DAVE DLQ OBESPE^ENIQ [L@ZOW W DRUGIE SETI.

     pERWOE  SLOWO  ZAGOLOWKA  PAKETA  (SME]ENIE   p.size=0)

SODERVIT  DLINU  PAKETA,  UMENX[ENNU@ NA DWA.  oNO UKAZYWAET

RAZMER  PAKETA  BEZ   KONTROLXNOJ   SUMMY,   LIBO   SME]ENIE

KONTROLXNOJ   SUMMY   W   PAKETE,  LIBO  KOLI^ESTWO  BAJTOW,

SLEDU@]IH  ZA  PERWYM  SLOWOM  (ISPOLXZUETSQ  NA   KANALXNOM

UROWNE).   dOPUSTIMY  ZNA^ENIQ  OT  12.   (p.data)  DO  598.

(p.leng-2) WKL@^ITELXNO, DLQ  SPECIALXNYH  PAKETOW  SETEWOGO


UROWNQ  TAKVE  6.   rAZMER PAKETA DOLVEN BYTX WSEGDA ^ETNYM.

sWQZANO \TO S  TEM,  ^TO  BOLX[INSTWO  WY^ISLITELXNYH  MA[IN

MOVET  OBRAZOWYWATX  SLOWA  TOLXKO TOGDA, KOGDA MLAD]IJ BAJT

EGO IMEET ^ETNYJ ADRES.  fAKT, ^TO PERWYJ BAJT PAKETA WSEGDA

^ETNYJ, ISPOLXZOWAN PRI RAZRABOTKE NIVNYH UROWNEJ PROTOKOLA.

     wTOROE SLOWO (p.goto) I TRETXE SLOWO (p.from) ZAGOLOWKA

SODERVAT    ADRESA    POLU^ATELQ   I   OTPRAWITELQ   PAKETA,

SOOTWETSTWENNO.  aDRESOM  QWLQETSQ  UNIKALXNYJ  NOMER  UZLA.

dOPUSTIMY  POLOVITELXNYE  NOMERA  OT  1  DO  77777 (WOSXM.).

aDRES POLU^ATELQ TAKVE MOVET PRINIMATX ZNA^ENIQ 0  (go.cen),

-1  (go.all) I -2 (go.sub), KOTORYE UKAZYWA@T NA SPECIALXNYE

FORMY DOSTAWKI "K CENTRU",   WSEM"  I  "PODSETI".   oPISANIE

RASPREDELENIQ  ADRESOW  I  SMYSLA  SPECIALXNYH FORM DOSTAWKI

SODERVITSQ W RAZDELE SETEWOGO UROWNQ, GDE OPISANY  TOPOLOGIQ

SETI I ALGORITM MAR[RUTIZACII.

     ~ETWERTOE  SLOWO  ISPOLXZUETSQ  RAZDELXNO  PO   BAJTAM.

mLAD]IJ  BAJT  (p.cnct)  SODERVIT  UKAZATELX  NA PRODOLVENIE

PAKETA.  eSLI WSE DANNYE POLXZOWATELQ, OTNOSQ]IESQ K  ODNOMU

ZAPROSU,  POME]ENY  W  DANNYJ  PAKET,  TO \TOT BAJT SODERVIT

NULX.  eSLI DANNYE RASPREDELENY  NA  NESKOLXKO  PAKETOW,  TO

MLAD]IE  7  BITOW (cc.cnt) SODERVAT ^ISLO PAKETOW, SLEDU@]IH

ZA DANNYM PAKETOM;  STAR[IJ BIT (cc.flg)  UKAZYWAET  NA  TO,

^TO  DANNYJ PAKET NE PERWYJ W ZAPROSE.  wSE POLQ W ZAGOLOWKE

PAKETA ZA ISKL@^ENIEM p.size I p.cnct NE DOLVNY  MENQTXSQ  W

PREDELAH  ODNOGO ZAPROSA.  w PROTIWOM SLU^AE UZEL-POLU^ATELX

IMEET PRAWO WOZWRA]ATX  OTPRAWITEL@  SINTAKSI^ESKU@  O[IBKU.

oN TAKVE MOVET WOZWRA]ATX SINTAKSI^ESKU@ O[IBKU, KOGDA ON NE

W SOSTOQNII  ISPOLNITX  ZAPROSY,  ZANIMA@]IH  BOLX[E  ODNOGO


PAKETA.

     sTAR[IJ  BAJT  ^ETWERTOGO  SLOWA  (p.type)  SODERVIT  W

STAR[IH  4  BITAH  (tp.typ)  TIP  PAKETA I W MLAD]IH 4 BITAH

(tp.fun) KOD FUNKCII ILI TIP ZAPROSA.   pAKETY  BYWA@T  DWUH

TIPOW -  ZAPROSY I OTWETY NA ZAPROSY.  zAPROSY MOGUT OVIDATX

OTWET (TIP PAKETA tp.rpl=0) ILI NE OVIDATX EGO (tp.req=100).

oTWETY  NA  ZAPROSY  OBOZNA^A@TSQ  STAR[IM  BITOM  (tp.ans).

rAZLI^A@TSQ OTWET USPE[NOGO ISPOLNENIQ FUNKCII (tp.ans=200),

SOOB]ENIE  O  WREMENNOJ  NEGOTOWNOSTI  OB'EKTA (tp.wai=220),

O[IBKA  ISPOLNENIQ  FUNKCII   (tp.err=240),   SINTAKSI^ESKAQ

O[IBKA  (tp.snx=260).  |TI O[IBKI WOZWRA]A@TSQ ISKL@^ITELXNO

TEM UZLOM,  KOTOROMU  BYL  NAPRAWLEN  PAKET-ZAPROS.   o[IBKI

DOSTAWKI  PAKETA  MOGUT WOZWRA]ATXSQ L@BYM UZLOM, NE UME@]IM

WYPOLNQTX     MAR[RUTIZACI@.       rAZLI^A@T      OTSUTSTWIE

UZLA-ISPOLNITELQ   ZAPROSA   (tp.nod=300),  WYKL@^ENIE  UZLA

(tp.off=320), OTSUTSTWIE SWOBODNOGO  BUFERA  (tp.buf=340)  I

O[IBKU  DANNYH  PRI  PEREDA^E (tp.dat=360).  bOLEE PODROBNYE

SWEDENIQ OB O[IBKAH I IH PRI^INAH ZANIMA@T OTDELXNU@ GLAWU.

     kOD FUNKCII UKAZYWAET NA  TE  DEJSTWIQ,  KOTORYE  NUVNO

PROWODITX.    pERWYE   WOSEMX   KODOW   OBOZNA^A@T   FUNKCII

UPRAWLENIQ OB'EKTAMI,  OSTALXNYE  WOSEMX  FUNKCII  RABOTY  S

OB'EKTAMI.   dLQ  UDOBSTWA  OPREDELENY  KROME  KODOW FUNKCIJ

(fn.xxx), SODERVA]IHSQ W p.type,  E]E  SOOTWETSTWU@]IE  BITY

FUNKCIJ   (en.xxx).    wMESTO  xxx  ISPOLXZU@TSQ  KONKRETNYE

OBOZNA^ENIQ, SOOTWETSTWU@]IH SLEDU@]IM FUNKCIQM:

     fn.tst=0 - OPROS OB'EKTA

     fn.pur=1 - OTKREPLENIE OB'EKTA

     fn.del=2 - UNI^TOVENIE OB'EKTA


     fn.opn=3 - ZAKREPLENIE OB'EKTA

     fn.cre=4 - SOZDANIE I ZAKREPLENIE OB'EKTA

     fn.cng=5 - IZMENENIE PARAMETROW OB'EKTA

     fn.dat=10 - PROZRA^NYJ REVIM PEREDA^I DANNYH

     fn.red=11 - ^TENIE DANNYH

     fn.wri=12 - ZAPISX DANNYH

     fn.mod=13 - MODIFIKACIQ DANNYH

     fn.spf=14 - ISPOLNENIE SPECIALXNOJ FUNKCII

     fn.exe=16 - ZAPUSK PROGRAMMY

     fn.abo=17 - OSTANOW PROGRAMMY

bOLEE DETALXNO FUNKCII OPISANY W RAZDELE SEANSOWOGO  UROWNQ.

nEOPISANNYE  TIPY  PAKETOW  I KODY FUNKCIJ NE SU]ESTWU@T.  w

NASTOQ]IJ MOMENT NEWERNYJ TIP PAKETA TRAKTUETSQ  KAK  ZAPROS

BEZ  OVIDANIQ  OTWETA, NEWERNAQ FUNKCIQ OTWERGAETSQ.  oDNAKO

POLOGATXSQ NA \TO NELXZQ, IBO  DEJSTWIE  MOVET  MENQTXSQ  NA

USMOTRENIE     RAZRABOT^IKA     KONKRETNOGO     PROGRAMMNOGO

OBESPE^ENIQ.

     pQTOE SLOWO PAKETA  (p.numb)  ISPOLXZUETSQ  DLQ  NOMERA

ZAPROSA.    nOMER   ZAPROSA   ZADAETSQ   POLXZOWATELEM   DLQ

IDENTIFIKACII OTWETOW NA SWOI ZAPROSY.  oN NIKEM W  SETI  NE

MENQETSQ  ILI ANALIZIRUETSQ I MOVET PRINIMATX L@BOE ZNA^ENIE

OTLI^NOE OT NULQ.  nULX OSTAWLEN DLQ ZAPROSOW  TRANSPORTNOGO

UROWNQ I NE DOLVEN ZADAWATXSQ POLXZOWATELEM.

     {ESTOE SLOWO ZAGOLOWKA PAKETA (p.objt)  SODERVIT  NOMER

OB'EKTA,   K   KOTOROMU   NAPRAWLEN  ZAPROS.   sTAR[IJ  BAJT

ISPOLXZUETSQ  DLQ  UKAZANIQ  KLASSA  OB'EKTA.   w  NASTOQ[IJ

MOMENT SU]ESTWUET 8 KLASSOW:

     ob.dsk=0 - DISKI


     ob.tap=1 - MAGNITNYE LENTY

     ob.pri=2 - USTROJSTWA PE^ATI

     ob.tty=3 - TERMINALY

     ob.pgm=4 - PODPROGRAMMY

     ob.tsk=5 - MEVZADA^NYJ OBMEN

     ob.gat=6 - [L@ZY

     ob.spc=-1 - SPECIALXNYE OB'EKTY

mLAD]IJ  BAJT  ISPOLXZUETSQ  NA   USMOTRENIE   POLXZOWATELQ,

KOTORYJ TAKIM OBRAZOM MOVET ISPOLZOWATX ODNOWREMENNO DO 256.

OB'EKTOW KAVDOGO KLASSA.  oDNO ISKL@^ENIE  SOSTAWLQET  KLASS

SPECIALXNYH   OB'EKTOW.   zDESX  KAVDYJ  OB'EKT  IMEET  SWOJ

KONKRETNYJ NOMER, KOTORYJ NE MOVET MENQTXSQ.  oPREDELENY:

     sp.ech=-1 - \HO

     sp.nod=-2 - NOMER UZLA I TABLICA LINIJ

     sp.nam=-3 - IMQ UZLA

     sp.bot=-11 - ZAGRUZ^IK

     sp.tim=-12 - WREMQ

     sp.mes=-21 - SOOB]ENIQ

     sp.inf=-22 - OB'QWLENIQ

     sp.mai=-23 - PO^TA

     sp.top=-24 - INFORMACIQ O TOPOLOGII SETI

     sp.con=-25 - INFORMACIQ O KONFIGURACII UZLA

eSLI  WOZNIKNET  NEOBHODIMOSTX  W  DRUGIH  KROME   UKAZANNYH

KLASSAH  ILI  SPECIALXNYH  OB'EKTAH,  TO  MOVNO ISPOLXZOWATX

KLASSY OT -200(=200) DO -2(=376), SPECIALXNYE OB'EKTY  OT  1

DO  177 .  kOGDA S^ITAETSQ, ^TO NOWYJ KLASS ILI OB'EKT MOVET

BYTX  POLEZEN  [IROKOMU  KRUGU   POLXZOWATELEJ,   TO   MOVNO

SOGLASOWATX   WOPROS   S  RAZRABOT^IKOM  PROTOKOLA  S  CELX@


WYDELENIQ NOWOGO OB]EGO DLQ  WSEH  KLASSA  ILI  SPECIALXNOGO

OB'EKTA.

     nA^INAQ  S  SEDXMOGO   SLOWA   (p.data)   RASPOLAGAETSQ

INFORMACIQ  POLXZOWATELQ.  fORMAT EE ZAWISIT OT KODA FUNKCII

I PODROBNO OPISAN WMESTE S NIMI.  oSTANOWIMSQ  LI[X  KOROTKO

NA DWUH ASPEKTAH:

     bLOK DANNYH SOSTOIT IZ S^ET^IKA  BAJTOW  I  SOBSTWENNYH

DANNYH.    s^ET^IK   BAJTOW  ZANIMAET  ODNO  SLOWO  I  MOVET

PRINIMATX  L@BYE  ZNA^ENIQ,  W  TOM  ^ISLE  I  NULX.   ~ISLO

BEZZNAKOWOE,  ^TO  POZWOLQET  PEREDAWATX  DANNYE RAZMEROM DO

65535.  BAJTOW W ODNOM BLOKE.   eSLI  BLOK  DANNYH  SODERVIT

NE^ETNOE  ^ISLO  BAJTOW,  TO  ZA  BLOKOM  SLEDUET ODIN BAJT,

KOTORYJ WYRAWNIWAET NA^ALO SLEDU@]EGO POLQ NA ^ETNYJ  ADRES.

|TOT  BAJT  NIGDE NE ISPOLXZUETSQ.  bLOKI DANNYH, ZANIMA@]IE

BOLX[E  ODNOGO  PAKETA,  RAZRYWA@TSQ  POSLE  ^ETNOGO   ^ISLA

BAJTOW.   dOPOLNITELXNAQ  INFORMACIQ  NE WSTAWLQETSQ, RAZMER

OTDELXNYH KUSKOW PRQMO SLEDUET IZ RAZMERA PAKETA.

     dESKRIPTOR  OB'EKTA  SODERVIT  INFORMACI@  OB  OB'EKTE,

KOTORAQ WOZWRA]AETSQ NA ZAPROSY UPRAWLENIQ OB'EKTOM.  pERWOE

SLOWO DESKRIPTORA  SODERVIT  POLE  DOSTUPA  K  OB'EKTU,  GDE

KAVDYJ  BIT  (en.xxx)  SOOTWETSTWUET ODNOJ FUNKCII (fn.xxx),

RAZRE[ENNOJ DLQ DANNOGO OB'EKTA.  wTOROE SLOWO  ISPOLXZUETSQ

DLQ  RAZMERA  OB'EKTA.   w  KAKIH EDINICAH S^ITAETSQ RAZMER,

ZAWISIT OT OB'EKTA.  dLQ DISKOW \TO PRIWY^NYE BLOKI PO  512.

BAJT.   rAZMER  RAWNYJ  NUL@  SWIDETELXSTWUET  OB OTSUTSTWII

PONQTIQ RAZMERA DLQ DANNOGO OB'EKTA.   zA  OPISANNYMI  DWUMQ

SLOWAMI  SLEDUET  BLOK DANNYH S IMENEM OB'EKTA W KODE ASCII.

kOGDA  WOZWRA]ENIE   DESKRIPTORA   OB'EKTA   ZAPRE]ENO,   TO


WOZWRA]AETSQ PUSTOJ DESKRIPTOR, FAKTI^ESKI SOSTOQ]IJ IZ TREH

NULEWYH SLOW (POLE DOSTUPA, RAZMER I IMQ).  

                                                                                                                                                                                                                                                   