Кіріспе
Xerox Network Systems (XNS) – Xerox Network Systems Architecture ішінде Xerox компаниясы әзірлеген компьютерлік желілік протоколдар жиынтығы. Ол жалпы мақсаттағы желілік байланыс, интернет желісінің маршрутизациясы және пакеттерді жеткізу, сондай-ақ сенімді ағын және қашықтан процедуралық шақырулар сияқты жоғары деңгейдегі функцияларды қамтамасыз етті. XNS Ашық жүйелер өзара байланысы (OSI) желілік моделінің дамуына алдын бақты және 1980-ші жылдары жергілікті желілерді жобалауда маңызды рөл атқарды. XNS 1980-ші жылдардың басында Xerox Systems Development Department бөлімінде әзірленді, оларға Xerox PARC зерттеулерін нарыққа енгізу міндеті жүктелді. XNS 1970-ші жылдардың соңындағы PARC Universal Packet (PUP) жиынтығының негізінде құрылды. XNS жиынтығындағы кейбір протоколдар PUP жиынтығындағылардың сәл өзгертілген нұсқалары болды. XNS желілік нөмір тұжырымдамасын енгізді, бұл үлкен желілерді бірнеше кішірек желілерден құруға мүмкіндік берді, ал маршрутизаторлар желілер арасындағы ақпарат ағынын басқарады. XNS протоколы жиынтығының техникалық сипаттамалары 1977 жылы жалпыға қолжетімді етуге ұсынылды. Бұл XNS-тің жергілікті желілік протоколына айналуына көмектесті, оны 1990 жылдарға дейін қолданылған көптеген желілік жүйелер түрлі дәрежеде көшірді. XNS 3Com компаниясының 3+Share және Ungermann Bass компаниясының Net/One жүйелерінде өзгеріссіз пайдаланылды. Сонымен қатар, ол Novell NetWare және Banyan VINES жүйелері үшін негіз ретінде қолданылды. XNS AppleNet жүйесінің негізі ретінде пайдаланылды, бірақ ол коммерциялық мақсатта қолданылмады; AppleNet-ті алмастырған AppleTalk жүйесінде XNS шешкен көптеген мәселелер пайдаланылды.
Xerox Network Systems (XNS) is a computer networking protocol suite developed by Xerox within the Xerox Network Systems Architecture. It provided general purpose network communications, internetwork routing and packet delivery, and higher level functions such as a reliable stream, and remote procedure calls. XNS predated and influenced the development of the Open Systems Interconnection (OSI) networking model, and was very influential in local area networking designs during the 1980s. XNS was developed by the Xerox Systems Development Department in the early 1980s, who were charged with bringing Xerox PARC's research to market. XNS was based on the earlier (and equally influential) PARC Universal Packet (PUP) suite from the late 1970s. Some of the protocols in the XNS suite were lightly modified versions of the ones in the Pup suite. XNS added the concept of a network number, allowing larger networks to be constructed from multiple smaller ones, with routers controlling the flow of information between the networks. The protocol suite specifications for XNS were placed in the public domain in 1977. This helped XNS become the canonical local area networking protocol, copied to various degrees by practically all networking systems in use into the 1990s. XNS was used unchanged by 3Com's 3+Share and Ungermann Bass's Net/One. It was also used, with modifications, as the basis for Novell NetWare, and Banyan VINES. XNS was used as the basis for the AppleNet system, but this was never commercialized; a number of XNS's solutions to common problems were used in AppleNet's replacement, AppleTalk.
Жалпы жобалау
OSI моделінің 7 қабатымен салыстырғанда, XNS – бес қабатты жүйе, кейінірек пайда болған Интернет протоколы жиынтығы сияқты. OSI моделінің физикалық және деректер байланысы қабаттары XNS-дегі физикалық қабатқа (0-қабат) сәйкес келеді, ол негізгі аппараттың тасымалдау механизмін пайдалану үшін жобаланған және деректер байланысын бөліп көрсетпеді. Нақты айтқанда, XNS-тің физикалық қабаты – бұл шын мәнінде Xerox компаниясымен бір уақытта әзірленген Ethernet жергілікті желі жүйесі, және оның көптеген дизайн шешімдері осы фактіні көрсетеді. Жүйе Ethernet-ті басқа жүйемен алмастыруға мүмкіндік беру үшін жасалған, бірақ бұл протоколмен анықталмаған (сондай-ақ міндетті болмады). XNS-тің басты бөлігі – оның ішкі көлік қабатын (1-қабат) анықтауы, ол OSI желілік қабатына сәйкес келеді, және осы жерде негізгі интернеттік протокол, IDP анықталады. XNS OSI-нің сессия және көлік қабаттарын бір процестер аралық байланыс қабатына (2-қабат) біріктірді. 3-қабат – ресурстарды басқару, OSI-нің көрсету қабатына ұқсас. Соңында, екі модельдің де үстінде Қолданба қабаты бар, бірақ бұл қабаттар XNS стандартында анықталмаған.
Негізгі интернет желісі протоколы
Негізгі интернет-жүйелік протокол – Интернет-датаграммалық протокол (IDP). IDP – Pup интернет-протоколының тікелей ұрпағы және Интернет-протокол жиынтығындағы Интернет-протокол (IP) қабатына ұқсас келеді. IDP өз желілік адрестеуінің негізі ретінде Ethernet-тің 48 биттік адресін пайдаланады, көбінесе машинаның MAC-адресін бірегей идентификатор ретінде қолданады. Бұған желілік жабдықтар ұсынатын тағы 48 биттік адрестік бөлім қосылады: 32 бит маршрутизаторлар интернет-жүйедегі желі нөмірін анықтау үшін, ал қалған 16 бит бір хост ішінде қызметті таңдау үшін сокет нөмірін анықтайды. Адрестің желілік нөмір бөлігінде арнайы мән де бар, ол желілік нөмірін (әлі) білмейтін хосттар үшін «осы желі» дегенді білдіреді. TCP/IP-ден айырмашылығы, IDP бас жағында сокет нөмірлері толық желілік мекенжайдың бөлігі болып табылады, сондықтан жоғарғы қабатты протоколдарға демультиплекстеуді жүзеге асыру қажеттігі тумайды; IDP сонымен қатар пакет түрлерін де ұсынады (IP-ден де айырмашылығы). IDP пакеттің барлығын қамтитын тексеру сомасын да қамтиды, бірақ ол міндетті емес, қосымша. Бұл LAN-дарда қателердің аз болуын көрсетеді, сондықтан XNS өнімділікті арттыру үшін төменгі деңгейдегі протоколдардан қателерді түзетуді алып тастады. Қателерді түзетуді протокол стегінің жоғары деңгейлерінде, мысалы, XNS-тің SPP протоколында қажет болған жағдайда қосуға болады. Осы дизайндық ерекшелікке байланысты XNS IP-ден жылдам деп есептелді. Жұмыс істейтін LAN қосылымдарының төмен кешігуін ескере отырып, XNS қысқа пакет өлшемін пайдаланады, бұл төмен қателік деңгейі мен қысқа айналым уақытында өнімділікті жақсартады. IDP пакеттерінің ұзындығы 576 байтқа дейін, оның ішінде 30 байттық IDP бас жағымен бірге. IP барлық хосттардан кем дегенде 576 байтты қолдауды талап етеді, бірақ 65 мың байтқа дейінгі пакеттерді де қолдайды. Белгілі бір желідегі XNS хосттары үлкен пакеттерді пайдалана алады, бірақ оларды өңдеу үшін XNS маршрутизаторы міндетті емес, ал аралық маршрутизаторлар үлкен пакеттерді қолдайтынын анықтауға арналған механизм да жоқ. Сондай-ақ, IP-дегідей пакеттер бөліне алмайды. Pup-тың Gateway Information Protocol-інің ұрпағы болып табылатын Routing Information Protocol (RIP) маршрутизаторлар арасындағы ақпарат алмасу жүйесі ретінде қолданылады және (басқа протокол жиынтықтарының мекенжайлары синтаксисіне сәйкес сәл өзгертілген) бүгінгі таңда басқа протокол жиынтықтарында, мысалы, Интернет-протокол жиынтығында қолданылады. XNS сонымен қатар IP-нің пинг-іне ұқсас, бірақ желілік стекте төменгі деңгейде жұмыс істейтін интернет-жүйелік қабатта қарапайым эхо-протоколды іске асырады. IP пакетіне ICMP деректерін пайдалы жүктеме ретінде қосудың орнына, пинг сияқты, XNS эхосы команданы тікелей IDP пакетіне орналастырады. IP-де IP бас жағының ICMP протоколы өрісін кеңейту арқылы осыған қол жеткізуге болады.
Жіберуші RPC
Бастапқы Xerox тұжырымдамасында қашықтан басып шығару, файлдау және электрондық поштамен жіберу сияқты қолданба протоколдары Courier деп аталатын қашықтан процедура шақыру протоколын пайдаланды. Courier, Xerox Mesa бағдарламалау тілінің функцияларын шақыру мүмкіндіктерінің көп бөлігін іске асыруға арналған примитивтерді қамтыды. Қолданбалар Courier-де функция шақыруларын қолмен сериалдауға және десериалдауға міндетті болды; функцияны іске қосу кадрын RPC-ге автоматты түрде аудару мүмкіндігі болмады (яғни "RPC компиляторы" қолжетімді болған жоқ). Courier барлық қолданбалармен пайдаланылғандықтан, XNS қолданба протоколы құжаттары тек Courier функция шақыру интерфейстері мен модуль+функция байланыс жұптарын көрсетті. Courier-де функция шақыру арқылы үлкен көлемдегі деректерді жіберу немесе қабылдауға мүмкіндік беретін арнайы құрал болды. Бастапқыда XNS қызметін табу қашықтан процедуралық шақыруларды тарату арқылы, кеңейтілген сақина тәрізді хабар таратулар сериясын қолдану арқылы жүзеге асырылды (жергілікті маршрутизатормен келісе отырып, желілерді қашықтық бойынша кеңейту үшін). Кейіннен, Clearinghouse Protocol 3 деңгейлі каталог қызметі қызметті табу үшін құрылды, ал кеңейтілген сақина тәрізді хабарламалар бастапқы Clearinghouse-ті табу үшін ғана қолданылды. Mesa тілімен тығыз байланысты болғандықтан, көптеген дәстүрлі жоғары деңгейдегі протоколдар XNS жүйесінің өзіне кірмеді. Бұл XNS протоколдарын пайдаланатын әрбір жеткізуші файлдарды бөлісу және принтерді қолдау үшін өз шешімдерін жасады дегенді білдірді. Осы үшінші тарап өнімдерінің көптеген түрлері теориялық тұрғыдан пакеттік деңгейде бір-бірімен байланыса алғанымен, бір-бірінің қолданба қызметтерін шақыру мүмкіндігі шектеулі немесе мүлдем болмады. Бұл XNS нарығының толық фрагментациясына әкелді және IP оны оңай ығыстырған себептердің бірі ретінде қарастырылады.
Аутентификация
XNS протоколдарында аутентификация протоколы және оны қолдау үшін аутентификация қызметі де болған. Оның "құдіретті куәліктері" кейінірек Kerberos қолданған Needham–Schroeder протоколы негізінде құрылған. Курьер процедуралық шақыруларын цифрлық түрде қол қою үшін, бұл протокол куәліктерді алу үшін аутентификация қызметімен байланысқаннан кейін жеңілдетілген әдіс ұсынды, соның арқасында қабылдаушылар қолтаңбаны тексеріп, XNS желісі арқылы жіберушілерді аутентификациялай алады, протокол байланыс сессиясының барлық уақытында аутентификация қызметімен қайта байланысу қажеттілігі болмайды. Бұл протокол "nub" түзету құралы арқылы жұмыс станциясын тоқтатып, жадтың әртүрлі бөліктерін қарап, өзгертіп, орындауды жалғастыра алады. Егер түзету символдары қол жетімді болса, құлаған машинаны жер бетіндегі кез келген жерден қашықтан түзетуге болады.
Этернет пен PUP-тің пайда болуы
Гарвард университетіндегі соңғы жылы Боб Меткалф бірнеше компанияда жұмысқа түсуге сұхбаттаса бастады, және оны Xerox PARC-те Джери Элкинд пен Боб Тейлор жылы қарсы алды. Олар Xerox Alto болатын желілік компьютерлік жұмыс орындарын жасаумен айналысып жатқан еді. Ол диссертациясын қорғағаннан кейін шілде айында PARC-ке қосылуға келісті. 1970 жылы Стив Крокердің үйінде конференцияға қатысып тұрғанда, Меткалф үстелден Proceedings of the Fall Joint Computer Conference журналын алды, оны оқып ұйықтап кетуді ниеттенді. Бірақ, оның орнына ол ALOHAnet туралы мақалаға қызығушылық танытты – бұл ерте замандағы кең ауқымды желілік жүйе. Маусым айында ол желілер туралы өз теориясын жасап, профессорларына ұсынды, бірақ олар оны қабылдамады және ол "көкке лақтырылды". Меткалф сәтті болмаған диссертациясына қарамастан PARC-те құрметпен қарсы алынды және көп ұзамай "ALOHAnet in a wire" деп аталған жүйенің дамуын бастады. Ол Дэвид Боггспен бірлесіп электрондық жағынан іске асыруға көмектесті, ал 1973 жылдың соңына қарай олар 3 Мбит/с жылдамдықпен жұмыс істейтін аппараттық құралды құрастырды. Содан кейін олар жүйеде жұмыс істейтін қарапайым протокол жасауға кірісті. Бұл PARC Universal Packet (Pup) жүйесінің дамуына әкелді, ал 1974 жылдың соңында екеуі Pup-ты Ethernet-те сәтті іске қосты. Олар осы тұжырымдамаға патент алды, Меткалф олар да лайық деп санайтын бірнеше есімдерді қосты, содан кейін ACM-нің "Communications of the ACM" журналында "Ethernet: Distributed Packet Switching for Local Computer Networks" тақырыбындағы мақаласын жариялады, ол 1976 жылдың шілдесінде шықты.
PUP-тен XNS-ке
1975 жылы, ПУП аяқталуға көп уақыт қалғанда, Меткалф Xerox басқаруының қатаңдығына наразы болды. Ол компанияның Ethernet-ті дереу өндіріске енгізуі керек деп ойлады, бірақ жоғары басшылық тарапынан үлкен қызығушылық көрінбеді. 1974 жылы MIT-тің танымал Жасанды Интеллект зертханасының профессорлары өз зертханаларында пайдалану үшін Ethernet сатып алу мақсатымен Xerox-ке жүгінді. Xerox басшылығы Ethernet-ті өздерінің жабдықтарын сатуға пайдаланудың тиімдірек екенін ойлап, ұсыныстан бас тартты. Содан кейін AI Lab өздерінің Ethernet нұсқасын, Chaosnet-ті жасады. Меткалф 1975 жылдың қараша айында Xerox-тен кетеді және Citibank-ке қарасты, озық өнімдерді әзірлеумен айналысатын Transaction Technology бөлімшесінде жұмысқа орналасты. Бірақ жеті айдан кейін Дэвид Лиддл оны Xerox-ке қайта шақырды. Лиддл жақында Xerox ішінде PARC идеяларын нарыққа шығару үшін жүйелерді дамыту бөлімін құрған еді. Меткалф дереу 20 Мбит/с жылдамдықпен жұмыс істейтін Ethernet-ті қайта жобалауға кірісті және Pup-ты өндірістік сападағы нұсқада қайта жазуды бастады. Pup бойынша көмек іздеген Меткалф сол кезде Стэнфорд университетінде Винт Серф басшылығымен PhD диссертациясын аяқтаған Йоген Далалға жүгінді. Далалды Боб Канның ARPANET тобы (TCP/IP бойынша жұмыс істейтін) да қызықтырды, бірақ Серф DARPA-ға кеткен соң, Далал PARC-ке көшіп, 1977 жылы жұмысын бастады. Далал Уильям Кроутер және Хэл Мюррейді қамтитын команда құрды және Pup-ты толыққанды қарап шығудан бастады. Далал DARPA-да жүргізіліп жатқан TCP жұмыстарына да қатысуға тырысты, бірақ ақырында мұнан бас тартып, Pup-қа толық назар аударды. Далал ARPANET тәжірибесін Pup тұжырымдарымен біріктірді және 1977 жылдың соңында Xerox Network System спецификациясының алғашқы нұсқасын жариялады. Бұл, негізінен, 48 биттік хост ID-мен жабдықталған Pup нұсқасы және TCP-нің 3 кезеңді қол алысу протоколы болды. 1978 жылдың басында жаңа жүйе жұмыс істеді, бірақ басшылық оны коммерцияландыру үшін ешқандай қадам жасаған жоқ. Меткалф айтқандай:
When I came back to Xerox in 1976, we were about two and a half years from product shipment and in 1978 we were about two and a half years from product shipment. When no further action was forthcoming, Metcalfe left the company at the end of 1978.
"1976 жылы Xerox-ке оралғанда, өнімді жеткізуге екі жарым жылдай уақыт қалған еді. Ал 1978 жылы да өнімді жеткізуге екі жарым жылдай уақыт қалған еді."
When I came back to Xerox in 1976, we were about two and a half years from product shipment and in 1978 we were about two and a half years from product shipment. When no further action was forthcoming, Metcalfe left the company at the end of 1978.
Ешқандай іс-қимыл болмағандықтан, Меткалф 1978 жылдың соңында компаниядан кетті.
When I came back to Xerox in 1976, we were about two and a half years from product shipment and in 1978 we were about two and a half years from product shipment. When no further action was forthcoming, Metcalfe left the company at the end of 1978.
Әсері
Соңғы рет Xerox компаниясы DocuTech 135 Publishing System-мен байланыс үшін қолданған XNS қазір қолданылмайды, себебі IP-нің кең таралғандығына байланысты. Дегенмен, ол 1980 жылдары желілік технологияның дамуында маңызды рөл атқарды, бағдарламалық және аппараттық құралдарды жасаушыларды бір уақытта бірнеше желілік протокол жиынтығын қолдайтын есептеу платформаларының қажеттілігін қастерлеуге ықпал етті. Көптеген жекеменшік желілік жүйелер тікелей XNS-ке негізделген немесе оның негізгі идеяларын өңдеген. Олардың ішінде Net/One, 3+, Banyan VINES және Novell IPX/SPX жүйелері болды. Бұл жүйелер XNS адрестеу және маршруттау жүйесіне өзіндік ұғымдарын қосты; VINES басқа қызметтермен қатар каталог қызметін енгізді, ал Novell NetWare басып шығару және файлдармен бөлісу сияқты пайдаланушыға бағытталған бірнеше қызметтерді қосты. AppleTalk XNS сияқты маршруттауды пайдаланды, бірақ үйлесімсіз, қысқарақ нөмірлерді қолданды. XNS сондай-ақ 4.2BSD желілік ішкі жүйесінің дұрыстығын тексеруге көмектесті, Интернет протоколдарынан едәуір ерекшеленетін екінші протокол жиынтығын ұсынды. Екі жиынтықты да бір ядрода іске асыру арқылы Беркли зерттеушілері бұл дизайнның тек IP үшін ғана емес, басқа да мақсаттарға жарамды екенін көрсетті. Ашық жүйелер өзара байланысы (OSI) протоколдарының толық спектрін қолдау үшін қосымша BSD өзгерістері қажет болды.