SPX (Sequence Packet eXchange) і його вдосконалена модифікація SPX II являють собою транспортні протоколи 7-рівневої моделі OSI. Це протокол гарантує доставку пакета і використовує техніку ковзного вікна (віддалений аналог протоколу TCP). У разі втрати або помилки пакет даних пересилається повторно, число повторень задається програмно. У протоколі SPX не передбачена широкомовна або мультикастинг-адресація. У SPX індукується ситуація, коли партнер несподівано перериває з'єднання, наприклад через обрив зв'язку. Пакети SPX вкладаються в пакети IPX. При цьому в полі тип пакету IPX записується код 5. Заголовок пакета SPX завжди містить 42 байти, включаючи 30 байт заголовка IPX-пакета, куди він вкладений.
Опис полів
Поле управління з'єднанням
Поле управління з'єднанням визначає, чи є даний пакет системним чи прикладним. Це поле містить однобітові прапори, використовувані spx і spx II для керування потоком даних у віртуальному каналі.
- 0x01 XHD Зарезервовано SPX II для розширення заголовків;
- 0x02 RES1 Призначення поля не визначено, має дорівнювати нулю;
- 0x04 NEG SPX II (SIZ) узгоджує розмір запиту / відгуку, для spx має дорівнювати нулю;
- 0x08 SPX2 Тип пакету SPX II, для spx має дорівнювати нулю;
- 0x10 EOM Встановлюється клієнтом spx для індикації кінця повідомлення (end-of-message);
- 0x20 ATN (attention) зарезервовано для спеціальних запитів (не підтримується SPX);
- 0x40 ACK Встановлюється для запиту підтвердження отримання даного пакету. Запити і відгуки обробляються на рівні SPX (додаток не повинен змінювати цей код);
- 0x80 SYS Встановлюється, якщо цей пакет є системним і служить для підтвердження. Додатки не використовують пакети цього типу.
Поле тип потоку даних
Поле тип потоку даних характеризує тип даних, поміщених в пакет. Значення цього поля перераховані нижче:
- 0x00-0x07 визначається клієнтом і може використовуватися в додатках;
- 0x80-0xfb зарезервовані на майбутнє;
- 0xfc spx II, впорядковане звільнення запиту;
- 0xfd spx II, впорядковане звільнення підтвердження;
- 0xfe вказує на закінчення зв'язку (end-of-connection). При закритті каналу spx-драйвер посилає клієнту пакет, де в полі тип потоку записаний даний код;
- 0xff підтвердження отримання повідомлення про закінчення зв'язку (end-of-connection-acknowledgment). Цим кодом позначається пакет, що підтверджує закриття каналу, в прикладну програму такий пакет не передається
Інші поля
Поля ідентифікатора відправника і одержувача містять коди, що визначають учасників інформаційного обміну, присвоюються SPX-драйвером в момент встановлення зв'язку. У запитах на з'єднання це поле містить код 0xffff. Дане поле служить для забезпечення демультиплексування пакетів, що надходять на один і той же з'єднувач (socket). Поле послідовний номер визначає число пакетів пересланих в одному напрямку. Кожен з партнерів обміну має свій лічильник, який скидається в нуль після досягнення 0xffff, після чого рахунок може продовжуватися. Для програми це поле, також як і наступні два, недоторкане. spx-пакети підтвердження містять в цьому полі порядковий номер останнього посланого пакета. Поле номер підтвердження характеризує послідовний номер наступного пакета, який spx очікує отримати. Будь-який пакет з порядковим номером менше, ніж задано в полі номера підтвердження, доставлений благополучно і не вимагає ретрансміссіі. Поле число буферів служить для вказання числа доступних на станції буферів (буфери нумеруються, починаючи з 0, один буфер здатний прийняти один пакет) і використовується для організації управління потоком даних між додатками. Код цього поля інформує партнера про найбільший порядковий номер пакету, який може бути посланий. Протокол spx посилає пакети до тих пір, доки "послідовний номер не стане рівним числу-вказівником на віддаленій ЕОМ.
Алгоритм надсилання пакетів
SPX-протокол не посилає наступний пакет до тих пір, поки не отримає підтвердження одержання попереднього. Хоча в протоколі SPX передбачений алгоритм ковзних вікон (як і в TCP), практично він в наш час[] не використовується, що цілком виправдано для локальних мереж. Слід зауважити, що для досить великих LAN, де пакет проходить через кілька перемикачів або маршрутизаторів, нехтування технікою вікон стає недозволеною розкішшю. На випадок непередбачених обривів зв'язку в spx є алгоритм "сторожова собака". Цей алгоритм реалізується спеціальною програмою, яка активується лише у разі, коли протягом певного часу в каналі відсутній трафік в будь-якому з напрямів (машина все зробила, а оператор заснув). У цьому випадку програма посилає спеціальні пакети і, якщо певна кількість спроб "достукатися" до партнера не увінчається успіхом, сесія переривається. Якщо партнер не надсилає відгук за певний відрізок часу (RTT), проводиться повторна посилка пакету, при цьому RTT збільшується на 50%. Значення RTT не повинно перевищити величини max_retry_delay, яка за замовчуванням дорівнює 5 секундам. Якщо зв'язок не відновилася, відправник намагається знайти інший маршрут до адресата. Якщо маршрут знайдений, лічильник спроб скидається в нуль і процедура відправки запускається знову. Допустима кількість спроб може лежати в діапазоні 1-255 (за замовчуванням - 10). При відсутності успіху сесія переривається.
Значення RTT визначається за часом відгуку найближчого маршрутизатора, який подвоюється, а до отриманої величини додається деяка константа. Для кожної з сесій RTT визначається незалежно. Багато тимчасових констант задаються адміністратором мережі. Протокол spx дозволяє здійснити від 100 до 2000 з'єднань одночасно (за замовчуванням це число дорівнює 1000). Конфігураційні параметри SPX-протоколу (і мережі) зберігаються у файлах shell.cfg і net.cfg.
SPX II
У 1992 році була розроблена нова версія SPX - SPX II. Головне удосконалення протоколу пов'язано із застосуванням пакетів більшого розміру. Раніше довгі spx-пакети фрагментувалися і пересилалися по частинах, враховуючи, що черговий пакет може бути посланий лише після отримання підтвердження, неважко зрозуміти крайню неефективність такої схеми. Стандарт spx дозволяє обмін пакетами з розміром, обмеженим тільки використовуваної мережевим середовищем. Так в Ethernet пакет SPX II може мати довжину 1518 байт. Крім того, SPX II допускає використання технології вікон, тобто можна послати кілька кадрів, не чекаючи отримання підтвердження на кожен з вже посланих. Розмір вікна встановлюється відповідно до коду, що містяться в полі число-покажчик (число буферів / пакетів). При необхідності адміністратор може задати розмір вікна раз і назавжди. Формат пакетів SPX II дещо відрізняється від SPX. У SPX II збільшено число допустимих кодів для поля управління з'єднанням, введено додаткове поле в заголовок підтвердження (два байти, ім'я поля "розширене підтвердження"). Нове поле додано після поля число буферів. Алгоритм встановлення зв'язку в SPX II відрізняться від варіанту spx тим, що необхідно узгодити розмір пересилаються пакетів.
0 | Управління з'єднанням (1) | Тип потоку даних (1) |
2 | Ідентифікатор відправника (2) | |
4 | Ідентифікатор адресата (2) | |
6 | Порядковий номер (2) | |
8 | Номер підтвердження отримання (2) | |
10 | Кількість буферів (2) | |
12 | Розширене підтвердження (2) |
Табл.1. Формат заголовка SPX-II
Управління мережами Novell здійснюється за допомогою стандартного протоколу SNMP (Simple Network Management Protocol) і керуючої бази даних MIB.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
SPX Sequence Packet eXchange i jogo vdoskonalena modifikaciya SPX II yavlyayut soboyu transportni protokoli 7 rivnevoyi modeli OSI Ce protokol garantuye dostavku paketa i vikoristovuye tehniku kovznogo vikna viddalenij analog protokolu TCP U razi vtrati abo pomilki paket danih peresilayetsya povtorno chislo povtoren zadayetsya programno U protokoli SPX ne peredbachena shirokomovna abo multikasting adresaciya U SPX indukuyetsya situaciya koli partner nespodivano pererivaye z yednannya napriklad cherez obriv zv yazku Paketi SPX vkladayutsya v paketi IPX Pri comu v poli tip paketu IPX zapisuyetsya kod 5 Zagolovok paketa SPX zavzhdi mistit 42 bajti vklyuchayuchi 30 bajt zagolovka IPX paketa kudi vin vkladenij Opis polivPole upravlinnya z yednannyam Pole upravlinnya z yednannyam viznachaye chi ye danij paket sistemnim chi prikladnim Ce pole mistit odnobitovi prapori vikoristovuvani spx i spx II dlya keruvannya potokom danih u virtualnomu kanali 0x01 XHD Zarezervovano SPX II dlya rozshirennya zagolovkiv 0x02 RES1 Priznachennya polya ne viznacheno maye dorivnyuvati nulyu 0x04 NEG SPX II SIZ uzgodzhuye rozmir zapitu vidguku dlya spx maye dorivnyuvati nulyu 0x08 SPX2 Tip paketu SPX II dlya spx maye dorivnyuvati nulyu 0x10 EOM Vstanovlyuyetsya kliyentom spx dlya indikaciyi kincya povidomlennya end of message 0x20 ATN attention zarezervovano dlya specialnih zapitiv ne pidtrimuyetsya SPX 0x40 ACK Vstanovlyuyetsya dlya zapitu pidtverdzhennya otrimannya danogo paketu Zapiti i vidguki obroblyayutsya na rivni SPX dodatok ne povinen zminyuvati cej kod 0x80 SYS Vstanovlyuyetsya yaksho cej paket ye sistemnim i sluzhit dlya pidtverdzhennya Dodatki ne vikoristovuyut paketi cogo tipu Pole tip potoku danih Pole tip potoku danih harakterizuye tip danih pomishenih v paket Znachennya cogo polya pererahovani nizhche 0x00 0x07 viznachayetsya kliyentom i mozhe vikoristovuvatisya v dodatkah 0x80 0xfb zarezervovani na majbutnye 0xfc spx II vporyadkovane zvilnennya zapitu 0xfd spx II vporyadkovane zvilnennya pidtverdzhennya 0xfe vkazuye na zakinchennya zv yazku end of connection Pri zakritti kanalu spx drajver posilaye kliyentu paket de v poli tip potoku zapisanij danij kod 0xff pidtverdzhennya otrimannya povidomlennya pro zakinchennya zv yazku end of connection acknowledgment Cim kodom poznachayetsya paket sho pidtverdzhuye zakrittya kanalu v prikladnu programu takij paket ne peredayetsyaInshi polya Polya identifikatora vidpravnika i oderzhuvacha mistyat kodi sho viznachayut uchasnikiv informacijnogo obminu prisvoyuyutsya SPX drajverom v moment vstanovlennya zv yazku U zapitah na z yednannya ce pole mistit kod 0xffff Dane pole sluzhit dlya zabezpechennya demultipleksuvannya paketiv sho nadhodyat na odin i toj zhe z yednuvach socket Pole poslidovnij nomer viznachaye chislo paketiv pereslanih v odnomu napryamku Kozhen z partneriv obminu maye svij lichilnik yakij skidayetsya v nul pislya dosyagnennya 0xffff pislya chogo rahunok mozhe prodovzhuvatisya Dlya programi ce pole takozh yak i nastupni dva nedotorkane spx paketi pidtverdzhennya mistyat v comu poli poryadkovij nomer ostannogo poslanogo paketa Pole nomer pidtverdzhennya harakterizuye poslidovnij nomer nastupnogo paketa yakij spx ochikuye otrimati Bud yakij paket z poryadkovim nomerom menshe nizh zadano v poli nomera pidtverdzhennya dostavlenij blagopoluchno i ne vimagaye retransmissii Pole chislo buferiv sluzhit dlya vkazannya chisla dostupnih na stanciyi buferiv buferi numeruyutsya pochinayuchi z 0 odin bufer zdatnij prijnyati odin paket i vikoristovuyetsya dlya organizaciyi upravlinnya potokom danih mizh dodatkami Kod cogo polya informuye partnera pro najbilshij poryadkovij nomer paketu yakij mozhe buti poslanij Protokol spx posilaye paketi do tih pir doki poslidovnij nomer ne stane rivnim chislu vkazivnikom na viddalenij EOM Algoritm nadsilannya paketivSPX protokol ne posilaye nastupnij paket do tih pir poki ne otrimaye pidtverdzhennya oderzhannya poperednogo Hocha v protokoli SPX peredbachenij algoritm kovznih vikon yak i v TCP praktichno vin v nash chas koli ne vikoristovuyetsya sho cilkom vipravdano dlya lokalnih merezh Slid zauvazhiti sho dlya dosit velikih LAN de paket prohodit cherez kilka peremikachiv abo marshrutizatoriv nehtuvannya tehnikoyu vikon staye nedozvolenoyu rozkishshyu Na vipadok neperedbachenih obriviv zv yazku v spx ye algoritm storozhova sobaka Cej algoritm realizuyetsya specialnoyu programoyu yaka aktivuyetsya lishe u razi koli protyagom pevnogo chasu v kanali vidsutnij trafik v bud yakomu z napryamiv mashina vse zrobila a operator zasnuv U comu vipadku programa posilaye specialni paketi i yaksho pevna kilkist sprob dostukatisya do partnera ne uvinchayetsya uspihom sesiya pererivayetsya Yaksho partner ne nadsilaye vidguk za pevnij vidrizok chasu RTT provoditsya povtorna posilka paketu pri comu RTT zbilshuyetsya na 50 Znachennya RTT ne povinno perevishiti velichini max retry delay yaka za zamovchuvannyam dorivnyuye 5 sekundam Yaksho zv yazok ne vidnovilasya vidpravnik namagayetsya znajti inshij marshrut do adresata Yaksho marshrut znajdenij lichilnik sprob skidayetsya v nul i procedura vidpravki zapuskayetsya znovu Dopustima kilkist sprob mozhe lezhati v diapazoni 1 255 za zamovchuvannyam 10 Pri vidsutnosti uspihu sesiya pererivayetsya Znachennya RTT viznachayetsya za chasom vidguku najblizhchogo marshrutizatora yakij podvoyuyetsya a do otrimanoyi velichini dodayetsya deyaka konstanta Dlya kozhnoyi z sesij RTT viznachayetsya nezalezhno Bagato timchasovih konstant zadayutsya administratorom merezhi Protokol spx dozvolyaye zdijsniti vid 100 do 2000 z yednan odnochasno za zamovchuvannyam ce chislo dorivnyuye 1000 Konfiguracijni parametri SPX protokolu i merezhi zberigayutsya u fajlah shell cfg i net cfg SPX IIU 1992 roci bula rozroblena nova versiya SPX SPX II Golovne udoskonalennya protokolu pov yazano iz zastosuvannyam paketiv bilshogo rozmiru Ranishe dovgi spx paketi fragmentuvalisya i peresilalisya po chastinah vrahovuyuchi sho chergovij paket mozhe buti poslanij lishe pislya otrimannya pidtverdzhennya nevazhko zrozumiti krajnyu neefektivnist takoyi shemi Standart spx dozvolyaye obmin paketami z rozmirom obmezhenim tilki vikoristovuvanoyi merezhevim seredovishem Tak v Ethernet paket SPX II mozhe mati dovzhinu 1518 bajt Krim togo SPX II dopuskaye vikoristannya tehnologiyi vikon tobto mozhna poslati kilka kadriv ne chekayuchi otrimannya pidtverdzhennya na kozhen z vzhe poslanih Rozmir vikna vstanovlyuyetsya vidpovidno do kodu sho mistyatsya v poli chislo pokazhchik chislo buferiv paketiv Pri neobhidnosti administrator mozhe zadati rozmir vikna raz i nazavzhdi Format paketiv SPX II desho vidriznyayetsya vid SPX U SPX II zbilsheno chislo dopustimih kodiv dlya polya upravlinnya z yednannyam vvedeno dodatkove pole v zagolovok pidtverdzhennya dva bajti im ya polya rozshirene pidtverdzhennya Nove pole dodano pislya polya chislo buferiv Algoritm vstanovlennya zv yazku v SPX II vidriznyatsya vid variantu spx tim sho neobhidno uzgoditi rozmir peresilayutsya paketiv 0 Upravlinnya z yednannyam 1 Tip potoku danih 1 2 Identifikator vidpravnika 2 4 Identifikator adresata 2 6 Poryadkovij nomer 2 8 Nomer pidtverdzhennya otrimannya 2 10 Kilkist buferiv 2 12 Rozshirene pidtverdzhennya 2 Tabl 1 Format zagolovka SPX II Upravlinnya merezhami Novell zdijsnyuyetsya za dopomogoyu standartnogo protokolu SNMP Simple Network Management Protocol i keruyuchoyi bazi danih MIB