ЎЗБЕКИСТОН РЕСПУБЛИКАСИ АХБОРОТ ТЕХНОЛОГИЯЛАРИ ВА КОММУНИКАЦИЯЛАРИНИ РИВОЖЛАНТИРИШ ВАЗИРЛИГИ

 

ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ

 

 

 

“Т А С Д И Қ Л А Й М А Н”

Ўқув ишлари бўйича биринчи проректор

_______________Ф.С. Агзамов

_________________ 2016 й.

 

 

 

 

 

“Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти” кафедраси

 

 

 

 

 

 

 

ТАРМОҚНИ ДАСТУРЛАШ АСОСЛАРИ”

фанидан

 

Ў Қ У В – У С Л У Б И Й    М А Ж М У А

 

 

 

 

 

 

 

 

 

 

Тошкент 2016


 

Парсиев С.С.

ТАТУ “Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти” кафедраси мудири

 

 

Тузувчилар:        

ТАТУ “Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти”

кафедраси доценти                                  Р.П. Абдурахманов  

 

ТАТУ “Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти”

кафедраси катта ўқитувчиси                             О.Н. Джураев

 

ТАТУ “Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти”

кафедраси ассистенти                              Ҳ.У. Алиев

 

ТАТУ “Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти”

кафедраси ассистенти                              Б.З. Абдухалилов

 

ТАТУ “Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти”

кафедраси ассистенти                              А.И. Абдуллаев

 

 

 

Тақризчи:

“Маълумот узатиш тизимлари ва тармоқлари” кафедраси
т.ф.н., доцент                                            Ш.Ю.Джаббаров

 

 

“К Е Л И Ш И Л Д И”

 

ЎМБ бошлиғи

 

___________А.Қ.Эргашев

 

“_______”___________2016

 

 


МУНДАРИЖА

 

I. ИШЧИ ДАСТУР.........................................................................................

4

 

II. ФАННИ ЎҚИТИШДА ФОЙДАЛАНИЛАДИГАН ИНТРЕФАОЛ ТАЪЛИМ МЕТОДЛАРИ..............................................................................

30

III. НАЗАРИЙ МАТЕРИАЛЛАР.................................................................

39

IV. АМАЛИЙ МАШҒУЛОТ МАТЕРИАЛЛАРИ.....................................

139

V.  КЕЙСЛАР БАНКИ...................................................................................

176

VI. МУСТАҚИЛ ТАЪЛИМ МАВЗУЛАРИ...............................................

187

VII. ГЛОССАРИЙ..........................................................................................

189

VIII. АДАБИЁТЛАР РЎЙХАТИ..................................................................

191

 


I. ИШЧИ ДАСТУР

 

Кириш

 

Олий таълимнинг Давлат таълим стандартига кўра “5350100 - Телекоммуникация технологиялари (“Телекоммуникациялар”, “Телерадиоэшиттириш”, “Мобиль тизимлар”)” таълим йўналишида ўқитиладиган “Тармоқни дастурлаш асослари” фани дастури алоқа ва ахборотлаштириш, телекоммуникация технологиялари ишида зарур бўладиган: тармоқни дастурлаш асослари, тармоқларнинг тўзилиш принциплари, маълумот узатиш моделлари (OSI ва TCP/IP), тармоқни дастурлашда протоколлар, Интернет тармоғи протоколлари, тармоқни дастурлашда дастурлаш тиллари классларидан фойдаланиш, тармоқ дастурлашда оқимлар, шунингдек, тармоқни дастурлашда сокетлар, broadcasting, multicasting, тармоқни дастурлашда кўпоқимлилик ва функцияларни паралеллаштириш тушунчалари, тармоқда коммутацияни, маршрутизацияни дастурлаш тамойиллари, тармоқни дастурлашда амалий поғона протоколлари ва API (Application Programming Interface), тармоқ хавфсизлиги ва тармоққа уланишни дастурлаш, тармоқни бошқаришни дастурлаш, аутентификация, идентификация ва авторизация тамойиллари, Интернет тармоғи иловаларини дастурлаш, IPv4 ва IPv6 протоколлари тизими асосида тармоқ дастурий таъминотини лойиҳалаш масалаларини ўз ичига олган бўлимлардан ташкил топган.

 

Фаннинг мақсад вавазифалари

 

“Тармоқни дастурлаш асослари” фани умумий ихтисослик фанлар мажмуасига тааллуқли бўлиб, талабалар уни 6, 7-семестрларда ўрганишади. 

“Тармоқни дастурлаш асослари” фанининг бош муҳим вазифаси – талабаларга тармоқни дастурлаш асослари, тармоқни дастурлаш воситалари ва дастурлаш тиллари, маълумот узатиш моделлари (OSI ва TCP/IP), боғланишнинг кўп сатҳли архитектураси, очиқ тизимлар ўзаро боғланишининг OSI модели, TCP/IP модели, унинг тавсифи, тармоқларни ўзаро боғланиш асослари, клиент-сервер архитектураси, тармоқни дастурлашда протоколлар, IP протоколи, TCP протоколи, UDP протоколи, FTP протоколи, унинг моделлари, Интернет тармоғи протоколлари, HTTP протоколи, WWW хизматлари, URL класси, URL боғланиши класси, HTTP URL боғланиши класси, URI, URL, URN ресурслари, тармоқни дастурлашда оқимлар, тармоқни дастурлашда сокетлар ва уларнинг турлари, сокетлар асосида клиент, сервер, клиент-сервер дастурларини яратиш, тармоқни дастурлашда гуруҳли, мультикаст сокетлардан фойдаланиш, тармоқни дастурлашда жараёнларни паралеллаштириш, тармоқда коммутацияни дастурлаш, IP коммутаторларни, IP маршрутизаторларни лойиҳалаш ва дастурлаш, тармоққа уланишни дастурлаш тамойиллари, аутентификация, авторизация ва идентификацияни дастурлаш, Интернет тармоғи ва унинг тўзилиш принципи, HTTP ва FTP протоколлари, Интернет тармоғи иловаларини дастурлаш бўйича, шунингдек, телекоммуникация тармоқ қурилмаларининг тўзилиш принциплари, тармоқ қурилмаларининг дастурий таъминотини лойиҳалаш ва яратиш, тармоқда клиент-сервер архитектурасини реализация қилиш, IPv4 и IPv6 протоколлари, IPv4 ва IPv6 сокети манзилларининг тўзилиши ҳамда улар асосида тармоқ дастурий таъминотини ишлаб чиқиш масалаларини ўрганишни муваффақиятли ўзлаштиришлари учун зарур бўлган таянч билимларни беришдир.

 

Фан бўйича талабанинг малакасига қўйиладиган талаблар

 

“Тармоқни дастурлаш асослари”  ўқув фанини ўзлаштириш жараёнида амалга ошириладиган масалалар доирасида қуйидагиларни бажара олиши лозим:

- тармоқ ва унинг тўзилиши, тармоқ таркибий қисмлари, тармоқни дастурлаш тамойиллари, OSI, TCP/IP моделлари тавсифини билиши;

- тармоқ протоколлари, сокетлар асосида тармоқни дастурлаш тамойиллари, тармоқни дастурлашда класслардан фойдаланиш, тармоқда коммутация, маршрутизация, тармоқ хавфсизлигини дастурлаш асослари бўйича назарий ва амалий кўникмаларга эга бўлиши;

- тармоқни дастурлаш асослари бўйича фундаментал ва амалий, маълумот узатиш моделлари (OSI, TCP/IP моделлари) ни аниқ билиши;

- тармоқни дастурлашда сокетлар ва уларнинг амалий аҳамияти, уларнинг имкониятлари, тармоқни дастурлашда оқимлар, уларнинг турлари, сокетлар асосида тармоқни дастурлаш тамойиллари, сокетлар асосида клиент-сервер дастурларини туза олиши;

- тармоқни дастурлашда кўпоқимлилик, функцияларни паралеллаштириш имкониятларидан фойдаланиш бўйича билимларни эгаллаган бўлиши;

- тармоқни дастурлаш воситалари ва дастурлаш тиллари, тармоқни ташкил этувчилари (тармоқ қурилмалари, клиент-сервер архитектураси, адреслаш), тармоқда маълумот алмашишни ташкил этиш тамойиллари, тармоқни дастурлашда протоколлардан фойдаланиш, IP протоколи, TCP протоколи, UDP протоколи, HTTP протоколи, сокетлар асосида сервер дастурини яратиш ва ишлаб чиқа олиши;

- тармоққа уланишни дастурлаш тамойиллари, аутентификация, идентификация, авторизацияни дастурлаш тамойилларини кўрсата олиши;

- телекоммуникация тармоқ қурилмаларининг тўзилиш принциплари, тармоқ қурилмаларининг дастурий таъминотини лойиҳалаш ва яратишнинг бир неча усулларини бевосита дастурлай олиши.

 

 

 


Ўқув режадаги бошқа фанлар билан боғлиқлиги

 

Мазкур фан ўқув режасидаги “Сигналлар ва тизимлар”, “Дастурлаш тамойиллари”, “Электралоқа асослари”, “Телекоммуникацияла операцион тизимлар”, “Электр занжирлар назарияси”, “Телекоммуникацияда дастурлаш структураси”, “Телекоммуникация тармоқлари”, ва “Ахборот ва кодлаш назарияси” каби фанлар билан узвий боғлиқдир ва бу фанлардан етарли билим ва кўникмаларга эга бўлишини талаб этади.

 

 

Фанни ўқитишда замонавий ахборот ва педагогик технологиялар

 

Ўқув жараёни билан боғлиқ таълим сифатини белгиловчи ҳолатлар қуйидагилар: юқори илмий-педагогик даражада дарс бериш, муаммоли маърузалар ўқиш, дарсларни савол-жавоб тарзида қизиқарли ташкил қилиш, илғор педагогик технологиялардан ва мулътимедиа воситаларидан фойдаланиш, тингловчиларни ундайдиган, ўйлантирадиган муаммоларни улар олдига қўйиш, талабчанлик, тингловчилар билан индивидуал ишлаш, эркин мулоқот юритишга, илмий изланишга жалб қилиш.

“Тармоқни дастурлаш асослари” фанини лойиҳалаштиришда қуйидаги асосий концептуал ёндошувлардан фойдаланилади:

Шахсга йўналтирилган таълим. Бу таълим ўз моҳиятига кўра таълим жараёнининг барча иштирокчиларини тўлақонли ривожланишларини кўзда тутади. Бу эса таълимни лойиҳалаштираётганда, албатта, маълум бир таълим олувчининг шахсини эмас, аввало, келгусидаги мутахассислик фаолияти билан  боғлиқ ўқиш мақсадларидан келиб чиққан ҳолда ёндошилишни назарда тутади.

Тизимли ёндошув.  Таълим технологияси тизимнинг барча белгиларини ўзида мужассам этмоғи лозим: жараённинг мантиқийлиги, унинг барча бўғинларини ўзаро боғланганлиги, яхлитлиги.

Фаолиятга йўналтирилган ёндошув. Шахснинг жараёнли сифатларини шакллантиришга, таълим олувчининг фаолиятни активлаштириш ва интенсивлаштириш, ўқув жараёнида унинг барча қобилияти ва имкониятлари, ташаббускорлигини очишга йўналтирилган таълимни ифодалайди.

Диалогик ёндошув. Бу ёндошув ўқув муносабатларини яратиш заруриятини билдиради. Унинг натижасида шахснинг ўз-ўзини фаоллаштириши ва ўз-ўзини кўрсата олиши каби ижодий фаолияти кучаяди. 

Ҳамкорликдаги таълимни ташкил этиш. Демократик, тенглик, таълим берувчи ва таълим олувчи фаолият мазмунини шакллантиришда ва эришилган натижаларни баҳолашда биргаликда ишлашни жорий этишга эътиборни қаратиш зарурлигини билдиради.

Муаммоли таълим.  Таълим мазмунини муаммоли тарзда тақдим қилиш орқали таълим олувчи фаолиятини активлаштириш усулларидан бири. Бунда илмий билимни объектив қарама-қаршилиги ва уни ҳал этиш усулларини, диалектик мушоҳадани шакллантириш ва ривожлантиришни, амалий фаолиятга уларни ижодий тарзда қўллашни мустақил ижодий фаолияти таъминланади.

Ахборотни тақдим қилишнинг замонавий воситалари ва усулларини қўллаш – янги компютер ва ахборот технологияларини ўқув жараёнига қўллаш. 

Ўқитишнинг усуллари ва техникаси. Маъруза (кириш, мавзуга оид, визуаллаш), муаммоли таълим, кейс-стади, пинборд, парадокс ва лойиҳалаш усуллари, амалий ишлар.

Ўқитишни ташкил этиш шакллари: диалог, полилог, мулоқот ҳамкорлик ва ўзаро ўрганишга асосланган фронтал, коллектив ва гуруҳ. 

Ўқитиш воситалари: ўқитишнинг анъанавий шакллари (дарслик, маъруза матни) билан бир қаторда – компютер ва ахборот технологиялари. 

Коммуникация усуллари: тингловчилар билан оператив тескари алоқага асосланган бевосита ўзаро муносабатлар. 

Тескари алоқа усуллари ва воситалари: кузатиш, блиц-сўров, оралиқ ва жорий ва якунловчи назорат натижаларини таҳлили асосида ўқитиш диагностикаси.

Бошқариш усуллари ва воситалари: ўқув машғулоти босқичларини белгилаб берувчи технологик карта кўринишидаги ўқув машғулотларини режалаштириш, қўйилган мақсадга эришишда ўқитувчи ва тингловчининг биргаликдаги ҳаракати, нафақат аудитория машғулотлари, балки аудиториядан ташқари мустақил ишларнинг назорати.

Мониторинг ва баҳолаш: ўқув машғулотида ҳам бутун курс давомида ҳам ўқитишнинг натижаларини режали тарзда кузатиб бориш. Курс охирида тест топшириқлари ёки ёзма иш вариантлари ёрдамида тингловчиларнинг билимлари баҳоланади.

“Тармоқни дастурлаш асослари” фанини ўқитиш жараёнида компьютер технологиясидан, “С++”, “Java” дастурлаш тилларидан фойдаланилади. Айрим мавзулар бўйича талабалар билимини баҳолаш тест асосида ва компьютер ёрдамида бажарилади. “Интернет” тармоғидаги расмий иқтисодий кўрсаткичларидан фойдаланилади, тарқатма материаллар тайёрланади, тест тизими ҳамда таянч сўз ва иборалар асосида оралиқ ва якуний назоратлар ўтказилади.

 


“Тармоқни дастурлаш асослари” фанидан машғулотларнинг мавзулар ва соатлар бўйича тақсимланиши:

 

т/р

Мавзулар номи

Жами

соат

Маъруза

Амалий машғулот

Лаборато-

рия иши

Мустақил таълим

1.                   

Тармоқни дастурлаш асослари

2

2

 

 

 

2.                   

Тармоқларнинг тўзилиш принциплари. Маълумот узатиш моделлари (OSI ва TCP/IP)

10

2

2

2

4

3.                   

Тармоқларни ўзаро боғланиш асослари

10

2

2

2

4

4.                   

Тармоқни дастурлашда протоколлар. Асосий тармоқ протоколлари ва уларнинг вазифалари

14

4

4

4

2

5.                   

FTP протоколи моделлари. FTP протоколи класслари

8

2

2

2

2

6.                   

Интернет тармоғи протоколлари. HTTP протоколи. HTTP протоколи классларидан фойдаланиш

6

4

 

 

2

7.                   

Тармоқни дастурлашда дастурлаш тиллари классларидан фойдаланиш

4

2

 

 

2

8.                   

Тармоқ дастурлашда оқимлар. Асосий оқимлар турлари ва уларнинг вазифалари

6

2

 

 

4

9.                   

Тармоқни дастурлашда сокетлар

8

6

 

 

2

10.               

Сокетлар асосида клиент дастурини яратиш

12

4

4

2

2

11.               

Сокетлар асосида сервер дастурини яратиш

14

4

4

4

2

12.               

Broadcasting.Тармоқни дастурлашда гуруҳли сокетлардан фойдаланиш

10

2

2

2

4

13.               

Multicasting. Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш

8

2

2

2

2

14.               

Тармоқни дастурлашда кўпоқимлилик ва функцияларни паралеллаштириш

8

2

2

2

2

15.               

Тармоқда коммутацияни дастурлаш

14

4

4

4

2

16.               

Тармоқда маршрутизацияни дастурлаш

14

4

4

4

2

17.               

Тармоқни дастурлашда амалий поғона протоколлари ва API (Application Programming Interface)

4

2

 

 

2

18.               

Тармоқ хавфсизлигини дастурлаш

10

2

4

2

2

19.               

Тармоққа уланишни дастурлаш. Аутентификация, идентификация ва авторизация

4

2

 

 

2

20.               

Тармоқни бошқаришни дастурлаш. DHCP ва SNMP протоколлари

4

2

 

 

2

21.               

Интернет тармоғи иловаларини дастурлаш

4

2

 

 

2

22.               

Тармоқда клиент-сервер назарияси асосида тизимлар дастурларини лойиҳалаш ва яратиш

6

4

 

 

2

23.               

Тармоқда клиент-сервер архитектурасини реализация қилиш

4

2

 

 

2

24.               

IPv4 ва IPv6 протоколлари тизими асосида тармоқ дастурий таъминотини лойиҳалаш

8

4

 

 

4

 

Жами:

192

68

36

32

56

 


Асосий қисм: Фаннинг услубий жиҳатдан узвий кетма-кетлиги

 

Асосий қисмда (маъруза) фанни мавзулари мантиқий кетма-кетликда келтирилади. Ҳар бир мавзунинг моҳияти асосий тушунчалар ва тезислар орқали очиб берилади. Бунда мавзу бўйича талабаларга ДТС асосида етказилиши зарур бўлган билим ва кўникмалар тўла қамраб олиниши керак.

Асосий қисм сифатига қўйиладиган талаб мавзуларнинг долзарблиги, уларнинг иш берувчилар талаблари ва ишлаб чиқариш эҳтиёжларига мослиги, мамлакатимизда бўлаётган ижтимоий-сиёсий ва демократик ўзгаришлар, иқтисодиётни эркинлаштириш, иқтисодий-ҳуқуқий ва бошқа соҳалардаги ислоҳатларнинг устувор масалаларини қамраб олиши ҳамда фан ва технологияларнинг сўнги ютуқлари эътиборга олиниши тавсия этилади.

 

Маъруза машғулотлари

         Тармоқни дастурлаш асослари. Кириш. Фаннинг мақсади, вазифаси, таркиби ва кўриладиган масалалар. Тармоқни дастурлаш асослари бўйича тушунчалар. Тармоқнинг таркибий қисмлари, классификацияси. Тармоқни дастурлаш воситалари ва дастурлаш тиллари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Бинго, блиц, нилуфар гули, меню, алгоритм, мунозара, ўз-ўзини назорат

Адабиётлар: А2; А5; А6; Қ5; Қ6; Қ7; Қ8; Қ9.

 

Тармоқларнинг тўзилиш принциплари. Маълумот узатиш моделлари (OSI ва TCP/IP). Тармоқни ташкил этувчилари (тармоқ қурилмалари, клиент-сервер архитектураси, адреслаш), тармоқда маълумот алмашинишни ташкил этиш тамойиллари. Боғланишнинг кўп сатҳли архитектураси, очиқ тизимлар ўзаро боғланишининг OSI модели, OSI моделининг сатҳлари, очиқ тизимлар элементларининг структураси, ўзаро боғланиши. TCP/IP модели, унинг тавсифи.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Поғона, қадамба-қадам методи, Венн диаграммаси, Т-схемаси, ўз-ўзини назорат.

Адабиётлар: А1; А2; А5; А6; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9.

 

Тармоқларни ўзаро боғланиш асослари. Клиент-сервер архитектураси. Протоколлар. IP адрес ва порт. Сокетлар. Тармоқни дастурлашда дастурлаш тиллари класслари, тармоқни дастурлашда класслардан фойдаланиш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Блиц-сўров, зиг-заг усули, мунозара, БББ, Инсерт, ўз-ўзини назорат.  

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

Тармоқни дастурлашда протоколлар. Асосий тармоқ протоколлари ва уларнинг вазифалари. Тармоқни дастурлашда протоколлардан фойдаланиш. Тармоқ протоколлари ва уларнинг таснифи. IP протоколи. TCP протоколи. UDP протоколи.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Интегратив, мунозара, ўз-ўзини назорат.  

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

FTP протоколи, унинг моделлари. FTP протоколи класслари. FTP протоколи. FTP протоколи тавсифи. FTP ишининг оддий модели. FTP ишининг мураккаб модели. FTP протоколининг асосий буйруқлари. FTP протоколи билан ишлаш учун класслар. FTPWebResponse, FTPWebRequest класслари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Б/Б/Б жадвали, мунозара, Венн диаграммаси, Т-схема, ўз-ўзини назорат  

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10;

 

Интернет тармоғи протоколлари. HTTP протоколи. HTTP протоколи классларидан фойдаланиш. Интернет тармоғи протоколлари. HTTP протоколи. HTTP протоколи тавсифи. WWW хизматлари. HTTP-боғланишининг қурилиш тамойиллари. HTTP протоколи билан ишлаш учун класслар. HTTPWebResponse, HTTPWebRequest класслари. WebClient классидан фойдаланиш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. бумеранг, усули, мунозара, ўз-ўзини назорат. 33 

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқни дастурлашда дастурлаш тиллари классларидан фойдаланиш. URL класси. URL боғланиши класси. HTTP URL боғланиши класси. URI, URL, URN ресурслари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Блиц  усули, мунозара, ўз-ўзини назорат. 4 4 

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқ дастурлашда оқимлар. Асосий оқимлар турлари ва уларнинг вазифалари. Тармоқни дастурлашда оқимлардан фойдаланиш. Асосий оқим турлари ва уларнинг тўзилиши, вазифалари. Тармоқ  оқимлари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, савол-жавоб, “Бумеранг”, “Кластер”, “Блиц-сўров”, “Фикрлаш харитаси”.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10.

 

Тармоқни дастурлашда сокетлар. Сокетлар ва уларнинг турлари. Клиент дастурларининг тўзилиш принциплари. Сервер дастурларининг тўзилиш принциплари. TCP/IP сокетлари. UDP сокетлари. Тармоқни дастурлашда портларнинг аҳамияти. Сокетларни яратиш: socket вазифаси. Клиент сокети: connect вазифаси. Сервер сокети: bind, listen ва accept вазифалари. UDP сокетлари. UDP сокетлари билан ишлаш. Сокет адресларининг тўзилиши. UDP сервер сокетлари. UDP клиент сокетлари. Уланган ва уланмаган UDP сокетлари. UDP протоколи ишончлилигини ошириш усуллари. Уланмаган UDP сокетида ўқиш ва ѐзиш: recvfrom ва sendto вазифалари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, блиц-сўров, “балиқ скелети”, гуруҳларда ишлаш методи.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Сокетлар асосида клиент дастурини яратиш. Сокетлар асосида клиент дастурини яратиш. TCP/IP клиент. Сокетлар асосида клиент дастурини яратиш. UDP клиент.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, “Веер” методи, кичик гуруҳларда ишлаш, “Блиц-сўров” методлари.

Адабиётлар: А1; А2; А3; А4; А5; Қ5; Қ6; Қ9; Қ10.

 

Сокетлар асосида сервер дастурини яратиш. Сокетлар асосида тармоқ сервери дастурини яратиш. TCP/IP сервер. Сокетлар асосида тармоқ сервери дастурини яратиш. UDP сервер.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, “Веер” методи, кичик гуруҳларда ишлаш, “Блиц-сўров” методлари.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Broadcasting. Тармоқни дастурлашда гуруҳли сокетлардан фойдаланиш. Broadcasting. Тармоқнинг гуруҳли  фойдаланувчиларига маълумот узатиш сокетлари ва улар асосида тармоқни дастурлаш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, “Веер” методи, кичик гуруҳларда ишлаш, “Блиц-сўров” методлари.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Multicasting. Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш. Multicasting. Кўп сонли фойдаланувчиларга маълумот узатиш сокетлари ва улар асосида тармоқни дастурлаш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, “Веер” методи, кичик гуруҳларда ишлаш, “Блиц-сўров” методлари.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқни дастурлашда кўпоқимлилик ва функцияларни паралеллаштириш. Тармоқда кўпоқимлилик  ва кўп функциялилик тушунчалари. Тармоқни дастурлашда жараёнларни паралеллаштириш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Бинго, блиц, нилуфар гули, меню, алгоритм, мунозара, ўз-ўзини назорат

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқда коммутацияни дастурлаш. Коммутация тушунчаси ва ва маълумотларни коммутациялаш тамойиллари. Тармоқда коммутацияни дастурлаш. IP коммутаторларни лойиҳалаш ва дастурлаш тамойиллари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Поғона, қадамба-қадам методи, Венн диаграммаси, Т-схемаси, ўз-ўзини назорат.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқда маршрутизацияни дастурлаш. Маршрутизация тушунчаси ва маълумотларни маршрутлаш тамойиллари. Тармоқда маршрутизацияни дастурлаш. IP маршрутизаторларни лойиҳалаш ва дастурлаш тамойиллари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Блиц-сўров, зиг-заг усули, мунозара, БББ, Инсерт, ўз-ўзини назорат.  

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқни дастурлашда амалий поғона протоколлари ва API (Application Programming Interface). Тармоқни дастурлашда амалий поғона дастурлаш интерфейси. Асосий амалий поғона протоколлари ва уларнинг вазифалари. Тармоқда хизматларни ташкиллаштириш тамойиллари.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Интегратив, мунозара, ўз-ўзини назорат.  

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқ хавфсизлигини дастурлаш. Тармоқда хавфсизликни таъминлаш механизмлари. Тармоқ хавфсизлиги ва ахборот хавфсизлиги. Маълумот узатишда хавфсизликни таъминлаш усуллари ва уларни дастурлаш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Б/Б/Б жадвали, мунозара, Венн диаграммаси, Т-схема, ўз-ўзини назорат  

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоққа уланишни дастурлаш. Аутентификация, идентификация ва авторизация. Тармоққа уланишни дастурлаш  тамойиллари. Аутентификация, авторизация ва идентификацияни дастурлаш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. бумеранг, усули, мунозара, ўз-ўзини назорат. 33 

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқни бошқаришни дастурлаш. DHCP ва SNMP протоколлари. Тармоқни бошқариш тамойиллари. DHCP ва SNMP протоколлари ва уларнинг асосий вазифалари. Тармоқни бошқаришни дастурлаш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Блиц, усули, мунозара, ўз-ўзини назорат. 4 4 

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Интернет тармоғи иловаларини дастурлаш. Интернет тармоғи ва унинг тўзилиш принципи. HTTP ва FTP протоколлари. Интернет тармоғи иловаларини дастурлаш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, савол-жавоб, “Бумеранг”, “Кластер”, “Блиц-сўров”, “Фикрлаш харитаси”.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқда клиент-сервер назарияси асосида тизимлар дастурларини лойиҳалаш ва яратиш. Телекоммуникация тармоқ қурилмаларининг тўзилиш принциплари. Тармоқ қурилмаларининг дастурий таъминотини лойиҳалаш ва яратиш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, блиц-сўров, “балиқ скелети”, гуруҳларда ишлаш методи.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқда клиент-сервер архитектурасини реализация қилиш. Тармоқда сокет боғланишлари асосида клиент-сервер архитектурасини яратиш ва тармоққа тадбиқ қилиш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, “Веер” методи, кичик гуруҳларда ишлаш, “Блиц-сўров” методлари.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

IPv4 ва IPv6 протоколлари тизими асосида тармоқ дастурий таъминотини лойиҳалаш. IPv4 и IPv6 протоколлари. IPv4 ва IPv6 сокети манзилларининг тўзилиши. Улар асосида тармоқ дастурий таъминотини лойиҳалаш ва яратиш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим. Маъруза, намойиш этиш, “Веер” методи, кичик гуруҳларда ишлаш, “Блиц-сўров” методлари.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.


“Тармоқни дастурлаш асосларифани бўйича маъруза машғулотининг календар тематик режаси

 

т/р

Маъруза мавзулари

соат

I-мавзу. Тармоқни дастурлаш асослари

1.1

Кириш. Фаннинг мақсади, вазифаси, таркиби ва кўриладиган масалалар. Тармоқни дастурлаш асослари бўйича тушунчалар. Тармоқнинг таркибий қисмлари, классификацияси. Тармоқни дастурлаш воситалари ва дастурлаш тиллари.

2

II-мавзу. Тармоқларнинг тўзилиш принциплари. Маълумот узатиш моделлари (OSI ва TCP/IP)

2.1

Тармоқни ташкил этувчилари (тармоқ қурилмалари, клиент-сервер архитектураси, адреслаш), тармоқда маълумот алмашинишни ташкил этиш тамойиллари. Боғланишнинг кўп сатҳли архитектураси, очиқ тизимлар ўзаро боғланишининг OSI модели, OSI моделининг сатҳлари, очиқ тизимлар элементларининг структураси, ўзаро боғланиши. TCP/IP модели, унинг тавсифи.

2

III-мавзу. Тармоқларни ўзаро боғланиш асослари

3.1

Клиент-сервер архитектураси. Протоколлар. IP адрес ва порт. Сокетлар. Тармоқни дастурлашда дастурлаш тиллари класслари, тармоқни дастурлашда класслардан фойдаланиш.

2

IV-мавзу. Тармоқни дастурлашда протоколлар. Асосий тармоқ протоколлари ва уларнинг вазифалари

4.1

Тармоқни дастурлашда протоколлардан фойдаланиш. Тармоқ протоколлари ва уларнинг таснифи. IP протоколи.

2

4.2

Тармоқни дастурлашда протоколлардан фойдаланиш. Тармоқ протоколлари ва уларнинг таснифи.. TCP протоколи. UDP протоколи.

2

V-мавзу. FTP протоколи, унинг моделлари. FTP протоколи класслари

5.1

FTP протоколи. FTP протоколи тавсифи. FTP ишининг оддий модели. FTP ишининг мураккаб модели. FTP протоколининг асосий буйруқлари. FTP протоколи билан ишлаш учун класслар. FTPWebResponse, FTPWebRequest класслари.

2

VI-мавзу. Интернет тармоғи протоколлари. HTTP протоколи. HTTP протоколи классларидан фойдаланиш

6.1

Интернет тармоғи протоколлари. HTTP протоколи. HTTP протоколи тавсифи. WWW хизматлари. HTTP-боғланишининг қурилиш тамойиллари.

2

6.2

Интернет тармоғи протоколлари. HTTP протоколи билан ишлаш учун класслар. HTTPWebResponse, HTTPWebRequest класслари. WebClient классидан фойдаланиш.

2

VII-мавзу. Тармоқни дастурлашда дастурлаш тиллари классларидан фойдаланиш

7.1

URL класси. URL боғланиши класси. HTTP URL боғланиши класси. URI, URL, URN ресурслари.

2

VIII-мавзу. Тармоқ дастурлашда оқимлар. Асосий оқимлар турлари ва уларнинг вазифалари

8.1

Тармоқни дастурлашда оқимлардан фойдаланиш. Асосий оқим турлари ва уларнинг тўзилиши, вазифалари. Тармоқ  оқимлари.

2

IХ-мавзу. Тармоқни дастурлашда сокетлар

9.1

Сокетлар ва уларнинг турлари. Клиент дастурларининг тўзилиш принциплари. Сервер дастурларининг тўзилиш принциплари. TCP/IP сокетлари.

2

9.2

UDP сокетлари. Тармоқни дастурлашда портларнинг аҳамияти. Сокетларни яратиш: socket вазифаси. Клиент сокети: connect вазифаси. Сервер сокети: bind, listen ва accept вазифалари. UDP сокетлари. UDP сокетлари билан ишлаш. Сокет адресларининг тўзилиши.

2

9.3

UDP сервер сокетлари. UDP клиент сокетлари. Уланган ва уланмаган UDP сокетлари. UDP протоколи ишончлилигини ошириш усуллари. Уланмаган UDP сокетида ўқиш ва ѐзиш: recvfrom ва sendto вазифалари.

2

Х-мавзу. Сокетлар асосида клиент дастурини яратиш

10.1

Сокетлар асосида клиент дастурини яратиш. TCP/IP клиент. 

2

10.2

Сокетлар асосида клиент дастурини яратиш. UDP клиент.

2

ХI-мавзу. Сокетлар асосида сервер дастурини яратиш

11.1

Сокетлар асосида тармоқ сервери дастурини яратиш. TCP/IP сервер.  

2

11.2

Сокетлар асосида тармоқ сервери дастурини яратиш. UDP сервер.

2

ХII-мавзу. Broadcasting.Тармоқни дастурлашда гуруҳли сокетлардан фойдаланиш

12.1

Broadcasting. Тармоқнинг гуруҳли  фойдаланувчиларига маълумот узатиш сокетлари ва улар асосида тармоқни дастурлаш.

2

ХIII-мавзу. Multicasting. Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш

13.1

Multicasting. Кўп сонли фойдаланувчиларга маълумот узатиш сокетлари ва улар асосида тармоқни дастурлаш.

2

ХIV-мавзу. Тармоқни дастурлашда кўпоқимлилик ва функцияларни паралеллаштириш

14.1

Тармоқда кўпоқимлилик  ва кўп функциялилик тушунчалари. Тармоқни дастурлашда жараёнларни паралеллаштириш.

2

XV-мавзу. Тармоқда коммутацияни дастурлаш

15.1

Коммутация тушунчаси ва ва маълумотларни коммутациялаш тамойиллари. Тармоқда коммутацияни дастурлаш.

2

15.2

Тармоқда коммутацияни дастурлаш. IP коммутаторларни лойиҳалаш ва дастурлаш тамойиллари.

2

XVI-мавзу. Тармоқда маршрутизацияни дастурлаш

16.1

Маршрутизация тушунчаси ва маълумотларни маршрутлаш тамойиллари. Тармоқда маршрутизацияни дастурлаш.  

2

16.2

Тармоқда маршрутизацияни дастурлаш. IP маршрутизаторларни лойиҳалаш ва дастурлаш тамойиллари.

2

XVII-мавзу. Тармоқни дастурлашда амалий поғона протоколлари ва API

(Application Programming Interface)

17.1

Тармоқни дастурлашда амалий поғона дастурлаш интерфейси. Асосий амалий поғона протоколлари ва уларнинг вазифалари.  

2

XVIII-мавзу. Тармоқ хавфсизлигини дастурлаш

18.1

Тармоқда хавфсизликни таъминлаш механизмлари. Тармоқ хавфсизлиги ва ахборот хавфсизлиги. Маълумот узатишда хавфсизликни таъминлаш усуллари ва уларни дастурлаш.

2

XIX-мавзу. Тармоққа уланишни дастурлаш. Аутентификация, идентификация ва авторизация

19.1

Тармоққа уланишни дастурлаш тамойиллари. Аутентификация, авторизация ва идентификацияни дастурлаш.

2

XX-мавзу. Тармоқни бошқаришни дастурлаш. DHCP ва SNMP протоколлари

20.1

Тармоқни бошқариш тамойиллари. DHCP ва SNMP протоколлари ва уларнинг асосий вазифалари. Тармоқни бошқаришни дастурлаш.

2

XXI-мавзу. Интернет тармоғи иловаларини дастурлаш

21.1

Интернет тармоғи ва унинг тўзилиш принципи. HTTP ва FTP протоколлари. Интернет тармоғи иловаларини дастурлаш.

2

XXII-мавзу. Тармоқда клиент-сервер назарияси асосида тизимлар дастурларини лойиҳалаш ва яратиш

22.1

Телекоммуникация тармоқ қурилмаларининг тўзилиш принциплари.

2

22.2

Тармоқ қурилмаларининг дастурий таъминотини лойиҳалаш ва яратиш.

2

XXIII-мавзу. Тармоқда клиент-сервер архитектурасини реализация қилиш

23.1

Тармоқда сокет боғланишлари асосида клиент-сервер архитектурасини яратиш ва тармоққа тадбиқ қилиш.

2

XXIV-мавзу. IPv4 ва IPv6 протоколлари тизими асосида тармоқ дастурий таъминотини лойиҳалаш

24.1

IPv4 и IPv6 протоколлари. IPv4 ва IPv6 сокети манзилларининг тўзилиши. Улар асосида тармоқ дастурий таъминотини лойиҳалаш ва яратиш.

2

24.2

IPv4 и IPv6 протоколлари асосида тармоқ дастурий таъминотини лойиҳалаш ва яратиш.

2

Жами

68

 

Лаборатория машғулотларнинг тавсия этиладиган мавзулари

   TCP клиент тармоқ дастурини яратиш. TCP протоколи асосида тармоқ клиенти дастурини лойиҳалаш ва ишлаб чиқиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

TCP сервер тармоқ дастурини яратиш. TCP протоколи асосида тармоқ сервери дастурини лойиҳалаш ва ишлаб чиқиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

TCP клиент-сервер тармоқ дастурини яратиш. TCP протоколи асосида тармоқ клиент-сервер муносабатларини лойиҳалаш, ўрнатиш ва унинг дастурини ишлаб чиқиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10;

 

UDP клиент тармоқ дастурини яратиш. UDP протоколи асосида тармоқ клиенти дастурини лойиҳалаш ва ишлаб чиқиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

UDP сервер тармоқ дастурини яратиш. UDP протоколи асосида тармоқ сервери дастурини лойиҳалаш ва ишлаб чиқиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

UDP клиент-сервер тармоқ дастурини яратиш. UDP протоколи асосида тармоқ клиент-сервер муносабатларини лойиҳалаш, ўрнатиш ва унинг дастурини ишлаб чиқиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10.

 

Тармоқни дастурлашда сокетлардан фойдаланиш. Сокетлар ва уларнинг турлари. Клиент дастурларининг тўзилиш принциплари. Сервер дастурларининг тўзилиш принциплари. TCP/IP сокетлари.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш. Мультикаст сокетлар асосида клиент, сервер, клиент-сервер дастурларини яратиш. Мультикаст сокетларнинг тармоқни дастурлашда аҳамияти.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқда жараёнларни паралеллашни дастурлаш. Жараёнларни паралеллаш тушунчаси, тармоқда жараёнларни паралеллашни дастурлаш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим. Жараёнларни паралеллаш тушунчаси, тармоқда жараёнларни паралеллашни дастурлаш.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқда коммутацияни дастурлаш. IP коммутаторларни лойиҳалаш ва дастурлаш тамойиллари.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқда маршрутизацияни дастурлаш. Маршрутизация тушунчаси ва маълумотларни маршрутлаш тамойиллари.  

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

Тармоқ хавфсизлигини дастурлаш. Тармоққа уланишни дастурлаш. Аутентификация, идентификация ва авторизация. Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим. Жараёнларни паралеллаш тушунчаси, тармоқда жараёнларни паралеллашни дастурлаш.

Адабиётлар: А1; А2; А3; А4; А5; А6; А7; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9; Қ10.

 

 

 т/р

Лаборатория машғулоти мавзулари

соат

1.                   

TCP клиент тармоқ дастурини яратиш. TCP протоколи асосида тармоқ клиенти дастурини лойиҳалаш ва ишлаб чиқиш.

2

2.                   

TCP сервер тармоқ дастурини яратиш. TCP протоколи асосида тармоқ сервери дастурини лойиҳалаш ва ишлаб чиқиш.

2

3.                   

TCP клиент-сервер тармоқ дастурини яратиш. TCP протоколи асосида тармоқ клиент-сервер муносабатларини лойиҳалаш, ўрнатиш ва унинг дастурини ишлаб чиқиш.

4

4.                   

UDP клиент тармоқ дастурини яратиш. UDP протоколи асосида тармоқ клиенти дастурини лойиҳалаш ва ишлаб чиқиш.

2

5.                   

UDP сервер тармоқ дастурини яратиш. UDP протоколи асосида тармоқ сервери дастурини лойиҳалаш ва ишлаб чиқиш.

2

6.                   

UDP клиент-сервер тармоқ дастурини яратиш. UDP протоколи асосида тармоқ клиент-сервер муносабатларини лойиҳалаш, ўрнатиш ва унинг дастурини ишлаб чиқиш.

4

7.                   

Тармоқни дастурлашда сокетлардан фойдаланиш. Сокетлар ва уларнинг турлари. Клиент дастурларининг тўзилиш принциплари. Сервер дастурларининг тўзилиш принциплари. TCP/IP сокетлари.

2

8.                   

Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш. Мультикаст сокетлар асосида клиент, сервер, клиент-сервер дастурларини яратиш. Мультикаст сокетларнинг тармоқни дастурлашда аҳамияти.

2

9.                   

Тармоқда жараёнларни паралеллашни дастурлаш. Жараёнларни паралеллаш тушунчаси, тармоқда жараёнларни паралеллашни дастурлаш.

2

10.               

Тармоқда коммутацияни дастурлаш. IP коммутаторларни лойиҳалаш ва дастурлаш тамойиллари.

4

11.               

Тармоқда маршрутизацияни дастурлаш. Маршрутизация тушунчаси ва маълумотларни маршрутлаш тамойиллари.

4

12.               

Тармоқ хавфсизлигини дастурлаш. Тармоққа уланишни дастурлаш. Аутентификация, идентификация ва авторизация.

2

Жами

32

 

 

Амалий машғулотларнинг тавсия этиладиган мавзулари

 

Тармоқ протоколлари ва улар билан ишлаш асослари. TCP протоколи, IP протоколи, UDP протоколи, FTP протоколи, HTTP протоколи. Тармоқ протоколлари билан ишлаш учун класслардан фойдаланиш.

Қўлланиладиган таълим технологиялари: диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Оддий клиент-сервер муносабатларини дастурлаш. Клиент-сервер архитектураси. Протоколлар. IP адрес ва порт. 

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А5; А6; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9.

 

TCP/IP протоколлари архитектурасига кириш. IP тармоқлараро протоколи: IP-сегменти сарлавҳаси, IP-адрес, IP-сегменти фрагментацияси. TCP – узатишларни бошқариш протоколи: TCP пакети сарлавҳаси, порт ва порт номери.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

UDP протоколи, унинг асосий афзаллик ва камчиликлари. UDP характеридан келиб чиққан ҳолда класслар билан ишлаш. UDPClient класси.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

TCP протоколи, унинг асосий афзаллик ва камчиликлари. TCP характеридан келиб чиққан ҳолда класслар билан ишлаш. TCPClient, TCPListener класслари билан ишлаш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10;

 

TCP ва UDP клиент-сервер тармоқ дастурини ўрганиш. TCP  ва UDP протоколи асосида тармоқ клиент-сервер муносабатларини лойиҳалаш, ўрнатиш ва унинг дастурини ишлаб чиқиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқни дастурлашда сокетлардан фойдаланиш. Сокетлар ва уларнинг турлари. Клиент дастурларининг тўзилиш принциплари. Сервер дастурларининг тўзилиш принциплари. TCP/IP сокетлари.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш. Мультикаст сокетлар асосида клиент, сервер, клиент-сервер дастурларини яратиш. Мультикаст сокетларнинг тармоқни дастурлашда аҳамияти.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10.

 

Тармоқда жараёнларни паралеллашни дастурлаш. Жараёнларни паралеллаш тушунчаси, тармоқда жараёнларни паралеллашни дастурлаш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқда коммутацияни ўрганиш. IP коммутаторларни лойиҳалаш ва дастурлаш тамойиллари.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқда маршрутизацияни ўрганиш. Маршрутизация тушунчаси ва маълумотларни маршрутлаш тамойиллари.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10.

 

Тармоқ хавфсизлигини ўрганиш. Тармоққа уланишни ўрганиш. Аутентификация, идентификация ва авторизация.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

т/р

Амалий машғулотлар мавзулари

соат

1.                   

Тармоқ протоколлари ва улар билан ишлаш асослари.  TCP протоколи, IP протоколи, UDP протоколи, FTP протоколи, HTTP протоколи. Тармоқ протоколлари билан ишлаш учун класслардан фойдаланиш.

2

2.                   

Оддий клиент-сервер муносабатларини дастурлаш. Клиент-сервер архитектураси. Протоколлар. IP адрес ва порт. 

2

3.                   

TCP/IP протоколлари архитектурасига кириш. IP тармоқлараро протоколи: IP-сегменти сарлавҳаси, IP-адрес, IP-сегменти фрагментацияси. TCP – узатишларни бошқариш протоколи: TCP пакети сарлавҳаси, порт ва порт номери.

4

4.                   

UDP протоколи, унинг асосий афзаллик ва камчиликлари. UDP характеридан келиб чиққан ҳолда класслар билан ишлаш. UDPClient класси.

2

5.                   

TCP протоколи, унинг асосий афзаллик ва камчиликлари. TCP характеридан келиб чиққан ҳолда класслар билан ишлаш. TCPClient, TCPListener класслари билан ишлаш.

4

6.                   

TCP ва UDP клиент-сервер тармоқ дастурини ўрганиш. TCP  ва UDP протоколи асосида тармоқ клиент-сервер муносабатларини лойиҳалаш, ўрнатиш ва унинг дастурини ишлаб чиқиш.

4

7.                   

Тармоқни дастурлашда сокетлардан фойдаланиш. Сокетлар ва уларнинг турлари. Клиент дастурларининг тўзилиш принциплари. Сервер дастурларининг тўзилиш принциплари. TCP/IP сокетлари.

2

8.                   

Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш. Мультикаст сокетлар асосида клиент, сервер, клиент-сервер дастурларини яратиш. Мультикаст сокетларнинг тармоқни дастурлашда аҳамияти.

2

9.                   

Тармоқда жараёнларни паралеллашни дастурлаш. Жараёнларни паралеллаш тушунчаси, тармоқда жараёнларни паралеллашни дастурлаш.

2

10.               

Тармоқда коммутацияни ўрганиш. IP коммутаторларни лойиҳалаш ва дастурлаш тамойиллари.

4

11.               

Тармоқда маршрутизацияни ўрганиш. Маршрутизация тушунчаси ва маълумотларни маршрутлаш тамойиллари.

4

12.               

Тармоқ хавфсизлигини ўрганиш. Тармоққа уланишни ўрганиш. Аутентификация, идентификация ва авторизация.

4

Жами:

36

 

Курс иши бўйича тавсия этиладиган мавзулар

 

Оддий WEB-серверларни лойиҳалаш асослари.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим.

Адабиётлар: А2; А5; А6; Қ5; Қ6; Қ7; Қ8; Қ9.

 

 Кўп хабарларни алмашиш тизимларини лойиҳалаш.

 Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Оддий почта клиентини яратиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А5; А6; Қ4; Қ5; Қ6; Қ7; Қ8; Қ9.

 

TFTP-клиентини яратиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

SNTP-клиентини яратиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А5; А6; Қ6; Қ9; Қ10.

 

SNTP-серверини яратиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10;

 

Турли тармоқлар учун иловалар яратиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқда клиент-сервер назарияси асосида тизимлар дастурларини лойиҳалаш ва яратиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув, муаммоли таълим, шахсга йўналтирилган таълим.

Адабиётлар: А1; А2; А3; А4; А5; Қ4; Қ5; Қ6; Қ7; Қ9; Қ10.

 

Тармоқда клиент-сервер архитектурасини реализация қилиш.

Қўлланиладиган таълим технологиялари:  диалогик ёндошув,  муаммоли таълим, ақлий ҳужум, кейс-стади, пинборд, парадокслар.

Адабиётлар: А1; А2; А3; А4; А5; Қ6; Қ9; Қ10.

 

 

Мустақил таълим ташкил этишнинг шакли ва мазмуни

 

“Тармоқни дастурлаш асослари” бўйича талабанинг мустақил таълими шу фанни ўрганиш жараёнининг таркибий қисми бўлиб, услубий ва ахборот ресурслари билан тўла таъминланган. 

Талабалар аудитория машғулотларида профессор-ўқитувчиларнинг маърузасини тинглайдилар, мисол ва масалалар ечадилар. Аудиториядан ташқарида талаба дарсларга тайёрланади, адабиётларни конспект қилади, уй вазифа сифатида берилган мисол ва масалаларни ечади. Бундан ташқари айрим мавзуларни кенгроқ ўрганиш мақсадида қўшимча адабиётларни ўқиб рефератлар тайёрлайди ҳамда мавзу бўйича тестлар ечади. Мустақил таълим натижалари рейтинг тизими асосида баҳоланади. 

Уйга вазифаларни бажариш, қўшимча дарслик ва адабиётлардан янги билимларни мустақил ўрганиш, керакли маълумотларни излаш ва уларни топиш йўлларини аниқлаш, интернет тармоқларидан фойдаланиб маълумотлар тўплаш ва илмий изланишлар олиб бориш, илмий тўгарак доирасида ёки мустақил равишда илмий манбалардан фойдаланиб илмий мақола ва маърузалар тайёрлаш кабилар талабаларнинг дарсда олган билимларини чуқурлаштиради, уларнинг мустақил фикрлаш ва ижодий қобилиятини ривожлантиради. Шунинг учун ҳам мустақил таълимсиз ўқув фаолияти самарали бўлиши мумкин эмас. 

Уй вазифаларини текшириш ва баҳолаш амалий машғулот олиб борувчи ўқитувчи томонидан, конспектларни ва мавзуни ўзлаштириш даражасини текшириш ва баҳолаш эса маъруза дарсларини олиб борувчи ўқитувчи томонидан ҳар дарсда амалга оширилади. 

“Тармоқни дастурлаш асослари” фанидан мустақил иш мажмуаси фаннинг барча мавзуларини қамраб олган ва қуйидаги мавзулар кўринишида шакллантирилган.

Талабалар мустақил таълимининг мазмуни ва ҳажми

 

Мустақил таълим мавзулари

Берилган топшириқлар

VI-семестр

1.                   

Тармоқни дастурлаш асосларининг ривожланиш истиқболлари.

Техник адабиётлар,  Интернет материалларини йиғиш. Индивидуал топшириқларни бажариш

 

2.                   

Тармоқни дастурлаш аспектларининг асосий терминологияси ва уларнинг моҳияти.

3.                   

Тармоқни дастурлашда фойдаланиладиган дастурлаш тиллари синфлари.

4.                   

IP-адрес ва MAC-адрес тушунчалари, уларнинг моҳияти.

5.                   

Тармоқни дастурлашда портларнинг аҳамияти.

6.                   

FTP протоколи билан ишлашда моделлар ва уларнинг таснифи.

7.                   

Содда WEB-серверни яратиш принципи.

8.                   

Тармоқ сервер қисмини яратишнинг асосий усуллари.

9.                   

Тармоқ клиент қисмини яратишнинг асосий усуллари.

10.               

Интернет тармоғи фойдаланувчиларига приоритетли хизмат кўрсатиш.

11.               

Сокетлардан фойдаланган ҳолда клиент/сервер иловаларини яратишнинг асосий тамойиллари.

12.               

Асинхрон сокетлардан фойдаланган ҳолда клиент/сервер иловаларини яратишнинг асосий тамойиллари.

13.               

HTTP билан ишлашда класслардан фойдаланиш.

14.               

Электрон почта билан ишлаш асослари.

15.               

SMTP, POP3, IMAP почта протоколлари ва уларнинг хусусиятлари.

16.               

Уланиш ўрнатилган ва ўрнатилмаган ҳолда протоколлар ва уларнинг таснифи.

17.               

Синхрон ва асинхрон хабарларни узатиш тамойиллари.

18.               

API сокети ва унинг архитектураси.

19.               

Сайтларда авторизациянинг умумий тамойиллари.

20.               

Параллел объектга йўналтирилган тармоқ иловаларини дастурлаш.

21.               

Сокетлар ва каналлар асосида тармоқни дастурлаш.

22.               

Кўп фойдаланувчиларга хизмат кўрсатиш.

23.               

Аутентификация тамойиллари.

24.               

Идентификация тамойиллари.

25.               

Авторизация тамойиллари.

 

 

Мустақил таълим мавзулари

Берилган топшириқлар

VII-семестр

1.                   

IPv4 Addresses (Network Layer)

Техник адабиётлар,  Интернет материалларини йиғиш. Индивидуал топшириқларни бажариш

 

2.                   

Delivery and Forwarding of IP Packets (Network Layer)

3.                   

Internet Protocol Version 4 - IPv4 (Network Layer)

4.                   

Address Resolution Protocol - ARP (Network Layer)

5.                   

Internet Control Message Protocol Version 4- ICMPv4 (Network Layer)

6.                   

Mobile IP  (Network Layer)

7.                   

Unicast Routing Protocols - RIP, OSPF, and BGP (Network Layer)

8.                   

Multicasting and Multicast Routing Protocols (Network Layer)

9.                   

Stream Control Transmission ProtocolSCTP (Transport Layer)

10.               

Host Configuration: DHCP (Application Layer)

11.               

Domain Name System - DNS (Application Layer)

12.               

Remote Login: TELNET and SSH (Application Layer)

13.               

File Transfer: FTP and TFTP (Application Layer)

14.               

Electronic Mail: SMTP, POP, IMAP, and MIME (Application Layer)

15.               

Network Management: SNMP (Application Layer)

16.               

World Wide Web and HTTP (Application Layer)

17.               

IPv6 Protocol & IPv6 Addressing (Next Generation)

18.               

Internet Control Message Protocol Version 6 - ICMPv6 (Next Generation)

19.               

Securing E-Mail

20.               

Message Integrity and Digital Signatures

21.               

Multimedia Networking Applications (Multimedia Networking)

22.               

Streaming Stored Video (Multimedia Networking)

23.               

Voice-over-IP (Multimedia Networking)

24.               

Protocols for Real-Time Conversational Applications (Multimedia Networking)

25.               

Securing TCP Connections: SSL

26.               

Network-Layer Security: IPsec and Virtual Private Networks

27.               

Securing Wireless LANs

28.               

Operational Security: Firewalls and Intrusion Detection Systems

 


Дастурнинг информацион-услубий таъминоти

 

Мазкур фанни ўқитиш жараёнида таълимнинг замонавий ўқитиш усуллари, янги педагогик ва ахборот-коммуникация технологиялари қўлланилиши назарда тутилган. Амалий ва лаборатория машғулотларда замонавий компьютер технологияларини, кичик гуруҳда ишлашни, гуруҳли фикрлаш педагогик технологияларини, презентацион технологияларини ва виртуал лаборатория ишларини қўллаш назарда тутилади.

 

 

“Тармоқни дастурлаш асослари” фанидан талабалар билимини рейтинг тизими асосида баҳолаш мезони

 

“Тармоқни дастурлаш асослари” фани бўйича рейтинг жадваллари, назорат тури, шакли, сони ҳамда ҳар бир назоратга ажратилган максимал балл, шунингдек жорий ва оралиқ назоратларининг саралаш баллари ҳақидаги маълумотлар фан бўйича биринчи машғулотда талабаларга эълон қилинади.

Фан бўйича талабаларнинг билим савияси ва ўзлаштириш даражасининг Давлат таълим стандартларига мувофиқлигини таъминлаш учун қуйидаги назорат турлари ўтказилади: 

- жорий назорат (ЖН) – талабанинг фан мавзулари бўйича билим ва амалий кўникма даражасини аниқлаш ва баҳолаш усули. Жорий назорат фаннинг хусусиятидан келиб чиққан ҳолда амалий машғулотларда оғзаки сўров, тест ўтказиш, суҳбат, назорат иши, коллеквиум, уй вазифаларини текшириш ва шу каби бошқа шаклларда ўтказилиши мумкин; 

- оралиқ назорат (ОН) – семестр давомида ўқув дастурининг тегишли (фанларнинг бир неча мавзуларини ўз ичига олган) бўлими тугаллангандан кейин талабанинг назарий билим ва амалий кўникма даражасини аниқлаш ва баҳолаш усули. Оралиқ назорат бир семестрда икки марта ўтказилади ва шакли (ѐзма, оғзаки, тест ва ҳоказо) ўқув фанига ажратилган умумий соатлар ҳажмидан келиб чиққан ҳолда белгиланади; 

- якуний назорат (ЯН) – семестр якунида муайян фан бўйича назарий билим ва амалий кўникмаларни талабалар томонидан ўзлаштириш даражасини баҳолаш усули. Якуний назорат асосан таянч тушунча ва ибораларга асосланган “Ёзма иш” шаклида ўтказилади.

ОН ўтказиш жараёни кафедра мудири томонидан тўзилган комиссия иштирокида мунтазам равишда ўрганиб борилади ва уни ўтказиш тартиблари бўзилган ҳолларда, ОН натижалари бекор қилиниши мумкин. Бундай ҳолларда ОН қайта ўтказилади.

Олий таълим муассасаси раҳбарининг буйруғи билан ички назорат ва мониторинг бўлими раҳбарлигида тўзилган комиссия иштирокида ЯН ни ўтказиш жараёни мунтазам равишда ўрганиб борилади ва уни ўтказиш тартиблари бўзилган ҳолларда, ЯН натижалари бекор қилиниши мумкин. Бундай ҳолларда ЯН қайта ўтказилади.

Талабанинг билим савияси, кўникма ва малакаларини назорат қилишнинг рейтинг тизими асосида талабанинг фан бўйича ўзлаштириш даражаси баллар орқали ифодаланади.

«Тармоқни дастурлаш асослари» фани бўйича талабаларнинг семестр давомидаги ўзлаштириш кўрсаткичи 100 баллик тизимда баҳоланади.

Ушбу 100 балл баҳолаш турлари бўйича қуйидагича тақсимланади:

ЯН – 30 балл, қолган 70 балл эса ЖН – 30 балл ва ОН – 40 балл қилиб тақсимланади.

 

Балл

Баҳо

Талабаларнинг билим даражаси

86-100

Аъло

 

Хулоса ва қарор қабул қилиш.

Ижодий фикрлай олиш.

Мустақил мушоҳада юрита олиш.

Олган билимларини амалда қўллай олиш. Моҳиятини тушунтириш.

Билиш, айтиб бериш.

Тасаввурга эга бўлиш.

71-85

Яхши

 

Мустақил мушоҳада қилиш.

Олган билимларини амалда қўллай олиш. Моҳиятини тушунтириш.

Билиш, айтиб бериш.

Тасаввурга эга бўлиш.

55-70

Қониқарли

Моҳиятини тушунтириш.

Билиш, айтиб бериш.

Тасаввурга эга бўлиш.

0-54

Қониқарсиз

 

Аниқ тасаввурга эга бўлмаслик. Билмаслик.

 

 

 

Фан бўйича саралаш бали 55 баллни ташкил этади. Талабанинг саралаш балидан паст бўлган ўзлаштириши рейтинг дафтарчасида қайд этилмайди.

Талабаларнинг ўқув фани бўйича мустақил иши жорий, оралиқ ва якуний назоратлар жараёнида тегишли топшириқларни бажариши ва унга ажратилган баллардан келиб чиққан ҳолда баҳоланади.

Талабанинг фан бўйича рейтинги қуйидагича аниқланади: 

R = В*Ў / 100

бу ерда: В- семестрда фанга ажратилган умумий ўқув юкламаси (соатларда);

Ў - фан бўйича ўзлаштириш даражаси (балларда).

Фан бўйича жорий ва оралиқ назоратларга ажратилган умумий баллнинг 55 фоизи саралаш балл ҳисобланиб, ушбу фоиздан кам балл тўплаган талаба якуний назоратга киритилмайди.

Жорий  ЖН ва оралиқ ОН турлари бўйича 55 бал ва ундан юқори бални тўплаган талаба фанни ўзлаштирган деб ҳисобланади ва ушбу фан бўйича якуний назоратга кирмаслигига йўл қўйилади.

Талабанинг семестр давомида фан бўйича тўплаган умумий бали ҳар бир назорат туридан белгиланган қоидаларга мувофиқ тўплаган баллари йиғиндисига тенг.

ОН ва ЯН турлари календар тематик режага мувофиқ деканат томонидан тўзилган рейтинг назорат жадваллари асосида ўтказилади. ЯН семестрнинг охирги 2 ҳафтаси мобайнида ўтказилади.

ЖН ва ОН назоратларда саралаш балидан кам балл тўплаган ва узрли сабабларга кўра назоратларда қатнаша олмаган талабага қайта топшириш учун, навбатдаги шу назорат туригача, сўнгги жорий ва оралиқ назоратлар учун эса якуний назоратгача бўлган муддат берилади.

Талабанинг семестрда ЖН ва ОН турлари бўйича тўплаган баллари ушбу назорат турлари умумий балининг 55 фоизидан кам бўлса ёки семестр якуний жорий, оралиқ ва якуний назорат турлари бўйича тўплаган баллари йиғиндиси 55 балдан кам бўлса, у академик қарздор деб ҳисобланади.

Талаба назорат натижаларидан норози бўлса, фан бўйича назорат тури натижалари эълон қилинган вақтдан бошлаб бир кун мобайнида факультет деканига ариза билан мурожаат этиши мумкин. Бундай ҳолда факультет деканининг тақдимномасига кўра ректор буйруғи билан 3 (уч) аъзодан кам бўлмаган таркибда апелляция комиссияси ташкил этилади.

Апелляция комиссияси талабаларнинг аризаларини кўриб чиқиб, шу куннинг ўзида хулосасини билдиради.

         Баҳолашнинг ўрнатилган талаблар асосида белгиланган муддатларда ўтказилиши, ҳамда расмийлаштирилиши факультет декани, кафедра мудири, ўқув-услубий бошқарма, ҳамда ички назорат ва мониторинг бўлими томонидан назорат қилинади.

 

 Талабалар ОН дан тўплайдиган балларнинг намунавий мезонлари

Т/р

Кўрсаткичлар

ОН баллари

Макс.

1-ОН

2-ОН

1

Дарсларга қатнашганлик даражаси.

Маъруза дарсларидаги фаоллиги, конспект дафтарларининг юритилиши ва тўлиқлиги.

10

0-5

0-5

2

Талабаларнинг мустақил таълим топшириқларини ўз вақтида ва сифатли бажариши ва ўзлаштириш.

10

0-5

0-5

3

Оғзаки савол-жавоблар, коллоквиум ва бошқа назорат турлари натижалари бўйича

20

0-10

0-10

Жами ОН баллари

40

0-20

0-20

 

 

 

 

 

Талабалар ЖН дан тўплайдиган балларнинг намунавий мезонлари

 

Т/р

Кўрсаткичлар

ЖН баллари

Макс.

1-ЖН

2-ЖН

1

Лаборатория ишларини сифатли ва ўз вақтида бажариш ҳамда ўзлаштириш

14

0-7

0-7

2

Амалиёт ишларини сифатли ва ўз вақтида бажариш ҳамда ўзлаштириш

16

0-8

0-8

Жами ЖН баллари

30

0-15

0-15

 

 

 

Якуний назорат “Ёзма иш” шаклида белгиланган бўлса, у ҳолда якуний назорат 30 баллик “Ёзма иш” вариантлари асосида ўтказилади.

 

Т/р

Кўрсаткичлар

ЯН баллари

 

Макс.

Ўзгариш оралиги

1

Фан бўйича якуний ёзма иш назорати

30

0-30

Жами ЯН баллари

30

0-30

 

Якуний назоратда “Ёзма иш”ларни баҳолаш мезони

 

Якуний назорат “Ёзма иш” шаклида амалга оширилганда, синов кўп вариантли усулда ўтказилади. Ҳар бир вариант 3 та назарий ва 1 та амалий саволлардан иборат. Назарий саволлар фан бўйича таянч сўз ва иборалар асосида тўзилган бўлиб, фаннинг барча мавзуларини ўз ичига қамраб олган.

Ҳар бир назарий савол 0-7 балл, 1 амалий савол 0-9 балл оралиғида баҳоланади. Талаба максимал 30 балл тўплаши мумкин.

Ёзма синов бўйича умумий ўзлаштириш кўрсаткичини аниқлаш учун вариантда берилган саволларнинг ҳар бири учун ёзилган жавобларга қўйилган ўзлаштириш баллари қўшилади ва йиғинди талабанинг якуний назорат бўйича ўзлаштириш бали ҳисобланади.


Тавсия этилган адабиётлар рўйхати

 

Асосий адабиётлар

 

1.      Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.      TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.      Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.      The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.      Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 

6.      Keir Davis. TCP/IP Network Programming Design Patterns in C++. Vic Hargrave. 2013.

7.      D. Schmidt. C++ Network Programming, Vol 1 Systematic Reuse with ACE and Frameworks . 2010

8.      D. Schmidt.  C++ Network Programming, Vol 2 Systematic Reuse with ACE and Frameworks.  2010

9.      Network Programming by Katta G. Murty. University Birmingham. 2010

10.  Li-Hsing Yen. Network Programming Introduction. 2011

 

Қўшимча адабиётлар

1.      TCP/IP Sockets in C#: Practical Guide for Programmers (The Practical Guides). David Makofske and  Michael J. Donahoo . 2004 

2.      Jon C. Snader. Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs: 44 Tips to Improve Your Network Programs. 2000

3.      Douglas E. Comer, David L. Stevens. Internet working with TCP/IP client-server programming and applications. 2006

4.      Douglas E. Comer, David L. Stevens. Internet working with TCP/IP Design, Implementations and Internals. UIP. 2006

5.      Beej's Guide to Network Programming. Using Internet Sockets. Brian Beej Jorgensen. 1st edition. 2009

6.      Beej’s Guide to Network Programming Using Internet Sockets Brian Beej Hall. 2nd edition. 2011

7.      А.А. Дубаков. «Сетевое программирование». Учебное пособие. Санкт-Петербург. 2013. 248 с.

 

Ахборот-ресурс манбалар

1.       http://www.networkingprogramming.com/ 

2.       http://www.tenouk.com/ 

3.      http://www.ibm.com 

4.      https://books.google.com 

5.      https://en.wikipedia.org/wiki/Network_socket

6.      https://stackoverflow.com


II. ФАННИ ЎҚИТИШДА ФОЙДАЛАНИЛАДИГАН ИНТРЕФАОЛ ТАЪЛИМ МЕТОДЛАРИ

 

“SWOT-таҳлил” методи.

Методнинг мақсади: мавжуд назарий билимлар ва амалий тажрибаларни таҳлил қилиш, таққослаш орқали муаммони ҳал этиш йўлларни топишга, билимларни мустаҳкамлаш, такрорлаш, баҳолашга, мустақил, танқидий фикрлашни, ностандарт тафаккурни шакллантиришга хизмат қилади.

 

Намуна:  Клиент-сервер архитектурасининг SWOT таҳлили.

 

Кучли томонлари (S)

1.     Доимий фаол тармоқ хисобланади

2.     Ишончлилиги юқори

3.     Ахборот хавфсизлиги юқори

Кучсиз томонлари (W)

 

1.     Тармоқни кенгайтириш учун қўшимча қурилма талаб этилади

2.     Ушбу тизимнинг ишлашини қўллаб-қувватлаш учун алохида мутахассис талаб этилади

Имкониятлари (O)

1.     Марказий хотира қурилмасига эга

2.     Ўтказувчанлик қобилияти юқори

Тўсиқлар (Т)

1.     Қиммат ва мураккаб архитектура

2.     Сервернинг ишдан чиқиши бутун тизимнинг ишдан чиқишига олиб келади


Хулосалаш (Резюме, Веер) методи

Методнинг мақсади:  Бу  метод мураккаб, кўптармоқли, мумкин қадар, муаммоли характердаги мавзуларни ўрганишга қаратилган. Методнинг моҳияти шундан иборатки, бунда мавзунинг турли тармоқлари бўйича бир хил ахборот берилади ва айни пайтда, уларнинг ҳар бири алоҳида аспектларда муҳокама этилади. Масалан, муаммо ижобий ва салбий томонлари, афзаллик, фазилат ва камчиликлари, фойда ва зарарлари бўйича ўрганилади. Бу интерфаол метод танқидий, таҳлилий, аниқ мантиқий фикрлашни муваффақиятли ривожлантиришга ҳамда ўқувчиларнинг мустақил ғоялари, фикрларини ёзма ва оғзаки шаклда тизимли баён этиш, ҳимоя қилишга имконият яратади. “Хулосалаш”  методидан маъруза машғулотларида индивидуал ва жуфтликлардаги иш шаклида,  амалий ва  семинар машғулотларида кичик гуруҳлардаги иш шаклида мавзу юзасидан билимларни мустаҳкамлаш, таҳлили қилиш ва таққослаш мақсадида фойдаланиш мумкин.

Намуна:

Сокетларни дастурлаш

TCP клиент-сервер

UDP клиент-сервер

афзаллиги

камчилиги

афзаллиги

камчилиги

 

 

 

 

Хулоса:

 


“Кейс-стади” методи

«Кейс-стади» - инглизча сўз бўлиб, («case» – аниқ вазият, ҳодиса, «stadi» – ўрганмоқ, таҳлил қилмоқ) аниқ вазиятларни ўрганиш,  таҳлил қилиш асосида ўқитишни амалга оширишга қаратилган метод ҳисобланади.  Мазкур метод дастлаб 1921 йил Гарвард университетида амалий вазиятлардан иқтисодий бошқарув фанларини ўрганишда фойдаланиш тартибида қўлланилган.Кейсда  очиқ ахборотлардан ёки аниқ воқеа-ҳодисадан вазият сифатида таҳлил учун фойдаланиш мумкин. Кейс ҳаракатлари ўз ичига қуйидагиларни қамраб олади:  Ким (Who), Қачон (When), Қаерда (Where), Нима учун (Why), Қандай/ Қанақа (How), Нима-натижа (What).

“Кейс методи” ни  амалга ошириш босқичлари

Иш

босқичлари

Фаолият шакли

ва мазмуни

1-босқич: Кейс ва унинг ахборот таъминоти билан таништириш

ü якка тартибдаги аудио-визуал иш;

ü кейс билан танишиш(матнли, аудио ёки медиа шаклда);

ü ахборотни умумлаштириш;

ü ахборот таҳлили;

ü муаммоларни аниқлаш

2-босқич: Кейсни аниқлаштириш ва ўқув  топшириғни белгилаш

ü индивидуал ва гуруҳда ишлаш;

ü муаммоларни долзарблик иерархиясини аниқлаш;

ü асосий муаммоли вазиятни белгилаш

3-босқич: Кейсдаги асосий муаммони таҳлил этиш орқали ўқув топшириғининг  ечимини излаш, ҳал этиш йўлларини ишлаб чиқиш

ü индивидуал ва гуруҳда ишлаш;

ü муқобил ечим йўлларини ишлаб чиқиш;

ü ҳар бир ечимнинг имкониятлари ва тўсиқларни таҳлил қилиш;

ü муқобил ечимларни танлаш

4-босқич: Кейс ечимини  ечимини шакллантириш ва асослаш, тақдимот.

ü якка ва гуруҳда ишлаш;

ü муқобил вариантларни амалда қўллаш имкониятларини асослаш;

ü ижодий-лойиҳа тақдимотини тайёрлаш;

ü якуний хулоса ва вазият ечимининг амалий аспектларини ёритиш

 

Кейс.  TCP клиент-сервер иловаси

 

Кейсни бажариш босқичлари ва топшириқлар:

-         Кейсдаги TCP клиент-сервер иловасининг аҳамиятини аниқланг. (индивидуал ва кичик гуруҳда).

-         TCP клиент-сервер иловасининг ишлашини тавсифланг (жуфтликлардаги иш).

 

«ФСМУ» методи

Технологиянинг  мақсади: Мазкур технология иштирокчилардаги умумий фикрлардан хусусий хулосалар чиқариш, таққослаш, қиёслаш орқали ахборотни ўзлаштириш, хулосалаш, шунингдек, мустақил ижодий фикрлаш кўникмаларини шакллантиришга хизмат қилади. Мазкур технологиядан маъруза машғулотларида, мустаҳкамлашда, ўтилган мавзуни сўрашда, уйга вазифа беришда ҳамда амалий машғулот натижаларини таҳлил этишда фойдаланиш тавсия этилади.

Технологияни   амалга ошириш тартиби:

-         қатнашчиларга  мавзуга оид бўлган якуний хулоса ёки ғоя таклиф этилади;

-         ҳар бир иштирокчига ФСМУ технологиясининг босқичлари ёзилган қоғозларни тарқатилади:

-         иштирокчиларнинг муносабатлари индивидуал ёки гуруҳий тартибда тақдимот қилинади.

ФСМУ  таҳлили  қатнашчиларда касбий-назарий билимларни амалий машқлар ва мавжуд тажрибалар асосида тезроқ ва муваффақиятли ўзлаштирилишига асос бўлади.

Намуна.

Фикр:  UDP клиент-сервер иловаси.

Топшириқ: Мазкур фикрга нисбатан муносабатингизни ФСМУ орқали таҳлил қилинг.

“Ассесмент”  методи

Методнинг мақсади:  мазкур метод таълим олувчиларнинг билим даражасини  баҳолаш, назорат қилиш, ўзлаштириш кўрсаткичи ва амалий кўникмаларини текширишга йўналтирилган.  Мазкур техника орқали таълим олувчиларнинг  билиш  фаолияти турли  йўналишлар (тест, амалий кўникмалар, муаммоли вазиятлар машқи, қиёсий таҳлил, симптомларни аниқлаш) бўйича ташҳис қилинади ва баҳоланади.

Методни амалга ошириш тартиби:

 “Ассесмент” лардан  маъруза машғулотларида талабаларнинг ёки қатнашчиларнинг мавжуд билим даражасини ўрганишда, янги маълумотларни баён қилишда, семинар,  амалий машғулотларда эса мавзу ёки маълумотларни ўзлаштириш даражасини баҳолаш, шунингдек, ўз-ўзини баҳолаш мақсадида индивидуал шаклда  фойдаланиш тавсия этилади. Шунингдек, ўқитувчининг ижодий ёндашуви ҳамда ўқув мақсадларидан келиб чиқиб,  ассесментга қўшимча топшириқларни киритиш мумкин.

Намуна. Ҳар бир катакдаги тўғри жавоб 5 балл ёки 1-5 балгача баҳоланиши мумкин.


“Инсерт” методи

 Методнинг мақсади: Мазкур метод ўқувчиларда янги ахборотлар тизимини қабул қилиш ва билмларни ўзлаштирилишини енгиллаштириш мақсадида қўлланилади, шунингдек, бу метод ўқувчилар учун хотира машқи вазифасини ҳам ўтайди.

Методни амалга ошириш тартиби:

Ø  ўқитувчи машғулотга қадар мавзунинг асосий тушунчалари мазмуни ёритилган инпут-матнни тарқатма ёки тақдимот кўринишида тайёрлайди;

Ø  янги мавзу моҳиятини ёритувчи матн таълим олувчиларга  тарқатилади ёки тақдимот кўринишида намойиш  этилади;

Ø  таълим олувчилар  индивидуал тарзда матн билан танишиб чиқиб, ўз шахсий қарашларини махсус  белгилар орқали ифодалайдилар. Матн билан ишлашда талабалар ёки қатнашчиларга қуйидаги махсус белгилардан фойдаланиш тавсия этилади:

Белгилар

 

1-матн

2-матн

3-матн

“V” – таниш маълумот.

 

 

 

 

“?” – мазкур маълумотни тушунмадим, изоҳ керак.

 

 

 

“+”  бу маълумот мен учун янгилик.

 

 

 

 

“– ” бу фикр ёки мазкур маълумотга қаршиман?

 

 

 

 

 

Белгиланган вақт якунлангач,  таълим олувчилар учун нотаниш ва тушунарсиз бўлган маълумотлар ўқитувчи томонидан таҳлил қилиниб, изоҳланади,  уларнинг моҳияти тўлиқ ёритилади.  Саволларга жавоб берилади ва машғулот якунланади.

 

“Тушунчалар таҳлили” методи

Методнинг мақсади: мазкур метод талабалар ёки қатнашчиларни мавзу бўйича таянч тушунчаларни ўзлаштириш даражасини аниқлаш, ўз билимларини мустақил равишда текшириш, баҳолаш, шунингдек, янги мавзу бўйича дастлабки билимлар даражасини ташҳис қилиш мақсадида қўлланилади.

Методни амалга ошириш тартиби:

·     иштирокчилар машғулот қоидалари билан таништирилади;

·     ўқувчиларга мавзуга ёки бобга тегишли бўлган сўзлар, тушунчалар номи туширилган тарқатмалар берилади ( индивидуал ёки гуруҳли тартибда);

·     ўқувчилар мазкур тушунчалар қандай маъно англатиши, қачон, қандай ҳолатларда қўлланилиши ҳақида ёзма маълумот берадилар;

·     белгиланган вақт якунига етгач ўқитувчи берилган тушунчаларнинг тугри ва тулиқ изоҳини уқиб эшиттиради ёки слайд орқали намойиш этади;

·     ҳар бир иштирокчи берилган тугри жавоблар билан ўзининг шахсий муносабатини таққослайди, фарқларини аниқлайди ва ўз билим даражасини текшириб, баҳолайди.

Намуна: “Модулдаги таянч тушунчалар таҳлили”

Тушунчалар

Сизнингча бу тушунча қандай маънони англатади?

Қўшимча маълумот

SNMP

Тармоқни бошқаришнинг оддий протоколи

Simple Network Management Protocol

DHCP

Хостларни динамик конфигурациялаш протоколи

Dynamic Host Configuration Protocol

FTP

Файлларни узатиш протоколи

File Transfer Protocol

HTTP

Гиперматнли файлларни узатиш протоколи

HyperText Transfer Protocol

ICMP

Интернет тармоғида хабарларни бошқариш протоколи

Internet Control Message Protocol

OSI

Очиқ тизимлар ўзаро боғлиқлиги

Open Systems Interconnection

POP

Фойдаланувчи ўзига келган электрон хабарлардан фойдаланишига имкон берувчи протокол

Post Office Protocol

SMTP

Электрон почтанинг оддий протоколи

Simple Mail Transfer Protocol

TCP

Узатишларни бошқариш протоколи

Transport Control Protocol

UDP

Фойдаланувчининг маълумотларини узатиш протоколи

User Data Protocol

VPN

Химояланган виртуал тармоқ

Virtual Private Network

SGMP

Оддий роутер ёрдамида бошқариш протоколи

Simple Gateway Monitoring Protocol

Изоҳ: Иккинчи устунчага қатнашчилар томонидан фикр билдирилади. Мазкур тушунчалар ҳақида қўшимча маълумот глоссарийда келтирилган.

Венн Диаграммаси методи

Методнинг мақсади:  Бу метод график тасвир орқали ўқитишни ташкил этиш шакли бўлиб, у иккита ўзаро кесишган айлана тасвири орқали ифодаланади. Мазкур метод турли тушунчалар, асослар, тасавурларнинг анализ ва синтезини икки аспект орқали кўриб чиқиш, уларнинг умумий ва фарқловчи жиҳатларини аниқлаш, таққослаш имконини беради.

Методни амалга ошириш тартиби:

·     иштирокчилар икки кишидан иборат жуфтликларга бирлаштириладилар ва уларга кўриб чиқилаётган тушунча ёки асоснинг ўзига хос, фарқли жиҳатларини (ёки акси) доиралар ичига ёзиб чиқиш таклиф этилади;

·     навбатдаги босқичда иштирокчилар тўрт кишидан иборат кичик гуруҳларга бирлаштирилади ва ҳар бир жуфтлик ўз таҳлили билан гуруҳ аъзоларини таништирадилар;

·      жуфтликларнинг таҳлили эшитилгач, улар биргалашиб, кўриб чиқилаётган муаммо ёҳуд тушунчаларнинг умумий жиҳатларини (ёки фарқли) излаб топадилар, умумлаштирадилар ва доирачаларнинг кесишган қисмига ёзадилар.

 

“Блиц-ўйин” методи

Методнинг мақсади: ўқувчиларда тезлик, ахборотлар тизмини таҳлил қилиш, режалаштириш, прогнозлаш кўникмаларини шакллантиришдан иборат. Мазкур методни баҳолаш ва мустаҳкамлаш мақсадида қўллаш самарали натижаларни беради.

Методни амалга ошириш  босқичлари:

1. Дастлаб  иштирокчиларга    белгиланган мавзу юзасидан тайёрланган топшириқ, яъни  тарқатма материалларни алоҳида-алоҳида берилади ва улардан материални синчиклаб ўрганиш талаб этилади.  Шундан сўнг, иштирокчиларга    тўғри жавоблар тарқатмадаги «якка баҳо» колонкасига белгилаш кераклиги тушунтирилади. Бу босқичда вазифа якка тартибда бажарилади.

2. Навбатдаги босқичда тренер-ўқитувчи  иштирокчиларга  уч кишидан иборат кичик гуруҳларга бирлаштиради ва гуруҳ аъзоларини ўз фикрлари билан гуруҳдошларини таништириб, баҳслашиб, бир-бирига таъсир ўтказиб, ўз фикрларига ишонтириш, келишган ҳолда бир тўхтамга келиб, жавобларини «гуруҳ баҳоси» бўлимига рақамлар билан белгилаб чиқишни топширади. Бу вазифа учун 15 дақиқа вақт берилади.

3. Барча кичик гуруҳлар ўз ишларини тугатгач, тўғри ҳаракатлар кетма-кетлиги тренер-ўқитувчи томонидан ўқиб эшиттирилади, ва ўқувчилардан бу жавобларни «тўғри жавоб» бўлимига ёзиш сўралади.

4. «Тўғри жавоб» бўлимида берилган рақамлардан «якка баҳо» бўлимида берилган рақамлар таққосланиб, фарқ бўлса «0», мос келса «1» балл қуйиш сўралади. Шундан сўнг «якка хато» бўлимидаги фарқлар юқоридан пастга қараб қўшиб чиқилиб, умумий йиғинди ҳисобланади.

5. Худди шу тартибда «тўғри жавоб» ва «гуруҳ баҳоси» ўртасидаги фарқ чиқарилади ва баллар «гуруҳ хатоси» бўлимига ёзиб, юқоридан пастга қараб қўшилади ва умумий йиғинди келтириб чиқарилади.

6. Тренер-ўқитувчи якка ва гуруҳ хатоларини тўпланган умумий йиғинди бўйича алоҳида-алоҳида шарҳлаб беради.

7. Иштирокчиларга  олган баҳоларига қараб, уларнинг мавзу бўйича ўзлаштириш даражалари аниқланади.

 

 “Брифинг” методи

“Брифинг”- (инг. briefing-қисқа) бирор-бир масала ёки саволнинг муҳокамасига бағишланган қисқа пресс-конференция.

Ўтказиш босқичлари:

1.    Тақдимот қисми.

2.    Муҳокама жараёни (савол-жавоблар асосида).

Брифинглардан тренинг якунларини таҳлил қилишда фойдаланиш мумкин. Шунингдек, амалий ўйинларнинг бир шакли сифатида қатнашчилар билан бирга долзарб  мавзу ёки муаммо муҳокамасига бағишланган брифинглар ташкил этиш мумкин бўлади.Талабалар ёки тингловчилар томонидан яратилган мобил иловаларнинг тақдимотини ўтказишда ҳам фойдаланиш мумкин.

 

 


III. НАЗАРИЙ МАТЕРИАЛЛАР

 

ХIII-мавзу. Multicasting. Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш

 

Режа

1.    Unicast трафиги

2.    Broadcast трафиги

3.    Multicast трафиги

4.    IGMP протоколининг асосий ишлаш тамойиллари

 

Таянч иборалар: Unicast трафиги, Broadcast трафиги, Multicast трафиги, IP-тармоқ, IP-манзил, IGMP протоколи.

 

         IP-тармоқларида трафик юборишнинг учта асосий усули мавжуд:

-         Unicast;

-         Broadcast;

-         Multicast.

         IP-телевидениянинг қулайликларини тушуниш ва IP-тармоғида видеони узатишни амалий ташкиллаштириш учун бу усуллар орасидаги фарқни тушуниш жуда мухим.

         Бу учта усулнинг хар бири ўз мақсадига муносиб IP-манзилларнинг қўллаш турларидан фойдаланади ва ишлатиладиган трафик хажмига уларнинг таъсирида катта фарқ бор.

 

         1. Unicast трафиги.

         Unicast трафиги (пакетларна бир мақсадли юбориш) аввало “шахсий” турдаги сервислар учун ишлатилади. Хар бир абонент ўзига қулай вақтда шахсий  видео-контентни сўраши мумкин. Unicast трафиги битта манбадан битта йўналишдаги IP-манзилга юборилади. Бу манзил тармоқда фақат битта ягона компьютер ёки абонент STB га мансуб бўлади, расмда кўрсатилгандек.

         Unicast трафигини бир вақтда олиши мумкин бўлган абонентлар сони тармоқнинг магистрал қисмидаги оқим кенглиги (оқим тезлиги) билан чегараланади. Тармоқнинг Gigabit Ethernet холати учун маълумотлар оқимининг назарий максимал кенглиги 1 Гб/с га яқинлашади, бунда хизмат ахбороти ва жихозларнинг технологик захирасини юбориш учун керак бўлган йўл айириб ташланади.

Расм 13.1. Unicast трафиги

 

         Айтайлик, мисол учун тармоқнинг магистрал қисмида unicast трафик талаб қилувчи сервислар учун йўлнинг фақат ярмини ажратиб беришимиз мумкин. MPEG2 телевизион каналида 5 Мб/с холати учун хисобланганда маълум бўлдики, unicast трафигини бир вақтда олувчи  абонентлар сони 100дан ошмайди.

 

         2. Broadcast трафиги

Broadcast трафиги (пакетларни кенг йўлли юбориш) жорий IP-тармоқнинг хамма абонентларига битта маълумотлар оқимини юбориш учун махсус IP-манзилдан фойдаланади. Масалан, бундай IP-манзил 255да тугаши мумкин, масалан 192.0.2.255, ёки хамма майдонида 255 бўлиши мумкин (255.255.255.255).

         Билиш мухимки, broadcast трафиги тармоқдаги барча ишлаб турган компьютер (ёки STB) томонидан фойдаланувчининг хохишидан қатъий назар қабул қилинади. Шу сабабдан юборишнинг бу тури асосан тармоқ даражасидаги хизмат ахборотини ёки бошқа тор йўлли ахборотни жўнатиш учун ишлатилади. Албатта, видео-маълумотларни юбориш учун broadcast трафиги ишлатилмайди. Broadcast трафикнинг юборилиши расмда кўрсатилган.

Расм 13.2. Broadcast трафиги

 

3. Multicast трафиги  

Multicast трафиги (пакетларни гуруҳли юбориш) тармоқни зўриқтирмасдан чегараланмаган абонентлар сонига видео-контентни етқазиш керак бўлганда оқимли видеони юбориш учун ишлатилади.

         Битта кўрсатувни абонентларнинг катта миқдори кўраётганда бу IPTV тармоқларда энг кўп ишлатиладиган маълумотларни юбориш туридир. Multicast трафиги йўналишнинг IP-манзилларнинг махсус синфидан фойдаланади, масалан 224.0.0.0 239.255.255.255 диапазонидаги манзиллар. Бу D синфига мансуб IP-манзиллар бўлиши мумкин.

 

Расм 13.3. Multicast трафиги

 

         Unicast трафигидан фарқли улароқ, multicast манзиллари индивидуал компьютер (ёки STB)лар учун берилиши мумкин эмас. Маълумотлар бирорта multicast IP-манзил бўйича юборилса, потенциал қабул қилувчи уларни қабул қилиш ёки қилмаслик, абонент бу канални кўриши ёки кўрмаслиги хақида қарор қабул қилиши мумкин. Бундай юбориш усули шуни билдирадики, IPTV операторнинг бош аппаратураси битта ягона маълумотлар оқимини кўплаб йўналиш бўйича жўнатади. Broadcast юбориш холатидан фарқли улароқ, маълумотларни қабул қилиш керакми ёки йўқми буни абонент ўзи танлайди.

Multicast юборишни IP-тармоқларда амалга ошириш учун уни қўллашга имкон берувчи маршрутизаторлар бўлиши керак. Йўналтирувчилар турли жойларга юбориш гурухлари холатини текшириш учун IGMP (ингл. Internet Group Management Protocol — Интернет гурухларини бошкариш протоколи) протоколидан фойдаланади (айнан тармоқнинг тугунидаги у ёки бу гурухда аъзолигини).

 

4. IGMP протоколининг асосий ишлаш тамойиллари:

      Тармоқнинг якуний тугуни report  туридаги IGMP пакетини турли жойларга юбориш гуруҳига уланиш жараёнини ишга тушириш учун юборади;

      Турли жойларга юбориш  гуруҳидан узилганда тугун хеч кандай қўшимча пакетлар юбормайди;

      multicast маршрутизатори маълум вакт интервалида тармоқга IGMP сўровлар юборади. Бу сўровлар ёрдамида турли жойларга юбориш гуруҳининг жорий холати аникланади;

      гуруҳда хеч бўлмаса бита клиент бўлса тугун хар бир турли жойларга юбориш гуруҳига жавобан IGMP пакет юборади.

Тармоқнинг магистрал қисмининг multicast трафик билан юкламаси тармоқдаги трансляция килинаётган каналлар сонига боғлиқ. Gigabit Ethernet тармоғи холатида, магистрал трафикнинг ярмини multicast юборишга ажратиб берсак, биз 100га якин телевизион MPEG-2 каналларга эга бўламиз, улардан хар бирининг маълумотлар оқимининг тезлиги  5 Мб/с тенг бўлади.

IPTV тармоғида broadcast, multicast ва unicast мавжуд. Оператор тармоқнинг ўтказиш кобилиятининг оптимал катталигини режалаштираётганида IP- манзиллашнинг хар хил технологияларининг трафик хажмига таъсирини инобатга олиши керак.

Масалан, оператор «буюртмага видео» хизматини  абонентларнинг катта қисмига бериш учун магистрал тармоқнинг ўтказиш кобилияти жуда катта бўлишини билиши керак. Бу муаммонинг битта ечими сифатида тармоқда видео-серверларни  децентрализация қилишни қўллаши мумкин. Бу холатда марказий видео­сервер бир нечта тармоқнинг кўп даражали иерархик архитектурасининг айланма сегментларига якинлаштирилган локал серверларга алмаштирилади.

Хозирги пайтда IP Multicast кенг қўлланиладиган тармоқ стандартига айланган. Замонавий тармоқли дастурий таъминот ва аппаратура бу стандартни қўллаб қувватлайди. Гурухли IP-манзиллашни қўллаш учун уни локал тармоқ кўтариши керак. Глобал тармоқда эса, баъзи холларда бу манзиллашдан фойдаланишга имкон бўлмаган қисмлардан ўтиш учун «тунеллаш»дан фойдаланиш мумкин.

 

Назорат саволлари

1.     Unicast трафиги.

2.     Broadcast трафиги.

3.     Multicast трафиги.

4.     IGMP протоколининг асосий ишлаш тамойиллари.

 

Адабиётлар ва интернет ресурслар

 

1.      Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.      TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.      Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.      Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 

5.      Keir Davis. TCP/IP Network Programming Design Patterns in C++. Vic Hargrave. 2013.

6.      Network Programming by Katta G. Murty. University Birmingham. 2010


ХIV-мавзу. Тармоқни дастурлашда кўпоқимлилик ва функцияларни паралеллаштириш

 

Режа

1.     Гуруҳли манзиллаш.

2.     Оқимларни ташкил этиш.

3.     Оқим класслари билан ишлаш.

 

Таянч иборалар: IGMP протоколи, IP Multicast, Internet Group Management Protocol, InputStream ва OutputStream класслари.

 

1. Гуруҳли манзиллаш.

Локал тармоқда гуруҳли манзиллашни амалга ошириш учун қуйидагилар керак:

-      TCP/IP протокол стеки билан гуруҳли манзиллашни қувватлаш;

-     гуруҳга қўшилган  сўровни юбориш ва гуруҳли трафикни қабул қилиш учун IGMP протоколини дастурий қувватлаш;

-      тармоқ картаси билан гуруҳли манзиллашни қувватлаш;

- гуруҳли манзиллашдан фойдаланувчи илова, масалан видеоконференция.          

Бу имкониятни глобал тармоқка кенгайтириш учун кўшимча тарзда хамма орадаги йўналтирувчилар гуруҳли манзиллашни қувватлаши ва ишлаётган firewall-лар томонидан гуруҳли трафик ўтказилиши керак. Локал тармоқда ишлашини оптималлаштириш учун гуруҳли трафикни фильтрловчи коммутаторлардан фойдаланиш мумкин.

IP Multicast технологияси  224.0.0.0 - 239.255.255.255 манзилларидан фойдаланади. Статик ва динамик манзиллаш ишлатилади.

Статик манзилларнинг мисоли  224.0.0.1 — локал тармоқ тугунларини ичига олувчи гуруҳ манзиллари, 224.0.0.2 — локал тармоқнинг хамма маршрутизаторлари. 224.0.0.0 - 224.0.0.255 диапазонидаги манзиллар маршрутизация протоколлари ва гуруҳли манзиллашнинг паст даражали протоколлари учун мўлжалланган. Колган манзиллар иловалар томонидан динамик тарзда ишлатилади.

Тармоқ қурилмалари локал тармоқнинг хар хил гуруҳларида аъзолигини аниқлаш учун йўналтирувчи IGMP протоколидан фойдаланади.

Локал тармоқнинг битта маршрутизатори тугунларнинг иловалари томонидан қайси гуруҳлар ишлатилаётганини билиш учун локал тармоқнинг тугунларига сўров юборади. Хар бир гуруҳга локал тармоқда битта жавоб берилади. Янги гуруҳнинг аъзоси бўлиш учун қабул қилувчининг тугуни локал тармоқнинг йўналтирувчисига сўров жўнатади. Қабул қилувчи тугуннинг тармоқли интерфейси шу гуруҳ манзилли пакетларни қабул қилишга созланади. Хар бир тугун ўзининг фаол гуруҳли манзилларни мустақил назорат қилади, бу гуруҳда катнишишга эхтиёж қолмаганда эса  IGMP-сўровларга тасдиқлашларни юборишни тўхтатади. IGMP-сўровлар натижалари гуруҳли маршрутизатор протоколлари томонидан қўшни маршрутизаторларга ва тармоқ бўйича гуруҳга аъзолиги тўғрисида ахборотни юбориш учун ишлатилади.

Гуруҳли маршрутизаторнинг асосий ғояси шундаки, маршрутизаторлар ахборот алмашуви ёрдамида керакли локал тармоқларга пакетларни юбориш йўлларини қурадилар. Маршрутизаторларнинг хар бири қабул қилинган пакетни битта ёки бир нечта маршрутизаторларга юборади, бунда битта каналдан битта пакетнинг қайта юборилишининг олдини оламиз ва гуруҳнинг ҳамма қабул қилувчиларига етказилади. Гурухнинг таркиби вакт ўтгани сайин ўзгариши мумкинлиги учун гуруҳнинг янги кирган ва чиқиб кетган аъзоларини маршрутизатор йўлларини қуришда динамик тарзда инобатга олинади.

 

2. Оқимларни ташкил этиш

IGMP (ингл. Internet Group Management Protocol — Интернет гуруҳларини бошқариш протоколи) — IP протоколига асосланган  тармоқларда маълумотларни гуруҳли юбориш (multicast)ни бошқариш протоколи. IGMP тармоқ қурилмаларни гуруҳларга ташкиллаш учун маршрутизатор ва IP-тугунлар томонидан ишлатилади.

Бу протокол IP-тармоқларда пакетларни гуруҳли юборишнинг спецификациясининг қисмидир. IGMP тармоқ қатламида жойлашади. У кўп жихатдан бир томонлама юборишга мўлжалланган ICMPга ўхшайди. IGMP оқимли видео ва онлайн-ўйинларни қувватлаш учун ишлатилиши мумкин, бу турдаги иловалар учун у тармоқ ресурсларидан самарали фойдаланишга имкон беради. IGMP баъзи тахдидларга химоясиз ва одатда брандмауэрлар фойдаланувчига бу протоколни эхтиёж йўқ бўлса ўчиришга рухсат беради.

 

3. Оқим класслари билан ишлаш.

Ушбу маърузада сoкет синфидаги сoкетлар билан ишлoвчи мижoз дастурларини кўрсатиб ўтамиз.

Мижoз дастурини инициализация қилганда сoкет синфи oбъекти сифатида сoкет яратиб, сервер дастурининг IP манзилили ва ишатадиган пoрт рақамини кўрсатиш керак:

 

Socket s;

s = new Socket("localhost", 8000);

 

Бу ерда IP манзил сифатиида тармoқ дастурларини текшириш учун мўлжалланган local hostning маxсус манзилини, пoрт сифатида сервер тoмoнидан ServerSocket синфидаги oбъектни яратганда ишлатиган 8000 рақамини кўрсатдик. Энди кириш ва чиқиш oқимларини яратсак бўлади. Мижoз тoмoнида бу oперация сервер тoмoнида қандай қилинса шундай қилинади:

 

InputStream is;

OutputStream os;

is = s.getInputStream();

os = s.getOutputStream();

 

Бoшланғич текстлари oлдинги қисмда тушинтирилган бизнинг мижoзда турисервер билан ишлаши лoзим, бунда oлдин серверда турини кейин эса мижoзда турини ишга тушириш керак.

Бизнинг клиент ишга тушгандан кейин дарҳoл сервер билан боғланиб, ишлатилган лoкал пoрт рақамини кoнсoлга чиқаради:

 

* Socket Client *

Local Port: 1180

Hello from client Application!

* Hello from client Application! *

qwerty

* qwerty *

quit

 

Сўнг сиз серверга жўнатиладиган ҳoхлаган қатoрларини киритишингиз мумкин. Сервер уларга юлдузчани қўшиб мижoзга қайтаради, мижoз эса қабул қилинган маълумoтларни кoнсoлда кўрстади.

Агарда “quit” қатoрини киритсак, сервер ҳам мижoз ҳам ишини тугатади.

Агарда сиз мижoз дастурини сервер дастуридан oлдин ишга туширсангиз, унда мижoз дастури ConnectException мустаснo билан тугайди:

 

* Socket Client *

java.net.ConnectException: Connection refused

 

Энди мижoз дастурининг бoшланғич матнлари ҳақида. Бизни фақатгина main усули қизиқтиради, чунки фoйдали ишнинг ҳаммасини у бажаради.

Дарҳoл мижoзда туришга тушгандан кейин main усули “localhost” IP манзили учун (бу 127.0.0.1 манзили) 9999 рақами билан soket яратишга ҳаракат қилади.

 

* Socket Client *

Local Port: 1180

Hello from client Application!

* Hello from client Application! *

qwerty

* qwerty *

Quit

 

Бизнинг кўрсатган дастуримиз сервер билан битта кoмпьютерда ишламoқда. Шунинг учун маxсус 127.0.0.1 нoмерли IP манзилни қўллай oлдик. Лекин сервер ва мижoз ҳар xил кoмпmютерларда ишлаганда, Сoкет синфининг биринчи кoнструктoри сифатида сиз InetAddress синфининг oбъектига ссыка бериб юбoришингиз керак. Бу oбъект сервер ишлаётган ҳақиқий кoмпьютернинг манзилига эга бўлиши керак.

Дoмен манзили ёки IP манзилини матнли сатр кўринишида кўрсатишни қабул қила oладиган Сoкет синфининг бoшқа кoнструктoрларидан фoйдаланиш мумкин.

socket тузиш пайтида серверга бoғланиш амалга oширилади. Сервер кутиш ҳoлатидан чиқиб, мижoз тoмoнидан юбoрилаётган кoмандаларни тушинишни бoшлайди. Назoрат учун main вoситаси лoкал пoрт рақамини oлиб, кoнсoлда кўрсатади:

 

int nPort = s.getLocalPort();

System.out.println("Local Port:" + nPort);

 

Кейин у сервер билан маълумoтларни айирбoшлаш учун кириш ва чиқиш oқимларини ташкил этади:

 

InputStream is;

OutputStream os;

 

try

{

  is = s.getInputStream();

  os = s.getOutputStream();

  . . .

}

catch(Exception ex)

{

  System.out.println(ex.toString());

 

Айирбошлашнинг ўзи қуйидаги циклда амалга оширилади:

 

String szStr;

while(true)

{

  szStr = getKbdString();

 

  sendString(os, szStr);

  os.flush();

 

  if(szStr.equals("quit"))

    break;   

 

  szStr = recvString(is);

  System.out.println(szStr);

}

Ҳар бир итерацияда main вoситаси сатрни кoнсoлдан киритади (бизнинг дастуримизда белгиланган getKbdString вoситаси билан.)

Oлдинги бoбда келтирилган мисoлларда кўрсатилган SendString вoситаси oрқали сатр серверга узатилади. Жавoб recvString вoситаси (бу ҳам oлдинги мисoлда кўрсатилган) oрқали қабул қилинади ва мижoзда тури кoнсoлига чиқарилади.

Агар фoйдаланувчи "Quit" сатрини киритса цикл ўз ишин якунлайди. Бундан сўнг main вoситаси oқим ва сoкетларни ёпади:

 

is.close();

os.close();

s.close();

Назорат саволлари

1.     Гуруҳли манзиллашни амалга ошириш учун нималар керак?

2.     Оқимларни ташкил этишга тушунча беринг?

3.     Гуруҳли манзиллаш.

4.     Оқимларни ташкил этиш.

5.     Оқим класслари билан ишлаш.

 

Адабиётлар ва интернет ресурслар

 

1.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.     Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.     The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.


XV-мавзу. Тармоқда коммутацияни дастурлаш

 

Режа

1.     Каналлар коммутацияси.

2.     Пакетлар коммутацияси.

3.     Хабарлар коммутацияси.

 

Таянч иборалар: circuit switching,  packet switching,  message switching, Cyclic Redundancy Check, коммутатор, Дейтаграммали тартиб, Виртуал каналлар тартиби.

 

Тармоқларда икки фойдаланувчи бир - бири билан боғланиш жараёнида қуйидаги асосий коммутация усуллари мавжуд:

-         Каналлар коммутацияси (circuit switching);

-         Пакетлар коммутацияси [packet switching);

-         Хабарлар коммутацияси (message switching).

Умумий ҳолда фойдаланувчиларнинг боғланиши 15.1 - расмда келтирилгандай бўлади ва коммутация усулига кўра бажариладиган вазифалари билан фарқланади.

 

 

 

 

 

 

 

 

 

 

 

 

 


Расм 15.1. Тармоқда фойдаланувчилар коммутацияси

 

Каналлар коммутацияси тарихи дастлабки телефон тармоқларидан бошланади. Пакетлар коммутацияси 60 - йиллар оҳирида барпо этилиб, биринчи компьютер тармоқларида қўлланилган. Коммутация усулларининг ҳар бири афзалликларга ва камчиликларга эга: мутахассислар фикрига кўра, пакетлар коммутациясига асосланган тармоқ технологиялари  асосий ўринни эгаллайди.

1. Каналлар коммутацияси

Каналлар коммутацияси усулида тугунлар ўртасида узлуксиз физикавий каналлар ҳосил бўлиб, коммутаторлар ёрдамида алоҳида канал қисмлари кетма - кет уланган бўлади, бир нечта физикавий каналлар ягона физикавий канални ташкил этади ва ҳар - бир каналда узатиш тезлиги бир - хил бўлиш шарти асосланган. Бундай ягона канал маълумот узатиш жараёнидан аввал ўрнатилиши керак бўлади ва бу канал улаш ўрнатиш жараёнида фақат ушбу боғланишга хизмат қилади.

Мисол учун, 15.1 - расмдаги 1 - тугундан 7 - тугунга маълумот узатиш учун аввал 1 - тугун А коммутаторига улаш ўрнатиш учун 7-тугун манзилини белгилаган ҳолда махсус сўров сигналини юборади.

А коммутатори ягона канал ҳосил қилиш учун маршрутни аниқлаб, сўров сигналини кейинги коммутаторга юборади ва ҳ.к. 7 - тугун сўров белгисини олганлиги тўғрисида 1 - тугунга жавоб сигналини қайтаради ва ягона канал ҳосил бўлганлиги (коммутацияланганлиги) белгиланади, шундан сўнг 1-тугун  7 - тугун билан маълумот алмашиши мумкин.

Каналлар коммутациясининг  афзалликлари:

- фойдаланувчилараро ўрнатилган каналда маълумот узатиш тезлиги     доимий ва маълум бўлади (фойдаланувчи сифатли узатишга  мўлжалланган каналнинг ўтказиш қобилиятига мослаб керакли тезликни белгилаш имкониятига эга);

- тармоқ орқали маълумот узатишда тўхталишлар даражаси паст ва доимий бўлиши (тўхталишларга сезгир реал вақтли  трафик (овоз, видео)нинг сифатли узатилиш имкониятига эга).

Каналлар коммутациясининг камчиликлари:

- канал бандлигида фойдаланувчига рад жавоби берилиши;

- физик каналларнинг ўтказиш қобилияти самарасиз ишлатилиши            (канал улаш ўрнатиш жараёни мобайнида банд бўлади);

- аввалдан улаш ўрнатилиши туфайли маълумот узатиш жараёнидан олдин шартли тўхталиш мавжудлиги.

Бу коммутация усули телефон сўзлашувларни узатишда қўлланилади.

2. Пакетлар коммутацияси

Пакетлар коммутацияси, асосан, компьютер трафигини узатишга мўлжалланган бўлиб, маълумот алмашувини самарали равишда ташкил этишга имкон беради.

Пакетлар коммутациясида фойдаланувчилараро узатилаётган хабарлар кичик қисмларга - пакетларга бўлинади. Маълумот узатиш тармоқларида пакет асосий узатиш бирлиги ҳисобланади. Катта ҳажмдаги хабарлар кичик пакетларга бўлиниши тармоқда маълумот узатиш тезлигининг кескин ошишига олиб келади. Хабарлар турли узунликга эга бўлиши мумкин - бир неча байтдан ўнлаб мегабайтгача, пакетлар эса ўзгарувчан узунликка эга бўлишлари мумкин.

Ҳар - бир пакет керакли тугунга етиб бориши учун манзил ахбороти белгиланган сарлавҳа қисми билан бошланади. Пакет турли қисмлардан иборат бўлиши мумкин ва қуйидагиларни ўз таркибига олиши шарт:

-         узатувчини (source) ифодалайдиган манба манзили;

-         узатилаётган маълумотлар;

-         қабул қилувчининг (destination) манзили;

-         тармоқ воситаларига маълумот  узатилиши лозим бўлган маршрут ахбороти;

-         хабарни дастлабки кўринишда тақдим этувчи ахборот;

-         узатиш аниқлигини таъминловчи хатоликларни текшириш ахбороти.

Бу қисмлар учта гурухга бўлиниб, пакетнинг сарлавҳа, маълумот ва трейлер қисмларини шакллантиради.

Сарлавҳа қисми пакетнинг узатилиш сигнали, манба манзили, макон манзили, узатишни синхронлаш кабиларни ўз ичига олган.

Маълумот қисми хабар таркибидаги узатишга мўлжалланган маълумотлардан иборат.  Тармоқ турига нисбатан бу қисм 0,5- 4 Кб бўлиши мумкин.

Трейлер қисми кўп ҳолларда хатоликларни текширишга мўлжалланган (мисол учун, Cyclic Redundancy Check - циклик код ёрдамида текширув). Пакет шаклланиши OSI моделининг қўлланиш поғонасида бошланади. Узатишга мўлжалланган ахборот юқори (қўлланиш поғонаси)дан қуйи поғонага етказилади ва ҳар бир поғонани маълумот қисмига тегишли ахборотни қўшади (15.2 - расм)

 

Расм 15.2.  Пакетли узатишни ташкил этиш

Пакетлар тармоқ орқали мустақил ахборот блоклари сифатида узатилади. Пакетли коммутация асосидаги тармоқда коммутаторлар ички буфер хотирасига эга бўлиб, унда пакетлар вақтинча сақланади. Коммутаторнинг чиқиш порти банд бўлган ҳолатда, пакeт бирор вақт навбат кутади ва кейинги коммутаторга узатилади (15.3 - расм).

 

 

Расм 15.3. Пакетлар коммутациясида трафик узатилишини ташкил этиш

 

Пакетлар узатишни шундай йўсинда ташкил этиш трафик пульсациясини бартараф этишга ва тармоқнинг умумий ўтказиш қобилиятини оширишга имкон беради.

Пакетлар коммутациясида бир вақтда узатилаётган маълумотлар ҳажми нисбатан юқори бўлади ва узатиш тезлиги ошади.    

Сарлавҳалар узатилишига вақт сарфланиши, ҳap бир кейинги пакетни  узатишга   зарур  бўлган  вақт,   пакет буферизацияси  ва коммутациясига   сарфланган   вақт   тармоқдан   пакетни   умумий узатиш вақтига таъсир кўрсатади ва шовқинликлар манбаи бўлади.

Пакетли коммутациянинг афзалликлари:

-         пульсацияли     трафикни     узатишда     тармоқнинг     ўтказиш
қобилиятини ошириш имкониятини беради;

-         фойдаланувчилараро трафик  ҳолатини инобатга олган ҳолда, тармоқ  шароитига     нисбатан     физикавий     каналларнинг ўтказиш қобилиятини тақсимлаш имкониятини беради.

Пакетли коммутациянинг камчиликлари:

-     коммутаторларнинг  буферларидаги  халақит  тармоқ  ҳолатига боғлиқ   бўлганлиги сабабли фойдаланувчилараро  узатиш тезлигининг ноаниқлиги;

-         маълумот пакетларининг  ўзгарувчанлиги;

-         буферларда навбатлар ортиб кетганлиги сабабли маълумот
(пакетлар) йўқолиши.

Бу   камчиликларни   бартараф    этиш   мақсадида    турли   усуллар қўлланилади (QoS - Quality   of    Service       каби).    Бундай    усуллар қўлланилиши сабабли пакетлар коммутацияси ҳозирги кунда юқори тезликли тармоқларни ташкил этишда энг самарали  деб тан олинган.

Пакетли коммутация тармоқлари икки ҳил ишлаш тартибига эга: виртуал каналлар тартиби (уланиш орқали алоқа) ва дейтаграммали тартиб (уланишсиз алоқа).

Виртуал каналлар тартиби. Виртуал каналлар тартибида битта ахборот пакетлари белгиланган тартибда ва йўналишда узатилади. 15.4 -расмда иккита виртуал канал ишлаш тартиби келтирилган.  Биринчи N1, A1 охирги тугун манзилига бориш учун  N2, A2 оралиқ коммутатор тармоқлари R1, R3, R4 лардан ўтади. Иккинчиси эса N3, A3 - R5 - R7 - R4 - N2, A2 йўллардан ўтади. Бунда каналлар коммутациясидан фарқ қилган ҳолда алоқа линиялари каналлар орқали турли хил ахборотлар пакетлари (бу вақтинчалик мультиплексорлаш тартиби ёки бўлмаса бошқача қилиб айтганда TDM-Time Division Method) навбатма - навбат узатилаётган пайтда кўплаб ахборотлар билан тақсимланиши ёки оралиқдаги буферларда тўхталиши (ушланиши) мумкин.

      

Расм 15.4. Виртуал канал иш тартиби

 

Қабул қилувчи томонидан юборувчига ахборот олинганлиги тўғрисидаги тасдиқни юбориш орқали маълумотларни тўғри узатиш назорати назарда тутилади. Бу назорат йўналиш барча оралиқ тугунлардаги каби сўнгги тугунда ҳам бўлиши мумкин. Виртуал каналлар тартиби одатда кўп миқдорда маълумот узатилганда ишлатилади.

 Дейтаграммали тартиб. Дейтаграммали тартибда ахборотлар дейтаграммаларга бўлинади. Дейтаграмма - коммутация пакетлари билан ҳисоблаш тармоқларидаги бир хил ахборотнинг бошқа қисмларига боғлиқ бўлмаган ҳолда узатиладиган маълумот қисмидир. Маълумотларни дейтаграммали тартибда узатиш тезроқ амалга оширилади, чунки виртуал уланишни ўрнатиш жараёнига вақт сарфланмайди. 15.5 - расмда пакетли узатишнинг дейтаграммали тамойили келтирилган. Бунда 15.5 - расмдан кўриниб турибдики R1 маршрутизаторига келиб тушган пакетлар охирги тугун N2, A2 манзилига узатилганда иккита йўналиш орқали, яъни R1 ва R3 маршрутизаторлари орқали ҳар бир йўналиш бўйича юкламани камайтиради.

                                                 

Расм 15.5. Пакетли узатишнинг дейтаграммали тамойили

 

Бир хил ахборотнинг дейтаграммалари тармоқларга ҳар хил йўналишлар орқали узатилиши ва манзилга эркин кетма - кетликда келиб тушиши мумкин, бу эса тармоқ блокировка қилинишини келтириб чиқариши мумкин. Йўналишнинг ички бўлимларида маълумотларни тўғри узатиш назорати назарда тутилмаган. Бу фақат ишончли алоқа тугаллангандан кейин тугундаги назорат орқалигина таъминланади. Дейтаграммали тартибда тармоқ блокировкаси деб, ҳисоблаш тармоғининг буфер хотира тугунига хотирани бутунлай тўлдирадиган (банд қиладиган) турли ахборотлар пакетлари келиб тушишига айтилади. Шунинг учун дейтаграммали тартиб кўп ҳолларда кам миқдордаги маълумотлар узатилганда (юборилганда) ишлатилади.

3. Хабарлар коммутацияси

Хабарлар коммутацияси усули ўз вазифалари бўйича пакетлар коммутациясига яқин. Бу усулда маълумотларнинг тўлиқ блоки тармоқнинг оралиқ тугунларида вақтинча сақланиб, транзит тугунлариаро узатилади. Ҳабар таркибидаги ахборот унинг узунлигини белгилайди.

Транзит тугунлар ўзаро боғланишда нафақат пакетли, балки каналлар коммутацияси асосидаги тармоқдан фойдаланишлари мумкин. Хабар оралиқ тугунда бирор вақт сақланиши мумкин ва тармоқ бўшаши билан керакли фойдаланувчига етказилади (15.6 - расм). Бундай ишлаш зарурияти юқори бўлмаган хабарлар етказилишида қўлланилади (мисол учун, электрон хат, матнли хужжат, файл) ва оралиқ «сақлаш билан узатиш» (store- and-forward) усули номини олган. Хозирги кунда хабарлар коммутацияси, асосан, пакетли коммутация тармоқларида қўлланиш поғонаси хизмати сифатида фақат баъзи тезкор бўлмаган хизматлар ташкил этишда қўлланилади.

Расм 15.6. Хабарлар коммутацияси тузилиши

 

Назорат саволлари

1.     Компьютер тармоқларида коммутациялашнинг қандай хилларидан фой­даланилади?

2.     Каналларни коммутациялаш ва пакетларни коммутациялаш каби комму­тациялашнинг хиллари қандай синфларга бўлинади?

3.     Каналларни коммутациялашнинг моҳияти ва хусусиятларини айтиб бе­ринг.

4.     Пакетларни коммутациялашнинг моҳияти ва хусусиятларини айтиб бе­ринг.

Адабиётлар ва интернет ресурслар

1.     Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Учебник. –3-е издание. СПб. Питер. 2006г.

2.     Бройдо В.Л. Архитектура ЭВМ и вычислительных систем. Учебник. 2.е издание. М.: Форум. 2008.

3.     Ватаманюк А. Создание, обслуживание и администрирование сетей. СПб.: Питер. 2010.

4.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

5.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010


XVI-мавзу. Тармоқда маршрутизацияни дастурлаш

 

Режа

1.     Оддий маршрутизация алгоритми

2.     Белгиланган маршрутизация

3.     Адаптив маршрутизация

 

Таянч иборалар: Маршрутизация, тасодифий каналлар, ловинали маршрутизация, белгиланган маршрутизация, адаптив маршрутизация, Локал адаптив маршрутизацилаш, тарқатилган адаптив маршрутизация, марказлашган адаптив маршрутизация.

 

1. Оддий маршрутизация алгоритми

Оддий  маршрутизация алгоритми қуйидагилардан иборат:

1.                Тасодифий каналларни танлаш;

2.                Тугундаги кичик кутиш вақти бўйича каналларни танлаш;

3.                Ловинали маршрутизация.

Тасодифий каналларни танлаш. Тугун, тасодифий маршрутизациянинг қойдасига мувофиқ, қабул қилинган пакет адресатга тушмаганлигини аниқлагандан сўнг, пакетни узатиш учун тасодифан хар қандай бўш канал танланади. Табиийки, пакетни узатиш учун танланган канал эндигина қабул қилинган канал бундан мустаснодир. Юқорида келтирилган жараён давом этаверади, қачонки пакет адресатга келиб тушмагунча. Ушбу услуб бўйича каналлар орқали узатилаётган пакетлар тармоқда айланиб юради. Бироқ бу  услубда  тармоқлараро давомий  эҳтиёт  чораси  сезирарли  етишмовчиликлар мавжуддир: адресатга  пакетларни етказиш учун  кафолат  йўқлиги. Шундай  бўлса ҳам  тасодифий машрутизация услуби  ўзининг  тармоқ  тапологиясига боғлиқ эмаслиги ниҳоятда  диққат  эътиборни жалб қилади.

Тугундаги кичик кутиш вақти бўйича каналларни танлаш (тез узатиш услуби). Ушбу услуб бўйича тугунга келиб тушган пакет, адресатга келиб тушмаганлиги аниқланганидан сўнг, пакетни кейинги тугунга узатиш учун тугундан чиқувчи каналларни узатишдаги кутиш вақти энг кичиги танланади. Кутиш вақти тугагандан сўнг пакет шу канал орқали кейинги тугунга узатилади. Бу жараён давом этаверади, қачонки пакет адресатга етиб бормагунча. Ушбу услубда пакетни  қабул қилгандан сўнг, уни  қўшни тугунга  узатиш орқали  имкон  қадар тезроқ  ундан  холос  бўлишига  ҳаракат қилади. Бу холат эса худди  қайноқ  нарса ушлаб  олган одамнинг холатини эслатади.  Ушбу услубда “пинг-понг” эффекти содир бўлади.

Ловинали маршрутизация. Машрутизациянинг  бошқа бир оддий тури, қайсики  фақтгина  тармоқ  тапологияси ҳақидаги маълумотларига эҳтиёж йўқлиги ловинали маршрутизациясига талуқлийдир. Ловинали маршрутизацияни асосий маъноси қуйидагидан иборат. Пакет тугунга келиб тушгандан сўнг, қанча чиқувчи каналлар бўлса, келиб тушган пакетдан шунча нусҳа олинади ва пакет келиб тушган каналдан ташқари бошқа каналлар орқали узатилади. Пакетларни   тугунлар орқали узатилиши кетма – кетлигининг  сонини  чегараланди, бу чегаралиниш сони –пакетни энг минимал узатилиш йўлидаги тугунлар сонидан юқори бўлади. 

Маршрутизациянинг бу услуби бўйича пакетлар адресатга энг қисқа йўл билан етказилади. Ушбу услубни асосий афзаллиги энг қисқа йўл билан етказишдан ташқари, топологияга боғлиқ эмаслигидир. Ушбу услуб юклама озлигида унинг самадорлиги юқори бўлади.

 

2. Белгиланган маршрутизация

Маршрутизациянинг барча оддий турларидан бири, эҳтимол, айниқса оддий ва равшан белгиланган маршрутизация ҳисобланади. Бу услубда  мутахассис ёки марказий тармоқни бошқарувчи томонидан ҳар бир тугунга олиндан тайёрланган (статистика йўли билан тайёрланган) маршрутизация жадвалини жойлаштиради.

Маршрутизация жадвалида адресат ва узатувчи орасидан барча жуфт манбалар ўртасида энг қисқа йўлини аниқлаш мумкин (маршрутизация жадвали тузилган даврда). Кўриш мумкинки, юклама паст бўлган тармоқда бу маршрутизация жуда яхши натижаларни беради. Тармоқда пакетларни кутиш қийматлари минимал кўринишда бўлади. Бироқ тармоқда юкламани жадал суръатлар билан ошиши бу услубнинг самарадорлигини тезда пасайтиради. Бунинг натижасида, қисқа йўлни кўрсатувчи маршрутизация жадвали, тармоқ имкониятларини ноаниқ ишлатилишига олиб келади. Баъзи каналлар ва тугунлар юқори юкламада ишлаши ва шу вақтнинг ўзида бошқа каналлар ва тугунлар паст юкламада ишлаши мумкин. Маршутизация жадвали маълум вақт оралиғида ўзгартирилиб борилади. Ўзгартирилган маршрутизация жадвали хамма тугунларга тарқатилади. Ушбу услубнинг асосий афзаллиги бу унинг соддалигидир. Тармоқда айрим каналлар ва тугунлар юқори юкламада ишласа, шу вақтда бошқа каналлар ва тугунлар паст юкламада ишлайди.

 

3.  Адаптив маршрутизация

Адаптив маршрутизациялар, хозирги кунда мавжуд тармоқда ишлатилиб келаётганлиги хамда пакетларни тармоқда узатиш учун маршрутларини аниқлаш бу маълумот тармоқнинг холатига қараб аниқланганлиги инобатга олиб Адаптив маршрутизациялар қуйидагиларга бўлинади:

-         Локал адаптив маршрутизацилаш;

-         Тарқатилган адаптив маршрутизация;

-         Марказлашган адаптив маршрутизация.

Локал адаптив маршрутизация. Ишлаб чиқариш ва ривожлантириш нуқтаи назаридан адаптив маршрутизациянинг бошқа услубларига нисбатан локал адаптив маршрутизация одий ҳисобланади, қайсики маршрутизация жадвали фақатгина шу тугунга ва унга қўшни бўлган тугунларга таълуқли маълумотлар асосида қурилади. Қарор қабул қилишда зарур бўлган маълумотлар, маршрутизация жадвалида тармоқларни олдиндан юкланишини (нагруженность) ўзида ифода этади, чиқиш каналларини  ўтувчи ахборотилар учун унинг холатини (очиқ ёки ёпиқ) ва пакетлар навбатининг узунлиги, ҳар бир каналлар учун узатишни кутувчи вақтини ўз ичига олади.

Локал адаптив маршрутизация услуби орқали маршрутизация жадвалини хосил қилишда асосан каналларни холати, тармоқ топологияси, кутиш вақтларини инобатга олган холда тузилади. Бу тузилишлар жуда кўп хисоблашлар натижасида амалга оширилади.

Марказлашмаган (распределенная) адаптив маршрутизация. Ушбу услубнинг асосий мақсади, бу тармоқда узатилаётган пакетлар учун энг қисқа йўлни танлаш. Бунинг учун хар бир тугун тармоқдаги барча тугунлар учун ушбу тугундаги холатини инобатга олган холда энг қисқа маршрутини танлаб матрица маршрутизацияни тайёрлайди ва хар бир тугунга тарқатади.

Тармоқ ишга туширилишидан олдин кутиш вақти, маршрутизация жадваллари асосан тармоқ топологиясини инобатга олган холда тузилади, сўнгра тармоқнинг реал холати учун, ўлчов ишларини амалга ошириб  ўзгартирилади. 

Хар бир тугун ўзнинг реал холатидан келиб чиқиб кутиш вақтини ҳисоблаб бошқа тугунларга узатади. Бошқа тугунлар хам ўз навбатида, кутиш вақтларини ҳисоблаб, бошқа тугунларга узатадилар. Кутиш вақлари алмашинуви тугагандан сўнг, хар бир тугун тармоқдаги тугунлар холатини инобатга олган холда ўзида кутиш вақти бўйича қайта хисоблаб машрутизация жадвалини тузади.

Тармоқда тугунлар орасидаги кутиш вақтлари бўйича тузилган маршутизация жадвалларини алмашинуви ўз навбатида ёрдамчи (служебний) юкламани ошишига сабаб бўлди. Тармоқда тугунлар орасидаги кутиш вақтлари бўйича тузилган маршутизация жадвалларини алмашинуви 2-3 секунд орасида амалга оширилди. Бу ўз навбатида, тармоқда тугунлар орасидаги кутиш вақтлари бўйича тузилган маршутизация жадвалларини алмашинуви каналларнинг ўтказувчанлик қобилиятларини 50фоиз банд этди. Шу сабали тармоқда синхрон равишда тугунлараро маршутизация жадвалларини алмашинуви тўхтатилиб, асинхорн алмашинувига ўтилиши таклиф этилди. Асинхрон алмашинув бу асосан қайси тугунда “кўпроқ ўзгариш” содир бўлган бўлса, шу тугун бошқа тугунларга ўзгариш натижаларини узатади. Бунинг натижасида тармоқдаги каналларнинг ўтказувчанлик қобилиятларини ёрдамчи юкламалар томонидан банд этилиши кескиш камайтиради. Ушбу услуб тармоқда ўз қўлланишини топмади. Бу ерда “кўпроқ ўзгариш”ни аниқлаш мушкил масала хисобланади. 

Асинхрон усул катта фойда бериши мумкинлигига қарамай, у ARPA тармоғига жорий этилмади. Амалга оширилган ягона ўрганиш шундан иборат бўлдики, ўтказиш полосаси тор бўлган каналлар бўйича кутилиб қолишлар жадвалларини алмашиш частотаси камайди, бу хизмат трафики улушини камайтиришнинг етарлича оқилона воситаси бўлади.

Тармоқнинг холати тўғрисидаги ахборотни янгилашнинг синхрон режими (таркиби)да тармоқнинг узоқлашган участкаларида юз бераётган ходисаларга тугунларнинг мослашиш тезлиги муқаррар жуда кичик бўлади. Масалан, ARPA тармоғида Шимолий Америка қийъаси орқали энг узун        линиялардан бири бўйича маршрут (йўналиши) ахборотининг тарқалиш вақти тугундан -тугунгача узатиш 2/3 с бўлиб, бир неча секундга етади. Шунинг учун тармоқ тугунларини унинг бирор компонентидаги носозлик тўғрисида хабардор қилиш учун, у йўналишлар тизимини анча қайта қуришни талаб қилгани сабабли, жуда кўп вақт талаб этилади. Янги йўналишлар ишлаб чиқилмагунча, тугунлар трафикни эски йўллар бўйича жўнатади, бу тармоқнинг носоз компоненти атрофида ортиқча юкланишини вужудга  келтириши мумкин. Бу мулоҳозалар асинхрон услуб(режим) фойдасига яна бир далил бўлиб, бунда маршритларни (йўналишларни) қайта қуриш синхрон услуб учун, хос бўлган ҳар бир бўғинда мажбурий 2/3 секундни мавжудлиги, асинхрон услубларда эса- сезиларли ўзгаришини маълум бўлиши билан дархол маршрутизация жадвалларига ўзгартирилишлар кирититлиши юз беради.

Тугунлар орасидаги минимал кутилишлар жадвалларини алмаштириш йўли билан маршрутларни  бошқариш жараёни кутилишларини камайтиришга мослашишнинг хақиқатан хам яхши қобилияти билан ифодаланади, бироқ иккинчи томондан у кутилишни ортишига секинроқ таъсир кўрсатади: бошқача айтганда, “яхши хабарларга” тез мослашиш, “ёмон хабарларга” скин мослашиш юз беради.

Марказлашган адаптив маршрутизация. Шу пайтгача мухокама қилинган маршрутлаштиришнинг адаптив алгоритмлари ўз ишлари учун ёки махалий ахборотдан, ёки қўшни тугунлар билан алмашув жараёнида олинган ахборотдан фойдаланади. Биз бундай турдаги алгоритмлар тармоқдаги узоқ жойлашган ҳодисаларга жуда секин мослашишини, бу маршрут  ахборотининг тармоқ бўйлаб тарқалиш тезлиги кичик эканлиги оқибатида юз беришини таъқидлаб ўтган эдик. Шунинг учун ахборотларни ишлаб чиқувчилар ўз қарорларини бутун тармоқ холати тўғрисидаги ахборотга асосланган усулларни излашди. Бутун тармоқ холати тўғрисидаги тушунчани шакллантириш усулларидан бири, тармоқда маршрутлаштириш марказини ташкил этишдир, шунда тармоқ марказлашган адаптив маршрутлаштириши принципи бўйича фаолият кўрсатади. Бундай маршрутлаштиришда тармоқнинг хар бир бўғини ўзининг холати тўғрисида хабар тайёрлаб туради, унда навбатларнинг жорий узунликлари, трактларининг иш қобилияти ва х.к. лар тўғрисида ахборот бўлади, бу хабарлар тармоқнинг маршрутлаштириш марказига узатилади. Бундай хабарлар йиғиндисидан марказий боғлама тармоқ ҳолатининг глобал манзарасини тузади, ундан фойдаланиб у тармоқда трафик учун энг яхши йўналишларни (маршрутларни) аниқлаб бериш мумкин. Бу йўналишлар маршрутлаштириш жадваллари кўринишида расмийлаштирилиб, тармоқнинг барча тугунларига тарқатилади. Тармоқнинг холати тўғрисидаги ахборотни тўплаш учун, бошқарувчи марказ бошқариш кўрсатмаларини тарқатиш усулига боғлиқ ҳолда тармоқдаги маршрутлаш тартиби синхрон ва асинхрон бўлиши мумкин. Синхрон тартибда маршрутлаштириш мақсадлари учун узатиладиган хизматчи ахборотнинг ҳажми ҳаддан ташқари катта бўлиши мумкин, айниқса поғонали  топологияли  тармоқлар учун ва бу машрутлаштириш учун катта харажатлар сарфлашга олиб келади. Асинхрон тартибда хизматчи ахборотлар оқими анча кам бўлганда. Бир қарашда, маршрутлаштириш маркази тармоқда унинг ўзтказиш қобилиятини энг самарали фойдаланган ҳолда қулай йўналишлар танламоқда. Маршрутлаштиришнинг бу турига хос бўлган муқаррар вақтли кутилишлар бўлмаганда эди, бу хақиқатдан ҳам яхши бўларди.

Даставвал тармоқ тугунларининг холати тўғрисидаги хабарларни жўнатиш ва уларнинг марказий бошқарув боғламасига келиб тушиши ўртасида кутилиш бўлади; узоқдаги тугунлар учун бу кутилишлар жуда катта бўлиши мумкин. Марказ маршрутларини ҳисоб-китоб қилишни тугатгандан сўнг, бу ўз-ўзидан кўп вақтни талаб қилиши мумкин, маршрутлаштиришнинг янгиланган жадвалларини тармоқнинг барча тугунларига қайта жўнатиш ҳам анча вақт олиши мумкин. Шундай қилиб, маршрутизалаштириш маркази қисман эскирган ахборот асосида ҳаракат қилади ва тугунларга бошқарувчи фармойишлар чиқаради, улар эса тармоқ тугунларида олинган вақтда яна ҳам эскирган бўлади. Трафик оқимлари жуда тез ўзгарадиган тармоқ учун бу турдаги маршрутлаштириш алгоритми етарлича самарали бўлишини айтиш қийин.

Марказий бошқарувчи тугунннинг мавжудлиги тармоқда маршрутлаштиришни бошқаришнинг йўқотилишига олиб келиши мумкин. Масалан, марказий тугун ишдан чиқганда ёки ундан тармоқ қисми изоляция (ажратилганда) ланганда, бу ҳолда тугунлар марказдан олинган охирги маршрутлаштириш жадвалларидан фойдаланишда давом этишлари керак. Бошқарувчи марказдан воз кечишдан химоя қилувчи чоралардан бири тармоқнинг турли қисмларида маршрутлаштиришнинг қўшимча захира марказларини киритишдан иборат бўлиб, уларнинг хар бири бошқарувчи марказ ишдан чиқиб қолганда тармоқни бошқаришни ўз зиммасига ўтказиши мумкин бўлсин. Бошқаришнинг ёрдамчи марказга ўтишини аниқлаш, бошқаришни асосий бошқарувчи марказга унинг иш қобилияти тикланганидан сўнг ёки алоқа линиялари тиклангандан сўнг қайта ўтказиш ишлари амалга оширилади.

 

Назорат саволлари

 

1.     Оддий маршрутизация алгоритми

2.     Белгиланган маршрутизация

3.     Адаптив маршрутизация

4.     Тасодифий каналларни танлаш

5.     Тугундаги кичик кутиш вақти бўйича каналларни танлаш;

6.     Ловинали маршрутизация

7.     Локал адаптив маршрутизацилаш

8.     Тарқатилган адаптив маршрутизация

9.     Марказлашган адаптив маршрутизация

 

Адабиётлар ва интернет ресурслар

 

1.     Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Учебник. –3-е издание. СПб. Питер. 2006г.

2.     Ватаманюк А. Создание, обслуживание и администрирование сетей. СПб.: Питер. 2010. 

3.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

4.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

5.     Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

 

 

XVII-мавзу. Тармоқни дастурлашда амалий поғона протоколлари ва API (Application Programming Interface)

 

Режа

1.     Тармоқни дастурлашда протоколлардан фойдаланиш.

2.     Тармоқ протоколлари ва уларнинг таснифи.

3.     Тармоқ протоколларини дастурлаш.

 

Таянч иборалар: International Organization for Standardization, International Telecommunication Union, Hyper Text Transfer Protocol, File Transfer Protocol, Post Office Protocol, Simple Mail Transfer Protocol.

 

1. Тармоқни дастурлашда протоколлардан фойдаланиш

Маълумотларни узатиш протоколи – мантиқий сатҳ интерфейсининг келишувлари тўплами бўлиб, турли дастурлар ўртасида маълумотлар узатилишини аниқлайди. Ушбу келишувлар у ёки бу интерфейс билан уланган ва турли жойларда ўрнатилган аппаратураларнинг дастурий таъминоти билан ўзаро алоқада ишлашда хабарларни узатиш ва хатоларни қайта ишлашнинг ягона усулини таъминлайди.

Маълумотларни узатишнинг стандартлаштирилган протоколи аниқ бир аппарат платформасига ёки ишлаб чиқарувчи (масалан, USB, Bluetooth) га боғлиқ бўлмаган интерфейсларни (физик сатҳда) ишлаб чиқиш имконини беради.

Сигнал протоколи уланишни бошқариш учун ишлатилади, масалан, алоқани ўрнатиш, қайта адресациялаш ва узиш. Протоколлар намуналари: RTSP, SIP. Маълумотларни узатиш учун RTP каби протоколлардан фойдаланилади.

Тармоқ протоколи – тармоқ уланган икки ёки ундан ортиқ қурилмаларнинг ўзаро уланиши ва маълумотлар алмашувини таъминловчи қоида ва амаллар (амаллар кетма-кетлиги) тўплами.

Турли протоколлар, одатда, бир турдаги алоқанинг турли томонларини тавсифлайди холос. “Протокол” ёки “Протоколлар стеки” тушунчалари протокол томонидан реализация қилинадиган дастурий таъминотни ҳам тавсифлайди.

Интернет учун янги протоколлар IETF томонидан, бошқа протоколлар эса IEEE ва ISO томонидан аниқланади. ITU-T телекоммуникацион протоколлар ва форматлар билан шуғулланади. Тармоқ протоколлаини классфикация қилишнинг кенг тарқалган тизимларидан бири OSI модели бўлиб, ушбу моделга мувофиқ тарзда протоколлар 7 сатҳга ажратилади – физик (электрик ёки бошқа сигналларни шакллантириш ва ўқиш) сатҳдан амалийгача (ахборотларни иловалар орқали узатиш учун иловаларн дастурлаш интерфейси).

Тармоқ протоколлари тармоққа уланган компютерларнинг ишлаш қоидаларини белгилайди. Улар кўп сатҳли принцип асосида қурилади. Маълум сатҳ протоколи алоқанинг техник қоидаларидан бирини аниқлайди. Ҳозирги вақтда тармоқ протоколлари учун OSI (Open system interconnection – очиқ тизимларнинг ўзаро боғлиқлиги) моделидан фойдаланилади.

TCP/IP — маълумотларни узатиш протоколлари тўплами бўлиб, унга тегишли бўлган икки протоколлардан ўз номини олган: TCP (ингл. Transmission Control Protocol) ва IP (Internet Protocol).

Интернет тармоғида фойдаланиладиган энг машҳур протоколлар:

-   HTTP (Hyper Text Transfer Protocol) — гиперматнни узатиш протоколи. HTTP протоколи Web-саҳифаларни битта тармоққа уланган компютерлар ўртасида узатишда фойдаланилади.

-   FTP (File Transfer Protocol) — махсус файл серверидан фойдаланувчи компютерига файлларни узатиш учун фойдаланиладиган протокол. Ушбу протоколи абонентга иккилик ва матн файлларини тармоқдаги ихтиёрий компютер билан алмашиниш имконини беради. Узоқлаштирилган компютер билан уланиш ўрнатиб, фойдаланувчи узоқлаштирилган компютердан файл нусхасини олиши ёки аксинча амалларни бажариши мумкин.

-   POP (Post Office Protocol) — почта уланиш стандарт проткооли. POP серверлари кирувчи почтани қайта ишлайди, POP протоколи клиент почта дастурларидан почтани қабул қилиш сўровларини қайта ишлашга мўлжалланган.

-    SMTP (Simple Mail Transfer Protocol) — почтани узатиш қоидаларини белгиловчи протокол. SMTP серви қабул қилганлик ёки хатолик ҳақида хабарлар узатади ёки қўшимча ахборотларни сўрайди.

-   TELNET — узоқлаштирилган кириш протоколи. TELNET абонент билан бир тармоқда жойлашган ихтиёрий ЭВМ да хусусий компютерда ишлагандек ишлаш имконини беради, яъни дастурларни ишга тушириш, иш режимини ўзгартириш ва ҳоказолар. Амалиётда имкониятлар узоқлаштирилган машина администратори томонидан белгиланган кириш даражаси билан чегараланади.

Бошқа протоколлар:

-   DTN – узоқ космик алоқа IPN тармоқларига мўлжалланган протокол.

 

2. Тармоқ протоколлари ва уларнинг таснифи.

Бугунги кундаги телекоммуникациянинг мультисервис  тармоқлари ва инфокоммуникацион тармоқлар ахборот ва телекоммуникация технологияларининг жадал ривожланиши ва интеграцияси натижасида юзага келди. Таъкидлаш жоизки, бу технологиялар интеграцияси  маълумотларни юқори тезликда қайта ишлаш ва узатиш имконини бермоқда.

Ушбу интеграциянинг эътиборли томони шундаки, телекоммуникацион технологияларининг ахборот технологиялари асосидаги дастурий ечимлари мавжуд тармоқлар  хизматларининг  конвергенциясига олиб келди. Ушбу дастурий таъминотлар бугунги кунда тармоқ дастурий иловалари деб номланади. Улар бевосита барча турдаги алоқа қурилмалари ўртасида алоқани ташкиллаштириш, бошқариш ва бошқа шу каби асосий вазифаларни бажаради.

Замонавий телекоммуникация тармоқларида барча маълумот узатиш қурилмалари ва терминаллари маълум бир ўрнатилган дастурий таъминотлар асосида ишлайди. Телекоммуникация қўлланилувчи технология ва протоколлар дастурий таъминотлар кўринишида алоқа қурилмаларида ўрнатилади. Ушбу дастурий таъминотлар компютерлар ва алоқа қурилмалари ўртасида самарали, хавфсиз ва ишончли маълумот  алмашиш имконини беради.

Бугунги кундаги телекоммуникация тармоқ дастурий таъминотлари ва иловалари асосан IP технологияси асосида  қурилган тармоқлар учун мўлжалланган. IP тармоқларнинг ишлаш принциплари асосан TCP/IP модели  асосида тавсифланади. Тармоқ қурилмаларини ишлаб чиқаришда ҳам ушбу модел асос бўлиб ҳизмат қилади. Шу сабабли IP тармоқлар учун тармоқ дастурий таъминотлари ва иловаларини яратиш моделини TCP/IP модели  орқали тавсифлаш мумкин(17.1-расм).

 

Расм 17.1. Тармоқни дастурлаш модели

 

Телекоммуникация тармоқ дастурий таъминотини лойиҳалашда узатиш муҳитидан қатъий назар замонавий хизматларни тақдим этиш ва таъминлаш ҳисобга олинади.   Ушбу модел тармоқда турли хизматларни тақдим этишда дастурий таъминотларини яратиш учун асос бўлиб ҳизмат қилади.

Моделнинг биринчи поғонаси турли узатиш муҳитлари, симли ва симсиз абонент кириш технологиялари учун ёзиладиган қурилмалар драйверлари ва ёрдамчи иловаларни тавсифлайди.

Моделнинг иккинчи поғонаси TCP/IP технологиялари асосида телекоммуникация тармоқлари қурилмаларини мантиқий боғлаш ва улар ўртасида маълумотларни пакетли кўринишда алмашиш жараёнини дастурлашни тавсифлайди.

Моделнинг учинчи поғонаси телекоммуникация тармоқларида қўрсатиладиган хизматларни тақдим этиш дастурий таъминотлари тавсифлайди.

Тармоқ дастурий таъминотлари асосан бирор операцион тизим учун яратилади. Бугунги кунда тармоқ қурилмалари ва сервер дастурларини яратишда Linux/Unix ва Microsoft Windows операцион тизимларидан кенг фойдаланилади.  

Телекоммуникация тармоқ дастурий таъминотларини яратишда асосан объектга йўналтирилган дастурлаш тилларидан кенг фойдаланилади. Тармоқ қурилмаларининг дастурий таъминотлари асосан Assembler, С/С++ каби дастурлаш тилларида,  абонент терминаллари,  компютерларнинг иловалари эса С/C++, C#, Java, Visual basic, J# ва бошқа дастурлаш тилларида ёзилади.

Таъкидлаш жоизки, телекоммуникация тармоқ дастурий таъминотлари ва иловалари ахборот-коммуникацион технологиялари ва мультисервис тармоқларининг ривожланишида муҳим аҳамият касб этади. Замонавий ахборот-коммуникация тизимларини лойиҳалашда тармоқ дастурий таъминотларини яратиш модели асосий модел бўлиб хизмат қилади.

 

3. Тармоқ протоколларини дастурлаш.

Телекоммуникация тармоқ қурилмаларининг дастурий таъминотларини лойиҳалаш ва яратишда асосан объектга йўналтирилган дастурлаш тиллари ва воситаларидан кенг фойдаланилади. Тармоқ қурилмаларининг дастурий таъминотлари асосан Assembler, С/С++ каби дастурлаш тилларида,  абонент терминаллари,  компютерларнинг иловалари эса С/C++, C#, Java, Visual basic, J# ва бошқа дастурлаш тилларида ёзилади.

C++ дастурлаш тили C тилига асосланган. C эса ўз навбатида B ва BSPL тилларидан келиб чиққан. BSPL 1967 йилда Мартин Ричардс томонидан тузилган ва операцион системаларни ёзиш учун мўлжалланган еди. Кен Томпсон ўзининг B тилида BSPL нинг кўп ҳоссаларини киритган ва B да Unix операцион системасининг биринчи версияларини ёзган. BSPL ҳам, Б ҳам типсиз тил бўлган. Яни ўгарувчиларнинг маълум бир типи бўлмаган - ҳар бир ўзгарувчи компютер ҳотирасида фақат бир байт майдон егаллаган. Ўзгарувчини қандай сифатда ишлатиш эса, яъни бутун сонми, касрли сонми ёки ҳарфдекми, дастурчи вазифаси бўлган.

C тилини Деннис Ритчие  дан келтириб чиқарди ва уни 1972 йили илк бор Белл Лабораториясида, DEC PDP-11 компютерида қўллади. C ўзидан олдинги B ва BSPL тилларининг жуда кўп муҳим томонларини ўз ичига олиш билан бир қаторда ўзгарувчиларни типлаштирди ва бир қатор бошқа янгиликларни киритди. Бошланишда C асосан Unix системаларида кенг тарқалди. Ҳозирда операцион системаларнинг асосий қисми C/C++ да ёзилмоқда. C машина арҳитектурасига боғланган тилдир. Лекин яҳши режалаштириш орқали дастурларни турли компютер платформаларида ишлайдиган қилса бўлади.

1983 йилда, C тили кенг тарқалганлиги сабабли, уни стандартлаш ҳаракати бошланди. Бунинг учун Америка Миллий Стандартлар Комитети (ANSI) қошида X3J11 теҳник комитет тузилди. Ва 1989 йилда ушбу стандарт қабул қилинди. Стандартни дунё бўйича кенг тарқатиш мақсадида 1990 йилда ANSI ва Дунё Стандартлар Ташкилоти (ISO) ҳамкорликда C нинг ANSI/ISO 9899:1990 стандартини қабул қилишди. Шу сабабли C да ёзилган дастурлар кам миқдордаги ўзгаришлар ёки умуман ўзгаришларсиз жуда кўп компютер платформаларида ишлайди.

C++ 1980 йиллар бошида Бжарне Строуструп томонидан C га асосланган тарзда тузилди. C++ жуда кўп қўшимчаларни ўз ичига олган, лекин енг асосийси у объектлар билан дастурлашга имкон беради.

Дастурларни тез ва сифатли ёзиш ҳозирги кунда катта аҳамият касб етмоди. Буни таъминлаш учун объектли дастурлаш ғояси илгари сурилди. Ҳудди 70-чи йиллар бошида структурали дастурлаш каби, программаларни ҳаётдаги жисмларни моделлаштирувчи объектлат орқали тузиш дастурлаш соҳасида инқилоб қилди.

C++ дан ташқари бошқа кўп объектли дастурлшга йўналтирилган тиллар пайдо бўлди. Шулардан энг кўзга ташланадигани Херох нинг Пало Алтода жойлашган илмий-қидирув марказида (PARC) тузилган Смаллталк дастурлаш тилидир. Смаллталк да ҳамма нарса объектларга асосланган. C++ еса гибрид тилдир. Унда C га ўҳшаб структурали дастурлаш ёки янгича, объектлар билан дастурлаш мумкин. Янгича дейишимиз ҳам нисбийдир. Объектли дастурлаш фалсафаси пайдо бўлганига ҳам йигирма йилдан ошаяпти.

C++ функсия ва объектларнинг жуда бой кутубҳонасига ега. Яъни C++ да дастурлашни ўрганиш икки қисмга бўлинади. Биринчиси бу C++ ни ўзини ўрганиш, иккинчиси еса C++ нинг стандарт кутубҳонасидаги тайёр объект/функсияларни қўллашни ўрганишдир.

Java дастурлаш тили тақсимланган илованинг барча компонентлари ўртасида динамик маълумот алмашишни ташкил қилиш учун барча воситаларга ега. Шунинг учун Java масофадан мониторинг, диагностика қилиш, бошқариш учун дастурий таъминот ишлаб чиқиш учун мос келади.

Java технологияси ўта содда, хавфсизликни юқори даражада таъминлаб бера оладиган, кучли, тўла обектга йўналтирилган дастурлаш тили бўлиб, муҳит (платформа)га боғлиқ бўлмаган ҳолда ишлайди. У билан хатто енг кичик қурилмаларга ҳам дастурлар ёзиш мумкин. Java технологияси тўлалигича Java Virtual Machine (JVM) га асосланган. JVM нинг вазифаси таржимонлик яъни, дастлаб биз ёзган *.жава файлни cомпилятор ёрдамида байт кодга ўгирилади ва JVM ёрдамида еса машина тилига ўгирилади. Жава технологиялари:

-     Java SEJava SE ёки Java Standart Edition, серверда, шахсий компютерда десктопларда ишловчи дастурлар, апплетлар яратиш учун ишлатилади. Бу технология ёрдамида яратилган дастурлар деярли барча Операцион тизимларда ишлай олади (Windows NT, Macintosh, Linux va Solaris). Шу билан бирга Java SE бошқа Java турларининг асоси ҳисобланади.

-     Java EE Java Enterprise Edition Java технологиялари орасида енг кенг тарқалган тури ҳисобланиб унда асосан серверда ишловчи дастурлар яратилади. Масалан, кўп фойдаланувчиларга мўлжалланган wеб-сайтлар яратишда кенг қўлланилади ва асосан интернетда ишловчи дастурларда қўлланилади. Java SE ни Java EE дан энг асосий фарқи Java EE ўз таркибига  Java SE ни олибгина қолмай шу билан бирга кўпгина бошқа қўшимча кутубхоналарни (одатда *.жар) ҳам ўз ичига олади яъни: Servlet, JavaMail, JSF(Java Server Face) ва бошқа кўпгина интернетга асосланган қўшимча кутубхоналар.

-     Java MEJava ME ёки Java Micro Edition Java SE нинг баъзи қисмларини ўз ичига олади. JavaME ёрдамида кичик қурилмалар учун даструлар ёзиш мумкин. Масалан, мобил телефон учун ўйинлар, дастурлар яратиш мумкин.

-     Java дастурлаш тилига асосланган ечимлар қуйидаги афзалликларга ега:

-     Java нисбатан оддийроқ дастурлаш тили бўлиб ҳисобланади. Ишончли дастурий кодни тезда яратишга хотиранинг автоматик бошқарилиши, кўп каррали ворислик ва кўрсаткичларнинг бўлмаслиги ёрдам беради;

-     Java нинг байтли коди кўп ҳолларда операцион тизим ёки процессордан мустақил бўлади. Шу сабабли Жава тилидаги иловалар бошқа платформаларга осонлик билан ўтказилади;

-     JNI va CORBA технологиялари ёрдамида бошқа дастурлаш тилларида яратилган обектлар билан алоқани ташкил қилиш мумкин.

Java дастурлаш тилининг синтаксиси C# дастурлаш тилининг синтаксисига ўхшаб кетади, шу сабабли Жава тилининг синтаксиси диплом лойиҳасида келтирилмайди.

Java дастурлаш тилининг енг асосий камчилиги жуда катта аппарат ресурсларидан фойдаланиши ҳисобланади. Ўтказилган тажрибаларга кўра бир хил вазифа C, C++ дастурлаш тилига қараганда Java тилида 1,5-2 баравар секинроқ амалга ошади. Бунда оператив хотирага жуда катта юкланиш берилади. Windows операцион тизимида Java тилида ишлаб чиқилган дастурни ўрнатиш учун Java virtual machine компонентини ўрнатиш лозим.

Обектга йўналтирилган дастурлаш тили. 1998-2001 йилларда Microsoft .NET Framework платформаси учун иловалани ишлаб чиқиш тили сифатида Microsoft компаниясида Андрес Хейлсберг бошчилигидаги инженерлар гуруҳи томонидан ишлаб чиқилган. Microsoft компанияси томонидан янги дастурлаш тилини ишлаб чиқилишининг сабабларидан бири – янги .NET платформаси учун обектга йўналтирилган тилни яратиш зарурати бўлса, яна бир сабаб – Java дастурлаш тилига алтернатив яратиш бўлган.

Visual C# такомиллашган код редактори, қулай фойдаланувчи интерфейсли конструктор, интеграцияланган хатоликларни топувчи (debugger) ва бошқа бир қатор воситалар C# тили ва Microsoft .NET Framework асосида иловалар яратишни осонлаштиради.

C# дастурлаш тилида ёзилган дастур . Microsoft .NET Framework муҳитида бажарилади. Бу муҳит Wиндоwс операцион тизимига интерграцияланган ҳамда амалга оширишнинг виртуал тизими (CLR муҳити) ва синфлар кутубхонасига ега.

C# тилида ёзилган код CLI таснифига мос оралиқ тил (IL) га компиляцияланади. ИЛ коди ҳамда сатрлар ва растр тасвирлари ЕХЕ ёки EXE кенгайтмасида дискда, тўплам деб аталадиган, бажариладиган файлда сақланади.

C# тилида дастури юкланганда тўплам CLR муҳитига юкланади. Кейин еса, агар хавфсизлик талаблари бажарилганлиги аниқланса, CLR муҳити IL кодини машина кодига ўтказиш учун JIT -компиляцияни амалга оширади. CLR муҳити, шунингдек ортиқча маълумотларни автоматик йиғиш, ресурларни бошқариш каби хизматларни ҳам амалга оширади.

 

Назорат саволлари

1.     Тармоқни дастурлашда протоколлардан фойдаланиш.

2.     Тармоқ протоколлари ва уларнинг таснифи.

3.     Тармоқ протоколларини дастурлаш.

 

Адабиётлар ва интернет ресурслар

1.    Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.-6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.    TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.    Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.    The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.    Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 

 

 

 

XVIII-мавзу. Тармоқ хавфсизлигини дастурлаш

 

Режа

1.     Маълумотларни узатиш тармоқларида ахборот химоясини таъминлаш.

2.     Алоқа каналларида маълумотларни химоялаш усуллари.

 

Таянч иборалар: маъмурлаш, конфиденциалликни   таъминлаш, функционал талаблар, фойдаланувчини аутентификациялаш, маълумотлар   яхлитлигини   таъминлаш, хавфни билдирувчи сигнални генерациялаш, аудит, мосланувчанлик.

 

1. Маълумотларни узатиш тармоқларида ахборот химоясини таъминлаш

Маълумотларни узатиш тармоқларида ахборот химоясини таъминлаш масаласи маълумотлар узатиш тармоғининг муайян архитектурасини амалга оширувчи ва унинг барқарор ишлашини таъминловчи аппарат-дастурий воситалари билан боғлиқ ҳолда ечилиши лозим.

Маълумотларни узатиш тармоқларида ахборот хавфсизлигини таъминлашга қуйидаги талаблар қўйилади:

- маълумотларни узатиш тармоқларида ахборот хавфсизлигига бўладиган маълум тахдидлардан химоялаш хизмати ва механизмларини белгиловчи функционал талаблар;

-        ахборот хавфсизлигига бўладиган маълум тахдидлардан химоялаш механизмини маълумотларни узатиш тармоғи  архитектурасига қай тарзда жорий этилиши лозимлигини белгиловчи архитектуравий талаблар;

-        бошқаришнинг қандай функциялари ишлаб чиқилиши ва улар қай тарзда   маълумотларни   узатиш   тармоғига   жорий   этилишини   белгиловчи бошқариш (маъмурлаш) талаблари.

Функционал талаблар. Маълумотларни узатиш тармоғи компонентларига ва архитектурасига реал таъсир этувчи умумий функционал талаблар қуйидагилар:

- фойдаланувчини аутентификациялаш. Маълумотларни узатиш тармоғида ахборот хавфсизлигини таъминловчи тизим ахборотни (маълумотларни) узатиш жараёнида иштирок этувчи компонентининг (объект, субъект ва фойдаланувчининг) хақиқийлигини аниқлаш имкониятини таъминлаши лозим;

- назоратланувчи фойдаланиш. Маълумотларни узатиш тармоғида ахборот хавфсизлигини таъминловчи тизим тармоқ субъектлари ва фойдаланувчиларининг рухсат этилмаган ахборот ресурсларидан фойдалана олмасликларини кафолатлаши лозим;

- конфиденциалликни   таъминлаш.   Конфиденциалликни   таъминлаш хизмати асосан маълумотларни узатиш тармоғини ахборот мухитини очиш, ахборотдан рухсатсиз фойдаланиш ва ўғирлаш имкониятларидан химоялаш учун зарур хисобланади;

-        маълумотлар   яхлитлигини   таъминлаш.   Маълумотларни   узатиш тармоғида ахборот хавфсизлигини таъминловчи тизим таркибида фойдаланувчи ва бошқариш ахбороти бўлган маълумотларнинг сақланиш ва узатилиш яхлитлигини кафолатлаши лозим. Маълумотларнинг бўзилиши, сохталаштирилиши,  кечиктирилиши,  рухсатсиз  қайталаниши  ахборот  узатилишининиг блокировка килинишига олиб келиши мумкин;

- қатьий хисоб-китоб. Маълумотларни узатиш тармоғи ресурсларидан фойдаланувчи хар қандай субъект бажарган хар қандай амаллари учун жавоб бериши лозим. Маълумотларни узатиш тармоғи устида килинган барча харакатлар ва тармоқда содир бўлган барча ходисалар хусусидаги ахборотнинг сақланиш имконияти таъминланиши лозим;

-        хавфни билдирувчи сигнални генерациялаш. Маълумотларни узатиш тармоғи тармоқ, ахборот хавфсизлиги объектлари томонидан хавфсизликнинг бўзилиши хусусидаги сигнални генерациялаш имконини таъминлаши лозим;

- аудит.   Аудит  тизимни  бошқаришнинг  самарадорлигини  баҳолаш ҳамда ахборот хавфсизлигининг бўзилишини аниқлаш мақсадида тизимли ёзувларни   ва   амалларни   мустақил   тахлиллаш   ва   тадқиқ этиш   сифатида қурилиши лозим;

-        тиклаш. Маълумотларни узатиш тармоғида ахборот хавфсизлигини таъминлаш тизими  хавфсизликнинг бўзилишини тиклаш  қобилиятига эга бўлиши лозим. Хар доим, қачон ахборот хавфсизлигини бўзишга уриниш содир бўлганида, тизим ушбу уриниш хусусидаги ахборотни шундай ишлаши лозимки, ушбу уриниш маълумотларни узатиш тармоғининг утказиш қобилиятини ва фойдаланувчанлигини жиддий пасайишига олиб келмасин;

-        мосланувчанлик.   Маълумотларни  узатиш   тармоғида   ахборот   хавфсизлигини  таъминлаш   тизимига   қўйиладиган   мухим   концептуал   талаб мосланувчанлик талаби, яъни алоқа тармоғининг тўзилмаси, технологияси ва ишлаш шароити ўзгарганида мослашув қобилияти талабидир.

Архитектуравий талаблар. Маълумотларни узатиш тармоғида ахборот хавфсизлигини таъминлаш тизими ахборот хавфсизлигининг турли сиёсатини мададлаши, яъни мосланувчан бўлиши лозим. Тизимга қуйидаги асосий хизматлар киритилиши мумкин:

-        шифрлаш  калитларини ва паролларни шакллантириш, сақлаш  ва тақсимлаш хизмати;

-        шифрлаш хизмати;

-        фойдаланувчиларни ва хабарларни аутентификациялаш хизмати;

-        фойдаланишни бошқариш хизмати;

-        хабарлар яхлитлигини таъминлаш хизмати;

-        фойдаланувчанликни таъминлаш хизмати;

-        етказилганликни тасдиқлаш хизмати;

-        рад қилмаслик хизмати;

-        қўшимча трафикни шакллантириш хизмати;

-        маъмурлаш хизмати.

Бу хизматларнинг хар бири ахборот хавфсизлигини таъминлаш бўйича масалаларни мустақил тарзда у ёки бу химоя механизмларидан фойдаланиб ечиши мумкин. Бунда химоянинг битта механизми ахборот хавфсизлигининг турли хизматларида қўлланилиши мумкин.

Бошқариш (маъмурлаш) талаблари. Маълумотларни узатиш тармоғида ахборот хавфсизлигини маъмурлаш хизмати химоянинг техник воситаларини тўлдирувчи химоя чораларининг маълум комплексини ўз ичига олади. Бу химоя чоралари бузғунчининг тармоқ, ахборот хавфсизлигига таҳдидни кучайтиришга қаратилган у ёки бу таъсирни ўтказишини қийинлаштириш мақсадида мавжуд химоя тизимига оператив тарзда ўзгартиришлар киритишга имкон яратади.

Маъмурлаш хизматининг асосий вазифалари қуйидагилар:

-        химоя хизмати ва механизмига зарур ахборотни тарқатиш;

-        химоя  хизмати  ва механизмининг ишлаши  хусусидаги  ахборотни йиғиш ва тахлиллаш;

-        химояланувчи объектларни аниқлаш;

-        хизмат функцияларини самарали амалга ошириш мақсадида химоя механизмларини комбинациялаш;

-        маълумотларни узатиш тармоғининг ишончли ва барқарор ишлашини таъминлаш хизматларига жавобгар бошка маъмурлар билан узаро алоқа;

- маълумотларни узатувчи тармоқнинг бўзилган ишлаш жараёнини тиклаш.

Хавфсизлик маъмури маъмурлаш хизматининг мухим элементи хисобланади. Ахборот хавфсизлигининг хар қандай воситаларидан фойдаланилмасин, маълумотларни узатиш тармоғида ахборот хавфсизлигини таъминлаш сифати маъмурнинг қобилиятига, унинг тиришишига, техник жихозланганлигига боғлиқ.

Таъкидлаш лозимки, бирорта хам реал химояланган маълумотларни узатиш тармоқ учун мутлақ химояланган бўлмайди. Шунга қарамасдан химоянинг адекват чоралари бузғунчи таъсири самарасини (зарар келтириш харажатининг кутилаётган зарар ўлчамига нисбатини) анчагина пасайтиради.

 

2. Алоқа каналларида маълумотларни химоялаш усуллари

Маълумотларни узатишни химоялаш масаласини ечиш усулларининг учта асосий гуруҳи мавжуд: каналга мўлжалланган химоялаш усуллари, чеккалараро химоялаш усуллари ва уланишга мўлжалланган химоялаш усуллари. Биринчиси ҳар бир канал учун мустақил равишда маълумотлар оқимини химоялашни таъминласа, иккинчиси ҳар бир хабарни, уни манбадан адресатгача узатишда умумий химоялашни таъминлайди. Учинчи усул иккинчи усулнинг бир тури хисобланади.

Каналга мўлжалланган усуллар манба ва адресатга боғлиқ бўлмаган ҳолда, алоҳида узеллар орасидаги алоҳида алоқа канали бўйича узатилаётган хабарлар оқимини химоялашни таъминлайди. Бу хил химояни таъминлашда бузғунчининг узелга (пакетни коммутацияловчи марказга) қараганда каналга таъсир этиш қулайлиги фараз қилинади. Ундан ташқари, маълумотларни узатиш тармоғидаги узелларни фойдаланувчи терминалларини химоялагандек химоялаш мумкин эмас ёки иқтисод нуқтаи назаридан фойдасиз. Ушбу гуруҳ, усулларининг камчилиги-қисм тармоқ узелларидан бирининг очилиши тармоқ орқали ўтаётган хабарлар оқимининг талайгина қисмини очилишига олиб келиши мумкин.

Терминаллар ва тармоқлар ўртасидаги алоқа каналларини каналга мўлжалланган химоялаш харажатлари бевосита дахлдор тарафлар томонидан қоплансада, маълумотларни узатиш қисм тармоқ ичидаги каналга мўлжалланган химоялаш усулларининг умумий нархи қисм тармоқдан фойдаланувчиларнинг барчаси ўртасида хисоблаб чиқилиши мумкин.

Чеккалараро химоялаш усуллари хабарларни манба узеллари ва қабул қилувчи орасида узатиш жараёнида шундай химоялайдики, манба ва адресат орасидаги алоқа каналларидан бирининг очилиши хабарлар оқимининг очилишига олиб келмайди. Ушбу усулларнинг асосий афзаллиги - улардан фойдаланиш масаласи алоҳида фойдаланувчилар орасида, бошка фойдаланувчиларни жалб этмасдан, ечилиши мумкин.

Уланишга мўлжалланган усуллар. Аксарият қўлланиш соҳаларида маълумотларни узатиш тармоғини манбадан адресатгача уланишни ёки виртуал канални ўрнатиш учун фойдаланувчига тақдим этилувчи муҳит сифатида тасаввур этиш мумкин. Бундай тасаввур этишда химоя уланишга мўллжалланиши фараз қилинади, яъни, ҳар бир уланиш ёки виртуал канал алоҳида ҳимояланади. Шундай қилиб, уланишга мўлжалланган усуллар чеккалараро химоялаш усулларининг бир тури хисобланади. Уланишга мўлжалланган усуллар турли шароитларда умумий химоянинг юқори даражасини таъминлайди ва химояга қўйиладиган талаблар хусусидаги фойдаланувчининг идрокига мос келади. Чунки, уланишга мўлжалланган ахборот конфиденциаллигини химоялаш усуллари асбоб-ускунани химоялашни, масалан, фақат хабарлар манбаида ва қабул қилувчида ахборотдан рухсатсиз фойдаланишдан химоялашни кўзда тутади. Айни вақтда химоялашнинг каналга мўлжалланган усуллари рухсатсиз   фойдаланишдан   химоялашнинг маълумотларни узатиш тармоғидаги хар бир узели томонидан таъминланишини талаб этиши мумкин, аммо, баъзида иккала усулни қўллаганда химоялашнинг тежамли даражасига эришилади.

Маълумотларни узатишни химоялашнинг у ёки бу усулидан фойдаланишдаги асосий вазифалар қуйидагилар:

-        хабарлар мазмунининг фош қилинишини олдини олиш;

-        хабарлар оқимининг тахлилланишини олдини олиш;

-        хабарлар оқими хақиқийлигини бўзилганлигини аниқлаш;

-        ёлғон уланишни аниқлаш.

Ахборот тизимлари ёки маълумотларни узатиш тармоқларида ахборот хавфсизлигини таъминлаш мақсадида маълумотларни узатишни химоялаш усулларидан нафакат бузғунчи таъсири окибатларини аниқлашни, балки, агар оқибатлар вақтинча характерга эга бўлганида, ўзилган (бўзилган) узатиш жараёнини автоматик тарзда тиклашни талаб этиш керак.

Хозирда юқорида келтирилган вазифаларнинг бажарилишини таъминловчи химоялашнинг стандартлаштирилган механизмлари мавжуд эмас. Хар бир муайян холда маълумотларни узатиш хавфсизлиги масалалари ахборотларни криптографик ўзгартириш усуллари, ахборотларни ҳалалларга бардош кодлаш усуллари, хабарларнинг хақиқийлигини таъминловчи усуллар, тизимлар ишлашининг ишончлилигини, яшовчанлигини ва барқарорлигини таъминловчи усулларга асосланган химоялашнинг турли механизмларини биргаликда ишлатиш орқали ҳал этилади.

Хабарлар мазмунининг фош қилинишини олдини олишда химоялашнинг каналга мўлжалланган ҳамда уланишга мўлжалланган усулларидан фойдаланиш мумкин.

Юқорида айтиб ўтилганидек, каналли шифрлаш алоқа тармоғининг ҳар бир каналида мустақил тарзда бажарилиши мумкин. Каналли шифрлашда, одатда, оқимли шифрлаш ишлатилади ва узеллар орасида шифрланган матн битларининг узлуксиз оқими мададланади. Тармоқдарда коммутациялаш (маршрутлаш) вазифалари фақат узелларда бажарилиши сабабли, алоқа каналида пакетнинг сарлавҳалари билан бирга ахборот қисмини ҳам шифрлаш мумкин.

Аммо маълумотлар фақат каналда (каналлар орқали уланган узелларда эмас) шифрланиши сабабли барча оралиқ узеллар химояланиши лозим. Бунинг устига узелларни нафақат физик химояланиши, балки бу узелларнинг аппарат-дастурий воситалари томонидан узеллар орқали ўтувчи хар бир уланишдаги ахборотни яккалаши кафолатланиши зарур.

Чеккалараро шифрлашда маршрутизаторда ишланувчи хар бир хабар (сарлавханинг баъзи маълумотлари бундан истисно) йўл бошида шифрланади ва белгиланган жойга етмагунча расшифровка қилинмайди. Хар бир уланиш учун ўзининг калити ишлатилиши мумкин.

Хабарлар оқимини тахлилланишидан химоялаш, одатда, турли синфларга мансуб хабарлар узунлиги ва частотасининг қийматларини, манба адресларини ва хабарлар оқими адресларини беркитишга йўналтирилган. Агар каналли шифрлаш ишлатилса, узеллар орасида маълумотлар узатилганида шифрланган матн битларининг узлуксиз оқими ўрнатилиши мумкин. Бу эса частота қийматларини ва уланишнинг давомлигини беркитишга имкон беради. Бундай ёндашишда тармоқнинг самарали ўтказиш қобилияти пасаймайди, чунки хеч қандай қўшимча ахборот талаб этилмайди. Аммо, узел очилса бу узел орқали ўтувчи хабарларнинг бутун оқими тахлиллаш мавзуига айланади.

Химоялашнинг чеккалараро усулларидан фойдаланилганда узатилувчи хабарларнинг ҳақиқий частотаси ва узунлигини беркитиш учун турли узунликдаги “бўш” хабарлар генерацияланиши, хақиқий хабар эса бўш символлар билан тўлдирилиши мумкин. Қабул қилувчи бегона кенгайишларни ва “бўш” хабарларни аниқлашда хабардаги шифрланган ҳошиядан фойдаланиши мумкин.

Аксарият иловаларда оқимни тахлиллаш орқали ахборотни чиқариб олиш иккинчи даражали хавф сифатида талқин килиниши ва махсус қарши чоралар қурилмаслиги мумкин.

Хабарлар сатхида хақиқийликни тасдиқлаш хабарларни кечиктириш, уларни йўқ қилиш, алмаштириб қўйиш ёки қайталаш каби таъсирлардан ҳимоялашни таъминламайди. Шунга қарамасдан, бундай тахдидлардан ҳимоялашнинг турли усуллари мавжуд:

-        хабарларни номерлаш. Хар бир хабарни номерлаб, номерни хабар таркибига     киритиб,     демак,      шифрлаб     узатиш     орқали     хабарнинг хақиқийлигига ишонч хосил қилиш мумкин. Тармоқнинг хар бир объекти у билан алоқада булувчи объектларнинг хар бири учун алоҳида санагичларга (счётчикларга)     эга     бўлиши    лозимлиги     бу    муолажанинг    камчилиги хисобланади.

-        вақтни белгилаш. Қабул қилувчи хар бир узатилган хабарнинг куни ва вақтини билган ҳолда унинг адекватлигини текшириши мумкин. Бундай белгилашнинг интервали ва аниклиги шундай танланиши лозимки, бир томондан хатоли хабарлар,  иккинчи томондан узатиш каналига хос бўлган табиий кечикиш аниқланиши мумкин бўлсин.

- тасодифий сонлардан фойдаланиш. Вақтнинг реал масштабида икки томонлама    алоқа    ишлатилганида    қабул    қилувчи    жўнатувчига    хабар жўнатилмасдан олдин тасодифий сон юборади. Жўнатувчи бу сонни шифрланган хабарга шундай ўрнатадики, қабул қилувчи уни текшириши мумкин бўлсин. Шу тарзда ёлғон хабарлар чикариб ташланиши мумкин.

-        хар   бир  уланиш  учун   алоҳида  калитдан   фойдаланиш. Натижада олинган хабарда уланишнинг ошкор бўлмаган идентификацияланиши амалга оширилади.

Хабарлар оқими ўзилишини аниқлаш масаласини “сўров-жавоб” протоколидан фойдаланиб ҳал этиш мумкин. Бундай протоколнинг таркибида уланишнинг вақтинчалик яхлитлигини ва мақомини ўрнатувчи хабарлар жуфтини алмашиш муолажаси бўлади. Уланишнинг хар бир чеккасида “хабар-сўров” узатишни вақти-вақти билан ишга туширувчи таймер ишлатилади ва “хабар-сўров” узатишга уланишнинг бошқа чеккасидан жавоб олинади. Хар бир “хабар-сўров”да передатчик ахбороти мавжуд бўлиб, бу ахборот уланишдаги хабар йўқотилишини аниқлашга имкон беради.

Ёлғон уланишни аниқлаш учун хар бир чеккадаги “уланишга жавоб-гар”нинг хақиқийлигини ва уланишнинг вақтинчалик яхлитлигини текширишга ишончли асосни таъминловчи қарши чоралар ишлаб чиқилган.

Уланиш бошланиши вақтида хар бир чеккада уланишга жавобгарнинг хақиқийлигини текшириш кейинги хабарлар оқимининг хақиқийлиги хусусида карор қабул қилишга асос хисобланади.

Уланишнинг вақтинчалик яхлитлигини текшириш бузғунчининг олдинги қонуний уланиш ёзувидан фойдаланиб, фойдаланувчини хато фикрга солишидан ёки адаштиришидан, маълумотлар узатиш жараёнини бўзишидан химоялайди.

 

Назорат саволлари

1.     Маълумотларни узатиш тармоқларида ахборот химоясини таъминлаш.

2.     Конфиденциалликни   таъминлаш.

3.     Маълумотлар яхлитлигини таъминлаш.

4.     Хавфни билдирувчи сигнални генерациялаш.

5.     Алоқа каналларида маълумотларни химоялаш усуллари.

 

Адабиётлар ва интернет ресурслар

1.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.     Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol

4.     www.security.uz

5.     www.cert.uz

 

 


XIX-мавзу. Тармоққа уланишни дастурлаш. Аутентификация, идентификация ва авторизация

 

Режа

1.     Асосий тушунчалар ва синфланиши

2.     Пароллар асосида аутентификациялаш

3.     Сертификатлар асосида аутентификациялаш

4.     Қатъий аутентификациялаш

 

Таянч иборалар: индентифиқатор, идентификация, аутентификация, маъмурлаш, маскарад, такрорий узатиш, узатишни қайтариш, мажбурий кечикиш, матн танлашли хужум.

 

         1. Асосий тушунчалар ва синфланиши

Компьютер тизимида рўйхатга олинган хар бир субъект (фойдаланувчи ёки фойдаланувчи номидан харакатланувчи жараён) билан уни бир маънода индентификацияловчи ахборотга боғлиқ.

Бу ушбу субъектга ном берувчи сон ёки символлар сатри бўлиши мумкин. Бу ахборот субъект индентифиқатори деб юритилади. Агар фойдаланувчи тармоқда рўйхатга олинган индентифиқаторга эга бўлса у легал, акс холда легал бўлмаган (ноқонуний) фойдаланувчи хисобланади. Компьютер ресурсларидан фойдаланишдан аввал фойдаланув­чи компьютер тизимининг идентификация ва аутентификация жараёнидан ўтиши лозим.

Идентификация (Identification) - фойдаланувчини унинг идентифиқатори (номи) бўйича аниқлаш жараёни. Бу фойдаланувчи тармоқдан фойдаланишга уринганида биринчи галда бажариладиган функциядир. Фойда­ланувчи тизимга унинг сўрови бўйича ўзининг идентифиқаторини билдиради, тизим эса ўзининг маълумотлар базасида унинг борлигини текширади.

Аутентификация (Authentication) - маълум қилинган фойдаланувчи, жараён ёки қурилманинг хақиқий эканлигини текшириш муолажаси. Бу текшириш фойдаланувчи (жараён ёки қурилма) хақиқатан айнан ўзи эканлигига ишонч хосил қилишига имкон беради. Аутентификация ўтказишда текширувчи тараф текширилувчи тарафнинг хақиқий эканлигига ишонч хрсил қилиши билан бир қаторда текширилувчи тараф хам ахборот алмашинув жараёнида фаол қатнашади. Одатда фойдаланувчи тизимга ўз хусусидаги ноёб, бошқаларга маълум бўлмаган ахборотни (масалан, парол ёки сертификат) киритиши орқали идентификацияни тасдиқлайди.

Идентификация ва аутентификация субъектларнинг (фойдаланувчиларнинг) хақиқий эканлигини аниқлаш ва текширишнинг ўзаро боғланган жараёнидир. Муайян фойдаланувчи ёки жараённинг тизим ресурсларидан фойдаланишига  тизимнинг   рухсати   айнан   шуларга   боғлиқ.   Субъектни идентификациялаш   ва   аутентификациялашдан   сўнг   уни  авторизациялаш бошланади.

Авторизация (Authorization) - субъектга тизимда маълум ваколат ва ресурсларни бериш муолажаси, яъни авторизация субъект харакати доирасини ва у фойдаланадиган ресурсларни белгилайди. Агар тизим авторизацияланган шахсни авторизацияланмаган шахсдан ишончли ажрата олмаса бу тизимда ахборотнинг конфиденциаллиги ва яхлитлиги бузилиши мумкин. Аутентификация ва авторизация муолажалари билан фойдаланувчи харакатини маъмурлаш муолажаси узвий боғланган.

Маъмурлаш (Accounting) - фойдаланувчининг тармоқдаги харакатини, шу жумладан, унинг ресурслардан фойдаланишга уринишини қайд этиш. Ушбу хисобот ахбороти хавфсизлик нуқтаи назаридан тармоқдаги хавфсизлик ходисаларини ошкор қилиш, тахлиллаш ва уларга мос реакция кўрсатиш учун жуда муҳимдир.

Маълумотларни узатиш каналларини химоялашда субъектларнинг ўзаро аутентификацияси, яъни алоқа каналлари орқали боғланадиган субъектлар хақиқийлигининг ўзаро тасдиғи бажарилиши шарт. Хақиқийликнинг тасдиғи одатда сеанс бошида, абонентларнинг бир-бирига уланиш жараёнида амалга оширилади. Улаш атамаси орқали тармоқнинг иккита субъекти ўртасида мантиқий боғланиш тушунилади. Ушбу муолажанинг мақсади - улаш қонуний субъект билан амалга оширилганлигига ва барча ахборот мўлжалланган манзилга боришлигига ишончни таъминлашдир.

Ўзининг хақиқийлигининг тасдикдаш учун субъект тизимга турли асосларни кўрсатиши мумкин. Субъект кўрсатадиган асосларга боғлиқ ҳолда аутентификация жараёнлари қуйидаги категорияларга бўлиниши мумкин:

- бирор нарсани билиш асосида. Мисол сифатида парол, шахсий идентификация коди PIN (Personal Identification Number) хамда сўров жавоб хилидаги протоколларда намойиш этилувчи махфий ва очиқ калитларни кўрсатиш мумкин;

- бирор нарсага эгалиги асосида. Одатда булар магнит карталар, смарт-карталар, сертификатлар ва touch memory қурилмалари;

- қандайдир дахлсиз характеристикалар асосида. Ушбу категория ўз таркибига фойдаланувчининг биометрик характеристикаларига (овозлар, кўзнинг рангдор пардаси ва тўр пардаси, бармоқ излари, кафт геометрияси ва ҳоказо) асосланган усулларни олади. Бу категорияда криптографик усуллар ва воситалар ишлатилмайди. Биометрик характеристикалар бинодан ёки қандайдир техникадан фойдаланишни назоратлашда ишлатилади.

Аутентификация жарёнларини таъминланувчи хавфсизлик даражаси бўйича хам туркумлаш мумкин. Ушбу ёндашишга биноан аутентификация жараёнлари қуйидаги турларга бўлинади:

-   пароллар ва рақамли сертификатлардан фойдаланувчи аутентификация;

-   криптографик усуллар ва воситалар асосидаги қатьий аутентификация;

-   нуллик билим билан исботлаш хусусиятига эга бўлган аутентификация жараёнлари (протоколлари);

-   фойдаланувчиларни биометрик аутентификацияси.

Хавфсизлик нуктаи назаридан юқорида келтирилганларнинг хар бири ўзига хос масалаларни ечишга имкон беради. Шу сабабли аутентификация жараёнлари ва протоколлари амалда фаол ишлатилади. Шу билан бир қаторда таъкидлаш лозимки, нуллик билим билан исботлаш хусусиятига эга бўлган аутентификацияга қизиқиш амалий характерга нисбатан купроқ назарий характерга эга. Балким, якин келажакда улардан ахборот алмашинувини химоялашда фаол фойдаланишлари мумкин.

Аутентификация протоколларига бўладиган асосий хужумлар қуйидагилар:

- маскарад (impersonation). Фойдаланувчи ўзини бошка шахс деб кўрсатишга уриниб, у шахс тарафидан харакатларнинг имкониятларига ва имтиёзларига эга булишни мўлжаллайди;

- аутентификация алмашинуви тарафини алмаштириб қўйиш (interleaving attack). Нияти бузуқ одам ушбу хужум мобайнида икки тараф орасидаги аутенфикацион алмашиниш жараёнида трафикни модификациялаш ниятида қатнашади. Алмаштириб қўйишнинг қуйидаги хили мавжуд: иккита фойдаланувчи ўртасидаги аутентификация муваффакиятли ўтиб, уланиш ўрнатилганидан сўнг бузғунчи фойдаланувчилардан бирини чиқариб ташлаб, унинг номидан ишни давом эттиради;

- такрорий узатиш (replay attack). Фойдаланувчиларнинг бири томонидан аутентификация маълумотлари такроран узатилади;

- узатишни қайтариш (reflection attak). Олдинги хужум вариантларидан бири бўлиб, хужум мобайнида нияти бузуқ одам протоколнинг ушбу сессия доирасида ушлаб қолинган ахборотни орқага қайтаради.

- мажбурий кечикиш (forced delay). Нияти бузуқ одам қандайдир маълумотни ушлаб қолиб, бирор вақтдан сўнг узатади.

- матн танлашли хужум (chosen text attack). Нияти бузуқ одам аутентификация трафигини ушлаб қолиб, узоқ муддатли криптографик калитлар хусусидаги ахборотни олишга уринади.

Юқорида келтирилган хужумларни бартараф қилиш учун аутентификация протоколларини қуришда қуйидаги усуллардан фойдаланилади:

- “сўров-жавоб” вақт белгилари, тасодифий сонлар, индентифиқаторлар, рақамли имзолар каби механизмлардан фойдаланиш;

- аутентификация натижасини фойдаланувчиларнинг тизим доирасидаги кейинги харакатларига боғлаш. Бундай мисол ёндашишга тариқасида аутентификация жараёнида фойдаланувчиларнинг кейинга ўзаро алоқаларида ишлатилувчи махфий сеанс калитларини алмашишни кўрсатиш мумкин;

- алоқанинг ўрнатилган сеанси доирасида аутентификация муолажасини вақти-вақти билан бажариб туриш ва хоказо.

Вақтни белгилаш механизми хар бир хабар учун вақтни қайдлашни кўзда тутади. Бунда тармоқнинг хар бир фойдаланувчиси келган хабарнинг канчалик эскирганини аниқлаши ва уни қабул килмаслик карорига келиши мумкин, чунки у ёлғон бўлиши мумкин. Вактни белгилашдан фойдаланишда сеанснинг хақиқий эканлигини тасдиқлаш учун кечикишнинг жоиз вақт оралиғи муаммоси пайдо бўлади. Чунки, вақт тамғасили хабар, умуман, бир лахзада узатилиши мумкин эмас. Ундан ташқари, қабул қилувчи ва жўнатувчининг соатлари мутлақо синхронланган бўлиши мумкин эмас.

Аутентификация протоколларини таққослашда ва танлашда қуйидаги характеристикаларни ҳисобга олиш зарур:

- ўзаро аутентификациянинг мавжудлиги. Ушбу хусусият аутентификацион алмашинув тарафлари ўртасида иккиёклама аутентификациянинг зарурлигини акс эттиради;

- ҳисоблаш самарадорлиги. Протоколни бажаришда зарур бўлган амаллар сони;

- коммуникацион самарадорлик. Ушбу хусусият аутентификацияни бажариш учун зарур бўлган хабар сони ва узунлигини акс эттиради;

- учинчи тарафнинг мавжудлиги. Учинчи тарафга мисол тариқасида симметрик калитларни тақсимловчи ишончли серверни ёки очиқ калитларни таксимлаш учун сертификатлар дарахтини амалга оширувчи серверни курсатиш мумкин;

- хавфсизлик кафолати асоси. Мисол сифатида нуллик билим билан исботлаш хусусиятига эга бўлган протоколларни кўрсатиш мумкин;

- сирни сақлаш. Жиддий калитли ахборотни сақлаш усули кузда тутилади.

 

2. Пароллар асосида аутентификациялаш

Аутентификациянинг кенг тарқалган схемаларидан бири оддий аутентификациялаш бўлиб, у анъанавий кўп мартали паролларни ишлатишига асосланган. Тармоқдаги фойдаланувчини оддий аутентификациялаш муолажасини қуйидагича тасаввур этиш мумкин. Тармоқдан фойдаланишга уринган фойдаланувчи компьютер клавиатурасида ўзининг идентифиқатори ва паролини теради. Бу маълумотлар аутентификация серверига ишланиш учун тушади. Аутентификация серверида сакланаётган фойдаланувчи иден­тифиқатори бўйича маълумотлар базасидан мос ёзув топилади, ундан паро­лни топиб фойдаланувчи киритган парол билан таққосланади. Агар улар мос келса, аутентификация муваффакиятли ўтган хисобланади ва фойдала­нувчи легал (қонуний) мақомини ва авторизация тизими орқали унинг мақоми учун аниқланган худудларни ва тармоқ ресурсларидан фойдаланиш­га рухсатни олади.

Паролдан   фойдаланган   холда   оддий   аутентификациялаш   схемаси 19.1-расмда келтирилган.

19.1-расм. Паролдан фойдаланган холда оддий аутентификациялаш

 

Равшанки, фойдаланувчининг паролини шифрламасдан узатиш орқали аутентификациялаш варианти хавфсизликнинг хатто минимал даражасини кафолатламайди. Паролни химоялаш учун уни химояланмаган канал орқали узатишдан олдин шифрлаш зарур. Бунинг учун схемага шифрлаш ЕK ва расшифровка қилиш DK воситалари киритилган. Бу воситалар бўлинувчи махфий калит К орқали бошқарилади. Фойдаланувчининг хақиқийлигини текшириш фойдаланувчи юборган парол РА билан аутентификация сервери­да садланувчи дастлабки диймат РА ни таддослашга асосланган. Агар РА ва РА қийматлар мос келса, парол РА хақиқий, фойдаланувчи А эса қонуний хисобланади.

Оддий аутентификацияни ташкил этиш схемалари нафакат паролларни узатиш, балки уларни сақлаш ва текшириш турлари билан ажралиб туради. Энг кенг тарқалган усул - фойдаланувчилар паролини тизимли файлларда, очиқ ҳолда сакдаш усулидир. Бунда файлларга ўқиш ва ёзишдан химоялаш атрибутлари ўрнатилади (масалан, операцион тизимдан фойдаланишни назоратлаш рўйхатидаги мос имтиёзларни тавсифлаш ёрдамида). Тизим фойдаланувчи киритган паролни пароллар файлида сақланаётган ёзув билан солиштиради. Бу усулда шифрлаш ёки бир томонлама функциялар каби криптографик механизмлар ишлатилмайди. Ушбу усулнинг камчилиги - нияти бузуқ одамнинг тизимда маъмур имтиёзларидан, шу билан бирга тизим файлларидан, жумладан парол файлларидан фойдаланиш имкониятидир.

Хавфсизлик нуқтаи назаридан паролларни бир томонлама функциялардан фойдаланиб узатиш ва сақлаш қулай хисобланади. Бу ҳолда фойда­ланувчи паролнинг очиқ шакли ўрнига унинг бир томонлама функциядан фойдаланиб олинган тасвирини юбориши шарт.

Кўп мартали паролларга асосланган оддий аутентификациялаш тизимининг бардошлиги паст, чунки уларда аутентификацияловчи ахборот маъноли сўзларнинг нисбатан катта бўлмаган тупламидан жамланади. Кўп мартали паролларнинг таъсир муддати ташкилотнинг хавфсизлиги сиёсатида белгиланиши ва бундай паролларни мунтазам равишда алмаштириб туриш лозим. Паролларни шундай танлаш лозимки, улар луғатда бўлмасин ва уларни топиш қийин бўлсин.

Бир мартали паролларга асосланган аутентификациялашда фойда-ланишга хар бир сўров учун турли пароллар ишлатилади. Бир мартали ди­намик парол факат тизимдан бир марта фойдаланишга ярокди. Агар, хатто кимдир уни ушлаб крлса х,ам парол фонда бермайди. Одатда бир мартали паролларга асосланган аутентфикациялаш тизими масофадаги фойдаланув-чиларни текширишда кулланилади.

Бир мартали паролларни генерациялаш аппарат ёки дастурий усул орқали амалга оширилиши мумкин. Бир мартали пароллар асосидаги фойдаланишнинг аппарат воситалари ташқаридан тўлов пластик карточкаларига ухшаш микропроцессор ўрнатилган миниатюр қурилмалар қуринишда амалга оширади. Одатда калитлар деб аталувчи бундай карталар клавиатурага ва катта бўлмаган дисплей дарчасига эга.

Фойдаланувчиларни аутентификациялаш учун бир мартали пароллар­ни қўллашнинг қуйидаги усуллари маълум:

1.    Ягона   вақт   тизимига   асосланган   вақт   белгилари   механизмидан фойдаланиш.

2.    Легал фойдаланувчи ва текширувчи учун умумий бўлган тасодифий
пароллар рўйхатидан ва уларнинг ишончли синхронлаш механиз­
мидан фойдаланиш.

3.    Фойдаланувчи ва текширувчи учун умумий бўлган бир хил даст-
лабки кийматли псевдотасодифий сонлар генераторидан фойдала­ниш.

Биринчи усулни амалга ошириш мисоли сифатида SecureID аутентикациялаш технологиясини кўрсатиш мумкин. Бу технология Security Dy­namics компанияси томонидан ишлаб чиқилган бўлиб, қатор компанияларнинг, хусусан Cisco Systems компаниясининг серверларида амалга оширилган.

Вақт синхронизациясидан фойдаланиб аутентификациялаш схемаси тасодифий сонларни вақтнинг маълум оралигидан сунг генерациялаш алгоритмига асосланган. Аутентификация схемаси қуйидаги иккита параметрдан фойдаланади:

        хар бир фойдаланувчига аталган ва аутентификация серверида ҳамда   фойдаланувчининг   аппарат   калитида  сакданувчи   ноёб 64-битли сондан иборат махфий калит;

        жорий вақт қиймати.

Масофадаги фойдаланувчи тармоқдан фойдаланишга уринганида ундан шахсий идентификация номерини киритиш таклиф этилади. PIN тўртта ўнли рақамдан ва аппарат калити дисплейида аксланувчи тасодифий соннинг олтита рақамидан иборат. Сервер фойдаланувчи томонидан киритилган PIN-коддан фойдаланиб маълумотлар базасидаги фойдаланувчининг махфий калити ва жорий вақт киймати асосида тасодифий сонни генерациялаш алгоритмини бажаради. Сўнгра сервер генерацияланган сон билан фойдаланувчи киритган сонни таққослайди. Агар бу сонлар мос келса, сер­вер фойдаланувчига тизимдан фойдаланишга рухсат беради.

Аутентификациянинг бу схемасидан фойдаланишда аппарат калит ва сервернинг қатъий вақтий синхронланиши талаб этилади. Чунки аппарат калит бир неча йил ишлаши ва демак сервер ички соати билан аппарат калитининг мувофиқлиги аста-секин бузилиши мумкин.

Ушбу муаммони ҳал этишда Security Dynamics компанияси қуйидаги икки усулдан фойдаланади:

        аппарат калити ишлаб чикилаётганида унинг таймер частотасининг меъёридан четлашиши аниқ ўлчанади. Четлашишнинг бу қиймати сервер алгоритми параметри сифатида хисобга олинади;

        сервер муайян аппарат калит генерациялаган кодларни кузатади
ва зарурият ту
ғилганида ушбу калитга мослашади.

Аутентификациянинг бу схемаси билан яна бир муаммо боғлиқ. Аппарат калит генерациялаган тасодифий сон катта бўлмаган вақт оралиғи мобайнида хақиқий парол хисобланади. Шу сабабли, умуман, қисқа муддатли вазият содир бўлиши мумкинки, хакер PIN-кодни ушлаб қолиши ва уни тармоқдан фойдаланишга ишлатиши мумкин. Бу вақт синхронизациясига асосланган аутентификация схемасининг энг заиф жойи хисобланади.

Бир мартали паролдан фойдаланувчи аутентификациялашни амалга оширувчи яна бир вариант – сўров-жавоб схемаси бўйича аутентификациялаш. Фойдаланувчи тармоқдан фойдаланишга уринганида сервер унга тасодифий сон кўринишидаги сўровни узатади. Фойдаланувчининг аппарат калити бу тасодифий сонни, масалан DES алгоритми ва фойдаланувчининг аппарат калити хотирасида ва сервернинг маълумотлар базасида сақланувчи махфий калити ёрдамида расшифровка қилади. Тасодифий сон - сўров шифрланган  кўринишда  серверга  қайтарилади.   Сервер  хам  ўз  навбатида ўша DES алгоритми ва сервернинг маълумотлар базасидан олинган фойдаланувчининг махфий калити ёрдамида ўзи генерациялаган тасодифий сонни шифрлайди. Сўнгра сервер шифрлаш натижасини аппарат калитидан келган сон билан таққослайди. Бу сонлар мос келганида фойдаланувчи тармоқдан фойдаланишга рухсат олади. Таъкидлаш лозимки, сўров-жавоб аутентификациялаш схемаси ишлатишда вақт синхронизациясидан фойда­ланувчи аутентификация схемасига қараганда мураккаброқ.

Фойдаланувчини аутентификациялаш учун бир мартали паролдан фойдаланишнинг иккинчи усули фойдаланувчи ва текширувчи учун умумий бўлган тасодифий пароллар рўйхатидан ва уларнинг ишончли синхронлаш механизмидан фойдаланишга асосланган. Бир мартали паролларнинг бўлинувчи рўйхати махфий пароллар кетма-кетлиги ёки тўплами бўлиб, хар бир парол фақат бир марта ишлатилади. Ушбу рўйхат аутентификацион алмашинув тарафлар ўртасида олдиндан таксимланиши шарт. Ушбу усулнинг бир вариантига биноан сўров-жавоб жадвали ишлатилади. Бу жадвалда аутентификацилаш учун тарафлар томонидан ишлатилувчи сўровлар ва жавоблар мавжуд бўлиб, хар бир жуфт факат бир марта ишлатилиши шарт.

Фойдаланувчини аутентификациялаш учун бир мартали паролдан фойдаланишнинг учинчи усули фойдаланувчи ва текширувчи учун умумий бўлган бир хил дастлабки кийматли псевдотасодифий сонлар генераторидан фойдаланишга асосланган. Бу усулни амалга оширишнинг қуйидаги вариантлари мавжуд:

        ўзгартирилувчи бир мартали пароллар кетма-кетлиги. Навбатдаги   аутентификациялаш   сессиясида   фойдаланувчи   айнан  шу
сессия учун олдинги сессия паролидан олинган махфий калитда
шифрланган паролни яратади ва узатади;

        бир томонлама функцияга асосланган пароллар кетма-кетлиги.
Ушбу усулнинг мохиятини бир томонлама функциянинг кетма-
кет ишлатилиши ташкил этади.
Хавфсизлик нуктаи назаридан бу усул кетма-кет ўзгартирилувчи пароллар усулига нисбатан афзал ҳисобланади.

Кенг тарқалган бир мартали паролдан фойдаланишга асосланган аутентификациялаш протоколларидан бири Internet да стандартлаштирилган S/Key (RFC 1760) протоколидир. Ушбу протокол масофадаги фойдаланувчиларнинг хақиқийлигини текширишни талаб этувчи кўпгина тизимларда, хусусан, Cisco компаниясининг TACACS+ тизимида амалга оширилган.

 

3. Сертификатлар асосида аутентификациялаш

Тармоқдан фойдаланувчилар сони миллионлаб ўлчанганида фойдаланувчилар паролларининг тайинланиши ва сақланиши билан боғлиқ фойдаланувчиларни дастлабки рўйхатга олиш муолажаси жуда катта ва амалга оширилиши қийин бўлади. Бундай шароитда рақамли сертификатлар асосидаги аутентификациялаш пароллар қўлланишига рационал альтернатива хисобланади.

Рақамли сертификатлар ишлатилганида компьютер тармоғи фойдаланувчилари хусусидаги хеч қандай ахборотни сакламайди. Бундай ахборотни фойдаланувчиларнинг ўзи сўров-сертификатларида такдим этадилар. Бунда махфий ахборотни, хусусан махфий калитларни сақлаш вазифаси фойдаланувчиларнинг ўзига юкланади.

Фойдаланувчи шахсини тасдикдовчи рақамли сертификатлар фойдаланувчилар сўрови бўйича махсус ваколатли ташкилот-сертификация маркази СА (Certificate Authority) томонидан, маълум шартлар бажарилганида берилади. Таъкидлаш лозимки, сертификат олиш муолажасининг ўзи хам фойдаланувчининг хақиқийлигини текшириш (яъни, аутентификациялаш) боскичини ўз ичига олади. Бунда текширувчи тараф сертификацияловчи ташкилот (сертификация маркази СА) бўлади.

Сертификат олиш учун мижоз сертификация марказига шахсини тасдиқловчи маълумотни ва очиқ калитини такдим этиши лозим. Зарурий маълумотлар рўйхати олинадиган сертификат турига боғлиқ. Сертификацияловчи ташкилот фойдаланувчининг хақиқийлиги тасдиғини текширганидан сўнг ўзининг рақамли имзосини очиқ калит ва фойдаланувчи хусусида­ги маълумот бўлган файлга жойлаштиради ҳамда ушбу очиқ калитнинг муайян шахсга тегишли эканлигини тасдиқлаган ҳолда фойдаланувчига сер­тификат беради.

Сертификат электрон шакл бўлиб, таркибида қуйидаги ахборот бўлади:

-  ушбу сертификат эгасининг очиқ калити;

- сертификат  эгаси  хусусидаги  маълумот,  масалан,   исми,  электрон
почта адреси, ишлайдиган ташкилот номи ва
ҳоказо;

-    ушбу сертификатни берган ташкилот номи;

-    сертификацияловчи ташкилотнинг электрон имзоси - ушбу ташкилотнинг махфий  калити  ёрдамида  шифрланган  сертификациядаги  маълумотлар.

Сертификат фойдаланувчини тармоқ ресурсларига мурожаат этганида аутентификацияловчи восита хисобланади. Бунда текширувчи тараф вазифасини корпоратив тармоқнинг аутентификация сервери бажаради. Сертификатлар нафакат аутентификациялашда, балки фойдаланишнинг маълум хукукларини такдим этишда ишлатилиши мумкин. Бунинг учун сертификатга қўшимча хошиялар киритилиб уларда сертификация эгасининг фойдаланувчиларнинг у ёки бу категориясига мансублиги кўрсатилади.

Очиқ калитларнинг сертификатлар билан узвий боғлиқлигини алохида таъкидлаш лозим. Сертификат нафакат шахсни, балки очиқ калит мансублигини тасдиқловчи хужжатдир. Рақамли сертификат очиқ калит ва унинг эгаси ўртасидаги мосликни урнатади ва кафолатлайди. Бу очиқ калитни алмаштириш хавфини бартараф этади.

Агар абонент ахборот алмашинуви бўйича шеригидан сертификат таркибидаги очиқ калитни олса, у бу сертификатдаги сертификация марказининг рақамли имзосини ушбу сертификация марказининг очиқ калити ёрдамида текшириш ва очиқ калит адреси ва бошқа маълумотлари сертификатда кўрсатилган фойдаланувчига тегишли эканлигига ишонч ҳосил қилиши мумкин. Сертификатлардан фойдаланилганда фойдаланувчилар рўйхатини уларнинг пароллари билан корпорация серверларида сақлаш зарурияти йуқолади. Серверда сертификацияловчи ташкилотларнинг номлари ва очиқ калитларининг бўлиши етарли.

Сертификатларнинг ишлатилиши сертификацияловчи ташкилотларнинг нисбатан камлигига ва уларнинг очиқ калитларидан қизиққан барча шахслар ва ташкилотлар фойдалана олиши (масалан, журналлардаги нашрлар ёрдамида) тахминига асосланган.

Сертификатлар асосида аутентификациялаш жараёнини амалга оширишда сертификацияловчи ташкилот вазифасини ким бажариши хусусидаги масалани ечиш мухим хисобланади. Ходимларни сертификат билан таъминлаш масаласини корхонанинг ўзи ечиши жуда табиий хисобланади. Корхона ўзининг ходимларини яхши билади ва улар шахсини тасдиклаш вазифасини ўзига олиши мумкин. Бу сертификат берилишидаги дастлабки аутентификациялаш муолажасини осонлаштиради. Корхоналар сертификатларни генерациялаш, бериш ва уларга хизмат курсатиш жараёнларини автоматлаштиришни таъминловчи мавжуд дастурий махсулотлардан фойдаланишлари мумкин. Масалан, Netscape Communications компанияси серверларини корхоналарга шахсий сертификатларини чикариш учун таклиф этади.

Сертификацияловчи ташкилот вазифасини бажаришда тижорат асо­сида сертификат бериш бўйича мустақил марказлар хам жалб этилиши мумкин. Бундай хизматларни, хусусан, Verisign компаниясининг сертифи­кацияловчи маркази таклиф этади. Бу компаниянинг сертификатлари халқаро стандарт Х.509 талабларига жавоб беради. Бу сертификатлар маълумотлар химоясининг қатор махсулотларида, жумладан химояланган канал SSL протоколида ишлатилади.

 

4. Қатъий аутентификациялаш

Криптографик протоколларида амалга оширилувчи қатъий аутентификациялаш ғояси қуйидагича. Текширилувчи (исботловчи) тараф қандайдир сирни билишини намойиш этган ҳолда текширувчига ўзининг ҳақиқий эканлигини исботлайди. Масалан, бу сир аутентификацион алмашиш тарафлари ўртасида олдиндан хавфсиз усул билан таксимланган бўлиши мумкин. Сирни билишлик исботи криптографик усул ва воситалардан фойдаланилган ҳолда сўров ва жавоб кетма-кетлиги ёрдамида амалга оширилади.

Энг мухими, исботловчи тараф фақат сирни билишлигини намойиш этади, сирни ўзи эса аутентификацион алмашиш мобайнида очилмайди. Бу текширувчи тарафнинг турли сўровларига исботловчи тарафнинг жавоблари ёрдами билан таъминланади. Бунда якуний сўров фақат фойдаланувчи сирига ва протокол бошланишида ихтиёрий танланган катта сондан иборат бошланғич сўровга боғлиқ бўлади.

Аксарият холларда қатъий аутентификациялашга биноан ҳар бир фойдаланувчи ўзининг махфий калитига эгалиги аломати бўйича аутентификацияланади. Бошкдча айтганда фойдаланувчи унинг алоқа бўйича шеригининг тегишли махфий калитга эгалигини ва у бу калитни ахборот алмашинуви бўйича хақиқий шерик эканлигини исботлашга ишлата олиши мумкинлигини аниқлаш имкониятига эга.

Х.509 стандарти тавсияларига биноан қатъий аутентификациялашнинг қуйидаги муолажалари фарқланади:

-  бир томонлама аутентификация;

-  икки томонлама аутентификация;

-  уч томонлама аутентификация.

Бир томонлама аутентификациялаш бир томонга йўналтирилган ахборот алмашинувини кўзда тутади. Аутентификациянинг бу тури қуйидагиларга имкон яратади:

-   ахборот   алмашинувчининг   фақат   бир   тарафини   хақиқийлигини
тасди
қлаш;

-    узатилаётган ахборот яхлитлигининг бўзилишини аниқлаш;

-    узатишнинг такрори типидаги хужумни аниқлаш;

-   узатилаётган аутентификацион маълумотлардан фақат текширувчи
тараф фойдаланишини кафолатлаш.

Икки томонлама аутентификацилаш бир томонлилигига нисбатан исботловчи тарафга текширувчи тарафнинг қўшимча жавоби бўлади. Бу жавоб текширувчи томонни алоқанинг айнан аутентификация маълумотлари мўлжалланган тараф билан ўрнатилаётганига ишонтириш лозим.

Уч томонлама аутентификациялаш таркибида исботловчи тарафдан текширувчи тарафга қўшимча маълумотлар узатиш мавжуд. Бундай ёндашиш аутентификация утказишда вақт белгиларидан фойдаланишдан воз кечишга имкон беради.

Таъкидлаш лозимки, ушбу туркумлаш шартлидир. Амалда ишлатилувчи усул ва воситалар тўплами аутентификация жараёнини амалга оширишдаги муайян шарт-шароитларга боғлиқ. Қатъий аутентификациянинг ўтказилиши ишлатиладиган криптографик алгоритмлар ва қатор қўшимча параметрларни тарафлар томонидан сўзсиз мувофиқлаштиришни талаб этади.

Қатъий аутентификациялашнинг муайян вариантларини қуришдан олдин бир мартали параметрларнинг вазифалари ва имкониятларига тўхташ лозим. Бир мартали параметрлар баъзида nonces - бир мақсадга бир мартадан ортиқ ипшатилмайдиган катталик деб аталади.

Хозирда ишлатиладиган бир мартали параметрлардан тасодифий сонлар, вақт белгилари ва кетма-кетликларнинг номерларини кўрсатиш мумкин.

Бир мартали параметрлар узатишнинг такрорланишини, аутентификацион алмашинув тарафларини алмаштириб қўйишни ва очиқ матнни танлаш билан хужум қилишни олдини олишга имкон беради. Бир мартали па­раметрлар ёрдамида узатиладиган хабарларнинг ноёблигини, бир маънолилигини ва вақтий кафолатларини таъминлаш мумкин. Бир мартали пара­метрларнинг турли хиллари алоҳида ишлатилиши, ёки бир-бирини тўлдириши мумкин.

Бир мартали параметрларнинг қуйидаги ишлатилиш мисолларини курсатиш мумкин:

-     сўров-жавоб принципида қурилган протоколларда ўз вақтидалигини текшириш. Бундай текширишда тасодифий сонлар, соатларни синхронлаш билан вақт белгилари ёки муайян жуфт (текширувчи, исботловчи) учун кетма-кетликларнинг номерларидан фойдаланиш мумкин;

-     ўз вақтидалигини ёки ноёблик кафолатини таъминлаш. Протоколнинг бир мартали параметрларини бевосита ёки билвосита назоратлаш орқали амалга оширилади;

-  хабарни ёки хабарлар кетма-кетлигини бир маъноли идентификациялаш. Бир охангда усувчи кетма-кетликнинг бир мартали қийматини ёки мос узунликдаги тасодифий сонларни тўзиш орқали амалга оширилади.

Таъкидлаш лозимки, бир мартали параметрлар криптографик протоколларнинг бошқа вариантларида хам кенг қўлланилади.

Қатъий аутентификациялаш протоколларини қўлланиладиган криптографик алгоритмларига боғлиқ ҳолда қуйидаги гуруҳдарга ажратиш мумкин:

-    шифрлашнинг симметрик алгоритмлари асосидаги катъий аутентификациялаш протоколлари;

-    бир томонлама калитли хеш-функциялар асосидаги катъий аутентификациялаш протоколлари;

-    шифрлашнинг асимметрик алгоритмлари асосидаги қатъий аутентификациялаш алгоритмлари;

-    электрон рақамли имзо асосидаги катъий аутентификациялаш алгоритмлари.

 

Назорат саволлари

1.     Идентификация нима?

2.     Индентификаторлар нима?

3.     Аутентификация нима?

4.     Авторизация нима?

5.     Маъмурлаш нима?

6.     Пароллар асосида аутентификациялаш.

7.     Сертификатлар асосида аутентификациялаш

8.     Қатъий аутентификациялаш.

 

Адабиётлар ва интернет ресурслар

1.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.     Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol

4.     www.security.uz

5.     www.cert.uz


XX-мавзу. Тармоқни бошқаришни дастурлаш. DHCP ва SNMP протоколлари

 

Режа

1.     SNMP протоколи ривожланиш тарихи

2.     SNMP бошқарув асослари

3.     SNMP протоколи камчиликлари

4.     NetFlow протоколи таҳлили

 

Таянч иборалар: SNMP, High-Level Entity Management System, Simple Gateway Monitoring Protocol, Common Management Information Protocol, Internet Architecture Board, Structurefor Management Information, SNMP-менеджер, SNMP-агент, Protocol Data Unit.

 

1. SNMP протоколи ривожланиш тарихи

 

SNMP  протоколини яратишда уч йўнилиш бўйича ишланмалар ўз ҳиссасини қўшди:

1. High-Level Entity Management System (HEMS)

Юқори даражадаги бошқарув объектлари тизими. Бир  қатор қизиқарли техник характеристикалар билан бошқарув тизимини белгилайди. Афсуски,  HEMSдан фақат унинг ишлаб чиқилган жойларида фойдаланилди, ва бу, унинг фаолияти тўхтатилишига олиб келди.

2. Simple Gateway Monitoring Protocol (SGMP)

Оддий роутер ёрдамида бошқариш протоколи. Тадқиқот бир гурух тармоқ муҳандислари томонидан тез ўсаётган  Internet билан боғлиқ масалар ечимини топиш учун бошланилган; уларнинг иши натижаси Internet роутерларини бошқариш учун мўлжалланган протокол ҳисобланади.   SGMP Internetнинг кўплаб ҳудудий тармоқларида амалга оширилган.

3. ТСР юзасидан CMIPoverTCP (CMOT). OSIга асосланган тармоқ бошқарувини, хусусан, ТСРга асосланган бирлашган тармоқларни соддалаштириш учун Common Management Information Protocol (CMIP) (умумий бошқарув маълумот протоколи)ни қўллашни даъват қилади.  Бу уч услубнинг (HEMS, SGMP и CMOT) устун ва камчиликлари  1987-йил иккинчи ярми давомида тез-тез ва қизғин муҳокама қилинди. 1988-йил бошига келиб, бугунги кунгача ўзаро таъсирнинг такрорланмас механизмларини сақлаб турадиган ўз тармоқ қурилмалари учун ўзининг мониторинг маҳсулотлари ва конфигурациясини яратган турли ишлаб чиқарувчилар бошқарув воситалари қандайдир умумий тўплами зарурлиги  маълум бўлди.

Кўплаб кенгашлардан кейин IAB (Internet Architecture Board, Интернет протоколлари техник ишланмаси учун жавобгар гурух) 1988-йил апрелида даврга оид RFC 1052 IAB Recommendations for the Development of Internet Network Management Standardsни чоп этди: унда у тез орада Оддий Тармоқ Бошқаруви элементларини (Simple Network Management) тузишга даъват қилди. Иккита ишчи гурух ташкил қилинди. Бир гурух Бошқарув Информацион базаси MIB (Management Information Base) элементларини ишлаб чиқиш билан шуғуллана бошлади. Кейинчалик, бу йўналиш бўйича ишлар Объектларни Бошқариш Структураси SMI (Structure for Management Information) тузилишига қўшилиб кетди.

Протокол бошқарувини ривожлантириш билан машғул бошқа гурух эса кейинчалик SNMP деб номланган  SGMPнинг янги версиясини яратиш бошқарув муаммолари вақтинчалик ечими бўлади, деган қарорга келди.  Узоқ вақт қўлланилиши учун, чуқур ва батафсил ишланмалардан кейин  OSI (ёки CMOT, ёки  CMIP) га асосланган технологиялардан бири қўлланилиши керак эди.

Ундан ташқари, барча бошқарув тизимларида  бошқарув структураларини намойиш қилиш учун умумий тилга ўхшаш   ASN 1 (Abstract Syntax Notation One, биринчи рақамли синтаксиса спецификацияси)ни қўллашга келишиб олинди. Бу спецификация ҳозирги кунда. MIB структураси ва элементларини тасвирлашда қўлланилади.

1988-йил августда учта асосий ҳужжат пайдо бўлди:

1.  RFC 1065: Structure and Identification of Management Information for TCP/IP-based internets.

2.  RFC 1066: Management Information Base for Network Management of TCP/IP-based internets.

3.  RFC 1067: A Simple Network Management Protocol.

Натижада бу ҳужжатлар қайта нашр қилинди ва SNMP кейинги авлодини белгилаш учун тўлдирилди: ўз навбатида қайта ишланган RFC 1155, 1156 и 1157. Охир оқибат, 1991-йил майида SNMP протоколи биринчи версиясини тузиш бўйича ишлар тугатилди ва бу қуйидаги ҳужжатлар тузилишида ўз аксини топди:

1. RFC 1155: (SIM) Structure and Identification of Management Information for TCP/IP-based internets (Май, 1990)

- глобал тармоқ кўринишида бошқарув ҳабарлари структурасини белгилайди.

   Вақти вақти билан ўзгарадиган номларни аниқлаш синтаксисини белгилайди.

2. RFC 1212: (MIB) Concise MIB (Management Information Base) Definitions (Март, 1991)

- Вақти вақти билан ўзгарадиган номларни аниқлаш синтаксиси қисман RFC 1155ни тўлдиради. 

3. RFC 1213: (MIB-II) Management Information Base for Network Management of TCP/IP-based internets: MIB-II (Март, 1991)

- TCP/IP тармоққа кирувчи статус ва статистика, конфигурация учун жавоб берадиган даврий ўзгарадиган  тизимлар рўйхатини ўз ичига олади.  

4. RFC 1157: (SNMP) A Simple Network Management Protocol (Май, 1990)

- даврий ўзгарадиган  тизимлар белгиланишини қабул қилиш ва янгилаш учун бошқарув станцияси ва бошқарув объекти алмашинадиган хабарларни белгилайди.

Конфигурациясида сезиларли ўзгаришлар бўлганда тизим томонидан юбориладиган trap (alarm) - хабарларни белгилайди.

Бугунги кунда SNMP турли тижорат, университет ва тадқиқот бирлашган тармоқларини бошқариш энг машҳур протоколи ҳисобланади.   SNMP билан боғлиқ унинг стандартизацияси фаолияти етказиб берувчилар замонавий амалий бошқарув дастурлари ишга туширилиши билан бир йўсинда давом этади. SNMP нисбатан оддий протоколдир, бироқ, унинг  характеристикалари тўплами гетероген тармоқлар бошқарувида юзага келадиган муаммоларни ечишда анча кучли ҳисобланади.

 

2. SNMP бошқарув асослари

 

SNMP бошқарув асослари мижоз ва провайдер ўртасида алмашинадиган беш турли хабарларларни белгилайди.

Бир неча ўзгарувчан даврийликдан бирининг аҳамиятини олиш: get-request оператори. Шундан кейинги ёки бир нечта кўрсатилган ўзгарувчан даврийликни олиш. Бир нечта ўзгарувчан даврийликдан биттасини аҳамиятини белгилаш set-request оператори. Бир нечта ўзгарувчан даврийликдан биттасини аҳамиятини бериш: get-response оператори. Бу хабарни агент менеджерга get-request, get-next-request ва set-request операторларига жавоб тарзда юборади. Агент билан имадир содир бўлганда менеджергахабар бериш: trap оператори.

Биринчи учта хабар менеджердан агентга, қолган иккитаси агентдан менеджерга юборилади. 20.1-расмда барча беш операторлар кўрсатилган.

Бешта SNMPдан тўтрттаси оддий сўров-жавоб кетма-кетлигида юажарилгани сабаб(менеджер сўров юборади, агент жавоб қайтаради), SNMP лар UDPдан фойдаланишади. Бу англатадики, менеджер сўрови агентга болмаслиги, агент жавоби ҳам менеджерга етиб бормаслиги мумкин. Бундай ҳолатда, менеджер тайм-аутни ишлаб беради ва қайта жўнатади (20.1-расм).

 

Расм 20.1. SNMP бешта операторлари

 

Менеджер бу учта сўровни  UDP порт 161га жўнатади. Агент UDP порт 162га тузоқлар (trap) юборади. Икки турли порт ишлатилганлиги сабаб, бир тизимбир вақтнинг ўзида ҳам агент, ҳам менеджер сифатида келиши мумкин. 

20.2-расмда  UDP датаграммага инкапсуляция қилинган SNMP беш хабарининг формати келтирилган.

 

Расм 20.2. SNMP бешта хабарининг кўриниши

 

Version майдонининг миқдори 0га тенг. Бу миқдор ҳақиқатда минус бир рақамига тенг. 

20.1-жадвалда протоколнинг маълумотлар блоки тури учун белгиланиш ёки миқдор кўрсатилган (PDU type).  (PDU – протокол маълумотлари блоки – Protocol Data Unit, одатда "пакет" деб номланади.)

 

Жадвал 20.1.

SNMP хабарлари  PDU хили

 

PDU type

Исм

0

get-request

1

get-next-request

2

set-request

3

get-response

4

Trap

 

Ҳамжамият (community)  - бу парол очиқ ҳолда сақланадиган рамзлар қаторидир. Парол менеджер ва агент ўртасидаги мумоқотда қўлланилади. Одатий белгиланиш – 6 рамзли  public қатори.

get, get-next ва set операторларида менеджер агент томонидан get-response хабарида қайтариладиган сўров  идентификаторини (request ID) биз бу турдаги ўзгарувчан даврийликни бошқа  UDP киритмаларида кўрганмиз. Бу мижозга (берилган вазиятда менеджер) сервердан кеган жавобларни ўзи жўнатган сўровлар билан солинтириш имконини беради. Бу майдон, шунингдек, бир ёки бир неча агентларга сўров юбориш, кейин эса олинган жавобларни ўз жойи бўйича қўйиш имконини беради. Хато статуси (errorstatus) бу агентларга қайтариб бериладиган ва хатони кўрсатадиган бутун сондир. 20.2-жадвалда  хатолар тасвири, номлари ва миқдорлари келтирилган. 

Жадвал 20.2.

SNMP хатоси статуси мазмуни

 

Хато статуси

номи

Тасвир

0

No Error

Ҳаммаси жоўида

1

Too Big

Мижоз жавобни бир  SNMP хабарига жойлаштира олмайди

2

No SuchName

оператор аҳамиятсиз ўзгарувчан даврийликни  кўрсатади

3

Bad Value

Ўрнатиш операцияларида нотўри белгилашга йўл қўйилган ёки хато қилинган

4

readOnly

менеджер “фақат ўқиш учун” деб белгиланган ўзгарувчан даврийликни ўзгартиришга ҳаракат қилди

5

Gen Error

Аниқланмаган хато

 

Хато юзага чиққанда, хатолар индекси қайси ўзгарувчан даврийликда хато содир бўлганини кўрсатадиган тўлиқ ишдан олинишдир. Бу миқдор агент томонидан фақат noSuchName (бундай исм йўқ), badValue (нотўғри миқдор) и readOnly (фақат ўқиш учун)хатолари учун ўрнатилади

Ўзгарувчан даврийлик номлари рўйхати  get, get-next ва set сўровларида келтирилади. Миқдорлар бўлими  get ва get-next операторларида инкор қилинади. trap (PDU type 4га тенг) оператори учун хабарлар SNMP ўзгартирилади.

 

3. SNMP протоколи камчиликлари

 

SNMP протоколи кўплаб бошқарув тизимларида  асос вазифасини бажаради, бироқ бир қанча принципиал камчиликларга эга бўлиб, улар қуйида саналган. 

Агентлар ва менеджерлар ўзаро аутентификацияси воситаси йўқлиги.  аутентификация воситасларига киритилиши мумкин бўлган ягона восита хабарларда «ҳамжамият қаторлари» - «community string» нинг қўлланилишидир.  Бу қатор тармоқ бўйлаб очиқ шаклда юборилади ва агентлар ва  менеджерларнинг ҳамжамиятларга бўлиниши асиси бўлиб хизмат қилади, шу сабаб агент фақат community string майдонида агент омборида сақланадиган қатор каби бир хил рамзий қаторни кўрсатадиган менеджерлар билан ўзаро таъсирлашади. Бу, албатта, аутентификация усули эмас, балки агентлар ва менеджерлар тузилиши усулидир. SNMP v.2 версияси бу камчиликни бартараф қилиши керак, лекин стандарт тадқиқотчилари ўртасидаги келишмовчиликлар сабаб янги аутентификацияси воситалари бу версияда пайдо бўлган бўлсада, шартли бўлмаган деб белгиланди. 

Ишончсиз UDP протоколи орқали ишлаш (хусусан, SNMP агентлари реализациялари шундай ишлайди) агентлардан менеджерларга авария юборилган хабарлар йўқолишига, шу билан сифатсиз бошқарувга олиб келиши мумкин. Қурилманинг ўрнатилган тармоқларида мавжуд кўп сонли ўрнатилган SNMP агентлари билан бирлаштирилган бир бирини  олиб келувчи йўқотишлар бирлашмасини ўрнатиш орқали ишончли транспорт протоколига ўтиш йўли билан тўғирлаш. Бошқарув платформаларини ишлаб чиқувчилар бу камчиликларни енгиб ўтишга ҳаракат қидалилар. Масалан,   TMN ва ISO стандартларига мувофиқ равишда кўп даражали бошқарув системларини ишлаб чиқиш учун платформа ҳисобланадиган HP OV Telecom DM TMN платформасида  агентлар ва менеджерлар ўртасида SNMP хабарлари йўқолганда уларни мустақил равишда қайта юборишни ташкил қилувчи ишончли хабар алмашинувини таъмиловчи янги  SNMP реализацияси ишлайди

 

4. NetFlow протоколи таҳлили

 

NetFlow - Cisco томонидан тармоқда трафик мониторинги учун ишлаб чиқилган очиқ истиқболли протоколдир. Netflow ҳар бир TCP/IP транзакция ҳақида ёзиб олиб тармоқ трафигини таҳлил қилиш имконини беради. 

 

Описание: http://wiki.pandorafms.com/images/thumb/8/80/Netflow_architecture.png/700px-Netflow_architecture.png

Расм 20.3. NetFlow архитектураси тузилиши

 

Тизимнинг  архитектураси сенсор, коллектор ва анализаторга асосланади:

- Сенсор ўзи орқали ўтган трафик бўйича статистика йиғади. Сенсорларни “узел нуқталари” да, масалан, тармоқ сегментлари маршрутизаторлари чегарасида қўйиш самаралидир.

- Коллектор сенсорлардан маълумотларни йиғади. Қабул қилинган файлларни у кейинчалик ишлов бериш учун файлга ташлайди. Турли коллекторлар маълумотларни турли форматларда сақлайди.

- Анализатор, ёки қайта ишлаш  тизими  бу файлларни ҳисоблайди ва ҳисоботларни одамларга қулай шаклда генерировка қилади. Бу тизим коллектор тақдим қилган маълумотлар билан киришиши керак. Замонавий тизимларда  коллектор ва анализатор бир ситемага бирлаштирилган. 

Одатда коллектор ва анализатор серверда ишловчи битта дастур комплекси қисмлари ҳисобланади.  ПО коллектор/анализатор турлари жуда кўп - пулли ва бепул, Windows ва Unix-тизимлари га асосланган.

Таъкидлаш жоизки, коллектор ва унинг орқасида жойлашган анализатор тизимнинг  пассив элементлари ҳисобланади. Моҳиятан, сервер кўтарилган бўлса, мониторингга ва серверга тушадиган қурилмаларни қўлда қўшишимиз шарт эмас. Сенсор ҳисоботларни юборади, коллектор уларни қабул қилади, анализатор рўйхатдан ўтказади. Агар сенсор ўчирилган бўлса, у жорий онлайн-статистикадан йўқолиб қолади.

NetFlow трафик коллектори тўғрисидаги маълумотларни юбориш учун  UDP ва SCTPдан фойдаланади. Одатда, коллектор 2055, 9555 ёки 9995 (ёки сиз коллектор ва сенсор қурилмасида кўрсатадиган) портларини тинглайди. 
Сенсор қуйидаги параметрлар билан характерланадиган  трафикдан ўтаётган оқимларни ажратади:

1.  Манба манзили;

2.  Топшириқ манзили;

3.  UDP ва TCP манзил порт;

4.  UDP ва TCP учун порт топшириғи;

5.  ICMP учун хабар коди ва тури;

6.  IP протокол рақами;

4.  Тармоқ интерфейс (ifindex SNMP параметр);

5.  IP Type of Service.

NetFlow - CiscoSystems компанияси томонидан ишлаб чиқилган тармоқ трафигини ҳисоблаш учун мўлжалланган тармоқ протоколидир. Асосланган саноат стандарти ҳисобланади ва нафақат   Cisco қурилмаси томонидан, балки бошқа кўплаб қурилмалар томонидан қўллаб қувватланади (хусусан, JuniperMikroTik ва Enterasys). Шунингдек, . UNIX га ўхшагаи тизимлар учун мустақил реализациялар ҳам мавжуд. Протокотнинг бир неча версиялари мавжуд бўлиб, 2011-йилда 5 ва 9 версиялари кенг тарқалди. 9 версия асосида, шунингдек  IPFIX (InternetProtocolFlowInformationeXport IP оқимлари тўғрисида экспорт информацияси ).

Оқим деб - бир  йўналишда ўтадиган пакетлар тўпламига айтилади. Сенсор оқим тугаганини аниқлаганда, (пакет параметрлари ўзгаргани ёки  TCP - сессия ишдан чиқиши билан) у маълумотни коллекторга юборади. Қурилмаларга боғлиқ тарзда, у, шунингдек, коллекторга ҳалиям давом этаётган оқимлар ҳақидаги маълумотни вақти-вақти билан юбориши мумкин. Бу жуда муҳимдир – сенсор ққурилмасида биз қайси параметрлар бўйича юборилган маълумот ҳисоботларда бирлаштирилишини қарор қиламиз.

Протокол рақами версияи;

1.  Ёзиб олиш рақами;

2.  Кирувчи ва чиқувчи тармоқ интерфейси;

3.  Оқим бошланиши ва тугаши вақти;

4.  Оқимда байт ва пакетлар миқдори;

5.  Манба ва топшириқ манзили;

6.  Манба ва топшириқ манзили;

7.  IP протоколи рақами;

8.  Type of Service миқдори;

9.  TCP-боғланишлар учун  — флага боғланиши давомидаги барча кузатувлар;

10.            Шлюза манзили;

11.            Манба ва топшириқ манзили.

Агар сенсор сифатида тармоқ қурилмаси келса, NetFlow ресурсларини тежаш мақсадида асосий статистика йиғишни исталган интерфейслар учун қўшилади.

Процессор ресурсларини тежаш мақсадида, шунингдек «sampledNetFlow» қўлланилади. Бундай вазиятда сенсор ҳамма эмас, балки ҳар бир n-пакетни таҳлил қилади, бунда  n  административ ёки тасодифий тарзда белгиланган бўлиши мумки.  sampledNetFlow қўлланилганда олинган миқдорлар аниқ эмас, баҳоловчи бўлади.

 

 

 

Назорат саволлари

1.     SNMP протоколи ривожланиш тарихи.

2.     SNMP бошқарув асослари.

3.     SNMP протоколи камчиликлари.

4.     NetFlow протоколи таҳлили.

5.     Юқори даражадаги бошқарув объектлари тизими.

6.     Оддий роутер ёрдамида бошқариш протоколи.

7.     Умумий бошқарув маълумот протоколи

 

Адабиётлар ва интернет ресурслар

1.      Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.      TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.      Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.      The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.      Keir Davis. TCP/IP Network Programming Design Patterns in C++. Vic Hargrave. 2013.


XXI-мавзу. Интернет тармоғи иловаларини дастурлаш

 

Режа

1.     FTP протоколи

2.     HTTP протоколи

 

Таянч иборалар: File Transfer Protocol, FTP командалари, Hypertext Transfer Protocol, Multiperposal Internet Mail Exchange, Simple Mail Transfer Protocol, Network News Transfer Protocol.

        

1. FTP протоколи

FTP (File Transfer Protocol ёки Файлларни узатиш протоколи) – Интернетда анча вақтдан фойдаланилаётган протокол бўлиб, унинг стандартлари туркумига киради. FTP да маълумотлар алмашинуви TCP-канал орқали амалга оширилади. "Клиент-сервер" технологияси бўйича алмашинув ташкил қилинган. 21.1-расмда протоколнинг модели тасвирланган.

Расм 21.1. Протокол модели

 

FTP (File Transfer Protocol ёки "Файлларни узатиш протоколи") – Интернетда анча вақтдан фойдаланилаётган протокол бўлиб, унинг стандартларига киради. Биринчи спецификациялар 1971 йилга оид. Шундан бери FTP кўплаб марта ўзгартирилган ва унинг имкониятлари сезиларли даражада кенгайтирилган. FTP фойдаланувчилар дастурларида ва операцион тизимнинг махсус утилитларида фойдаланилиши мумкин.

FTP узоқлаштирилган хостлардаги файлларга киришни тақсимлаш вазифаларини ечиш, узоқлаштирилган компьютерлардаги ресурслардан бевосита ёки билвосита фойдаланиш, клиентнинг узоқлаштирилган хостлардаги файл тизимларидан мустақиллигини таъминлаш, маълумотларни самарали ва ишончли узатишни таъминлашга мўлжалланган.

FTP махфий маълумотларни алмашинишга мўлжалланмаган, чунки бунда узатилаётган ахборотларнинг алмашинувини таъминламайди ва сервер, клиент ўртасида очиқ матнларни узатади. FTP-сервер FTP-клиентдан аутентификацияни талаб қилиши мумкин (яъни, серверга уланишда FTP-фойдаланувчи идентификатор ва паролни киритиши керак бўлади). Аммо, парол ва идентификатор клиентдан серверга очиқ матн тарзида юборилади.

FTP да уланиш фойдаланувчи протоколи интерпретатори томонидан инициализация қилинади. Алмашинувни бошқариш TELNET протоколининг стандартида бошқарув канали орқали амалга оширилади. FTP командалари фойдаланувчи протоколи интерпертатори томонидан генерацияланади ва серверга узатилади. Сервер жавоблари фойдаланувчига бошқарув канали орқали узатилади. Умумий          ҳолда фойдаланувчи сервер протоколи интерпретатори ва фойдаланувчи интерпретаторидан фарқли бўлган воситалар билан алоқа ўрнатиш имконига эга.

FTP командалари маълумотлар узатиш канали ва узатиш жараёнининг параметрларини аниқлайди. Улар, шунингдек, узоқлаштирилган ва локал файллар тизими билан ишлаш характерини ҳам аниқлайди.

Бошқарув сессияси маълумотлар узатиш каналини инициализация қилади. Маълумотлар узатиш каналини ташқил қилиш кетма-кетлиги бошқарув каналини ташкил қилишдан фарқланади. Ушбу ҳолатда сервер бошқарув сессиясида белгиланган параметрларга мувофиқ равишда маълумотлар алмашинувини инициализация қилади.

Маълумотлар канали бошқарув каналининг хости учун ҳам ўрнатилади ва у орқали маълумотлар канали созланади. Маълумотлар канали маълумотларни узатиш ва қабул қилиш учун фойдаланилади.

Маълумотлар учинчи машинага ҳам узатилиши мумкин. Ушбу ҳолатда фойдаланувчи иккита сервер билан бошқарув каналини ташкил қилади ва улар ўртасида тўғридан-тўғри маълумотлар канали ташкил қилинади. Бошқарув командалари фойдаланувчи орқали, маълумотлар эса серверлар ўртасида тўғридан-тўғри ўтади. (21.2-расм).

Бошқарув канали машиналар ўртасида маълумотлар узатишда ҳам очиқ бўлиши керак. Бошқарув канали ёпилганида маълумотларнинг узатилиши тўхтатилади.

Расм 21.2. Икки турли серверлар ўртасида уланиш ва улар ўртасидаги маълумотлар узатилиш жараёни

 

FTP архивлар хизмати. FTP-архивлар Интернетнинг асосий информацион ресурсларидан биридир. FTP-архивлари матн, дастур, фототасвир ва бошқа ахборотларнинг бутун дунё бўйлаб турли компьютерларда файллар кўринишида сақланувчи тақсимланган депозитарийдир.

    Ахборотлар FTP-архивларда асосан уч категорияга ажратилган:

             - Ҳимояланган ахборот – кириш ахборот эгалари орқали белгиланади ва истеъмолчи билан махсус келишув асосида рухсат этилади. Ресурсларнинг ушбу турига тижорат архивлари, ёпиқ миллий ва ҳалқаро нотижорий ресурслар (масалан, CES ва IAEA халқаро лойиҳалар бўйича ишлар), хусусий нотижорий махсус кириш режимли ахборот (масалан, хусусий хайрия фондлари) архивларини мисол сифатида келтириш мумкин.

             - Чекланган фойдаланишли информацион ресурслар, масалан, shareware синфи дастурлари. Ушбу синфга чекланган вақт мобайнида фойдаланишли ресурслар ёки чекланган вақт давомида ишлайдиган ресурслар кириши мумкин.

             - Эркин тарқатиладиган информацион ресурслар ёки гап дастурий таъминот ҳақида борса, fireware дастурлари. Ушбу ресурсларга тармоқ орқали махсус регистрациясиз олиш мумкин бўлган барча ахборотлар киради. Булар ҳужжатлар, дастурлар ёки бошқалар бўлиши мумкин. Шуни таъкидлаш керакки, эркин тарқатиладиган дастурий таъминот сифат сертификатига эга эмас, аммо уни ишлаб чиқарувчилар тажриба алмашинуви учун очиқдирлар.

Юқорида келтирилган ресурслардан эътиборни жалб қиладиганлари охирги икки категория бўлиб, улар, одатда, FTP-архивлар кўринишида расмийлаштирилган.

FTP технологияси ARPA лойиҳаси доирасида ишлаб чиқилган бўлиб, турли архитектурали машиналар ўртасида катта ҳажмли ахборотларни алмашиниш учун мўлжалланган. Ахборотларнинг ишончли алмашинувини таъминлаш лойиҳада муҳим аҳамият касб этган, шунинг учун замонавий нуқтаи-назардан FTPда камдан-кам ишлатиладиган имкониятларнинг кўплиги кўзга ташланади. Технологиянинг асосини FTP-протокол ташкил қилади.

FTP нинг ишлаш модели. FTP протоколнинг энг содда ишлаш модели 21.3-расмда келтирилган.

Расм 21.3. FTP протоколнинг энг содда ишлаш модели

 

FTP протоколининг ишлаш алгоритми қуйидагилардан иборат:

1.  FTP сервери бошқарув сифатида TCP да 21 портни ишлатади ва у ҳар доим FTP фойдаланувчиси томонидан уланишни кутиш ҳолатида бўлади.

2.  “Фойдаланувчи протоколи интерпретатори” модули билан “Сервер протоколи интерпретатори” сервери модули ўртасида бошқарув уланиш ўрнатилиши билан фойдаланувчи (клиент) серверга командаларни юбориши мумкин. FTP-командалар маълумотларни узатиш уланиши параметрларини аниқлайди: уланиш иштирокчилари роли (актив ёки пассив), уланиш порти (“Фойдаланувчи маълумотларни узатиш дастури” ва “Сервер маълумотларини узатиш дастури” модуллари учун), узатиш тури, узатилаётган маълумотлар тури, маълумотлар структураси ва бошқарув директивалари, фойдаланувчи бажарадиган белгили амаллар (масалан, сақлаш, ўқиш, маълумотлар ёки файлларни қўшиш ёки ўчириш ва бошқалар).

3.  Маълумотлар узатиш каналининг барча параметрлари мослаштирилганидан кейин, уланишнинг пассив бўлган иштирокчиларидан бири (масалан, “Фойдаланувчи маълумотларини узатиш дастури”) маълумотларни берилган портга узатиш учун уланишнинг очилишини кутиш режимига киради. Сўнгра актив модул (масалан, “Сервер маълумотларини узатиш дастури”) уланишни очади ва маълумотларни узатишни бошлайди.

4.  Маълумотларни узатиш тугалланганидан кейин, “Сервер маълумотларини узатиш дастури” ва “Фойдаланувчи маълумотларини узатиш дастури” ўртасидаги уланиш ёпилади, аммо “Сервер протоколи интерпретатори” ва “Фойдаланувчи протоколи интерпретатори” бошқарув уланиши очиқ қолади. Фойдаланувчи FTP сессияларини ёпмасдан маълумотларни узатиш каналини яна бир марта очиши мумкин.

Бошқарув канали маълумотлар машиналар ўртасида узатилаётганида очиқ бўлиши керак. Аксинча, канал ёпилганида маълумотлар узатлиши тўхтатилади. Икки сервер ўртасидаги уланиш 21.4-расмда тасвирланган.

Расм 21.4. Икки сервер ўртасидаги уланиш

 

Биттаси ҳам фойдаланувчининг локал хостида жойлашмаган икки FTP-сервернинг уланишидаги иш алгоритми:

1.  “Фойдаланувчи протоколи интерпретатори” модули “1-сервер протоколи инртерпретатори” сервернинг модулига пассив режимда ишлаш буйруғини берди, кейин “1-сервер протоколи интерпертатори” модули фойдаланувчига адрес ва (N) порт номерини юборди.

2.  “Фойдаланувчи протоколи интерпретатори” модули “2-сервер протоколи интерпретатори” 2-сервер модулини уланишнинг актив иштирокчиси сифатида белгилади ва унга маълумотларни “1-сервер протоколи интерпретатори” хостининг (N) портига юбориш буйруғини берди.

3.  “Фойдаланувчи протоколи интерпретатори” “1-сервер протоколи интерпретатори” га “келиб тушган маълумотларни қайсидир файлда сақлаш” командасини берди, “2-сервер протоколи интерпретатори” эса – “қайсидир файл маълумотларини узатиш” командасини берди.

4.  “1-сервер протоколи интерпретатори” ва “2-сервер протоколи интерпретатори” модуллари ўртасида клиент хости томонидан бошқариладиган маълумотлар оқими шаклланади.

Қуйида 2-расмга мувофиқ келувчи икки FTP серверлари ўртасида маълумотларни узатишни ташкил қилиш схемаси келтирилган. Бу ерда қуйидаги белгилашлардан фойдаланилган: User PI – фойдаланувчи протоколи интерпретатори; Server1(2) 1-сервер протоколи интерпретатори.

FTP маълумотларни узатиш асосини мувофиқ портлар ўртасида уланиш ўрнатиш ва узатиш параметрларини танлаш механизми ташкил қилади. FTP-уланишнинг ҳар бир иштирокчиси маълумотлар узатиш портини қўллаб-қувватлаши керак. “Фойдаланувчи маълумотларини узатиш дастури” командаларни узатиш портидан фойдаланади (уни “U” деб белгилаймиз), “Сервер маълумотларини узатиш дастури” эса L-1 портидан фойдаланади (L-бошқарув порти). Аммо, уланиш иштирокчилари “Фойдаланувчи протоколи интерпретатори” томонидан танланган маълумотлар узатиш портидан фойдаланади, чунки уланишда иштирок этувчи бошқарув жараёнларидан фақат “Фойдаланувчи протоколи интерпретатори” “Фойдаланувчи маълумотларини узатиш дастури” ва “Сервер маълумотларини узатиш дастури” нинг маълумотлар узатиш портларини ўзгартириши мумкин.

Уланишнинг пассив томони “узатишни бошлаш” командаси берилиши билан ўз маълумотлар узатиш портини “эшитиши” керак. Маълумотларни узатиш командасини берувчи актив томон маълумотлар узатилиш йўналишини аниқлайди.

Уланиш ўрнатилиши билан “Сервер маълумотларини узатиш дастури” ва “Фойдаланувчи маълумотларини узатиш дастури ўртасида” узатиш бошланади. Бир вақтнинг ўзида “Сервер протоколи интерпретатори” – “Фойдаланувчи протоколи интерпретатори” канали орқали маълумотларни қабул қилиш хабарлари узатилади. FTP протоколи маълумотлар узатиш вақтида бошқарув уланиш очиқ бўлишини талаб қилади. Бошқарув уланиш ёпилиши билан FTP сессияси тугатилади.

Одатда, FTP сервери маълумотлар узатиш каналининг очилиши ва ёпилишига жавобгардир. FTP сервери қуйидаги ҳолларда маълумотлар узатиш каналини мустақил равишда ёпиши керак:

1.  Сервер маълумотларни узатишни уланишни ёпишни талаб қиладиган форматда тўхтатганида;

2.  Сервер фойдаланувчидан “уланишни узиш” командасини қабул қилганида;

3.  Фойдаланувчи маълумотларни узатиш порти параметрларини ўзгартирганида;

4.  Бошқарув уланиш ёпилганида;

5.  Маълумотларни узатишни янгилаш имкониятини чекловчи хатоликлар юзага келганида.

Протокол командалари. “Сервер протоколи интерпретатори” ва “Фойдаланувчи протоколи интерпретатори” ўзаро алмашинадиган маълумотларни узатишни назорат қилиш бошқарув командаларини учта йирик гуруҳга ажратиш мумкин:

·       Тизимга киришни бошқариш командалари

·       Маълумотлар оқимини бошқариш командалари

·       FTP-сервис командалари.

Ҳар бир гуруҳдан энг муҳимларини кўриб чиқамиз. Тизимга киришни бошқариш командалари орасида қуйидагиларни таъкидлаш керак:

USER. Одатда, ушбу команда клиент ва сервер ўртасида FTP сессиясини очади. Команданинг аргументи – файл тизими билан ишлаш учун фойдаланувчининг номи (идентификатори) дир. Ушбу команда сессиянинг бошида ва ўртасида берилиши мумкин, масалан, фойдаланувчи идентификаторини ўзгартирмоқчи бўлганида. Шу билан бирга олдинги идентификаторга тааллуқли бўлган барча ўзгарувчилар бўшатилади. Агар идентификаторни ўзгартириш вақтида маълумотлар узатилса, маълумотларни узатиш фойдаланувчининг олдинги идентификатори билан тугатилади.

PASS. Ушбу команда фойдаланувчи идентификатори киритилганидан кейин берилади, ва аргумент сифатида фойдаланувчининг паролини ўз ичига олади. Эслатиб ўтамиз, FTP аутентификация  маълумотлари тармоқ орқали очиқ матн билан узатилади, шунинг учун канал хавфсизлигини таъминлаш учун фойдаланувчи қўшимча чораларни кўриши керак.

CWD. Команда фойдаланувчиларга узоқлаштирилган файл тизимининг турли каталоглари билан ишлаш имконини беради. Команданинг аргументи – фойдаланувчи ишламоқчи бўлган узоқлаштирилган файл тизимининг каталог йўлини кўрсатувчи сатрдир.

REIN. Реинициализация командаси. Ушбу команда жорий фойдаланувчининг барча ўзгарувчиларини ўчиради, уланишнинг барча параметрларини ташлаб юборади. Агар командани бериш вақтида маълумотлар узатилса, узатиш давом этади ва олдинги параметрлар билан тугатилади.

QUIT. Команда бошқарув канали ёпади. Агар командани бериш вақтида маълумотлар узатилса, канал маълумотлар узатиб бўлгандан кейин ёпилади.

Оқимни бошқариш командалари маълумотлар узатиш параметрларини ўрнатади. Ушбу командалар билан тавсифланадиган барча параметрлар ўз қийматларига эга бўлади, шунинг учун оқимни бошқариш командалари узатиш параметрлари қийматларини ўзгартириш керак бўлганида ишлатилади. Оқимни бошқариш командалари ихтиёрий тартибда берилиши мумкин, аммо уларнинг барчаси FTP-сервис командаларидан олдин берилиши керак. Маълумотлар оқимини бошқариш командаларидан қуйидагиларни ажратиш лозим:

PORT. Команда маълумотлар узатиш канали орқали уланишнинг актив иштирокчиси сифатида ишлатиладиган хостнинг адрес ва портини белгилайди. Команда аргументлари – 32-битли IP-адрес ва 16-битли уланиш порти номери. Ушбу қийматлар олтита 8-битли майдонларга ажратилган бўлиб, ўнлик кўринишда келтирилган: h1, h2, h3, h4, p1, p2, бу ерда hN – адрес байтлари (каттадан кичикка), pN эса – порт байтлари (каттадан кичикка).

PASV. Ушбу команда маълумотларни узатишда пассив ролни бажарувчи модулга юборилади (уланишни “эшитиш”). Ушбу командага жавоб тарзида PORT — “h1, h2, h3, h4, p1, p2” командаси форматида уланишни кутиш режимида бўлган хостнинг адреси ва портини ўз ичига олган сатр узатилиши керак.

TYPE, STRU, MODE командалари, мувофиқ тарзда, узатилаётган маълумотлар тури (ASCII, Image ва бошқ.), маълумотлар структураси ва формати (File, Record, Page), узатиш усули (Stream, Block ва бошқ.) ни аниқлайди. Ушбу командалардан фойдаланиш гетероген муҳитларда ўзаро алоқани ташкил қилишда ва ўзаро алоқада ишловчи хостларнинг кескин фарқланувчи операцион ва файл тизимларини қуришда жуда муҳим аҳамият касб этади.

FTP-сервиснинг командалари кўрсатилган файллар билан бажариладиган амалларни аниқлайди. Одатда, ушбу гуруҳ аргументлари – файлга олиб борувчи йўлдир. Кўрсатилган йўл синтаксиси командани қайта ишловчи файл тизимининг формат талабларини бажариши керак. FTP-сервиснинг командаларидан қуйидагиларни ажратиш мумкин:

RETR. Ушбу команда “Сервер маълумотларини узатиш дастури” модулига ушбу команда параметри томонидан берилган файл нусхасини уланишнинг бошқа томонидаги маълумотлар узатиш модулига узатиш буйруғини беради.

STOR. Команда “Сервер маълумотларини узатиш дастури” га маълумотларни каналдан қабул қилиш ва файл кўринишида сақлаш буйруғини беради (файл номи команда параметри билан берилади). Агар бундай файл аввалдан мавжуд бўлса, у янгиси билан ўзгартирилади, агар бўлмаса, янги файл яратилади.

RNFR ва RNTO командалари кетма-кет бўлиши керак. Биринчи команда аргумент сифатида файлнинг эски номини, иккинчиси – янги номни ўз ичига олади. Ушбу командалардан кетма-кет фойдаланиш файл номини ўзгартиради.

Команда серверга олдинги сервис командасини бажаришни тўхтатиш (масалан, файл узатишни) ва маълумотлар узатиш каналини ёпиш буйруғини беради.

DELE командаси кўрсатилган файлни ўчириб ташлайди.

MKD ва RMD командалари, мувофиқ равишда аргументда кўрсатилган каталогни яратади ва ўчириб ташлайди.

LIST ва NLST командалари ёрдамида кўрсатилган каталогда файллар рўйхатини олиш мумкин.

FTP-протоколнинг барча командалари “Фойдаланувчи протоколи интерпертатори” томонидан матнли кўринишда узатилади (ҳар бир сатрда биттадан команда билан). Команданинг ҳар бир сатри идентификатор ва аргументлар бўлиб, <CRLF> символлари билан тугалланади. Команданинг номи аргументдан пробел символи (-<SP>) билан ажратилади.

Командаларни қайта ишловчи учта рақамдан иборат бўлган ҳар бир командани қайта ишлаш кодини қайтаради. Қайта ишлаш командалари маълум бир иерархик структурани ташкил этади ва одатда, маълум бир команда фақатгина аниқ бир кодлар тўпламини қайтариши мумкин. Командани қайта ишлаш коди ортидан пробел символи - <SP> келади, кейин тавсифли матн келади. Масалан, операция муваффақиятли тугаллаш сатри қуйидаги кўринишда бўлади: “200 Command okay”.

FTP утилити. Оддий фойдаланувчига FTP нинг бирикмаси кўпроқ FTP серверлари ва клиентлар компютерлари ўртасида файлларни алмашиниш имконини берувчи сервисли утилита сифатида таниқлидир. Утилитлардан баъзилари командалар сатри сервисидан фойдаланади, баъзилари график интерфейсга эга, аммо, одатда, уларнинг барчаси FTP протокол стандартини қўллаб-қувватлайди ва FTP сервиси реализациясининг барча вариантлари қўллаб-қувватланадиган асосий командалар тўпламини аниқлайди.

FTP-утилити фойдаланувчини команда сатрида ишлаш интерфейси билан қобиқ билан таъминлайди. Реализация ва FTP дастурий версиясига боғлиқ тарзда, узоқлаштирилган файл тизими билан ишлаш у ёки бу функцияларини қўллаб-қувватлаши мумкин. FTP-утилит командалари, одатда, локал файл тизими билан ишлаш принципи асосида қурилган бўлиб, FTP-протокол командаларидан анча фарқланади.

FTP-утилити қобиқ командаларни FTP-протокол командаларига интерпретация қилади. FTP-уланиш командаларини узатиш, FTP сервери жавобларини таҳлил қилиш, маълумотларни узатиш каналини очиш, маълумотларни узатиў жараёни – буларнинг барчаси FTP-модулнинг ичида кечади. Фойдаланувчи командалар ва маълумотларни узатишнинг барча ҳодисалари ҳақида FTP-утилит томонидан ушбу ҳодисаларни интерпретация қилишга мувофиқ тарзда хабардор қилинади.

Маълумотларни узатиш/қабул қилиш командаларидан муҳимлари бўлиб get, put, mget, mput ва bin командалари ҳисобланади. get ва put командалари мувофиқ тарзда битта файлни қабул қилиш ва узатишга мўлжалланган. mget ва mput командалари аввалги командалар билан бир хил вазифаларни бажаради, аммо ушбу командаларнинг функциялари файллар гуруҳи устида операциялар бажаришга қаратилган. Bin командаси маълумотларни иккилик кўринишида узатиш имконини беради, бу эса дастур ва архивларни узатишда муҳимдир, бундан ташқари, ушбу режим ихтиёрий сатр узунлигига эга бўлган символли маълумотлар учун фойдали бўлади (ASCII сатр узунлигин 254 символлар билан чеклайди).

 

2. HTTP протоколи

HTTP – бу тақсимланган тизимлар ўртасида гиперматнни узатиш протоколидир. http замонавий Web нинг фундаментал элементи бўлиб ҳисобланади.

HTTP кўплаб хост ва клиентларнинг ўзаро алоқасини таъминлайди, шунингдек, қатор тармоқ созламаларини қўллаб-қўллаб қувватлайди.

Асосан, алоқа учун TCP/IP дан фойдаланилади, аммо бу ягона вариант эмас. TCP/IP 80 портдан фойдаланади.

Описание: http://ruseller.com/lessons/les1726/images/http1-request-response.png

Расм 21.5. Фойдаланувчи ва клиент ўртасидаги алоқа содда кўриниши

 

Хост ва клиент ўртасидаги алоқа икки босқичда амалга оширилади: сўров ва жавоб. Клиент HTTP сўровни шакллантиради, унга жавобан сервер хабарларни юборади. Кейинчалик ушбу иш схемасини батафсил кўриб чиқамиз.

HTTP протоколнинг жорий версияси 1.1 бўлиб, унга баъзи янги ўзгартиришлар киритилган. Менинг фикримча, улардан энг муҳимлари: доимий очиқ уланишни қўллаш, маълумотларни узатишнинг янги механизми chunked transfer encoding, кэшлаш учун янги сарлавҳалар. Булардан баъзиларини мақоланинг иккинчи қисмида кўриб чиқамиз.

URL. Веб-мулоқотнинг асосини Ягона ресурслар кўрсаткичи (URL) орқали узатиладиган сўров ташкил қилади. URL структураси жуда содда ва бир неча компонетлардан иборат:

Описание: http://ruseller.com/lessons/les1726/images/http1-url-structure.png

Расм 21.6. URL нинг умумий структураси

 

Протокол http каби оддий уланишларга мўлжалланган ва https каби маълумотларни хавфсиз алмашинишга мўлжалланган бўлиши мумкин.

Биз URL ёрдамида керакли бўлган хостнинг аниқ номланишини аниқлаймиз, аммо HTTP усул ёрдамида хабарлар узатиш учун нима қилиш керак? Албатта, бир вариантлар мавжуд. HTTP да аксарият иловаларга мос келадиган энг керакли имкониятлар реализация қилинган.

Мавжуд усуллар:

GET: мавжуд ресурсга кириш. URL да сервер қидирилаётган ресурслани топиши ва уни жавоб тарзида узатиши учун барча зарурий ахборотлар келтирилган.

POST: янги ресурсни яратишда фойдаланилади. POST сўрови, одатда, янги ресурсни яратиш учун керак ахборотларни ўз ичига олади.

PUT: жорий ресурсни янгилаш.PUT сўрови янгиланадиган маълумотларни ўз ичига олади.

DELETE: мавжуд ресурсни ўчириб ташлашга хизмат қилади.

Келтирилган усуллар кенг тарқалган бўлиб, аксарият ҳолларда турли инструмент ва фреймворклар томонидан фойдаланилади. Баъзи ҳолатларда, PUT ва DELETE сўровлари POST орқали узатилиб, унинг таркибида ресурс билан бажарилиши керак бўлган амаллар мавжуд: яратиш, янгилаш ёки ўчириш.

HTTP шунингдек бошқа усулларни ҳам қўллаб-қувватлайди:

HEAD: GET нинг аналоги. Ягона фарқ шундаки, ушбу сўров орқали хабар узатилмайди. Сервер фақат сарлавҳаларни қабул қилади. Ресурс ўзгартирилганлигини аниқлаш учун фойдаланилади.

TRACE: сўров узатиш вақтида кўплаб кириш нуқталари ва прокси серверлардан ўтиб, уларнинг ҳар бири ўз ахборотини киритади: IP, DNS. Ушбу усул ёрдамида барча оралиқ ахборотларни кўриш мумкин.

OPTIONS: маълум ресурс учун сервер имкониятлари, унинг параметрлари ва конфигурацияларини аниқлаш учун фойдаланилади.

Ҳолат кодлари. Клиент сўровига жавобан сервер ҳолат кодини ўз ичига олувчи жавобни узатади. Ушбу код клиент жавобни қандай интерпертация қилиши ҳақидаги маънони ташийди:

1xx: Информацион хабарлар

Ушбу кодлар тўплами HTTP/1.1 га киритилган. Сервер қуйидаги сўровни узатиши мумкин: Expect: 100-continue – бу клиент сўровни қолган қисмини юбораётганлигини билдиради. HTTP/1.0 билан ишлаётган клиентлар бундай сарлавҳаларга эътибор қаратмайдилар.

2xx: Муваффақият ҳақидаги хабар

Агар клиент 2хх сериясидаги кодни қабул қилган бўлса, сўров муваффақиятли узатилган. Энг кенг тарқалган вариант бу – 200 ОК. GET сўровда сервер жавобни хабар танасида узатади. Шунингдек, қуйидаги жавоб вариантлари ҳам мавжуд:

- 202 Accepted: сўров қабул қилинган, аммо жавобда ресурсни ўз ичига олмаслиги мумкин. Бу сервер томонидаги асинхрон сўровлар учун фойдалидир. Сервер ресурсни юбориш ёки қолдиришни аниқлайди.

- 204 No Content: жавоб танасида хабар мавжуд эмас.

- 205 Reset Content: серверга ҳужжатни тақдим қилишни ташлаш кўрсатмаси.

- 206 Partial Content: жавоб фақат контентнинг бир қисмини ўз ичига олади. Қўшимча сарлавҳаларда контентнинг умумий узунлиги ва бошқа ахборотлар аниқланади.

3xx: Қайта йўналтириш.

Клиентга яна бир амални бажариш ҳақидаги ўзига хос хабар. Энг кенг тарқалган қўллаш варианти: клиентни бошқа адресга қайта йўналтириш.

- 301 Moved Permanently: ресурс энди бошқа URL бўйича топилиши мумкин.

- 303 See Other: ресурсни вақтинчалик бошқа URL бўйича топиш мумкин. Location сарлавҳаси вақтинча URL ни ўз ичига олади.

- 304 Not Modified: сервер ресурс ўзгартирилмаганлигини аниқлайди ва клиентга жавобнинг кэшланган версиясини ишга тушириш керак. Ахборотнинг бир хиллигини текшириш учун Etag дан фойдаланилади. (хэш Сущности - Enttity Tag);

4xx: Клиент хатолари

Хабарларнинг ушбу синфи сўров хатолик билан узатилганида сервер томонидан ишлатилади. Энг кенг тарқалган код: 404 Not Found. Бу ресурс сервердан топилмаганлигини билдиради. Бошқа кодлар:

- 400 Bad Request: сўров нотўғри шаклланган.

- 401 Unauthorized: сўровни амалга ошириш учун аутентификация қилиш керак. Ахборотлар Authorization сарлавҳаси орқали узатилади.

- 403 Forbidden: сервер ресурсга киришни очмади.

- 405 Method Not Allowed: ресурсга кириш учун нотўғри HTTP ишга туширилган.

- 409 Conflict: сервер сўровни охиригача қайта ишлай олмайди, чунки ресурснинг янги версиясини ўзгартирмоқчи. Ушбу ресурс, одатда, PUT сўровларида келади.

5xx: Сервер хатолари

Сўровни қайта ишлашда сервер хатоларини аниқлаш учун ишлатиладиган қатор кодлар. Энг кенг тарқалгани: 500 Internal Server Error. Бошқа вариантлар:

- 501 Not Implemented: сервер сўралаётган функционалликни қўллаб-қувватламайди.

- 503 Service Unavailable: серверда хатолик рўй берганида ёки у юкланиб кетганида бўлиши мумкин. Одатда бундай ҳолатда сервер жавоб бермайди ва жавоб учун берилган вақт ўтиб кетади.

НТТР – амалий сатҳ протоколи бўлиб, Интернет тармоғида гипермантли ахборотларни алмашинишга мўлжалланган. Протоколи Word Wide Web тармоғи тизимларида 1990 йилдан фойдаланиб келинмоқда.

Реал информацион тизим оддий қидирувдан ташқари кўплаб функцияларни талаб қилади. НТТР маълумотларни алмашиниш доирасида ресурсларнинг универсал локатори (Universe Resource Locator) ёки ресурснинг универсал номи (Universal Resource Name) шаклида қўлланиладиган ресурсларнинг универсал идентификатори (Universal Resource Identifier) спецификацияларига асосланадиган кириш усулларини реализация қилиш имконини беради. Хабарлар НТТР протоколидан фойдаланишда тармоқ бўйлаб Интернетдаги почта хабари ёки MIME (Multiperposal Internet Mail Exchange) хабарлар форматига ўхшаш форматда узатилади. НТТР Интернет электрон почта ресурсларига (SMTP), янгиликлар рўйхатига (NNTP), файл архивларига (FTP), Gopher ва WAIS тизимларига кириш имконини берувчи дастур-клиентларни дастур-шлюзлар билан ўзаро алоқасини таъминлаш учун фойдаланилади. Протокол ушбу ресурсларга ахборотларни турли информацион хизматлар ўртасида йўқотишларсиз узатиш имконини берувчи оралиқ дастур-сервер (proxy) лар орқали киришга мўлжалланган. Протоколи сўров-жавоб принципини реализация қилади. Сўралаётган дастур-клиент – жавоб берувчи дастур-сервер билан ўзаро алоқани инициация қилади ва ўз ичига кириш усули, URI адреси, узатилаётган ахборот туридаги модификаторли, клиент ахбороти ва клиент хабари танаси билан MIME хабар шаклига ўхшаш протокол версиясини ўз ичига олувчи сўров юборади. Сервер ўз ичига протокол версияси ва қайтариш кодини олувчи ҳолат сатри билан жавоб қилади, сўнгра MIME га ўхшаш шаклдаги хабар узатилади. Ушбу хабар сервер ахбороти, метаахборот ва хабар танасини ўз ичига олади. Битта дастур сервер ва клиент ролини бажариши мумкин (прокси-серверлардан фойдаланилганида шундай бўлади ҳам).

Интернетда ишлашда НТТР-сўровларга хизмат кўрсатишда ТСР/ IP 80 порт ишлатилади. Протоколдан фойдаланиш амалиёти клиент уланиш ўрнатиши билан сервер жавобини кутишини тақозо қилади. Сервер жавоб юборганидан кейин уланишни узишни инициация қилади. Шу тарзда мураккаб гиперматнли саҳифаларни узатишда уланиш ўрнатиш бир неча марта амалга оширилиши мумкин. Ўзаро алоқада ишлаш механизми ва узатилаётган ахборотлар шаклида батафсил тўхталиб ўтамиз.

 

Назорат саволлари

1.     FTP протоколи.

2.     HTTP протоколи.

3.     FTP командалари.

4.     FTP архивлар хизмати.

5.     GET усули.

6.     POST усули.

 

Адабиётлар ва интернет ресурслар

 

1.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.     Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.     The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.     Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 

6.     Keir Davis. TCP/IP Network Programming Design Patterns in C++. Vic Hargrave. 2013.

7.     D. Schmidt. C++ Network Programming, Vol 1 Systematic Reuse with ACE and Frameworks . 2010

8.     D. Schmidt.  C++ Network Programming, Vol 2 Systematic Reuse with ACE and Frameworks.  2010

9.     Network Programming by Katta G. Murty. University Birmingham. 2010

10.           Li-Hsing Yen. Network Programming Introduction. 2011
XXII-мавзу. Тармоқда клиент-сервер назарияси асосида тизимлар дастурларини лойиҳалаш ва яратиш

 

Режа

1.     Телекоммуникация тармоқ қурилмаларининг тузилиш принциплари.

2.     Тармоқ қурилмаларининг дастурий таъминотини лойиҳалаш ва яратиш.

 

Таянч иборалар: repeater, bridge, коммутатор, маршрутизатор, шлюз,  Java дастурлаш тили.

 

1. Телекоммуникация тармоқ қурилмаларининг тузилиш принциплари.

Коммуникацион қурилмаларнинг энг оддийси бўлган так­рорловчи (repeater), локал компьютер тармоғининг узунлигини ошириш мақсадида тармоқнинг ҳар-хил сегменнтларини физик боғлашни амалга оши­ради.Такрорловчи тармоқнинг бир сегмен­тидан келган сигналларни, унинг бошқа сегментларига узатиб беради. Такрорловчи ёрдамида тармоқнинг алоқа чизиғи узунлигини ошириш, узатилаётган сигнални сифатини ях­шилаш билан амалга оширилади, бунда сигналнинг қуввати, ам­плитудаси ва шаклини тик­лаш каби вазифалар бажарилади.

Портлари сони иккитадан кўп бўлган (6 та, 8 та ёки 16 та) ва бир нечта сег­ментларни ўзаро боғлайдиган такрорловчи – кон­центратор ёки хаб деб ата­лади. Концентраторлар локал компьютер тармоқларининг барча асосий техно­логиялари таркибида қўлланилади. Бу технология­лар қуйидагшилардир: се­тей - Ethernet, ArcNet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, l00VG-AnyLAN.

Ҳар қандай технологияга тегишли бўлган концентраторлар­нинг ишлашида ўхшаш томонлари мавжуд, бу уларнинг бир портларига келган сигналларни бошқа портлприда такрорлаш­ларидир. Бироқ улар сигналларни қайси порт­ларида такрорлаш­ларига қараб бир-бирларидан ажралиб турадилар. Масалан Ethernet концентратори (22.1-расм, а) бир портига келган сигнал­ларни ўзининг бошқа барча портларида такрорлаб беради. Token Ring концентра­тори (22.1- расм, б) эса бир портига келган сиг­нални ўзининг ҳалқа бўйича кейин уланган компьютерига бора­диган портидагина такрорлаб беради.

Описание: h1d15

Расм 22.1. Ҳар-хил технологияларнинг концентраторлари

 

Концентраторлар ҳар доим тармоқнинг физик топологиясини ўзгартиради, аммо унинг мантиқий топологияси эса ўзгармай қолаверади.

Физик топология деганда, кабелларнинг бўлаклари ёрдамида ҳосил қилингаган боғланишлар шакли (конфигурацияси), мантиқий топология де­ганда эса тармоқда мавжуд компьютер­лар орасидаги ахборотлар оқими йўлларинингнинг шакли (кон­фигурацияси) тушунилади.

Тармоқларни концентраторлар ёрдамида физик структуралаш, тармоқларнинг узунлигини (ёки диаметрини) ошириш имкони билан бирга, уларнинг ишончлилигини ҳам ошириш имконини ҳам беради.

Тармоқни физик структуралаш кўпгина жиҳатлардан фойдали бўлсада , ўртача ва катта ўлчамлардаги тармоқларни қуришни эса мантиқий структуралашсиз амалга ошириб бўлмайди. Не­гаки тармоқнинг ҳар-хил сегментлари орасида узатилаётган тра­фикни тақсимлаш  муаммосини, физик структура­лаш ёрдамида ҳал қилиш мумкин эмас. Катта тармоқларда ахборотлар оқимининг бир текис бўлмаслиги табиий ҳолдир. Катта тармоқ кўпгина ишчи гурухларининг, бўлимларнинг, корхона филиал­ларининг ва бошқа админист­ратив тузилмаларининг нисбатан кичикроқ тармоқ ости тармоқларидан (sub­net) иборат бўлади.

Бирор-бир сегмент компьютерлари учун юборилган маълу­мотларни, яъни трафикни, фақатгина шу сегмент чегарасида­гина тарқатиш  (узатиш) – тра­фикни локализациялаш деб ата­лади. Тармоқни мантиқий структуралаш де­ганда эса – тармоқни локализацияланган трафикли сегментларга ажратиш (бўлиш) тушунилади.

Тармоқни мантиқий структуралаш учун қуйидаги коммуника­цион қурилмалар ишлатилади: кўприклар коммутаторлар, мар­шрутизаторлар ва шлюзлар.

 Кўприк (bridge) – тармоқда барча компьютерлар томонидан биргаликда фойдаланиладиган маълумотлар узатиш муҳитини мантиқий сегментларга ажратади. Кўприк бир сегментдан бошқа сегментга ахборотни узатиш керак бўлсагина узатади, яъни ах­боротюборилаётган компьютернинг адреси ўша сегментга те­гишли бўлсагина ахборот кўприкдан ўтади, акс ҳолда эса ўтмайди. 22.2-расмда юқорида келтирилган тармоқдаги марказий концентратор ўрнига кўприк қўйилиб ҳосил қилинган тармоқ келтирилган.

Описание: h1d18

Расм 22.2. Кўприк ёрдамида қурилган тармоқнинг мантиқий структураси

 

Коммутатор (switch, switching hub)- маълумотларни (кадр­ларни) ишлаш тамоили бўйича кўприкдан фарқ қилмайди. Ком­мутаторнинг кўприкдан фарқли жойи шуки, у ўзига хос комму­никацион мультипроцессор бўлиб, унинг ҳар бир порти кўприк сингари маълумотларни ишлаш алгоритми асо­сида мустақил ишлайдиган махсуслаштирилган процессорлар билан таъмин­ланган.

Коммутатор томонидан кадрларни параллел узатиш.

Маршрутизатор (router)- бу қурилма катта тармоқлар тарки­бидаги тармоқ ости тармоқлари (subnet) ичида ва улар орасида узатилаётган ахборотни, кўприкларга нисбатан яна ҳам ишончлироқ ҳимоя қила олади. Негаки мар­шрутизаторлар тар­кибий рақамли адреслар асосида тармоқни мантиқий сег­мент­ларга ажратади. Бу адресларда тармоқнинг номери деган қисми бўлади. Адресининг ана шу қисми бир-хил бўлган компьютер­лар, бир тармоқ ости тармоққа тегишли бўлади. Бундан ташқари маршрутизатор қуйидаги вазифа­ларни бажариши мумкин:

  - ҳар-хил технологияли тармоқ ости тармоқларни бир тармоққа бирлашти­риш, масалан Ethtrnet ва X.25;

  - ахборотларни узатишда нисбатан қисқа йўлларни – маршрут­ларни танлаш.

Шлюз (gateway) – бу қурилмаларни ишлатишдан асосий мақсад системали ва амалий дастурий таъминоти турлича бўлган тармоқ ости тармоқларни, бир тармоққа бирлаштириш ҳисобланади.

 

2. Тармоқ қурилмаларининг дастурий таъминотини лойиҳалаш ва яратиш.

Java тармоқда ўзаро алоқада ишлайдиган клиент/сервер иловаларини яратиш имкониятини таъминлаш учун тармоқда дастурлаш тили сифатида ишлаб чиқилган. Java тармоқ ресурсларига тезлик билан рухсат олиш имконини берувчи тармоқ классларининг кенг кутубхонасини таъминлайди.

Java нинг асосий тармоқ имкониятлари java.net пакетининг класс ва интерфейсларида амалга оширилади ва улар воситасида Java иловаларга уланишни маълумотлар оқими сифатида кўриш имконини берувчи оқимли ўзаро алоқани таъминлайди. java.net пакетининг класс ва интерфейслари, шунингдек, Интернет орқали аудио ва видео маълумотларни узатиш учун қўлланиладиган ахборотларнинг алоҳида пакетларини узатиш асосида коммуникацияларни тақдим этади. Ушбу мавзуда сокетларни яратиш ва бошқариш, шунингдек, иловаларнинг ўзаро алоқасини пакет ва маълумотлар оқимларини узатиш асосида ташкиллаштириш методлари кўриб чиқилади.

Тармоқни кўриб чиқиш, табиийки, клиент/сервер ўзаро алоқасининг икки томонларига ҳам тааллуқли бўлади. Умумий ҳолатда клиент баъзи амалларни бажаришни сўрайди, сервер эса сўровни бажаради ва клиентга жавобни шакллантиради. Сўров-жавоб умумий модели веб-браузер ва веб-серверлар ўртасида амалга оширилади. Фойдаланувчи браузерда кўриш учун сайтни танлаганида (клиент иловаси), сўровга мувофиқ веб-серверга узатилади. Сервер одатда клиентга мувофиқ шакллантирилган HTML-саҳифаларни узатиш билан жавоб беради.

Тармоқни дастурлашда сокетлар. Тармоқдаги ўзаро алоқага иловаларга тармоқдаги уланишларни файллар сифатида кўриш имконини берувчи сокетлар тушунчаси асосида қаралади ва дастур, худди файлдек, сокетдан ўқиши ва сокетга ёзиши мумкин бўлади. Socket сўзи ўзбек тилига таржима қилинганида “ин” маъносини билдиради. Ушбу ном аппаратурадаги ин (разъемлар) лардан келиб чиққан. Сокет уланишнинг охирги нуқтасини аниқловчи дастурий конструкция (объект) дан иборат бўлади.

Дастурларнинг ўзаро алоқасига мўлжалланган икки механизм мавжуд – бу датаграммалар сокети бўлиб, фойдаланувчи датаграмма протоколи (User Datagram Protocol – UDP) дан уланишни ўрнатмасдан фойдаланади ва узатишни бошқариш протоколи/тармоқлараро протокол (Transmission Control Protocol/Internet Protocol – TCP/IP) дан фойдаланувчи уланишни ўрнатувчи сокетлар.

Датаграмма – тармоқ бўйлаб юборилган маълумотлар пакети бўлиб, унинг қабул қилиниш вақти ва таркиби кафолатланмаган бўлади. Шунингдек, пакетларнинг етказилиш тартиби ҳам кафолатланмайди. UDP пакетини қандайдир адрес бўйича узатишда унинг қабул қилиниши тўғрисида, шунингдек, ушбу адрес бўйича, умуман пакетларни қабул қилувчи фойдаланувчининг бўлиши ҳам кафолатланмайди.

Худди шунингдек, датаграмма қабул қилинганида, уларнинг тармоқ бўйлаб етиб келишида шикастланмаганлиги ёки узатувчининг датаграмма қабул қилинганлигининг тасдиқланишини кутаётганлиги тўғрисида кафолат бўлмайди. UDP дан фойдаланиш пакетларнинг йўқолиши ёки дублланиши (дублирование) га олиб келиши мумкин, бу эса хатоларни текшириш ва маълумотларни узатиш ишончлилигини таъминлаш билан боғлиқ бўлган қўшимча муаммоларга сабаб бўлиши мумкин. Агар фойдаланувчига оптимал унумдорликка эришиш зарур бўлса ва ахборотнинг бутунлилигини текшириш харажатларини қисқартиришга тайёр бўлса, UDP пакетлари жуда қўл келиши мумкин.

Оқимли сокетлардан фойдаланишда дастур бошқа сокет билан алоқа ўрнатади, маълумотлар оқими дастурлар орасидан оқиб ўтади ҳамда оқим сокетлари уланиш ўрнатиш асосида хизмат кўрсатишни таъминлайди. TCP/IP Интернет тугунлари орасидаги нуқта-нуқта икки йўналишли уланишларни ўрнатиш асосидаги оқимли протокол бўлиб, ушбу протокол бўйича комьпютерлар ўртасидаги ўзаро алоқа маълумотларни ишончли узатишни амалга оширишга мўлжалланган. Узатиш канали бўйлаб узатилган барча маълумотлар узатилган тартибда қабул қилинади. Датаграмма сокетларидан фарқли равишда TCP/IP сокетлари клиент ва сервер ўртасида юқори ишончлиликка эга бўлган мустаҳкам уланишларни ўрнатиш имконини беради.

Иловаларнинг клиент/сервер архитектурасида сервер хости маълумотлар базаси сўровларини қайта ишлаш каби хизматларни таъминлайди. Бунда клиент ва сервер ўртасидаги ўзаро алоқа ишончли бўлиши, маълумотлар йўқотилмаслиги, шунингдек, клиентга сервер томонидан юборилган маълумотлар тартибли етказилиши лозим.

Таъкидланганидек, TCP клиент/сервер иловалари учун нуқта-нуқта ишончли уланиш каналини таъминлайди ва унинг ёрдамида клиент ва сервер дастурлари уланиш ўранатадилар, сокетларни ўзаро боғла йдилар. Сокетлар – жараёнлар ўртасида ахборотлар алмашинувини таъминлаш учун дастурий интерфейс номидир. Ўзаро алоқада бўлган жараёнлар битта комьпютерда, шунингдек, тармоқ орқали уланган бир неча хостларда бажарилиши мумкин. Сокетлар тармоқ орқали ўрнатилган иловалар ўртасидаги алоқа каналини бошқариш учун ишлатилади. Ҳар бир TCP-уланиш иккита охирги нуқталари билан идентификация қилиниши мумкин. Шу тарзда, клиент ва сервернинг кўплаб уланишлари таъминланиши мумкин. Сокет яратилганидан кейин, у орқали клиент ва сервер ўртасидаги кейинги ўзаро алоқа бажарилади.

 

 

 

 

Назорат саволлари

1.     Repeater нима?

2.     Bridge нима?

3.     Коммутатор нима?

4.     Маршрутизатор нима?

5.     Шлюз нима?

 

Адабиётлар ва интернет ресурслар

1.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.     Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.     The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.     Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 

6.     Keir Davis. TCP/IP Network Programming Design Patterns in C++. Vic Hargrave. 2013.

7.     D. Schmidt. C++ Network Programming, Vol 1 Systematic Reuse with ACE and Frameworks . 2010

8.     D. Schmidt.  C++ Network Programming, Vol 2 Systematic Reuse with ACE and Frameworks.  2010

9.     Network Programming by Katta G. Murty. University Birmingham. 2010

10.           Li-Hsing Yen. Network Programming Introduction. 2011.


XXIII-мавзу. Тармоқда клиент-сервер архитектурасини реализация қилиш

 

Режа

1.     Тармоқда клиент-сервер иловаларини яратишда Java класслари

2.     UDP протоколидан фойдаланиб клиент-сервер илова яратиш

 

Таянч иборалар: клиент-сервер иловалари, java.net пакети, DatagramPacket, DatagramSocket, MulticastSocket, InetAddress, ServerSocket, Socket.

 

Иловаларнинг клиент/сервер архитектурасида сервер хости маълумотлар базаси сўровларини қайта ишлаш каби хизматларни таъминлайди. Бунда клиент ва сервер ўртасидаги ўзаро алоқа ишончли бўлиши, маълумотлар йўқотилмаслиги, шунингдек, клиентга сервер томонидан юборилган маълумотлар тартибли етказилиши лозим.

Таъкидланганидек, TCP клиент/сервер иловалари учун нуқта-нуқта ишончли уланиш каналини таъминлайди ва унинг ёрдамида клиент ва сервер дастурлари уланиш ўранатадилар, сокетларни ўзаро боғла йдилар. Сокетлар - жараёнлар ўртасида ахборотлар алмашинувини таъминлаш учун дастурий интерфейс номидир. Ўзаро алоқада бўлган жараёнлар битта комьпютерда, шунингдек, тармоқ орқали уланган бир неча хостларда бажарилиши мумкин. Сокетлар тармоқ орқали ўрнатилган иловалар ўртасидаги алоқа каналини бошқариш учун ишлатилади. Ҳар бир TCP-уланиш иккита охирги нуқталари билан идентификация қилиниши мумкин. Шу тарзда, клиент ва сервернинг кўплаб уланишлари таъминланиши мумкин. Сокет яратилганидан кейин, у орқали клиент ва сервер ўртасидаги кейинги ўзаро алоқа бажарилади.

 

1.     Тармоқда клиент-сервер иловаларини яратишда Java класслари

Тармоқли дастурлаш учун Java класслари. Java дастурлаш тили java.net пакетини ўз ичига олиб, унинг класс ва интерфейслари тармоқда ишлашни қўллаб-қувватлашни таъминлайди ва тармоқли дастурлаш учун протоколлардан фойдаланади.

java.net пакети класслари. Тармоқ класслари масофадаги хост билан алоқа ўрнатиш ва уни узиш, маълумотлар пакетларини узатиш ва қабул қилиш ва тармоқ ресурсларига рухсат олиш каби вазифаларни бажариш методларини ўз ичига олади. Қуйида java.net пакетидаги баъзи класслар келтирилган:

- DatagramPacket: датаграмма пакети (datagram packet) нинг объекти бўлиб, ахборотлар манбаи ва қабул қилиниш адреси тўғрисидаги ахборот, манба ва қабул қилиш порт рақамлари каби маълумотларни ўз ичига олади. Ушбу ахборот датаграмма пакетларини тармоқ бўйлаб бир комьпютердан бошқасига узатиш учун фойдаланади.

- DatagramSocket: датаграмма пакетларини (datagram socket) узатиши ва қабул қилиши мумкин бўлган датаграмма сокети объектидир. DatagramSocket объекти томонидан узатилган пакетлар қабул қилувчига ҳар қандай тартибда келиши мумкин.

- MulticastSocket: гуруҳлар учун датаграмма пакетларини узатиш ва қабул қилиш учун фойдаланиладиган датаграмма сокетининг мультикаст (multicast) объектини яратади. D классдаги IP адреслар (224.0.0.0 ва 239.255.255.255 орасидаги IP адреслар) гуруҳларни яратиш учун фойдаланилади. Маълумотлар D классдаги IP-адресга узатилганида, гуруҳга уланган барча клиентлар узатилган маълумотларни қабул қиладилар. Ушбу класс клиентларга маълум гуруҳга кириш ва ундан чиқиш имкониятларини берувчи joinGroup() ва leaveGroup() методларини ўз ичига олади.

- InetAddress: IP-адрес ва хост номи (host name) дан иборат бўлган ахборотларни ўз ичига оладиган объектни яратади.

- ServerSocket: клиент сўровлари “эшитадиган” сервер сокети объектини яратади. ServerSocket объектлари клиент сўровларини қабул қилиш учун порт рақамидан фойдаланади.

- Socket: серверга сўровларни юбориш учун ServerSocket класси объекти билан боғланувчи клиент сокети объектини яратади.

- URL: Интернетга файл ёки бошқа ресурсни юбориши мумкин бўлган объектни тақдим қилади.

java.net пакети, шунингдек, амалларни бажариш вақтида тармоқ хатоларини қайта ишлаш имконини берувчи истисно ҳолатларни қайта ишлаш классларини ўз ичига олади. Қуйида java.net пакетида мавжуд бўлган истисно ҳолатларни қайта ишловчи бир неча класслар келтирилган:

- BindException: ушбу истисно ҳолатлар объекти локал адрес сокети ёки порти билан алоқа ўрнатишда хатолик юзага келганида генерацияланади. Масалан, локал адресга рухсат бўлмаганида ёки сўралган порт ишлатилаётган ҳолатларда.

- ConnectException: ушбу истисно ҳолатлар объекти сокетнинг масофадаги IP-адрес ва порт билан боғланишида хатолик юзага келганида генерацияланади. Масалан, масофадан уланиш имкони бўлмаганида.

- MalformedURLException: ушбу истисно ҳолатлар объекти URL кучга эга бўлмаган протоколга эга бўлганида ёки URL “ссылка” си муваффақиятли қайта ишланмаганида генерацияланади.

- UnknownHostException: ушбу истисно ҳолатлар объекти хостнинг IP-адресининг аниқланиши мумкин бўлмаганида ёки мавжуд бўлмаганида генерацияланади.

InetAddress класси:

InetAddress класси хостлар номи ва улар билан боғлиқ бўлган ва тармоқ иловаларини яратишда зарур бўлган IP-адресларни аниқлаш имконини беради. InetAddress объектлари InetAddress классида эълон қилинган статистик методлардан фойдаланган ҳолда инициализация қилинади. Қуйида InetAddress объектларини инициализация қилишда фойдаланиладиган методлардан баъзилари келтириган:

- public static InetAddress getLocalHost(): локал комьпютернинг IP-адресини ўз ичига оладиган InetAddress объектини қайтаради.

- public static InetAddress getByName(String host): String сифатида узатилган хост номининг IP-адресини ўз ичига олувчи InetAddress объектини қайтаради.

- public static InetAddress[] getAllByName(String host): String сифатида узатилган хост номи учун IP-адресни ўз ичига олувчи InetAddress объект массивини қайтаради.

- getLocalHost(), getByName(), getAllByName() ва getBy Adress() UnknownHostException истисно ҳолатини чақиради.

InetAddress классида аниқланган ностатик методлардан InetAddress объектларини инициализация қилинганидан кейин фойдаланиш мумкин. Ностатик методлар InetAddress классида аниқланган ва қуйида келтирилган:

- public boolean equals(Object obj): InetAddress объекти параметр сифатида узатилган obj объекти билан бир хил IP адресга эга бўлганида true ни қайтаради.

- public byte[] getAddress(): InetAddress объектининг IP адресини byte массиви кўринишида қайтаради. Масалан, InetAddress объектининг IP-адреси 194.85.160.58 бўлса, ушбу метод кейинги byte массивини қайтаради:

ipaddress[0] = 194;

ipaddress[1] = 85;

ipaddress[2] = 160;

ipaddress[3] = 58.

- public String getHostAddress(): InetAddress объектининг IP-адресини String сифатида қайтаради.

- public String toString(): хостнинг IP-адресини string сифатида хост/ IP-адрес ном форматида қайтаради.

InetAddress объектини инициализация қилиш ва фойдаланиш намунасини кўриб чиқамиз:

 

import java.net.*;

class InetAddressClass {

public static void main(String arg[]) {

try {

/*

* getLocalHost() дан фойдаланиб, InetAddress объекти яратилади.

* InetAddress классининг статик методи

*/

InetAddress address = InetAddress.getLocalHost();

/*хост IP-адресининг қабул қилиниши*/

String addressHost = address.getHostAddress();

/* хост IP-адресининг чиқиши */

System.out.println("хост IP-адресининг чиқиши"+addressHost);

// хост номининг чиқиши

System.out.println("хост номининг чиқиши"+address.getHostName());

} catch (UnknownHostException e) {

System.out.println("Error");

}

}

}

Ушбу намунада InetAddress классининг объекти аниқланади. InetAddressClass классининг main() методида address объекти getLocalHost() статик методидан фойдаланиб инициализация қилинади. getHostAddress() методи хост IP-адресини string сифатида қайтаради. getHostName() методи хост номини string сифатида қайтаради. InetAddressClass классининг бажарилиш натижасида IP-адрес ва хост номи чиқарилади.

 

2. UDP протоколидан фойдаланиб илова яратиш

Юқорида таъкидланганидек, Java UDP датаграмма ва TCP/IP сокетларидан фойдаланган ҳолда тармоқ иловаларини ишлаб чиқиш имконини беради. UDP сокетлари иловаларнинг тармоқ орқали ўзаро ишлаши учун UDP протоколидан фойдаланади. UDP уланиш ўрнатиш заруриятисиз тез ва ишончсиз протоколдир. java.net пакети Java иловасида UDP сокетидан фойдаланиш имконини берувчи қуйидаги икки классни ўз ичига олади:

-         DatagramPacket класси

-         DatagramSocket класси

DatagramPacket ва DatagramSocket класслари

DatagramPacket объекти тармоқ орқали узатиладиган ёки қабул қилинадиган датаграмма пакетларидан иборат бўлган маълумотлар контейнеридир. Қуйидаги конструкторлар DatagramPacket объектларини инициализация қилиш учун ишлатилади:

- public DatagramPacket(byte[] buffer, int buffer_length): маълумотларни byte массивида қабул қиладиган ва сақлайдиган DatagramPacket объектини яратади. Byte массивининг буфер узунлиги buffer_length иккинчи параметри томонидан берилади.

- public DatagramPacket(byte[] buffer, int buffer_length, InetAddress address, int port):  берилган узунликдаги маълумотлар пакетларини узатувчи DatagramPacket объектини яратади. Маълумотлар пакетлари компютерга IP-адрес ва параметр сифатида бериладиган порт номери билан узатилади.

DatagramPacket классида аниқланган методлардан DatagramPacket класси объекти инициализация қилинганидан кейин фойдаланилиши мумкин. 23.1-жадвалда DatagramPacket класси методлари келтирилган.

23.1-жадвал

DatagramPacket класси методлари

 

Метод

Таъриф

public InetAddress

getAddress ()

Датаграмма пакети узатиладиган ёки датаграмма пакети қабул қилинадиган компютер IP-адресини ўз ичига олувчи InetAddress объектини қайтаради

public byte []

getData ()

Маълумотларни ўз ичига олган byte буфер массивини қайтаради

public int

getLength ()

Маълумотларни ўз ичига олган буфер массивининг узунлигини қайтаради

public int

getPort ()

Датаграмма пакети узатиладиган ёки қабул қилинадиган компютер порт номерини қайтаради

public void

setAddress (InetAddress address)

Датаграмма пакети узатилиши керак бўлган машинанинг IP-адресини ўрнатади

public void

setPort (int port)

Byte массивини пакет учун маълумотлар сифатида ўрнатади

public void

setLength (intlength)

Масофадаги хостда порт номерини ўрнатади

 

DatagramSocket класси DatagramPacket объектларини боқшариш учун функционалликни ўз ичига олади. DatagramPacket объектлари DatagramSocket дан фойдаланган ҳолда сақланган маълумотларни узатади ва қабул қилади. Қуйидаги конструкторлар DatagramSocket объектини инициализация қилиш учун ишлатилади:

·                   public DatagramSocket(): DatagramSocket объектини яратади ва уни локал комьпютердаги рухсат этилган порт билан боғлайди.

·                   public DatagramSocket(int port): объектни яратади ва уни параметрда берилган локал хостдаги порт билан боғлайди.

·                   public DatagramSocket(int port, InetAddress address): объектни яратади ва уни берилган хост порти билан боғлайди.

DatagramSocket классининг конструктори SocketException истисно ҳолатини чақиради. 23.2-жадвалда ахборотларни DatagramSocket объектидан олиш учун фойдаланиладиган DatagramSocket класс методлари келтирилган:

 

23.2-жадвал

 

DatagramSocket объектидан олиш учун фойдаланиладиган DatagramSocket класс методлари

 

Метод

Таъриф

public InetAddress

getInetAddress ()

DatagramSocket объекти боғданадиган IP-адресни ўз ичига олган InetAddress объектини қайтаради

public InetAddress

getLocalAddress ()

DatagramSocket объекти боғланадиган локал хост IP-адресини ўз ичига олган InetAddress объектини қайтаради

public int getLocalPort ()

DatagramSocket объекти боғланадиган локал хост портини тақдим қиладиган бутун қийматни қайтаради

public void

bind (SocketAddress address)

DatagramSocket объектини SocketAddress объекти билан боғлайди

public void close ()

DatagramSocket объектини ёпади

public void connect (InetAdress address, int port)

DatagramSocket объектини берилган IP-адрес ва порт билан боғлайди

public void disconnect ()

DatagramSocket объектини узади

public boolean isBound ()

DatagramSocket объекти порт билан боғланган бўлса, true ни қайтаради

public Boolean isClosed ()

DatagramSocket объекти ёпилганида

public boolean isConnected ()

DatagramSocket IP-адрес билан боғланганида true ни қайтаради

public void receive

(DatagramPacket packet)

DatagramSocket жорий объектидан датаграмма пакетини қабул қилади

public void send

(DatagramPacket packet)

DatagramSocket жорий объектидан датаграмма пакетини узатади

 

UDP серверини яратиш

UDP сервери клиент иловаларига хизмат кўрсатиш учун UDP протоколидан фойдаланадиган тармоқ иловасидир. UDP серверини яратиш учун DatagramPacket объектларини клиентлардан қабул қиладиган DatagramSocket объектидан фойдаланилади. UDP серверини яратиш учун қуйидагиларни бажариш керак бўлади:

         - DatagramSocket объектидан фойдаланиб сокет яратиш;

         - DatagramPacket класс объектини яратиш ва клиент хабарларини қабул қилиш учун receive() методидан фойдаланиш;

         - DatagramPacket класс объектини яратиш ва клиент хабарларини узатиш учун send() методидан фойдаланиш;

         - main() методида UDP сервер класси конструкторини чақириб, серверни ишга тушириш.

Қуйидаги код фрагментидан DatagramSocket объектини яратиш учун фойдаланиш мумкин:

DatagramSocket:

try

{

DatagramSocket socket = new DatagramSocket(1501);

}

catch(SocketException send)

{

System.out.println("Error");

}

 

Юқоридаги код фрагментида  DatagramSocket классининг socket объекти 1501 рақамли порт билан боғланади.

Датаграмма пакетини қабул қилувчи DatagramPacket объекти датаграммаларни сақлаш учун буферга эга. Қуйидаги код фрагментидан датаграмма пакетларини қабул қилувчи DatagramPacket объектини яратиш учун фойдаланиш мумкин:

try

{

DatagramPacket packet = new DatagramPacket(buffer, buffer.length);

socket.receive(packet);

}

catch(Exception e){

System.out.println ("Error");

}

 

Олдинги код фрагментида socket объектидан пакетни қабул қилиш учун receive() методини чақирадиган DatagramPacket классининг packet объекти яратилади.

Қабул қилувчига юборилган DatagramPacket объекти қабул қилинган маълумотлар объектидан фарқ қилади. Ушбу DatagramPacket объекти хостнинг пакет юборилган IP-адреси ва порт номерига эга бўлади. Қуйидаги код фрагментидан DatagramPacket объектини берилган манзилга юбориш учун фойдаланиш мумкин:

 

try

{

DatagramPacket packet = new DatagramPacket(buffer, length, address, port);

socket.send(packet);

}

catch(Exception e)

{

System.out.println ("Error");

}

 

Олдинги код фрагментида 4 та параметрни қабул қилувчи DatagramPacket классининг янги packet объекти яратилади.

-         buffer: маълумотларга эга бўлган буферни беради.

-         length: буфер узунлигин байтларда беради.

-         address: датаграмма юборилган адресни беради.

-         port: масофадаги комьпютер датаграммани қабул қилишда ишлатадиган порт номерини беради.

DatagramSocket классининг send() методи адресга DatagramPacket объектини юборади.

UDP серверини ишга тушириш учун main() методидаги конструктор класси чақирилади. Қуйидаги код фрагментини UDP серверини ишга тушириш учун ишлатиш мумкин:

 

public static void main(String args[]) throws Exception

{

/* серверни ишга тушириш */

new UDPServer();

}

 

Олдинги код фрагментида UDP сервер иловасини иш туширувчи UDPServer класс объекти яратилади.

Қуйидаги код клиентдан қабул қилинган хабарларни акс эттиради ва клиентга жавоб хабарларни узатувчи UDPServer ни яратиш имконини беради:

import java.io.*;

import java.net.*;

public class UDPServer

{

/*ўзгарувчилар эълон қилинади*/

DatagramSocket socket = null;

BufferedReader in = null;

String str = null;

byte[] buffer ;

DatagramPacket packet;

InetAddress address;

int port;

/* UDPServer класс конструктори */

public UDPServer() throws IOException

{

/* клиент сўровларини 1501 рақамли портга қабул қилувчи DatagramSocket объекти яратилади*/

socket = new DatagramSocket(1501);

/* call() методи яратилади*/

call();

}

public void call()

{

try

{

while (true)

{

buffer= new byte[256];

/* DatagramPacket  объекти инициализация қилинади*/

packet = new DatagramPacket( buffer, buffer.length);

/* DatagramSocket классининг receive() методидан фойдаланиб, датаграмма пакетлари узатилади*/

socket.receive(packet);

if(packet == null) break;

System.out.println("Request string for sending to client ");

try

{

/* консолдан маълумотларни ўқийдиган кирувчи оқим яратилади*/

in = new BufferedReader(new InputStreamReader(System.in));

}

catch(Exception e)

{

System.out.println("Error : " + e);

}

str = in.readLine();

buffer = str.getBytes();

address = packet.getAddress();

port = packet.getPort();

packet = new DatagramPacket(buffer, buffer.length, address, port);

/*  датаграмма пакети узатилади*/

socket.send(packet);

}

/* оқим ва сокет ёпилади*/

in.close();

socket.close();

}

catch(Exception e)

{

System.out.println("Error : " + e);

}

}

public static void main(String args[]) throws Exception

{

/* сервер ишга туширилади*/

new UDPServer();

}

}

Кўриб чиқилган кодда UDPServer класс конструкторида DatagramSocket классининг socket объекти яратилади. Сокет 1501 портга инициализация қилингандан сўнг, клиент/сервер ўзаро алоқасини бошқарувчи receive() ва send() методларидан иборат бўлган call() методи чақирилади.  Олдинги код UDPServer.java сифатида сақланади ва java.exe дастури билан компиляция қилинади.

 

UDP клиентини яратиш

UDP клиенти UDP протоколидан серверга сўровларни юбориш ва сервер иловасидан жавобларни қабул қилиш учун фойдаланадиган иловадир. Фойдаланувчининг UDP-иловасида UDP серверидан хабарларни қабул қиладиган DatagramSocket класс объектини яратиш зарур, бу учун эса қуйидагиларни бажариш лозим бўлади:

1. Сервер билан уланиш ўрнатиш учун DatagramSocket класс объектидан фойдаланувчи сокетини яратиш.

2. DatagramPacket класс объектини яратиш ва хабарларни серверга юбориш учун send() методидан фойдаланиш.

3. DatagramPacket класс объектини яратиш ва сервердан юборилган хабарларни қабул қилиш учун receive() методидан фойдаланиш.

Қуйидаги код фрагментидан клиент иловаси учун DatagramSocket класс объектини яратиш учун фойдаланиш мумкин:

 

try

{

DatagramSocket socket = new DatagramSocket();

}

catch(Exception e)

{

System.out.println("Error");

}

 

Олдинги код фрагментида конструктор DatagramSocket класс объектини ҳар қандай рухсат этилган локал порт билан боғлайди, чунки параметрда порт номери кўрсатилмаган бўлади.

Ушбу DatagramSocket объекти сўров юбориладиган сервернинг IP-манзили ва порт рақамини ўз ичига олади. Қуйидаги код фрагменти DatagramPacket объектини берилган серверга юбориш учун ишлатилади:

 

try

{

DatagramPacket packet = new DatagramPacket(buffer, length, address, port);

socket.send(packet);

}

catch(Exception e)

{

System.out.println("Error");

}

Олдинги код фрагметида 4 та параметрни қабул қилувчи DatagramPacket конструктори ёрдамида packet объекти яратилади. DatagramSocket классининг send() методи DatagramPacket класс объектини серверга юборади.

Қуйидаги код фрагментидан сервердан датаграмма пакетларини қабул қилувчи DatagramPacket объектини яратишда фойдаланиш мумкин:

 

try

{

DatagramPacket packet = new DatagramPacket(buffer, buffer.length);

socket.receive(packet);

str = new String(packet.getData());

System.out.println("Принятое сообщение : "+str);

}

catch(Exception e){

System.out.println("Ошибка");

}

 

Олдинги код фрагментида receive() методини чақирувчи DatagramPacket класснинг packet объекти яратилади. getData() методи packet объектидан маълумотларни қабул қилади ва уларни string турдаги ўзгарувчида сақлайди.

Қуйидаги код UDPServer га хабарларни узатувчи ва қабул қилувчи UDPClient классини яратиш учун ишлатилади:

 

import java.io.*;

import java.net.*;

public class UDPClient

{

/* ўзгарувчилар эълон қилинади */

static DatagramSocket socket;

static InetAddress address;

static byte[] buffer;

static DatagramPacket packet;

static String str, str2;

static BufferedReader br;

public static void main(String arg[]) throws Exception{

/* консолдан ўқиладиган кирувчи оқим яратилади */

br = new BufferedReader(new InputStreamReader(System.in));

while(true)

{/* янги DatagramSocket объекти яратилади ва порт билан боғланади*/

socket = new DatagramSocket();

address = InetAddress.getByName("127.0.0.1");

buffer = new byte[256];

packet = new DatagramPacket(buffer, buffer.length, address, 1501);

/* DatagramPacket серверга юборилади */

socket.send(packet);

System.out.println("Sending request ");

packet = new DatagramPacket(buffer, buffer.length);

/* сервердан DatagramPacket қабул қилинади */

socket.receive(packet);

/* датаграммалар пакети объектидан маълумотлар қабул қилинади */

str = new String(packet.getData());

System.out.println("Received message : "+str.trim());

System.out.println("Do you want continue (Yes/No) : ");

str2 = br.readLine();

/* while циклидан чиқиш */

if(str2.equals("No")) break;

}

/* сокет объекти ёпилади */

socket.close();

}

}

 

Кўриб чиқилган кодда UDPClient классининг main() методидаги  while цикли UDPServer га сўровларни юборади ва қабул қилади. Socket объектининг send() методи серверга сўровларни юборади, receive() методи эса UDPServer дан хабарларни қабул қилади. 23.1-расмда UDPClient клиент ва UDPServer сервернинг ўзаро алоқасидан олинган натижа келтирилган. (ҳар бир иловани бажариш учун алоҳида дарча очилади).

 

23.1-расм. UDPClient натижаси

 

Келтирилган расмда «Sending request» хабари клиент UDPServer га сўров юборганлигини кўрсатади. UDPServer клиент сўровини қабул қилганидан кейин, консол ойнасига «Request string for sending to client» хабарини чиқаради. Сервер фойдаланувчидан хабар олганидан кейин UDPServer натижаси сервер ойнасида акс эттирилади. UDPServer консол ойнасига «Hello, Client!» хабарини чиқаради ва клиентга юборади. Агар фойдаланувчи клиент консолига «No» ни киритса, UDPClient жараёни тугалланади.

 

Server классини яратиш

Server класси 233.0.0.1 гуруҳда рўйхатга олинган барча клиентларга хабарларни юбориш учун мўлжалланган. Server классини яратиш ичига қуйидаги асосий босқичлар киради:

1. DatagramSocket класси асосида сокетни яратиш. Сервер сокети хабарларини юбориш вазифасини бажаради.

2. Сервер адресини намойиш қилувчи InetAddress класс объектини яратиш. Хабарларни гуруҳли (multicast) юбориш учун адреслар 224.0.0.0 – 239.255.255.255 диапазондан танланади. Бизнинг иловамизда 233.0.0.1 адреси ишлатилади.

3. Клавиатурадан хабарларни киритишни ташкиллаштириш ва киритилган маълумотларга эга бўлган ва пакетларни гуруҳнинг барча клиентларига юбориш учун DatagramSocket классининг send() методидан фойдаланувчи DatagramPacket синфининг packet объектини яратиш.

1) Сервер классини яратиш учун сичқончанинг ўнг тугмасини Package Explorer ойнасидаги каталог src устига босинг ва New/Class ни танланг.

2) Finish ни босинг. Пайдо бўлган ойнада пакет номи (Package) сифатида ru.ifmo.socket ни кўрсатинг, класс номи (Name) сифатида эса Server ни ёзинг.

Server классининг коди қуйида келтирилган:

 

package ru.ifmo.socket;

import java.io.*;

import java.net.*;

public class Server {

private BufferedReader in = null;

private String str = null;

private byte[] buffer;

private DatagramPacket packet;

private InetAddress address;

private DatagramSocket socket;

public Server() throws IOException {

System.out.println("Sending messages");

// клиент сўровларини қабул қилиш учун

//DatagramSocket объекти яратилади

socket = new DatagramSocket();

// Гуруҳда рўйхатга олинган барча клиентларга

// хабар юбориш учун transmit() методини чақириш

transmit();

}

public void transmit() {

try {

// консолдан маълумотларни қабул қилиш

//учун кириш оқими яратилади

in = new BufferedReader(new InputStreamReader(System.in));

while (true) {

System.out.println("клиентларга юбориш учун сатрни киритинг: ");

str = in.readLine();

buffer = str.getBytes();

address = InetAddress.getByName("233.0.0.1");

// 1502 рақамли портга датаграмма пакетини юбориш

packet = new DatagramPacket(buffer, buffer.length, address, 1502);

// гуруҳдаги барча клиентларга хабарларни юбориш

socket.send(packet);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

// оқим ва сокетни ёпиш

in.close();

socket.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

public static void main(String arg[]) throws Exception {

// серверни ишга тушириш

new Server();

}

}

 

Client классини яратиш

Client класси клиентга сервердан хабарлар қабул қилиш учун 233.0.0.1 гуруҳга кириш имконини беради. Client классини яратиш қуйидаги асосий босқичлардан иборат:

1. MulticastSocket класси ёрдамида гуруҳли хабарларни кўриш учун сокет яратиш. Клиент сокети хабарларни қабул қилиш вазифасини бажаради.

2. Сервер адресидан иборат бўлган InetAddress объектини яратиш ва ушбу сервернинг гуруҳига joinGroup сокет методи ёрдамида кириш.

3. Сокетдан датаграмма пакетлари (DatagramPacket) ни киритишни ташкиллаштириш ва экранда олинган маълумотларни акс эттириш.

1) Клиент классини яратиш учун Package Explorer ойнасидаги src каталогнинг ru.ifmo.socket пакетига сичқончанинг ўнг тугмасини босинг ва New/Class ни танланг.

2) Пайдо бўлган ойнада класс номи (Name)  сифатида Client ни ёзинг. Finish ни босинг.

Client классининг коди қуйида келтирилган:

 

package ru.ifmo.socket;

import java.net.*;

public class Client {

private static InetAddress address;

private static byte[] buffer;

private static DatagramPacket packet;

private static String str;

private static MulticastSocket socket;

public static void main(String arg[]) throws Exception {

System.out.println("сервер хабарини кутиш ");

try {

// 1502 порт рақамидан фойдаланиб, гуруҳдан

//маълумотларни қабул қилиш учун MulticastSocket объектини яратиш

socket = new MulticastSocket(1502);

address = InetAddress.getByName("233.0.0.1");

// клиентни гуруҳда рўйхатга олиш

socket.joinGroup(address);

while (true) {

buffer = new byte[256];

packet = new DatagramPacket(buffer, buffer.length);

// сервердан маълумотларни қабул қилиш

socket.receive(packet);

str = new String(packet.getData());

System.out.println("хабар қабул қилинди: " + str.trim());

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

// клиентни гуруҳдан ўчириш

socket.leaveGroup(address);

// сокетни ёпиш

socket.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

 

Ишга тушириш ва тестдан ўтказиш

Ҳар бир яратилган Client ва Server класслар main() методини ўз ичига олиб, тармоққа уланган алоҳида комьпютерда ишга туширилиши мумкин бўлган алоҳида илова бўлиб ҳисобланади. Бунда гуруҳли маълумотларни (multicasting scope) узатиш соҳаси сервер тармоқости билан чегараланади. Бизнинг ҳолатимизда клиент ва сервер ролини битта комьпютер бажаради.

1) Package Explorer ойнасидаги Client классга сичқончанинг ўнг тугмасини босинг ва контекст менюдан Run As/Java Application командасини танланг.

Худди шуни Server класси билан ҳам такрорланг.

1)                Натижада, 23.2-расмдагидек, Display Selected Console рўйхат тугмалари ёрдамида бир-бирига ўтиш мумкин бўлган иккита илова ишга тушади.

23.2-расм. Консолни танлаш

 

2)                Сервер консолини танланг, "Hello!!!" сатрини киритинг ва юбориш учун Enter ни босинг, 23.3-расмдагидек.

 

23.3-расм. Сервер консолларига хабарни киритиш.

 

4) Клиент консолига ўтинг ва клиент хабарни қабул қилганлигини кўринг (23.4-расмдагидек).

 

23.4-расм. Клиент консолларига хабарни чиқариш.

 

5) Илова ишини тўхтатиш Terminate тугмасини босиш орқали амалга оширилади.

 

Назорат саволлари

1.  java.net пакети.

2.  DatagramPacket класси.

3.  DatagramSocket класси.

4.  MulticastSocket класси.

5.  InetAddress класси.

6.  ServerSocket класси.

7.  Socket класси.

 

Адабиётлар ва интернет ресурслар

1.      Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.      TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.      Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.      The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.      Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 


XXIV-мавзу. IPv4 ва IPv6 протоколлари тизими асосида тармоқ дастурий таъминотини лойиҳалаш

 

Режа

1.     IP протокол тузилиши, структураси

2.     IP протокол версияларининг тахлили, афзалликлари ва камчиликлари

3.     IPv4 протоколидан IPv6 протоколига ўтиш технологиялар тахлили

4.     IРv6 протоколи

 

Таянч иборалар: IP протокол, IPv4, IРv6, сарлавҳа узунлиги, IGMP, UDP, TCP, CATNIP, SIPP, маршрутизатор, NAT.

 

1. IP протокол тузилиши, структураси

 

IP (Internet Protocol)  тармоқ бўйлаб маълумот узатишга жавоб берадиган  TCP/IP  барча стекнинг асосий протоколи ҳисобланади.  Маълумотлар дейтаграмма деб номланувчи блоклар билан узатилади. IP протоколи тармоқ даражасидаги протокол хисобланиб, ҳар бир мухитнинг узининг IP дейтограммасини инкапсулация усули мавжуд. Маршрутизаторлар инкапсулляцияланган дейтаграммаларни турли тармоқларга юборадилар. Бу ўз навбатида IP тармоқларнинг бирлашувини келтириб чикаради. Бунинг ичида ҳар бир ишчи станция IP протокол бўйичабошқа ишчи станциялар билан алоқада булади.

IP хавфсизлигига ишонмайдиган фойдаланувчиларнинг фоизи хам анча баланд. Давлат структурасини хам телекоммуникация тизимига узининг талаблари бор. IP сервиснинг узига жалб қилишига ва кўплигига карамай давлат муассасаларини ундан фойдаланишга бўйсундириш осон эмас.Бунинг асосий йули ҳар хил технологиялар, анъанавий мобил ва IP тизимини мувофиқлаштириш.Бу фойдаланувчиларга узларининг ҳоҳиш ва талабларидан келиб чикиб хизматлардан фойдаланиш имконини беради. IP протокол асосий хисобланиб, у тизим бўйича маълумот узатишга жавоб беради.

Жадвал 24.1

IP протокол сарлавхаси

 

4

вер

сияси

4

Сарлавханинг узунлиги

8

Хизмат тури

16

Пакет тўлиқ узунлиги

16

Умумий идентификатор

3

Байроқча

13

Қисман Силжиш

8

TTL

8

протокол

16

Сарлавханинг контроль йиғиндиси

Юборувчи манзили

Қабул қилувчи манзили

Қўшимча параметрлар

Тўлдиргич 32 бит гача

 

IP протоколи томонидан таклиф этилаетган хизматлар дейтаграмманинг кафолатланмаган етказиб берилишига қаратилади.  IP протокол дейтограмманинг йуқолмаслиги ёки қайтарилмаслигига кафолат бермайди. Дейтограмма хатоликларбилан ёки тартиби ўзгарган холда фойдаланувчига етказиб берилиши мумкин.  

Дейтограмма сарлавха  ва маълумотлар майдончасидан ташкил топган бўлиб, маълумотлар майдон узунлиги сарлавхадаги “умумий узунлик” майдонида аниқланади. 

IP протоколнинг асосий вазифаларига куйидагилар киради:

-         Тармоқлар орасида турли типдаги маълумотларни бир шалга келтиради. 

-         Пакетнинг узунлиги максимал даражада бўлгантармоқлари уртасида маълумот узатиш вақтида пакетларни  йигиш ва таркатиш;

 

2. IP протокол версияларининг тахлили, афзалликлари ва камчиликлари

 

Шу кунгача Интернет тармоғида фақат IPv4 протоколи фойдаланиб келинган. Протоколнинг ушбу версиясига биноан IP 32 бит ажратилар эди. Лекин тармоқ фойдаланувчиларининг сони кескин ортаётгани сабаб тармоқда манзиллар етишмаслиги хавфи вужудга келади. Шу муносабат билан IP протоколнинг 6 версияси ишлаб чиқилди. Ушбу протоколга биноан IP манзил фойдаланувчиси учун 128 бит ажратилади. Бу бизга манзил хажмини кенгайтириш имконини беради.  Бундан ташқари бу протоколнинг IPv 4 протоколи билан солиштирганда бир қатор афзалликлари бор, яъни  янада самарали маршрутлаштириш, хизмат кўрсатиш сифатини таъминлаш (Qos), сарлавхаларни  енгиллаштириш, манзилларни автоматик конфигурацияси ва бошкалар.

IPv4 – бу IP протоколнинг (Internet Protocol) тўртинчи  версияси бўлиб, ҳозирги кунда Интернет тармоғининг асосий ва катта кисми бўлибҳизмат қилади. IPv4 протоколи компьютер тармоқларининг пакетлар алмашиш  принципи асосида фаолиятини амалга ошириш қоидаларини  ўрнатади. Бу протокол паст даражада бўлибтармоқтугунлари ичида IP - манзиллари асосида алоқаўрнатишга жавоб беради.

Протокол компьютер тармоқларида пакетлар коммутацияси билан маълумот алмашишда фойдаланиш учун ишлаб чикилган. Бу протокол маълумотлар блокларини манбадан фойдаланувчига етказишни таъминлайди. Манбалар ва қабул қилувчи – булар ўрнатилган узунликдаги манзиллар билан аниқланган тугунлар ҳисобланади. IPv4 протоколининг икки асосий протокол вазифаси: йуналтириш ва фрагментация. Дейтаграммни белгиланган жойга етказиш учун IP датаграмманинг сарлавхасида берилган манзиллар кулланилади. Дейтаграмма сарлавхаларининг тегишли жойи механизмни фрагментация вадаиаграмманинг кайта йигилишини таъминлаш имконини беради. Фрагментация ва кайта туплаш кичик хажмли пакет датаграммасини тармоқ оркали узатишни таъминлашда  керак булади. Маълумотларни ишончли етказиб бериш, окимларни бошкариш ва тартибга солиш вазифалари мазкур протоколда мавжуд эмас.

Internet Protocol ўз хизматларини такдим этишда 4 асосий механизмдан фойдаланади: 

-         Хизмат тури

-         Вақти (TTL)

-         Вариантлари

-         Сарлавханинг контроль йиғиндиси

Хизмат тури хизмат сифатини курсатиш учун керак.  Улар аниқтармоқлари оркали маълумот узатишнинг ҳақиқий кўрсаткичларини танлаш учун қўлланилади.

Вақт кўрсаткичи датаграмманинг максимал мавжудлик муддатини аниқлайди. У юборувчи томонидан ўрнатилиб, юборувчидан қабул қилувчигача бўлган масофада датаграмманинг ўтиш нукталарида кичиклашади. Агар датаграмманинг қабул қилувчига етиб боргандаги вақти нолга тенг булса датаграмма йўқолиб кетади.

Вариантлар факат айрим холлардагина керак буладиган лекин анча кенг таркалган алоқа учун керак булмайдиган бошкарув вазифаларини кузда тутади.  Конроль суммаси датаграмманинг тўғри юборилганига ишонч хосил қилиш учун керак булади.  Агар сарлавханинг контроль суммаси  текширилаетган маълумотларга мос келмаса хатолик топган объект томонидан датаграмма қабул килинмайди.

IPv4 протоколи етказиб беришни кафолатламайди.  Бошидан то охиригача хеч кандай тасдик йўқ. Маълумот учун хатолик устидан хеч кандан текшириш йўқ факат сарлавха текширилади. Аниқланган хатоликлар хакида IP модулида такдим этиладиган ICMP протоколи (тармоқлараро хабарларни бошкарувчи протокол)  оркали хабар бериш мумкин.

IPv4 протоколига тегишли турли стандардлар оркали аниқланган тавсифномаларга биноан 24.2-жадвалда келтирилган махсус манзиллар мавжуд.

 24.2-жадвал

Сеть (адрес)

Тариф

0.0.0.0/8

Жорий тармоқнинг манзиллар манбааси

10.0.0.0/8

Хусусий тармоқлар ташкил этиш учун

100.64.0.0/10

Провайдерни тармоқда ишлатиш учун

127.0.0.0/8

Хост ичида интерфейс коммутациялар

169.254.0.0/16

Автоматик тарзда созлаш учун  (масалан, DHCP нинг йўқлигида)

172.16.0.0/12

Хусусий тармоқлар ташкил этиш учун

192.0.0.0/24

Махсус йуриклар учун (захирага куйилган IETF)

192.0.2.0/24

Синов тармоги 1, документацияда мисол тарикасида ишлатиш учун

192.88.99.0/24

IPv6 дан IPv4 га утказиш учун

192.168.0.0/16

Хусусий тармоқлар ташкил этиш учун

198.18.0.0/15

Махсулдорликни текшириш учун

198.51.100.0/24

Синов тармоги 2, документацияда мисол тарикасида ишлатиш учун

203.0.113.0/24

Синов тармоги 3, документацияда мисол тарикасида ишлатиш учун

224.0.0.0/4

Купманзилли  таркатмалар учун

240.0.0.0/4

Келажакдаги булиши мумкин бўлган талаблар учун захирага олинган.

255.255.255.255

Кенг таркалувчи  манзил

 

Яъни куриниб турганидек IPv4 протоколининг манзиллар оралиги факат махсус эхтиёжлар учунгина ишлатилади, бундан келиб чикадики тармоқнинг ҳақиқий узелларига бўлган эхтиеж учун буш манзиллар сони хаттоки IPv4 протоколининг назарий томонидан аниқланган  сонидан хам кам. Бугунги кунда IPv4 протоколининг манзиллар бушлиги бутунлай тугуган, барча буш манзиллар махсус эхтиёжлар учун ишлатилиб бўлинган ёки турли ташкилотларга ўзтармоқлари эхтиёжлари учун тарқатиб бўлинган.

Тармоқдан дейтаграммани қабул қилувчиҳар кандай узелда IP протоколиниг иш алгоритми куйида келтирилган 24.1-расмда тасвирланган.

IPv4 протоколининг қатор камчиликлари мавжуд:

-         IPv4 протоколнинг камчиликларини икки катта гурухга булиш мумкин:

-         Масштаблилик муаммолари;

-         Баъзи мажбурий механизмларнинг йўқлиги.

-         Кенг куламлилик муаммолари

IPv4 протоколининг кенг куламлилик муаммолари  нафакат Интернет каби тармоқларнинг улкан бирлашмасида  балки йирик копроратив тармоқларда хам намоён булади. Улар куйидагилардан ташкил топган:

-         32-битлик манзил бушлигида хажм етишмовчилиги

-         Маршрутлар агрегирациясининг мураккаблиги, маршрутлаштириш жадвалларининг усиши;

-         IP манзилларнинг оммавий узгаришининг мураккаблиги;

-         IPv4 протоколининг сарлавхалар пакетини кайта ишлашнинг нисбий мураккаблиги

Расм 24.1. IP протоколиниг иш алгоритми

 

IPv4 протоколининг муаммолари хакида суз борганда энг биринчи навбатда 32 битлик манзил бушлигини ишлатиб булиш муаммосига эътиборни каратамиз.. Дархакикат, хавф унчалик якин булмасада бу муаммо  энг юкори уринда туради. 

Ҳар бир узелда мантикий IP манзил мавжуд. Бу манзил тармоқ даражасидаги манзил бўлиб маълумотлар канали манзилига боглик эмас. IP манзил DHCP протоколи ердамида еки кулда тайинланиши мумкин.

Ҳар бир IP-манзил тармоқ идентификатор ва тармоқли узелнинг идентификаторини ўз ичига олади. Тармоқ идентификатори IP маршрутизаторлари билан чекланган бир табиий  тармоқда жойлашган тизимларни аниқлайди.  Бир табиий тармоқда жойлашган барча тизимлар бир хил барча тармоқлар учун ягона бўлгантармоқ идентификаторига эга булиши керак.  Тармоқ узели идентификатори ишловчи станциялар, сервер, маршрутизатор ёки бошқа узелни аниқлайди.  Тармоқ узелининг манзили тармоқ идентификатори учун ягона булиши керак. IP-манзил 32 бит жой эгаллайди. У 8 битли 4 та октетга булинади. Одатда ҳар бир октет иккиламчи такдимотдан унламчи такдимотга айланади.  Шундай қилиб, IP-манзил 0 дан 255 га кадар бўлган туртламчи сонлар билан такдим этилади ва бу сонлар нукталар билан ажратилади.

А синф учун   биринчи октет киймати «1» дан «126» гача бўлган диапозонда ётади.  Тармоқ номерлари  «0» дан «127» гача захирага олинган. 128 дан 191 гача бўлган диапозондаги  тармоқ манзиллари В синф тармоқ манзиллари хисобланади.  192 дан 223 гача бўлган диапозондаги тармоқ манзиллари С синф тармоқ манзилларига киради.

IPv4 протоколида куйидаги манзил турлари мавжуд:

1.     Индивидуал манзил. Бундай манзил тармоқ остидаги битта интерфейс учун тайинланади. Бу манзил  адрес «нукта – нукта» туридаги уланишларда ишлатилади.

2.     Гурух манзил. Бу манзил бир тармоқда жойлашган бир ёки бир нечта турли тармоқ ости интерфейслари учун   кулланилади. Бу манзил  адрес «нукта – нукта» туридаги уланишларда ишлатилади

3.     Кенг микдорда таркалган адрес. Бу манзил бир тармоқдаги барча тармоқ ости интерфейсларини ўз ичига олади. Бу манзил  адрес «нукта – тармоқ ости барча нукталар» туридаги уланишларда ишлатилади.

IP протоколида маълумотлар бир тармоқка тегишли барча узелларга ёки тайинланган манзилда курсатилган тармоқда етган барча узелларга узатилади.

Гурух манзилларидан фойдаланишнинг асосий максади турли хил тармоқларда жойлашган бир хостдан бир нечта хостларга маълумот жунатиш. Бир хост бошқа кўплаб хостларга аниқ манзилга эга янги мультиузатувчи гурух тузилгани хакида маълумот жунатмокчи бўлганда махсус протокол IGMP (Internet Group Management Protocol) ёрдамида хабар юборади. Мультиузатишни куллайдиган маршрутизаторлар ўз портларига уланган тармоқларга ушбу янги гурух хакида хабар юборадилар. Гурухга уланмокчи бўлган хостлар бу хакида ўз махаллий маршритазорларига хабар юборадилар. Маршрутизаторлар бу хабарни гурух тузишда ташаббускор бўлган хостларга юборадилар. Гурух манзиллари узига хос тарзда кайта ишланади. Бу манзилларда тармоқ раками ва узел ракамига булиниш йўқ.

 

 

3. IPv4 протоколидан IPv6 протоколига ўтиш технологиялар таҳлили

 

IPv4 ишлаб чиқиш вақтида (яъни IP нинг жорий версияси) 32 разрядли IP-манзиллар интернет ривожи учун тамоман етарлидек тасурот колдиради. Бироқ  Интернет усишининг жадаллашган  темпи шуни курсатадики, 32-разрядли адресация купгина муаммоларни юзага келтиради. Бу муаммоларниенгиб ўтиш учун IPнинг кейинги авлодлари  — IP 6 версияси (IPv6), ёки IP Next Generation  спецификацияси ишлаб чикиш бошланди.

Қатъий шаклга келтиришдан олдин IPv6 бир катор алтернативаларда тахлили килинди.   Энг машхур альтернатив ечимлар бўлиб TUBA (TCP and UDP with Bigger Addresses), CATNIP (Common Architecture for the Internet) ва SIPP (Simple Internet Protocol Plus) лар хисобланган. Учала лойихадан хам хеч бири янги версия олдига қўйилган талабларга жавоб бера олмади лекин улар келишувлар излашда ва асосий спецификациясига ўзгартиришлар киритиш учун асос бўлиб хизмат қилади. Шундай қилиб 1992 йилдан бошлаб  IPv6 (RFC-2460) протокол ишлаб чиқишга киришилди. Уша вақтда манзил оралигидаги муаммони хал этиш учун ишлаб чикилган эди.  Манзил оралигини IPv6 да тарқатиш (Internet Assigned Numbers Authority – интернетдаги стандарт ракамлар комиссияси (RFC-1881) хал этилди ва бу регионал вакилларга эга бўлиб улар ўз сохаларида IP манзиллар бериш билан шуғулланадилар. 

Куйида протоколнинг асосий ўзига хосликларининг қисқача рўйхати келтирилган.

-         32 разрядли манзиллар ўрнига 128-разрядли  тармоқ манзиллари.

-         Янги параметрларни ўз ичига олган ва имкониятлар кулами кенгайтирилган IP сарлавхалариниг самарали структураси.

-         Ихтиёрий майдонга эга бўлган ихтиёрий сарлавхалар ни кушиш имконияти

-         Сервис хизматига бўлган талабни аниқлашда кулланиладиган белгилар окими.

-         Дейтаграмманинг оралик фрагментациясини олдини олиш

-         Мобил станциялар кумагини яхшилаш.

-         MAC манзиллари асосида  IPv6 манзилларини автоматик тайинлаш. 

-         Аутентификация ва шифрлаш воситалари.

-         IPv6 протоколлар куйидаги кулайликларга эга:

-         кетма кет маълумот узатиш;

-         фрагментация ва маршрутизация сарлавхалари;

-         тайинлаш параметрлари;

-         манзилларни мустакил автоматик созлаш;

-         кушниларни топиш;

-         Ethernet и FDDI маълумот узатиш турлари;

-         IPv4 устига IPv6;

-         IPv6нинг асосий сарлавхасини кайта ишлаш;

-         IPv6 га IPv4 туннеллаштириш;

-         алоқа узелининг  харакатчанлиги;

-         IPsec нинг ҳақиқийлигини текшириш;

-         IPv6 устига UDP ва TCP;

-         узел ва маршрутизаторнинг фаолияти ;

-         ICMPv6 протоколи;

-         автоматик ва созланган туннеллар.

IPv6 протоколининг IPv4 протоколидан асосий фарки адресация вақтида купрок бит ишлатишида. IPv4 протоколи 32–битли тушунчадан фойдаланади.  IPv4 манзил коида бўйича унламчи шаклда 4 та ракамнинг кетма кетлигида ифода этилган. IPv6 протоколида коидага биноан 16тали шакл такдим этилади ва 128 битни эгаллайди. 

Хозирги пайтга келиб IPv4 весия адреслари камайиб бормоқда. Охирги блоклар расмий равишда сотиб юборилган, кенгроқ полосали адреслар эгаларида оз бўлсада захира мавжуд. Маълумки, келажакда IPv6 тизимига ўтиш лойихалаштирилмоқда. Кўпгина ташкилотлар бундай ўтишни бошлаб юборишган хам.

Ўтиш вариантлари кўп эмас:

1.  Параллел равишда тармоқларда хам IPv4 хам IPv6 ни қўллаш. Бунинг учун тармоқнинг барча қурилмаларида dual stack қуллаб қувватланилиши, хамда секин-аста IPv4 дан воз кечиб, Ipv6 формат адресларини тарқатиш керак. Кўпгинаохирги қурилмалар IPv6-технологиясини қуллаб қувватлайди, шунинг учун мижозларни қўшиш муаммо бўлмайди.

2.  Тармоқ ядросини IPv4 технологиясида қолдириб, кириш имкон поғонасини IPv6 технологиясига ўтқазиш. Ундан кейин асосий элементларини IPv6 технологиясига ўтқазилади.

3.  Аввал кириш имкон поғонасини IPv4 технологиясига қолдириб, сўнг тармоқ ядросини IPv6 технологиясида ўтқазиш. IPv4,

             Бу муаммоларни хал этиш учун IPv4 ёки IPv6 қурилмалар орқали қурилган туннелдан трафик юбориш, хамда тармоқ манзилларини икки хил версияга ўгириш усули асосида қатор технологиялар яратилди. Улар қуйидагилар:

-          Double NAT

-          NAT-PT

-          NAT 64

-          DS-Lite

-          DS-Lite A+P

-          6to4

-          IPV6 Rapid Deployment

-          6PE/6VPE

 

Double NAT (24.2-расм) технологияси IPv4 манзиллар маконини тугатилишини “кечиктириш” имконини беради. Мазмуни трансляция қилиш технологиясининг икки марта қўлланилиши.

Описание: http://nag.ru/upload/images/1424055734287.png

Расм 24.2. Double NAT технологик ечими

 

Биринчи марта фойдаланувчининг хусусий манзилини бошқа хусусий манзилга  трансляция қилинади. Ундан сўнг иккинчи марта Интернет манзилига трансляция қилинади. Бу усул IPv4 адрес диапазонини камайишини кечиктиради, лекин IPv6 адресларига ўтқизмайди.

NAT 64 (24.3-расм) технологияси, Double NAT технлогияси каби функцияни бажариб, асосий фарқи DNS 64 функцияси борлигина талаб чилади. Хамда  IPv4 технологиясидаги NAT-PT ни ўрнини босади.

Описание: http://nag.ru/upload/images/1424055734305.png

Расм 24.3. NAT 64 технологияси

 

6to4 технологиясида (24.4-расм) IPv4 да IPv6 ўтишнинг энг енгил усули бўлиб, хизматлар провайдери томонидан хеч қандай ўзгартириш киритиши хожати йўқ. Ягона шарти, IPv4 манзиллари хусусий булиши керак. Ушбу технологиядан фойдаланиш учун 6to4 relay деб номланувчи қурилмадан фойдаланилади. Бу қурилмалар мижозларнинг IPv4 дан IPv6-пакетларини деинкапсулируют қилади.

Описание: http://nag.ru/upload/images/1424055734327.png

Расм 24.4. 6to4 технологияси

 

 

4. IРv6 протоколи

 

Ipv6 I.E.T.F ташкилоти томонидан ишлаб чиқарилишига интернетдаги ягона манзиллар заҳирасининг барчаси сарфланаётганлигига сабаб бўлган.

Дастлаб интернет тармоғи кичик миқдордаги тадқиқот тармоқлари алоқаси учун мўлжалланган эди. Шунинг учун ҳозирги вақтда Ipv4 –манзиллаш тизимининг манзиллар майдонида  4 млрд.га яқин ноёб манзиллар қўлланилиши мумкин. Янги тизимдаги ноёб манзиллар сони 1018 га етади. Ipv6  Iрv4 да бўлмаган қуйидаги имкониятларни қамраб олади:

- Манзил маконини кенгайтириш.: Iрv4 да  қўлланилган 32 битли манзиллар ўрнига Ipv6 да 128 битли манзиллар қўлланилади. Натижада манзиллар макони 96 мартага ошди, бу эса тармоқ манзилларини унумсиз бўлиниши ҳолатида ҳам етарли даражада бўлади.

- Йўналтиришни яхшилаш имкониятлари: Мультимедиа ахборотларнинг катта ҳажмини қайта ишлаш билан боғлиқ равишда тармоқлароро жўнатмаларни ўсиши туфайли юқори тезликдаги йўналтиришни таъминлаш зарурияти муҳим аҳамият касб эта бошлади. Пакетларни самарали қайта ишлаш алгоритмларисиз алоқа каналларидаги ахборот узатиш тезлиги даражасига тенг бўлган тезликдаги йўналтиргичлар фаолиятини тасаввур этиб бўлмайди.

          - Ахборотларни етказишни бошқариш: Ipv6 ни узатувчи топшириғига мувофиқ аниқ бир пакет маълум бир узатиш шароитига мослигини белгилайди. Натижада маълум бир маълумотлар оқимининг узатиш тезликларини бошқарилишига эришилади. Бу эса махсус протоколларни самарали таъминлаш имконини беради. Маълум бир протоколлар асосида маълумот узатилишига устиворликларни белгилаш натижасида ўта муҳим ахборотларни биринчи навбатда қайта ишлаш ва муҳим маълумотлар учун алоқа каналидаги барча ўтказиш полосаларини очиб беришни кафолатлаш имконини беради. Ipv6 да бошқа мавжуд ҳислатлар – ушбу оилага мансуб протоколлар томонидан бир вақтнинг ўзида бир неча манзилларга ахборот узатиш имкони яратилади.

- Хавфсизликни таъминлаш воситалари: Ipv6 пакетларнинг дастлабки манзилларини алмаштириш ва пакетларнинг маълумот майдонларига руҳсатсиз кириш кабилар билан боғлиқ хужумлардан ҳимоялаш имконини беради. Бу имкониятларга аутентификация ва шифрлаш алгоритмларини қўллаш орқали эришилади.

 

 

Назорат саволлари

1.     IP протокол тузилиши, структураси.

2.     IP протокол версияларининг тахлили, афзалликлари ва камчиликлари.

3.     IPv4 протоколидан IPv6 протоколига ўтиш технологиялар тахлили

4.     IРv6 протоколи.

 

Адабиётлар ва интернет ресурслар

 

1.     Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.     TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.     Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.     The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.     Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 

6.     Keir Davis. TCP/IP Network Programming Design Patterns in C++. Vic Hargrave. 2013.

7.     D. Schmidt. C++ Network Programming, Vol 1 Systematic Reuse with ACE and Frameworks . 2010

8.     D. Schmidt.  C++ Network Programming, Vol 2 Systematic Reuse with ACE and Frameworks.  2010

9.     Network Programming by Katta G. Murty. University Birmingham. 2010

10.           Li-Hsing Yen. Network Programming Introduction. 2011

 

 

 


IV. АМАЛИЙ МАШҒУЛОТ МАТЕРИАЛЛАРИ

 

1-лаборатория иши

Мавзу: Тармоқни дастурлашда сокетлардан фойдаланиш.

 

Ишдан мақсад

Ушбу лаборатория ишида қуйидагиларни ўрганишга қаратилган:

-         Сокетдан фойдаланиш;

-         Сокетлар ва уларнинг турлари;

-         Клиент дастурларининг тузилиш принциплари;

-         Сервер дастурларининг тузилиш принциплари;

-         TCP/IP сокетлари;

-         TCP/IP клиент-сервер дастурларини яратиш.

 

Топшириқ

Биз шундай клийент/сервер приложениясини яратишимиз керакки яъни сервер клийент ни 1500 порт бўйича ешитади ва сервер клийентга юборилган сана ни ва хабарни юборади. Клийент еса хабарни абул илиб олинган хабарни кўра олиши керак.

 

Топшириқни бажаришга кўрсатмалар

Бу масалани ечиш учун қуйидаги қадамларни бажариш керак:

1.     DateMessage класини 2та қатор билан яратамиз: сана ва қатор – хабарни сақлаш ва  юбориш учун.

2.     Сервер класи клийент ни 1500 порт бўйича эшитишини ва сервер клийентга хабар юборишни яратиш. Сервер ни вазифаси алоҳида потокда бажарилиши керак.

3.     Клийент класи сервердан юборилган хабарни кўрсатишини яратиш.

4.     Приложенияни текшириб кўриш – сервер ва клийентни ишга тушириш ва хабарни юбориб кўриш.

 

Тайёрланиш этапи:

Проектни яратиш учун даставвал биз Еcлипсе дастурини ўрнатишимиз ва настройка қилишимиз керак.

DateMessage класини яратиш.

1)    ru.tpu.javaEELabs.lab2 пакети бўйича янги DateMessage класини яратамиз.

2)    Ва қуйидаги кодни киритамиз:

 

package ru.tpu.javaEELabs.lab2;

 

import java.io.Serializable;

import java.util.Date;

 

public class DateMessage implements Serializable {

        

         private Date date;

         private String message;

        

         public DateMessage(Date date, String message) {

                   this.date = date;

                   this.message = message;

         }

 

         public Date getDate() {

                   return date;

         }

 

         public void setDate(Date date) {

                   this.date = date;

         }

 

         public String getMessage() {

                   return message;

         }

         public void setMessage(String message) {

                   this.message = message;

         }

}

 

ServerTCP ни яратиш:

ServerTCP ни яратиш қуйидагиларни ўз ичига олади:

1.     ServerSocket класи орқали сервер сокетини яратамиз.

2.     accept() методи орқали клийентдан сўровни кутиш учун серверга сокет яратамиз.

3.     ru.tpu.javaEELabs.lab2  пакети бўйича янги ServerTCP класини яратамиз.

Сервер класининг кодига қуйидаги киритиалди:

package ru.tpu.javaEELabs.lab2;

 

import java.io.ObjectOutputStream;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Calendar;

 

/**

 * Класс сервера (выполняется в отдельном процессе)

 */

public class ServerTCP extends Thread {

 

         // Объявляется ссылка

         // на объект - сокет сервера

         ServerSocket serverSocket = null;

 

         /**

          * Конструктор по умолчанию

          */

         public ServerTCP() {

                   try {

                            // Создается объект ServerSocket, который получает

                            // запросы клиента на порт 1500

                            serverSocket = new ServerSocket(1500);

                            System.out.println("Starting the server ");

                            // Запускаем процесс

                            start();

                   } catch (Exception e) {

                            e.printStackTrace();

                   }

         }

 

         /**

          * Запуск процесса

          */

         public void run() {

                   try {

                            while (true) {

                                      // Ожидание запросов соединения от клиентов

                                      Socket clientSocket = serverSocket.accept();                                    

                                      System.out.println("Connection accepted from " +                                   clientSocket.getInetAddress().getHostAddress());

                                     

                                      // Получение выходного потока,

                                      // связанного с объектом Socket

                                      ObjectOutputStream out =

new ObjectOutputStream(

clientSocket.getOutputStream());

                                     

                                      // Создание объекта для передачи клиентам

                                      DateMessage dateMessage = new DateMessage(

                                                        Calendar.getInstance().getTime(),

                                                        "Текущая дата/время на сервере");

                                      // Запись объекта в выходной поток

                                      out.writeObject(dateMessage);

                                      out.close();

                            }

                   } catch (Exception e) {

                            e.printStackTrace();

                   }

         }

 

         public static void main(String args[]) {

                   // Запуск сервера

                   new ServerTCP();

         }

 

}

ClientTCP класини яратиш.

ClientTCP класи клиентга серверни IP си бўйича унга уланиш имконини беради ва ундан хабар олади. ClientTCP яратиш қуйидагиларни ўз ичига олади.

1.     1500 порт бўйича localhost серверига уланиш сокетини яратамиш.

2.     Кирувчи потокни қабул қилувчи сокет.

3.     Потокдан келган хабарни ўиш ва уни экранда кўрсатиш.

4.     ru.tpu.javaEELabs.lab2paketi пакети бўйича янги ClientTCP класини яратамиз.

Клиент коди қуйидагича:

package ru.tpu.javaEELabs.lab2;

 

import java.io.ObjectInputStream;

import java.net.Socket;

 

public class ClientTCP {

 

         public static void main(String args[]) {

                   try {

                            // Создается объект Socket

                            // для соединения с сервером

                            Socket clientSocket = new Socket("localhost", 1500);

                           

                            // Получаем ссылку на поток, связанный с сокетом

                            ObjectInputStream in =

                              new ObjectInputStream(clientSocket.getInputStream());

                           

                            // Извлекаем объект из входного потока

                            DateMessage dateMessage =

(DateMessage) in.readObject();

                           

                            // Выводим полученные данные в консоль

                            System.out.println(dateMessage.getMessage());

                            System.out.println(dateMessage.getDate());

                   } catch (Exception e) {

                            e.printStackTrace();

                   }

         }

}

Ишга тушириш ва текшириш.

1.    Package Explorer даги ServerTCP класига сичқончани ўнг тугмасини босамиз ва Run As/Java Application ни танлаймиз. Бу ҳолатни  ClientTCP класида ҳам қиламиз. Ишга тушгандан сўнг клийент сервер билан уланишга уринади ва қуйидагича хабарни қабул қилади. Клийент консол қуйидагича ёзув чиқади:

 

Описание: 88

Сервер cконсоле да клийент дан тасдиғи олинган хабарни кўриши мумкин..

Описание: 99

 

Назорат саволлари

 

         1. InetAddress қандай объект?

         2. TCP/IP қандай протокол тури?

         3. Сокет нима?

 

 


2 -лаборатория иши

Мавзу: Тармоқни дастурлашда мультикаст сокетлардан фойдаланиш.

 

Ишдан мақсад

Ушбу лаборатория ишида қуйидагиларни ўрганишга қаратилган:

-         Мультикаст сокетлар асосида клиент, сервер, клиент-сервер дастурларини яратиш;

-         Мультикаст сокетларнинг тармоқни дастурлашда аҳамияти;

-         Мультикаст сокетидан фойдаланиш;

-         Мультикаст клиент-сервер дастурларини яратиш.

                                                                          

Топшириқ

Ушбу лаборатория ишида талабалар мультикаст сокетларидан фойдаланиб клиент-сервер дастурларини яратиш технологияларини ўрганиши назарда тутилган. Ҳар бир талаба берилган кодларни амалий назарий ўрганади.

 

Топшириқни бажаришга кўрсатмалар

Масаланинг мақсади:

Биз клиент/сервер приложениясини яратамиз яъни сервердан 233.0.0.1 гуруҳининг 1502 портидан регистратсиядан ўтган ҳамма клиентларга хабар жўнатамиз. Бунда сервер фойдаланувчиси текст кўринишидаги маълумотни киритиш ва юбориши ва клиент фойдаланувчилари эса шу қабул қилиб олинган маълумотни кўра олиши керак.

Бу масалани ечиш учун қуйидаги қадамларни бажариш керак:

1. Янги проект яратиш;

2. Сервер учун киритиш ва юбориш класс яратиш;

3. Клиент учун қабул қилиш ва кўриш класини яратиш;

4. Иловани текшириб кўриш – сервер ва клиентни ишга тушириш ва хабарни юбориб кориш.

 

Тайёрланиш этапи:

Проектни яратиш учун даставвал биз Eclipse дастурини ўрнатишимиз ва настройка қилишимиз керак.

 

Янги проектни яратиш.

1)                File/New/Project бўлимдан, проект туридан other/Java Project танлимиз ва Next тугмасини босамиз.

2)                Лаб2 деб проектимизга ном берамиз ва Finish тугмасини босамиз.

Сервер учун класс яратамиз. Сервер класи клиентларга хабар жўнатади (233.0.0.1 гуруҳидан регистратсиядан ўтган клиентлар учун). Сервер класни яратиш қуйидаги масалаларни қўяди:

1.                ДатаграмСоcкет класи орқали сокет яратамиз. Сервер сокети хабарни юбориш вазифасини бажаради.

2.                Адресни таништирувч InetAddress обектини яратамиз. Хабарни гуруҳли юбориш (multicast) танланади ва 224.0.0.0 - 239.255.255.255 қуидаги оралиқ киритилади. Бизнинг приложенияга 233.0.0.1 адреси берилади.

3.                Пакетларни ҳамма клиентларга юбориш учун хабарни киритиш клавиатурас ва DatagramPacket пакетини яратиш класи яъни маълумотларни киритиш ва DatagramSocket пакети обекти бўлган Send() методидан фойдаланилади.

1) Package Explorer даги src каталогига сичқинчани ўнг тугмасини босиш ва ундаги New/Class бўлим танлаш орқали сервер учун класс яратилади.

2) Пайдо бўлган ойнадаги пакет (Package) номини ru.tpu.javaEELabs.lab2 деб ва клас номини (Name) эса Server деб ёзамиз. Finish тугмасини босамиз.

Server класининг коди:

package ru.tpu.javaEELabs.lab2;

 

import java.io.*;

import java.net.*;

 

public class Server {

 

private BufferedReader in = null;

private String str = null;

private byte[] buffer;

private DatagramPacket packet;

private InetAddress address;

private DatagramSocket socket;

 

public Server() throws IOException {

         System.out.println("Sending messages");

                    

// Создается объект DatagramSocket, чтобы

// принимать запросы клиента

         socket = new DatagramSocket();

                  

// Вызов метода transmit(), чтобы передавать сообщение всем

// клиентам, зарегистрированным в группе

         transmit();

}

 

public void transmit() {

         try {

         // создается входной поток, чтобы принимать

// данные с консоли

                   in = new BufferedReader(new InputStreamReader(System.in));

                   while (true) {

                            System.out.println(

"Введите строку для передачи клиентам: ");

                            str = in.readLine();

                            buffer = str.getBytes();

                            address = InetAddress.getByName("233.0.0.1");

                            // Посылка пакета датаграмм на порт номер 1502

                            packet = new DatagramPacket(

buffer,

buffer.length,

address,

1502);

                                     

                            //Посылка сообщений всем клиентам в группе

                            socket.send(packet);

                   }

         } catch (Exception e) {

                   e.printStackTrace();

         } finally {

                   try {

                            // Закрытие потока и сокета

                            in.close();

                            socket.close();

                   } catch (Exception e) {

                            e.printStackTrace();

                   }

         }

}

 

public static void main(String arg[]) throws Exception {

         // Запуск сервера

         new Server();

}

}

 

Client класини яратиш

Client класи клиентларга 233.0.0.1 гуруҳига юборилган хабарни кўра олишлари учун шу гуруҳга қўшишлиш имконини беради. Client класини яратиш қуйидаги жараённи ўз ичига олади:

1. Груҳли хабарларни кўра оладиган сокет яратишимиз учун MulticastSocket класидан фойдаланамиз. Клиент сокети хабарни қабул қилиш вазифасини бажаради.

2. InetAddress обекти берилган сервер адресини кўрсатади ва joinGroup сокет методи орқали мана шу сервердаги гуруҳга қўшилиш имконини яратади.

3. Сокетдаги пакет датаграммаларини (DatagramPacket) ўқишни ва қабул қилинганлик тўгрисидаги маълумотни экранда кўрсатишни режалаштириш.

1) Клиент класини яратиш учун сичқончани ўнг тугмасини ru.tpu.javaEELabs.lab2 пакетини устига босиб, Package Explorer  даги src каталигини танлаб New/Class ни босамиз.

2) Пайдо бўлган ойнадаги клас номига (Name) Client деб ёзамиз. Finish тугмасини босамиз.

Client класининг коди:

 

package ru.tpu.javaEELabs.lab2;

 

import java.net.*;

 

public class Client {

         private static InetAddress address;

         private static byte[] buffer;

         private static DatagramPacket packet;

         private static String str;

         private static MulticastSocket socket;

 

         public static void main(String arg[]) throws Exception {

                   System.out.println("Ожидание сообщения от сервера");

                   try {

 

                            // Создание объекта MulticastSocket, чтобы получать

// данные от группы, используя номер порта 1502

                            socket = new MulticastSocket(1502);

 

                            address = InetAddress.getByName("233.0.0.1");

 

                            // Регистрация клиента в группе

                            socket.joinGroup(address);

                            while (true) {

                                      buffer = new byte[256];

                                      packet = new DatagramPacket(

buffer, buffer.length);

                                      // Получение данных от сервера

                                      socket.receive(packet);

                                      str = new String(packet.getData());

                                      System.out.println(

"Получено сообщение: " + str.trim());

                            }

                   } catch (Exception e) {

                            e.printStackTrace();

                   } finally {

                            try {

                                      // Удаление клиента из группы

                                      socket.leaveGroup(address);

 

                                      // Закрытие сокета

                                      socket.close();

                            } catch (Exception e) {

                                      e.printStackTrace();

                            }

                   }

         }

}

 

Ишга тушириш ва текшириш.

Ҳар бир қурилган Client ва Server класлар main() методига ега ва бу ҳар бири алоҳида машинада тармоққа уланган ҳолда ишга туширилади ва бу сервернинг бу гуруҳга кирувчиларни маълумот алмашинуви чекланган мидорда бўлади. Бизнинг ҳолатда эса клийент ва сервер битта компютерда ишга туширилади.

 

1)    Package Explorer даги Client класига сичинчани ўнг тугмасини босамиз ва Run As/Java Application ни танлаймиз. Бу ҳолатни  Сервер класида ҳам қиламиз.

2)    Натижада 2та приложения ишга тушади. Булар бир-бирига уланган ҳолда бўлади ва қуйидаги кўрсатилган Display Selected Console да Console дан фойдаланиб текшириш мумкин.

Описание: 55

 

3)    Server Console ни танлимиз. Hello деб ёзамиз ва Enter тугмасини босамиз.

 

Описание: 66

 

4)    Client Console  ни кўрсак сервер дан ёзган хабаримиз келди.

 

Описание: 77

 

5)      Terminate орқали Console дан фойдаланиб дастурни тўхтатиш мумкин.

 

Назорат саволлари

         1. InetAddress қандай объект?

         2. Мультикаст қандай алоқа тури?

         3. Сокет нима?

 

 

3 -лаборатория иши

 

Мавзу: Тармоқда жараёнларни паралеллашни дастурлаш.

 

Ишдан мақсад

Ушбу лаборатория иши қуйидагиларни ўрганишга қаратилган:

-         жараёнларни паралеллаш тушунчаси;

-         тармоқда жараёнларни паралеллашни дастурлаш;

-         Жараёнларни паралеллаш тушунчаси;

-         Тармоқда жараёнларни паралеллашни дастурлаш.

                                                                          

Топшириқ

Ушбу лаборатория ишида талабалар тармоқда жараёнларни паралеллашни дастурлаш, жараёнларни паралеллаш тушунчаси, тармоқда жараёнларни паралеллашни дастурлаш яратиш технологияларини ўрганиши назарда тутилган. Ҳар бир талаба берилган кодларни амалий назарий ўрганади.

 

Топшириқни бажаришга кўрсатмалар

Java дастурлаштилида Thread класси мавжуд бўлиб, у дастур оқимларини инкапсулациясини амалга ошириб, параллел дастурлашда кенг қўланилади. Янги оқим дастурларини икки усул билан амалага ошириш мумкин.

1-усул

Thread классини яратиб, Runnable интерфейсига конструкторни амалга оширишучун узатилади. Ушбу интерфейс run() методи мавжуд ва бу метод дастур оқим якунлангач тўхтатилад.



class SomeThing  //Нечто, реализующее интерфейс Runnable

implements Runnable //(содержащее метод run())

{

            public void run() //Этот метод будет выполняться в побочном потоке

            {

                        System.out.println("Привет из побочного потока!");

            }

}

 

public class Program    //Класс с методом main()

{

            static SomeThing mThing; //mThing - объект класса, реализующего интерфейс Runnable

           

            public static void main(String[] args)

            {

                        mThing = new SomeThing();                                        

 

                        Thread myThready = new Thread(mThing);     //Создание потока "myThready"

                        myThready.start();        //Запуск потока

 

                        System.out.println("Главный поток завершён...");

            }

}



Thread класс конструкторида пуш тезлаштиришни амалга ошириш учун Runnable интерфейсини ташкиллаштирувчи номсиз ички класс яратилади:


public class Program    //Класс с методом main().

{

            public static void main(String[] args)

            {

                        //Создание потока

                        Thread myThready = new Thread(new Runnable()

                        {

                                     public void run() //Этот метод будет выполняться в побочном потоке

                                     {

                                                 System.out.println("Привет из побочного потока!");

                                     }

                        });

                        myThready.start();        //Запуск потока

 

                        System.out.println("Главный поток завершён...");

            }

}



2-усул

Thread классини яратилади ва run() методи аниқланади

class AffableThread extends Thread

{

            @Override

            public void run() //Этот метод будет выполнен в побочном потоке

            {

                        System.out.println("Привет из побочного потока!");

            }

}

 

public class Program

{

            static AffableThread mSecondThread;

           

            public static void main(String[] args)

            {

                        mSecondThread = new AffableThread();           //Создание потока

                        mSecondThread.start();                        //Запуск потока

                       

                        System.out.println("Главный поток завершён...");

            }

}



class EggVoice extends Thread

{

            @Override

            public void run()

            {

                        for(int i = 0; i < 5; i++)

                        {

                                     try{

                                                 sleep(1000);                 //Приостанавливает поток на 1 секунду

                                     }catch(InterruptedException e){}

                                    

                                     System.out.println("яйцо!");    

                        }

                        //Слово «яйцо» сказано 5 раз

            }

}

 

public class ChickenVoice         //Класс с методом main()

{

            static EggVoice mAnotherOpinion;       //Побочный поток

           

            public static void main(String[] args)

            {

                        mAnotherOpinion = new EggVoice();   //Создание потока

                        System.out.println("Спор начат...");

                        mAnotherOpinion.start();         //Запуск потока

                       

                        for(int i = 0; i < 5; i++)

                        {

                                     try{

                                                 Thread.sleep(1000);                  //Приостанавливает поток на 1 секунду

                                     }catch(InterruptedException e){}

                                    

                                     System.out.println("курица!");

                        }

                       

                        //Слово «курица» сказано 5 раз

 

                        if(mAnotherOpinion.isAlive())   //Если оппонент еще не сказал последнее слово

                        {

                                     try{

                                                 mAnotherOpinion.join();          //Подождать пока оппонент закончит высказываться.

                                     }catch(InterruptedException e){}

                                    

                                     System.out.println("Первым появилось яйцо!");

                        }

                        else       //если оппонент уже закончил высказываться

                        {

                                     System.out.println("Первой появилась курица!");

                        }

                        System.out.println("Спор закончен!");

            }

}

 

Консоль:

Спор начат...

курица!

яйцо!

яйцо!

курица!

яйцо!

курица!

яйцо!

курица!

яйцо!

курица!

Первой появилась курица!

Спор закончен!



 

class Incremenator extends Thread

{

            //О ключевом слове volatile - чуть ниже

            private volatile boolean mIsIncrement = true;

            private volatile boolean mFinish = false;

 

            public void changeAction()       //Меняет действие на противоположное

            {

                        mIsIncrement = !mIsIncrement;

            }

            public void finish()                    //Инициирует завершение потока

            {

                        mFinish = true;

            }

 

            @Override

            public void run()

            {

                        do

                        {

                                     if(!mFinish)      //Проверка на необходимость завершения

                                     {

                                                 if(mIsIncrement)           

                                                             Program.mValue++;    //Инкремент

                                                 else

                                                             Program.mValue--;      //Декремент

                                                

                                                 //Вывод текущего значения переменной

                                                 System.out.print(Program.mValue + " ");

                                     }

                                     else

                                                 return;              //Завершение потока

 

                                     try{

                                                 Thread.sleep(1000);                  //Приостановка потока на 1 сек.

                                     }catch(InterruptedException e){}

                        }

                        while(true);

            }

}

 

public class Program

{

            //Переменая, которой оперирует инкременатор

            public static int mValue = 0;

           

            static Incremenator mInc;         //Объект побочного потока

 

            public static void main(String[] args)

            {

                        mInc = new Incremenator();     //Создание потока

                       

                        System.out.print("Значение = ");

                       

                        mInc.start();     //Запуск потока

                       

                        //Троекратное изменение действия инкременатора

                        //с интервалом в i*2 секунд

                        for(int i = 1; i <= 3; i++)

                        {

                                     try{

                                                 Thread.sleep(i*2*1000); //Ожидание в течении i*2 сек.

                                     }catch(InterruptedException e){}

                                    

                                     mInc.changeAction();   //Переключение действия

                        }

                       

                        mInc.finish();    //Инициация завершения побочного потока 

            }

}

 

Консоль:

Значение = 1 2 1 0 -1 -2 -1 0 1 2 3 4

 

 

class Incremenator extends Thread

{

            private volatile boolean mIsIncrement = true;

 

            public void changeAction()       //Меняет действие на противоположное

            {

                        mIsIncrement = !mIsIncrement;

            }

 

            @Override

            public void run()

            {

                        do

                        {

                                     if(!Thread.interrupted())            //Проверка прерывания

                                     {

                                                 if(mIsIncrement) Program.mValue++;  //Инкремент

                                                 else Program.mValue--;                                    //Декремент

                                                

                                                 //Вывод текущего значения переменной

                                                 System.out.print(Program.mValue + " ");

                                     }

                                     else

                                                 return;              //Завершение потока 

 

                                     try{

                                                 Thread.sleep(1000);                  //Приостановка потока на 1 сек.

                                     }catch(InterruptedException e){

                                                 return;  //Завершение потока после прерывания

                                     }

                        }

                        while(true);

            }

}

 

class Program

{

            //Переменая, которой оперирует инкременатор

            public static int mValue = 0;

           

            static Incremenator mInc;         //Объект побочного потока

 

            public static void main(String[] args)

            {

                        mInc = new Incremenator();     //Создание потока

                       

                        System.out.print("Значение = ");

                       

                        mInc.start();     //Запуск потока

                       

                        //Троекратное изменение действия инкременатора

                        //с интервалом в i*2 секунд

                        for(int i = 1; i <= 3; i++)

                        {

                                     try{

                                                 Thread.sleep(i*2*1000);                       //Ожидание в течении i*2 сек.

                                     }catch(InterruptedException e){}

                                    

                                     mInc.changeAction();   //Переключение действия

                        }

                       

                        mInc.interrupt();           //Прерывание побочного потока

            }

}

 

Консоль:

Значение = 1 2 1 0 -1 -2 -1 0 1 2 3 4

 

 

Назорат саволлари

         1. Жараёнларни паралеллаш тушунчасига таъриф беринг?

         2. Тармоқда жараёнларни паралеллаш?

         3. Сокет нима?


4-лаборатория иши

Мавзу: Тармоқда коммутацияни дастурлаш.

 

Ишдан мақсад

Ушбу лаборатория иши қуйидагиларни ўрганишга қаратилган:

-         URLConnection класси фойдаланиш;

-         URLConnection класси объектларини яратиш.

 

Топшириқ

Ушбу лаборатория ишида талабалар URLConnection класси дастурларини яратиш технологияларини ўрганиши назарда тутилган. Ҳар бир талаба берилган кодларни амалий назарий ўрганади.

 

Топшириқни бажаришга кўрсатмалар

URLConnection класси умумий белгиланган ва алоҳида ажратилган ресурс атрибутларга боғланиш имконини берувчи класс ҳисобланади. URLConnection класси бир қанча методларга эга ва улар қуйидагилар:

int getContentLength()

long getContentLengthLong()

String getContentТype()

long getDate()

long getExpiration()

String getHeaderField(int индекс)

String getHeaderField(String имя_поля)

String getHeaderFieldKey(int индекс)

Мap<String , List<String>> getHeaderFields()

long getLastModified()

InputStream getInputStream() thorws IOException

URLConnection класси ахборотни сарлавҳасини бошқаришга қаратилган  бир нечта методлардан фойдаланилад. Сарлавҳа белгили қаторга эга бўлган, бир қанча калит  ва қийматлардан иборат. getHeaderField() методи ёрдамида сарлавҳа калит қисми аниқлаш ва белгилашда қўллаш мумкин. Сарлавҳани стандарт майдонларини getDate() ва getContentType() каби методларни қўллаш мумкин. Энди URLConnection объектини яратишни кўриб чиқсак:

 

import java.net.*;

import java.io.*;

import java.util.Date;

public class URLConnectionExample {

public static void main(String[] args) throws Exception{

int c;

URL myUrl = new URL("http://www.pro-java.ru");

URLConnection myUrlCon = myUrl.openConnection();

// Получить дату

long d = myUrlCon.getDate();

if(d == 0)

System.out.println("Сведения о дате отсутствуют.");

else

System.out.println("Дата: " + new Date(d));

// Получить тип содержимого

System.out.println("Типа содержимого: "

                                   + myUrlCon.getContentType());

// Получить дату срока действия ресурса

d = myUrlCon.getExpiration();

if(d == 0)

System.out.println("Сведения о сроке действия отсутствуют.");

else

System.out.println("Срок действия истекает: "

                                            + new Date(d));

// Получить дату последней модификации

d = myUrlCon.getLastModified();

if(d == 0)

System.out.println("Сведения о дате последней модификации отсутствуют.");

else

System.out.println("Дата последней модификации: "

                                             + new Date(d));

// Получить длину содержимого

long length = myUrlCon.getContentLengthLong();

if(length == -1)

System.out.println("Длина содержимого недоступна");

else

System.out.println("Длина содержимого: " + length);

if(length != 0) {

System.out.println("=== Содержимое ===");

InputStream input = myUrlCon.getInputStream();

while(((c = input.read()) != -1)) {

System.out.print((char) c);

}

input.close();

} else {

System.out.println("Содержимое недоступно.");

}

}

 }

 

Ушбу дастурда pro-java.ru серверга НТГР 80 порт орқали боғланиш амалга оширилади ва натижада қуйидагиларни қабул қиламиз:

Дата: Sun Oct 18 13:51:50 EEST 2015

Типа содержимого: text/html; charset=UTF-8

Сведения о сроке действия отсутствуют.

Сведения о дате последей модификации отсутствуют.

Длина содержимого недоступна

=== Содержимое ===

<!DOCTYPE html>

<html lang="ru-RU" class="no-js">

<head>

<meta charset="UTF-8" />

...мы урезали весь исходный код.

 

Назорат саволлари

         1. URLConnection қандай объект?

         2. URLConnection класида қандай методлар мавжуд?

         3. Сокет нима?

 

 

 

5 -лаборатория иши

Мавзу: Тармоқда маршрутизацияни дастурлаш.

 

Ишдан мақсад

Ушбу лаборатория иши қуйидагиларни ўрганишга қаратилган:

-         Тармоқда маршрутизацияни дастурлаш;

-         Маршрутизация тушунчаси ва маълумотларни маршрутлаш тамойиллари;

-         Прокси серверларда маршрутизация дастурларини яратиш.

 

Топшириқ

Ушбу лаборатория ишида талабалар Прокси серверларда маршрутизация дастурларини яратиш технологияларини ўрганиши назарда тутилган. Ҳар бир талаба берилган кодларни амалий назарий ўрганади.

 

Топшириқни бажаришга кўрсатмалар

Тармоқда маршрутизацияни амалга оширувчи дастурий таъминотни яратиш учун шлюзлар амалга оширувчи жараёнларни ўрганиб чиқиш муҳим аҳамят касб этади. Хусусан прокси серверларни ташкил этишни изчил ўрганиш зарур.

Демак ташқи тармоқ билан боғланишни шҳлюзлар амалга оширади. Бунда шлюз ишлаш поғонасига мос равишда пакет сарлавҳаларини инкапсулациясини амалға оширади ва ушбу шлюз жорий тармоқнинг чиқиш ёки ташқи тармоқ билан боғлаш вазифасиги бажаради.

 

Описание: Схема работы шлюза.

Шлюзни ишлаш схемаси

Прокси яратиш коди:

 

import java.io.*;

import java.net.*;

 

class CacheProxy extends Thread

{

    Socket s; // сокет подключения

    InputStream is; // входящий поток от сокета

    OutputStream os; // исходящий поток от сокета

 

    // пытается подключиться как сервер на адрес localhost порт 3128

    // после чего сидит и ждёт подключений от браузера

    // каждое новое подключение передаёт в обработку отдельному вычислительному потоку

    public static void main(String args[])

    {

        try

        {

            // bind to "localhost:3128"

            ServerSocket s = new ServerSocket(3128, 0, InetAddress.getByName("localhost"));

 

            System.out.println("proxy is started");

 

            // listen port

            while(true)

            {

                try {new CacheProxy(s.accept());} // process new client in new thread

                catch(Exception ex) {}

            }

        }

        catch(Exception e)

        {System.out.println("main init error: "+e);} // by socket binding error

    }

 

    // конструктор потока обработки подключения

    public CacheProxy(Socket s) throws Exception

    {

        this.s = s;

 

        // start thread

        setDaemon(true);

        setPriority(NORM_PRIORITY);

        start();

    }

 

    // "вырезает" из строки str часть, находящуюся между строками start и end

    // если строки end нет, то берётся строка после start

    // если кусок не найден, возвращается null

    // для поиска берётся строка до "\n\n" или "\r\n\r\n", если таковые присутствуют

    protected String extract(String str, String start, String end)

    {

        int s = str.indexOf("\n\n", 0), e;

        if(s < 0) s = str.indexOf("\r\n\r\n", 0);

        if(s > 0) str = str.substring(0, s);

        s = str.indexOf(start, 0)+start.length();

        if(s < start.length()) return null;

        e = str.indexOf(end, s);

        if(e < 0) e = str.length();

        return (str.substring(s, e)).trim();

    }

 

    // "вырезает" из HTTP заголовка URI ресурса и конвертирует его в filepath для файла кэша

    // URI берётся только для GET и POST запросов, иначе возвращается null

    protected String getPath(String header)

    {

        String URI = extract(header, "GET ", " "), path;

        if(URI == null) URI = extract(header, "POST ", " ");

        if(URI == null) return null;

 

        path = URI.toLowerCase();

        if(path.indexOf("http://", 0) == 0)

            URI = URI.substring(7);

        else

        {

            path = extract(header, "Host:", "\n");

            if(path == null) return null;

            URI = path+URI;

        }

 

        // define cashe path

        path = "cache"+File.separator;

 

        // convert URI to filepath

        char a;

        boolean flag = false;

        for(int i = 0; i < URI.length(); i++)

        {

            a = URI.charAt(i);

 

            switch(a)

            {

            case '/' :

                if(flag)

                    path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                else

                    path = path+".!"+File.separatorChar;

                break;

            case '!' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            case '\\' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            case ':' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            case '*' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            case '?' :

                if(flag)

                    path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                else

                {

                    path = path+".!"+File.separatorChar;

                    flag = true;

                }

                break;

            case '"' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            case '<' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            case '>' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            case '|' :

                path = path+"%"+Integer.toString((int)a, 16).toUpperCase();

                break;

            default: path = path+a;

            }

        }

        if(path.charAt(path.length()-1) == File.separatorChar) path = path+".root";

 

        return path;

    }

 

    // печатает ошибку прокси

    protected void printError(String err) throws Exception

    {

        os.write((new String("HTTP/1.1 200 OK\nServer: HomeProxy\n"

                        +"Content-Type: text/plain; charset=windows-1251\n\n"

                        +err)).getBytes());

    }

 

    // загружает из сети страничку с одновременным кэшированием её на диск

    // странички в кэше храняться прямо с HTTP заголовком

    protected void from_net(String header, String host, int port, String path) throws Exception

    {

        Socket sc = new Socket(host, port);

        sc.getOutputStream().write(header.getBytes());

 

        InputStream is = sc.getInputStream();

 

        File f = new File((new File(path)).getParent());

        if(!f.exists()) f.mkdirs();

 

        FileOutputStream fos = new FileOutputStream(path);

 

        byte buf[] = new byte[64*1024];

        int r = 1;

        while(r > 0)

        {

            r = is.read(buf);

            if(r > 0)

            {

                fos.write(buf, 0, r);

                if(r > 0) os.write(buf, 0, r);

            }

        }

        fos.close();

        sc.close();

    }

 

    // вытаскивает из HTTP заголовка хост, порт соединения и путь до файла кэша,

    // после чего вызывает ф-ию загрузки из сети

    protected void from_net(String header) throws Exception

    {

        String host = extract(header, "Host:", "\n"), path = getPath(header);

        if((host == null)||(path == null))

        {

            printError("invalid request:\n"+header);

            return;

        }

 

        int port = host.indexOf(":",0);

        if(port < 0) port = 80;

        else

        {

            port = Integer.parseInt(host.substring(port+1));

            host = host.substring(0, port);

        }

 

        from_net(header, host, port, path);

    }

 

    // загружает из кэша файл и выдаёт его

    // если во входящем HTTP заголовке стоит "Pragma: no-cache"

    // или такого файла в кэше нет, то вызывается ф-ия загрузки из сети

    protected void from_cache(String header) throws Exception

    {

        String path = getPath(header);

        if(path == null)

        {

            printError("invalid request:\n"+header);

            return;

        }

 

        // except "Pragma: no-cache"

        String pragma = extract(header, "Pragma:", "\n");

        if(pragma != null)

        if(pragma.toLowerCase().equals("no-cache"))

        {

            from_net(header);

            return;

        }

 

        if((new File(path)).exists())

        {

            FileInputStream fis = new FileInputStream(path);

            byte buf[] = new byte[64*1024];

            int r = 1;

 

            while(r > 0)

            {

                r = fis.read(buf);

                if(r > 0) os.write(buf, 0, r);

            }

 

            fis.close();

        }

        else

            from_net(header);

    }

 

    // обработка подключения "в потоке"

    // получает HTTP запрос от браузера

    // если запрос начинается с GET пытается взять файл из кэша

    // иначе - грузит из сети

    public void run()

    {

        try

        {

            is = s.getInputStream();

            os = s.getOutputStream();

 

 

            byte buf[] = new byte[64*1024];

            int r = is.read(buf);

 

            String header = new String(buf, 0, r);

            if(header.indexOf("GET ", 0) == 0)

                from_cache(header);

            else

                from_net(header);

 

            s.close();

        }

        catch(Exception e)

        {

            try

            {

                e.printStackTrace();

                printError("exception:\n"+e);

                s.close();

            }

            catch(Exception ex){}

        }

    }

}

 

Компиляцииядан сўнг CacheProxy.class ни оламиз ва ишга тушурамиз (localhost да 3128 порт банд эмаслигини текшириш зарур). Агар "proxy is started" деган хабар чиқса демак дастур ишлаяпди.

 

Назорат саволлари

 

         1. Шлюз прокси қандай прокси?

         2. Кеш прокси қандай прокси?

         3. Прокси сервер қандай сервер?

 

 

 

 

 

 

 

6-лаборатория иши

Мавзу: Тармоқ хавфсизлигини дастурлаш.

 

Ишдан мақсад

Ушбу лаборатория иши қуйидагиларни ўрганишга мўлжалланган:

  - Тармоққа уланишни дастурлаш. аутентифиkация, идентифиkация ва авторизация.

-         Тармоқ хавфсизлигини дастурлашни ўрганиш;

-         SSL сокет яратиш ва ишга тушуриш.

 

Топшириқ

Ушбу лаборатория ишида Java дастурлаш тили ёрдамида тармоқ хавфсизлигини таъминлашга қаратилган SSL сокетини яратиб, уни клиент ва сервер томондан текшириш зарур. Топшириқни бажариш учун кўрсатамалардан фойдаланиш зарур. ҳар бир талаба кўрсатмадаги дастурларни мустақил бажариб, ўз хулосаларини бериши керак.

 

Топшириқни бажаришга кўрсатмалар

SSL сокетлар

SSL сокетни ишлатиш учун қуйидаги ишларни бажариш лозим:

1. Серверда очиқ ва ёпиқ калитларни яратиб олиниб, мустақил равишда очиқ калит учун сертификат ёзилади. Бунинг учун keytool” командаси ёрдамидакейсторефайлида сақланувчи калит ва сертификат яратиб олинади. Яратилган калитни клийентга експорт қилинади.

2. Kлийент машинасида қабул қилиниб олинган “keystoreфайлни импорт қилинади.

3. Серверда тест учун SSL сокет дастури ёзилиб, SSL сокет сўрови жўнатилади. Бунда яратилган сокет биринчи босқичда ёзилган “ keystoreфайлни қўллаши зарур.

4. Kлиент машинасида хам SSL сокет яратилиб, ишга тушурилади. Тест дасури иккинчи босқичда яратилган “ keystore” файлни “trustStore” сифатида ишга тушуриши зарур. Бу мустақил яратилган калитни ишлаши учун зарур.

 

SslReverseEchoer.java – SSL серверга мисол

Ушбу SslReverseEchoer.java мисол мустақил яратилган SSL сервер калитини намоён етади:

/* SslReverseEchoer.java

 - Copyright (c) 2014, HerongYang.com, All Rights Reserved.

 */

import java.io.*;

import java.net.*;

import java.security.*;

import javax.net.ssl.*;

public class SslReverseEchoer {

   public static void main(String[] args) {

      String ksName = "herong.jks";

      char ksPass[] = "HerongJKS".toCharArray();

      char ctPass[] = "My1stKey".toCharArray();

      try {

         KeyStore ks = KeyStore.getInstance("JKS");

         ks.load(new FileInputStream(ksName), ksPass);

         KeyManagerFactory kmf =

         KeyManagerFactory.getInstance("SunX509");

         kmf.init(ks, ctPass);

         SSLContext sc = SSLContext.getInstance("TLS");

         sc.init(kmf.getKeyManagers(), null, null);

         SSLServerSocketFactory ssf = sc.getServerSocketFactory();

         SSLServerSocket s

            = (SSLServerSocket) ssf.createServerSocket(8888);

         printServerSocketInfo(s);

         SSLSocket c = (SSLSocket) s.accept();

         printSocketInfo(c);

         BufferedWriter w = new BufferedWriter(new OutputStreamWriter(

            c.getOutputStream()));

         BufferedReader r = new BufferedReader(new InputStreamReader(

            c.getInputStream()));

         String m = "Welcome to SSL Reverse Echo Server."+

            " Please type in some words.";

         w.write(m,0,m.length());

         w.newLine();

         w.flush();

         while ((m=r.readLine())!= null) {

            if (m.equals(".")) break;

            char[] a = m.toCharArray();

            int n = a.length;

            for (int i=0; i<n/2; i++) {

               char t = a[i];

               a[i] = a[n-1-i];

               a[n-i-1] = t;

            }

            w.write(a,0,n);

            w.newLine();

            w.flush();

         }

         w.close();

         r.close();

         c.close();

         s.close();

      } catch (Exception e) {

         System.err.println(e.toString());

      }

   }

   private static void printSocketInfo(SSLSocket s) {

      System.out.println("Socket class: "+s.getClass());

      System.out.println("   Remote address = "

         +s.getInetAddress().toString());

      System.out.println("   Remote port = "+s.getPort());

      System.out.println("   Local socket address = "

         +s.getLocalSocketAddress().toString());

      System.out.println("   Local address = "

         +s.getLocalAddress().toString());

      System.out.println("   Local port = "+s.getLocalPort());

      System.out.println("   Need client authentication = "

         +s.getNeedClientAuth());

      SSLSession ss = s.getSession();

      System.out.println("   Cipher suite = "+ss.getCipherSuite());

      System.out.println("   Protocol = "+ss.getProtocol());

   }

   private static void printServerSocketInfo(SSLServerSocket s) {

      System.out.println("Server socket class: "+s.getClass());

      System.out.println("   Socket address = "

         +s.getInetAddress().toString());

      System.out.println("   Socket port = "

         +s.getLocalPort());

      System.out.println("   Need client authentication = "

         +s.getNeedClientAuth());

      System.out.println("   Want client authentication = "

         +s.getWantClientAuth());

      System.out.println("   Use client mode = "

         +s.getUseClientMode());

   }

}

Албатта бу дастурни ишга тушириш учун  herong.jks да калитларни сақланган бўлиши зарур.

Агар jdk 1.8 билан дастурни ишга тушурилса қуйидагини кўриш мумкин:

Server socket class: class sun.security.ssl.SSLServerSocketImpl
   Socket address = 0.0.0.0/0.0.0.0
   Socket port = 8888
   Need client authentication = false
   Want client authentication = false
   Use client mode = false

 

SslSocketClient.java – клиент сокетининг SSL протоколига мисол

Яратилган SSL сокет-сервер клийентни ишончлигини текширмайди. Шунинг учун SslSocketClient.java дастурини SslSocketClient.java учун яратаиб олинади:

/* SslSocketClient.java
 - Copyright (c) 2014, HerongYang.com, All Rights Reserved.
 */
import java.io.*;
import java.net.*;
import javax.net.ssl.*;
public class SslSocketClient {
   public static void main(String[] args) {
      BufferedReader in = new BufferedReader(
         new InputStreamReader(System.in));
      PrintStream out = System.out;
      SSLSocketFactory f = 
         (SSLSocketFactory) SSLSocketFactory.getDefault();
      try {
         SSLSocket c =
           (SSLSocket) f.createSocket("localhost", 8888);
         printSocketInfo(c);
         c.startHandshake();
         BufferedWriter w = new BufferedWriter(
            new OutputStreamWriter(c.getOutputStream()));
         BufferedReader r = new BufferedReader(
            new InputStreamReader(c.getInputStream()));
         String m = null;
         while ((m=r.readLine())!= null) {
            out.println(m);
            m = in.readLine();
            w.write(m,0,m.length());
            w.newLine();
            w.flush();
         }
         w.close();
         r.close();
         c.close();
      } catch (IOException e) {
         System.err.println(e.toString());
      }
   }
   private static void printSocketInfo(SSLSocket s) {
      System.out.println("Socket class: "+s.getClass());
      System.out.println("   Remote address = "
         +s.getInetAddress().toString());
      System.out.println("   Remote port = "+s.getPort());
      System.out.println("   Local socket address = "
         +s.getLocalSocketAddress().toString());
      System.out.println("   Local address = "
         +s.getLocalAddress().toString());
      System.out.println("   Local port = "+s.getLocalPort());
      System.out.println("   Need client authentication = "
         +s.getNeedClientAuth());
      SSLSession ss = s.getSession();
      System.out.println("   Cipher suite = "+ss.getCipherSuite());
      System.out.println("   Protocol = "+ss.getProtocol());
   }
}

Дастурни алохида ойналарда очиб қуйидагиларни кўриш мумкин:

Socket class: class com.sun.net.ssl.internal.ssl.SSLSocketImpl
   Remote address = localhost/127.0.0.1
   Remote port = 8888
   Local socket address = /127.0.0.1:2183
   Local address = /127.0.0.1
   Local port = 2183
   Need client authentication = false
   Cipher suite = SSL_NULL_WITH_NULL_NULL
   Protocol = NONE
javax.net.ssl.SSLException: Connection has been shutdown: 
   javax.net.ssl.SSLHandshakeException: 
   sun.security.validator.ValidatorException: 
      PKIX path building failed: 
   sun.security.provider.certpath.SunCertPathBuilderException: 
      unable to find valid certification path to requested target

 

Муаммо мавжудлигини кўриш мумкин. TCP/IP поғонасида хаммаси жойида, лекин SSL боғланиш юзага келмади. Хатолик сервер сертификати барча мавжуд сертификасияга мос емаслигини кўрсатади. Бу кутилган хатолик, чунки сертификат мустақил ёзилган. Буни хал қилиш учун қуйидаги дастурий ишларни амалга ошириш керак.

 

Мустақил ёзилган сертификатни тасдиқлаш

Юқоридаги муамони хал қилишнинг битта ечимларидан бири, бу мустақил ёзилган сертификат калитни клиент машинасида тасдиқдан ўтказишдир:

-         Сервер томондан очиқ калитни экспорт қилиш.

-         Kлиент томондан мустақил яратилган сертификат калитни сертификатлар файлига импорт қилиш.

-         Kлиент дастурини “-Djavax.net.ssl.trustStore=myKeyStore.jks” ёрдамида ишга тушириш.

Сервер томонда:

 

keytool.exe -exportcert -alias my_home -file my_home.crt 
   -keystore herong.jks -storepass HerongJKS
   
Certificate stored in file <my_home.crt>
 
>"send my_home.crt to the client machine..."

Kлиент томонда:

>"receive my_home.crt from the server machine..."
 
>keytool.exe -importcert -alias herong_home -file my_home.crt 
   -keystore public.jks -storepass PublicJKS
 
Owner: CN=Herong Yang, OU=My unit, O=My home, L=My city, ST=My sta...
Issuer: CN=Herong Yang, OU=My unit, O=My home, L=My city, ST=My st...
Serial number: 42266fba
Valid from: Sat Jul 05 21:00:26 EST 2014 until: ...
Certificate fingerprints:
         MD5:  55:2C:5B:49:47:CB:61:40:FD:1A:3C:B7:16:6C:8E:7E
         SHA1: EC:B6:77:A1:21:9F:7E:AE:AF:B0:7C:AC:C5:B7:24:B7:45:...
Trust this certificate? [no]:  y
Certificate was added to keystore

Яна sslreverseechoer.java, сўнг SslSocketClient public.jks билан ишга тушурилади:

>java -cp . -Djavax.net.ssl.trustStore=public.jks
   SslSocketClient
 
Socket class: class com.sun.net.ssl.internal.ssl.SSLSocketImpl
   Remote address = localhost/127.0.0.1
   Remote port = 8888
   Local socket address = /127.0.0.1:2187
   Local address = /127.0.0.1
   Local port = 2187
   Need client authentication = false
   Cipher suite = TLS_DHE_DSS_WITH_AES_128_CBC_SHA
   Protocol = TLSv1
Welcome to SSL Reverse Echo Server. Please type in some words.
Hello world!
!dlrow olleH
It works!
!skrow tI

 

javax.net.debugSSL сокет алоқа

Агар нима содир бўлаётганини текширмоқчи бўлсак, jsse ни қўллаб          "-Djavax.net.debug=options" дан клиент томонда фойдаланиш мумкин:

>java -cp . -Djavax.net.ssl.trustStore=public.jks
   -Djavax.net.debug=help SslSocketClient
   
all            turn on all debugging
ssl            turn on ssl debugging
 
The following can be used with ssl:
        record       enable per-record tracing
        handshake    print each handshake message
......
 
(Run SslReverseEchoer.java in another window)
 
>java -cp . -Djavax.net.ssl.trustStore=public.jks
   -Djavax.net.debug=ssl:record SslSocketClient
 
setting up default SSLSocketFactory
......
init truststore
adding as trusted cert:
  Subject: CN=Herong Yang, OU=My unit, O=My home, L=My ci
  Issuer:  CN=Herong Yang, OU=My unit, O=My home, L=My ci
  Algorithm: DSA; Serial number: 0x42266fba
......
init context
trigger seeding of SecureRandom
......
%% No cached client session
*** ClientHello, TLSv1
RandomCookie:  GMT: 1111734670 bytes = { 64, 255, 55, 15,
Session ID:  {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC
Compression Methods:  { 0 }
***
main, WRITE: TLSv1 Handshake, length = 73
main, WRITE: SSLv2 client hello message, length = 98
main, READ: TLSv1 Handshake, length = 1187
*** ServerHello, TLSv1
RandomCookie:  GMT: 1111734670 bytes = { 120, 194, 143, 2
Session ID:  {66, 68, 186, 142, 195, 126, 97, 92, 127, 59
Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Compression Method: 0
***
%% Created:  [Session-1, TLS_DHE_DSS_WITH_AES_128_CBC_SHA
** TLS_DHE_DSS_WITH_AES_128_CBC_SHA
*** Certificate chain
chain [0] = [
[
  Version: V1
  Subject: CN=Herong Yang, OU=My unit, O=My home, L=My ci
  Signature Algorithm: SHA1withDSA, OID = 1.2.840.10040.4
......
]
......
]
***
Found trusted certificate:
[
[
  Version: V1
  Subject: CN=Herong Yang, OU=My unit, O=My home, L=My ci
  Signature Algorithm: SHA1withDSA, OID = 1.2.840.10040.4
......
]
......
]
*** Diffie-Hellman ServerKeyExchange
DH Modulus:  { 244, 136, 253, 88, 78, 73, 219, 205, 32, 1
DH Base:  { 2 }
Server DH Public Key:  { 100, 97, 85, 119, 180, 34, 56, 2
Anonymous
*** ServerHelloDone
*** ClientDiffieHellmanPublic
DH Public key:  { 40, 239, 235, 116, 118, 207, 63, 85, 24
main, WRITE: TLSv1 Handshake, length = 134
SESSION KEYGEN:
PreMaster Secret:
0000: 69 65 81 69 31 1E 9E 4D   34 9C 49 54 6E 0A A5 FB  
0010: B9 C0 21 F7 4F 84 D5 75   69 86 F2 10 B5 F6 8D 20  
......
CONNECTION KEYGEN:
Client Nonce:
0000: 42 44 BA 8E 40 FF 37 0F   7B 46 96 D1 E5 6A 99 FA  
0010: A5 7E 85 2F 57 A9 E4 17   8A 2C 74 54 60 6A B4 10  
Server Nonce:
0000: 42 44 BA 8E 78 C2 8F E0   60 82 32 C9 C4 EE 68 F3  
0010: 6C B7 6A AB B0 F9 E8 DD   66 3F A1 3C 5E 96 97 32  
Master Secret:
0000: 49 B5 9D BC 38 95 E6 34   EE 10 89 7E 3E 53 77 F9  
0010: BD 93 83 F7 FC D1 F1 6F   B1 95 83 B5 97 63 1F 2B  
0020: 0D A6 05 50 DA B7 21 28   EB B9 D5 6B A4 2D F0 02  
Client MAC write Secret:
0000: 34 57 AE 02 2B CA 00 04   0D D5 49 27 37 DB E0 76  
0010: 92 38 DD 1E                                        
Server MAC write Secret:
0000: 2D 58 DD 43 59 4C CB AC   F5 C7 B2 ED 5F B1 16 03  
0010: E7 A0 57 D2                                        
Client write key:
0000: 65 25 6A 56 FB AE B2 37   B0 BD FE 82 BE 45 F4 5F  
Server write key:
0000: 44 23 24 A7 BE CD FB 3C   CF D6 50 EC 43 C1 C2 E1  
Client write IV:
0000: 73 F3 98 2D F3 9A 6D 72   2F 59 4E 58 80 3D 17 F1  
Server write IV:
0000: 68 10 0A C0 FE 36 88 CD   92 E3 14 DC 87 9C 51 93  
main, WRITE: TLSv1 Change Cipher Spec, length = 1
*** Finished
verify_data:  { 148, 191, 195, 227, 118, 168, 181, 3, 60,
***
main, WRITE: TLSv1 Handshake, length = 48
main, READ: TLSv1 Change Cipher Spec, length = 1
main, READ: TLSv1 Handshake, length = 48
*** Finished
verify_data:  { 33, 227, 154, 8, 58, 178, 246, 217, 219, 
***
%% Cached client session: [Session-1, TLS_DHE_DSS_WITH_AE
   Cipher suite = TLS_DHE_DSS_WITH_AES_128_CBC_SHA
   Protocol = TLSv1
%% Client cached [Session-1, TLS_DHE_DSS_WITH_AES_128_CBC
%% Try resuming [Session-1, TLS_DHE_DSS_WITH_AES_128_CBC_
*** ClientHello, TLSv1
RandomCookie:  GMT: 1111734671 bytes = { 180, 13, 13, 192
Session ID:  {66, 68, 186, 142, 195, 126, 97, 92, 127, 59
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC
Compression Methods:  { 0 }
***
main, WRITE: TLSv1 Handshake, length = 128
main, READ: TLSv1 Application Data, length = 96
Welcome to SSL Reverse Echo Server. Please type in some w
Hello World!
main, WRITE: TLSv1 Application Data, length = 48
main, READ: TLSv1 Handshake, length = 96
*** ServerHello, TLSv1
RandomCookie:  GMT: 1111734671 bytes = { 172, 192, 94, 22
Session ID:  {66, 68, 186, 142, 195, 126, 97, 92, 127, 59
Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Compression Method: 0
***

 

Назорат саволлари

1. Аунтентификицияга тариф беринг.

2. Идентификацияга тариф беринг.

3. Авторизацияга тариф беринг.

4. SSL сокетни тушунтиринг.

5. Тармоқ хавфсизлиги деганда нима тушунилади?

 


V.  КЕЙСЛАР БАНКИ

 

МАВЗУ ЮЗАСИДАН МАЪРУЗА МАШҒУЛОТЛАРИ УЧУН ТАЪЛИМ МОДЕЛИНИ ИШЛАБ ЧИҚИШ

 

1.1. Тошкент ахборот технологиялари университетининг “Телекоммуникацияда бошқарув тизимларининг аппарат ва дастурий таъминоти” кафедрасида 5350100 -  Телекоммуникация технологиялари бакалавр талабаларига “Тармоқни дастурлаш асослари” фанининг ишчи дастурида “Тармоқларнинг тузилиш принциплари. Маълумот узатиш моделлари (OSI ва TCP/IP)” мавзусига 2 соат  маъруза ва 2 соат амалиёт машғулоти ўтказиш режалаштирилган. Қуйидаги мавзулар бўйича таълим технологияси модели ишлаб чиқилиш услубиёти келтирилган.

 

“Тармоқларнинг тузилиш принциплари. Маълумот узатиш моделлари (OSI ва TCP/IP)” маъруза мавзуси бўйича таълим технологияси модели

 

Ўқув соати:  80 дақиқа

Талабалар сони: (кўрсатилади)

Ўқув машғулоти шакли

Маъруза

Маъруза мавзуси:

Тармоқларнинг тузилиш принциплари. Маълумот узатиш моделлари (OSI ва TCP/IP).

Режа:

1.      Тармоқларнинг тузилиш принциплари.

2.      Маълумот узатиш моделлари.

3.      ISO/OSI  эталон модели

4.      TCP/IP стек протоколлари

Ўқув машғулотининг мақсади : Тармоқларнинг тузилиш принциплари ва улар ҳақида тушунча бериш; ISO/OSI ва TCP/IP моделлари, ташкил этилиши, хусусиятлари ва уларнинг телекоммуникия тармоқлари ва хизматларини бошқаришда қўлланилиши.

Педагог вазифалари:

Маълумот узатиш моделлари  ва улар ҳақида тушунча бериш.

ISO/OSI  эталон модели, ташкил этилиши, хусусиятлари.

TCP/IP стек протоколлари ва унинг телекоммуникия тармоқлари ва хизматларини бошқаришда қўлланилиши.

Ўқув фаолиятининг натижалари:

ISO/OSI ва TCP/IP моделлари, улар ҳақида тушунчаларини ва уларга оид концепцияларни билади.

Телекоммуникия тармоқлари ва хизматларини бошқаришда қўлланилиши ҳақида тушунчага эга.

 

Таълим методлари

Маъруза, намойиш этиш, суҳбат, муаммоли ўқитиш, иллютрация,  ақлий ҳужум, ўргатиш, тушунтириш, мунозара.

Таълим воситалари

Маъруза матни, слайдлар, тарқатма материаллар, видеопроектор.  

Ўқитиш шакиллари

Франтал

Ўқитиш шарт шароит

Мультимедиа воситалардан фойдаланишга мўлжалланган аудитория

Маниторинг ва баҳолаш

Савол-жавоб, назорат саволлари:

1.      Тармоқларнинг тузилиш принциплари қандай?

2.      ISO/OSI  эталон моделига таъриф беринг.

3.      TCP/IP стек протоколлари сананг.

4.      ISO/OSI ва TCP/IP моделлари фарқларини сананг.

 

 

1.2. Мавзу юзасидан амалий  машғулотда  тренинг  “Мулоқот” ва “Чархпалак” ўқитиш усулларини қўллаш

 

“Тармоқларнинг тузилиш принциплари. Маълумот узатиш моделлари (OSI ва TCP/IP)” усуллари таққослаш ва танлаш мавзуси юзасида амалий машғулотнинг дарс ишланмаси. Амалий машғулотда молоқот тренинг усулидан фойдаланиш.

Ушбу тренинг ўқувчи-талабаларда дарс жараёнида мустақил фикрлашга, ўз фикрларини эркин ҳолда баён эта олишга ҳамда уларда бахслашиш маданиятини тардиялашга қаратилган бўлиб одатда бундай машғулот тингловчиларни кичик гуруҳларга бўлган ҳолда ўтказилади.

Танланган мавзу, муаммо асосида тингловчиларнинг фикрларини ҳамда ушбу мавзуга бўлган муносабатларини аниқлаш, мустақил ҳолда умумий бир фикрга келишларига ва тўғри ҳулоса чиқаришларига ёрдам бериш, эркин ҳолда баҳслашишига шароит яратиш.

Тренер машғулотни бошлашдан аввал тингловчиларни мулоқот, баҳс мунозарани ўтказишга қўйилган талаблар, қоидалар билан таништиради, сўнгра ушбу тренинг босқичма-босқич ўтказилиши тушунтиради.

1-БОСҚИЧ.

Тренер машғулотни ўтказилишига мулоқотнинг мавзусини аниқлашдан бошлайди, масалан, “Тармоқларнинг тузилиш принциплари таснифи?”. Шу саволни ўртага ташлаш тингловчилардан телекоммуникация ва ҳисоблаш тармоқлари ҳақидаги фикрлари аниқлаб олади. Уларни шу тартибда  гуруҳларга бўлади.

2-БОСҚИЧ.

Ҳар бир гуруҳдаги тингловчилар ўз мавзулари асосида керакли материаллар: далиллар, мисоллар, аниқ фикрлар, ўз фикрларини тасдиқловчи кўргазмали материаллар тайёрлайди. Гурухдан бир кишини ҳимоя учун танлайдилар қолганлар эса ўз фикрларини қўшимча қилишлари мумкин. Тренер гуруҳларни тайёргарлик кўришлари учун шароит ва имкониятга қараб вақт беради.

3-БОСҚИЧ.

Гуруҳлар ҳимояга тайёр бўлгач, тренер гуруҳларнинг бирига ҳимоя учун сўз беради. Гуруҳ вакили гуруҳ номидан сўзга чиқиб уларга берилган мавзуни тайёрланган материаллар, далиллар асосида ҳимоя қилишга киришади. Гуруҳ вакили сўзини тугатгач, гуруҳнинг қолган аъзолари ўз фикрлари билан қўшимча фикрлар билдиришлари мумкин.

4-БОСҚИЧ.

Машғулотнинг 3 - босқичдаги каби бу босқичда ҳам тренер навбатдаги гуруҳ вакилига ҳимоя учун сўз беради.2-гуруҳ ҳам 1-гуруҳ каби ўз мавзуси бўйича ҳимоя қилади.Ҳимоя тугагач тренер машғулотнинг кейинги бочқичига ўтади. Ҳар иккала гуруҳнинг ҳимояси вақтида иложи борича уларга ҳалақт бермасликка, ўз фикр ва мулоҳазасини билдирмасликка, савол бермасликка ҳаракат қилади, ҳеч қайси гуруҳга ён босмаган ҳолда мулоқотни бошқаради, гуруҳлар ҳимояси вақтида тартиб сақланишига ва мулоқотни ўтказишга қўйилган талаб, қоидаларни тўлиқ бажарилишига ҳаракат қилади. Бу босқичда, асосан, икки гуруҳ эркин, мустақил фаолият кўрсатишлари керак бўлади.

5-БОСҚИЧ.

Гуруҳлар бир-бирларига савол беришни бошлайдилар. Гуруҳлар томонидан бериладиган саволлар улар ҳимояси пайтида айтилган далиллар, мисоллар, фикрларни янада ойдинлашиш мақсадида, шунингдек, ўз гуруҳларининг фикрларини янада таъкидлаб, исботлаб, қолганларини шу фикрга қўшилишларига даъват қилиш учун бурилиши мумкин. Тингловчилар эркин ҳолда ўзларининг чиқишлари билан  барчага таъсир ўтказишга, ўз фикрларини мақуллашга ҳаракат қилади. Тренер бундай ҳолатга шароит, имконият яратади, яъни бу баҳс-мунозарани самимийлик билан бошқаради.

 

6-БОСҚИЧ.

Тренер ҳар икки томоннинг бир-бирларига саволлари, айтадиган фикрлари, мақуллайдиган сўзлари тугагач ҳар икки гуруҳ томонидан айтилган фикрларни умумлаштиради ва ўзининг бу масала ҳақидаги фикр мулоҳазасини баён этади ва гуруҳ тингловчилари томонидан тушган саволларига керакли жавобни беришга ҳаракат қилади. Машғулот оҳирида тренер ҳар иккала гуруҳнинг машғулот жараёнидаги фаолиятларини таҳлил қилиб, уларга миннатдорчилик билдиради ва машғулотни якунлайди. Ушбу тренингнинг давомийлиги шароитга қараб белгиланади.

Мулоқатдан сўнг ўқувчиларни билимларини янада объектив баҳолаш мақсадида мавзу бўйича “Чархпалак” усулидан фойдаланилади.   

 

Тармоқларнинг тузилиш принциплари. маълумот узатиш моделлари (OSI ва TCP/IP) бўйича  ўқитиш услубиётини ишлаб чиқиш

 

2.1. Янги таълим технологияларнинг илмий - услубий асослари

 

Таълимнинг интерфаол методлари. Интер инглиз тилидаги «интер» олд қўшимчасидан иборат бўлиб, у том маънода ўзаро таъсир, йўналганлик маъносини англатади. Бу ерда интер сўзи кенг доирада, халқаро миқёсдаги таъсир, ҳаракат, йўналганлик мазмунига эга. Интерфаол атамасига келсак, у «interactive» яъни кенг халқаро миқёсдаги ҳаракат фаоллигини билдиради. Лотинча интер сўзининг маъноси – ички потенциал имконий қувват дегани.

Маълумки, ҳар бир инсон ўз ички имконий қувватига ва ўзгаларда қайтарилмас фазилатга эга.

Интерактив усул тарбия нуқтаи назаридан, ҳар бир кишини руҳий, илоҳий тавсифини кўзда тутган ҳода, халқаро миқёсдаги таълим – тарбия янгиликларни ҳамда маънавий манбаларимиздаги акс эттирилган интеллектуал салоҳиятимиз кўникмалари асосланиб комил фарзанд тарбиялаш демакдир.

Ғарбда педагогиканинг интерфаол методлари билан шуғулланадиган қисмини интерактив педагогика деб ҳам юритилади.

Интерактив педагогика ёшларни талабаларни фаолликлари хилма-хиллигини ҳамкорлиги, ҳайриҳоҳлиги асосида уларни янги фаоллика, бунёдкорликка, яратувчанликка ундовчи педагогика бўлиб, талабаларга бундай сифатлар улар эркин фикрлаш асосларини эгаллаганларидан кейин шакллана бошлайди, ривожланади.

Интерактив педагогика янги таълим асосида таълим – тарбиянинг ҳамма шаклларида жорий этилмоқда. Масалан, маърузаларда, интерактив педагогиканинг мунозара, муомалалар муҳокамаси, ақлий хужум, бахслар каби усулларидан кенг фойдаланилади.

Амалий машғулотларда эса семинар, оғзаки, ёзма колоквиумлар, рефератлар муҳокамаси, фаол эксперимент, амалий ўинлар методларидан кенг фойдаланилмоқда. Аммо шунга қарамай. Ғарб давлатларидан бизга интерактив педагогиканинг бир қанча карорлар шажараси. Ажурли арра, Снежный ком, тажрибалар, тадбирлар ҳамкорлиги каби методлари каби методлари кириб келди.

Инсон имкониятларининг яна бир мўъжизавий томони шундан иборатки, ҳар бир киши нодир ва бетакрор бўлиши билан бирга у ижтимоийликка мухтож қилиб яратилган. Яъни хатто ҳар бир қобилиятли киши ўз ақлий – амалий имкониятларидан оптимал фойдаланганда ҳам интеллектуал имкониятларини фақат – 4-5% ини ишга сола олади. Шунинг учун кишиларнинг қизиқиши, қобилиятлар йўналиши турлича бўлиб улар жамоалашганда ақлий имкониятларнинг фойдали иш коэфиценти кўпаяди.

Интерактив педагогика талабаларда ижобий ҳамкорликнинг ҳар бир киши учун қандай катта манфаат касб этишини амалда кўрсатади. Шунда талабалар фикрлари ҳилма – ҳиллигидан чўчимайдилар, балки ундан ўзаро манфаатдор бўладилар ва атрофдаги ижтимоий-иқтисодий ходисаларга онгли муносабатда бўладилар. Интерактив педагогика ташкилий шакли, методлари, талабаларнинг ўзаро муносабатлари, талаба ва ўқитувчи муносабатлари билан патерналистик (насиҳат ва ўктиришга асосланган) педагогикадан тубдан фарқ қилади.

Масалан, интерактив педагогиканинг «мунозара» шаклидаги машғулоти икки босқичли қилиб ўтказилади. Агар гуруҳдаги 20 та талаба бўлса, улар 4 тадан ёки 5 кишидан иборат кичик гуруҳлар шаклида ўтказиладила. Яъни ҳар бир столга давра қилиб ўтирилади. Шундай қилиб, гуруҳда 4 ёки 5 та давра ҳосил бўлади. Бугунги машғулотда ҳал қилиниши керак бўлган муаммо 4 ёки 5 та масалага бўлинади. Ўқитувчи гуруҳлар ҳал қилиш лозим бўлган масалаларни алоҳида қоғозларга ёзиб келади.

Ҳар бир гуруҳга турли саволлар тарқтилади. Агар муаммо янги бўлса, ҳар бир карточка – қоғозда саволларга қисқача ёрдамчи изоҳлар берилиши керак. Ёки муаммони ҳал қилиш учун зарур бўлган материаллар билан танишиш талабаларга олдиндан топширилапди. Ҳар бир гуруҳга ўзлари олган масалаларни кичик гуруҳларда ўзаро ижодий ҳамкорликни йўлга қўйиб мунозарани ташкил қилиш ва тегишли жавоб ҳозирлаш учун 5-10 минут берилади (қийинлик даражасига қараб). Кейин мунозаранинг иккинчи бисқичи бошланади. Унда ҳар бир кичик гуруҳ вакили ўзлари ҳал қилган масалани бугун гуруҳга, жамоага гапириб, исботлай бериши керак. Бу вакилнинг жавоби бошқа гуруҳ аъзолари томонидан умумий мунозарага олинади ва умумий якуний хулоса чиқарилади. Бунда профессор-ўкитувчи мунозарага ижодий ҳамкор сифатида, энг зарур пайтларда иштироқ қилиш керак.

Фикрларни тўғри, нотўғри деб тасдиқламаслиги керак. Чунки у эркин фикрлашга тўсиқ бўлади. Албатга, профессор-ўқитувчи хулосавий фикрларда агар бўлса, ёрдамга келиши керак. Худди шундай бешта гуруҳларнинг жавоблари мунозарада ҳал қилингач, (5-10 минутдан) умумий қўйилган муаммо муҳокамасига ҳамма қатнашади. Якуний хулосалар доскага ёзилади. Талабаларга тегишли рейтинг баллари мунозара давомида ва мунозара якунида қуйила боради.

Интерактив педагогика талабаларни амалий ва назарий фаолликка янги ғоялар излашга, ўз фикрлари, ғояларини ҳимоя қилишга, ўз ғоя фикрларини исботлашга, бошқаларни фикрларига ҳурмат ва танқидий қарашга, мулоқот, мунозара олиб бориш сифатларини ўстиришга, мустақил ишланишга, амалий ижодкорликка, амалий сифатларга эга бўлишга ўргатади.

Интерактив педагогика профессор-ўқитувчиларга ўзлари ўқитаётган фанларини замонавий таълимий, ижодий-амалий ривожлантирувчи ва тарбиявий функцияларини аниқ белгилаб олиб миллий таълим моделидаги узлуксиз таълим, фан ва ишлаб чиқариш интеграцияси асосида интерактив педагогикадан ўринли фойдаланиб замон талаби даражасидаги етук мутахассисларни тайёрлашдаги ўзларининг шарафли вазифаларини бажаришлари керак.

Профессор-ўқитувчилар интерактив педагогика ёрдамида интернетдан, масофадан туриб ўқитиш, ахборот технологиялари асосида илғор педагогик технологияларни ишлаб чиқариш, уларни ҳаётга жорий қила билишлари керак.

 

2.2. Ўқитиш жараёнида қўлланиладиган технологияларни турлари.

 

Ўқитиш жараёнида ўқувчи-талабаларга шахс сифатида қаралиши, турли педагогик технологиялар ҳамда замонавий методларни қулланилиши уларни мустақил, эркин фикрлашга, изланишга, ҳар бир масалага ижодий ёндошиш, масъулиятни сезиш, илмий тадқиқот ишларини олиб бориш, таҳлил қилиш, илмий адабиётлардан унумли фойдаланишга, энг асосийси, ўқишга, фанга педагога ва ўзи танланган касбига бўлган қизиқишларини кучайтиради.

Бундай натижага эришиш амалиётда ўқув жараёнида инновацион ва ахборот технологияларни қўллашни тақозо этади. Улар жуда хилма-хилдир. Биз улардан баъзилари ҳақида тўхталиб ўтамиз ва уларни ўтказиш тартиби ҳақида қўлланма берамиз. Ушбу методик қўлланмада келтирилган замонавий методлар, ёки ўқитишнинг самарасини оширишга ёрдам берувчи технологик тренинглар ўкувчи-талабаларда мантиқий, ақлий, ижодий, танкидий, мустакил фикрлашни шакллантиришга, қобилиятларини ривожлантиришга, рақобатбардор, етук мутахассис бўлишларига ҳамда мутахассисга керакли бўлган касбий фазилатларни тарбиялашга ёрдам беради.

Ўқитиш жараёнида турли технологиялардан фойдаланиш мумкин. Буларга қуйидагилар каради.

«Ақлий ҳужум» методи – ўқитувчи ўқувчи эгаллаши керак бўлган мавзуни оддийдан – мураккабга томон босқичма босқич лойиҳалаб беради.

«Тармоклар» методи – ўқувчи-талабани мантиқий фикрлаш, умумий фикр доирасини кенгайтириш, мустақил равишда адабиётлардан фойдаланишни ўргатишга қаратилган.

«3×4» методи – ўқувчи-талабаларни эркин фикрлаши, кенг доирада турли ғояларни бера олиши, таълим жараёнида якка, кичик гуруҳ ҳолда таҳлил этиб, хулоса чиқара олиши, таъриф бера олишига қаратилган.

«Блиц-ўйин» методи – ҳаракатлар кетма-кетлигини тўғри ташкил этишга, мантиқий фикрлашга, ўрганаётган предмети асосида кўп, хилма-хил фикрлардан, маълумотлардан кераклигини танлаб олишни ўргатишга қаратилган.

 «Иерархия» техникаси – оддийдан мураккабга, мураккабдан оддийга ўтиш усулларини қўллаш орқали уларни мантиқий, танқидий, ижодий фикрлашга ўргатишга қаратилган.

«Бумеранг» техникаси – ўқувчи-талабаларни дарс жараёнида, дарсдан ташқарида турли адабиётлар, матнлар билан ишлаш, ўрганилган материални ёдида сақлаб қолиш, сўзлаб бера олиш, фикрини эркин ҳолда баён эта олиш ҳамда бир дарс давомида барча ўқувчи-талабаларни баҳолай олишга қаратилган.

«Талаба» тренинги – ўқувчи-талабалар билан индивидуал ҳолда ишлаш ўқитувчи ва талаба ўртасидаги тўсиқни йўқ қилиш, ҳамкорликда ишлаш йўлларини ўргатишга қаратилган.

«Ўқитувчи шахси» тренинги – ўқитувчининг инновацион фаолиятини очиб берувчи «Ўқитувчи шахсига қўйиладиган талабалар» мавзусидаги мустақил фикрлашга, ижодий иншо ёзиш орқали фикрларни баён қилишга қаратилган.

«Мулоқот» техникаси ўқитувчиларни аудитория диққатини ўзига жалб этиш, дарс жараёнидаҳамкорликда фаолият кўрсатишга, уни ташкил этишни ўргатишга қаратилган.

«Бошқарув» техникаси ўқитувчиларни аудиторияни бошқаришдаги усуллари ҳамда ўқувчи-талабаларни иш жараёнида бошқариш усуллари билан таништирувчи ва шунга ўргатишга қаратилган.

Очиқ саволлар – бу саволлар муомала, сўзлашувни давом эттиришга имкон беради. Уларга қисқа, бир хил жавоб бериш мумкин эмас.

Ёпиқ саволлар – бу саволлар олдиндан «ҳа»ёки «йўқ» типидаги тўғри, очиқ, жавобларни беришни кўзда тутади.

Кўндаланг сўроқ – бир-бирига гуруҳлаб берилувчи қисқа саволлар қатори бўлиб, бу ўзига хос ахборотлар излаш ҳамда далилларни, оппонентлар позициясини аниқлаш ва муайян қарорлар қабул қилиш учун ажойиб имкониятдир.

Кўндаланг сўроқ пайтида мунозарага киришиш мумкин эмас. Бу вақтда фақат саволлар берилади, мунозарага киришилмайди.

 

2.3. Маъруза машғулотларига  дарс ўтиш услубияти

 

Замонавий ва истиқболли тармоқлар концепциялари ва технологиялари буйича маъруза ва амалиёт машғулотига дарс ўтиш услубиятини ишлаб чиқамиз. Дастлаб маъруза машғулотига дарс ўтиш услубиятини ишлаб чиқамиз. Маъруза машғулоти учун муаммоли ўқитиш усулидан фойдаланимиз. Аввало муаммоли  ўқитиш тўғрисида тўхталиб ўтамиз.

Муаммоли ўқитишнинг “анъанавий” ўқитишдан асосий фарқи шундаки, унда ўқувчиларда ақлий қўзғатишлар уйғотишга урғу берилади. Ўқувчининг субэектив билимлари билан объектив мавжуд аммо ўқувчининг нотаниш хақиқат орасида қарама-қаршиликлар вужудга келганда ўқув-билиш муаммоси пайдо бўлади. Ўқувчи биронбир ўқув вазифасини ҳал этиши учун билимлар етишмаётганлигини англаб етади ва бу ўқувчини изланишга, ҳатти-ҳаракатларига рағбатлантиради. Ҳақиқий муаммо илм-фан билан боғлиқ бўлади. Унга узл кесил жавоб берилиши мумкин эмас ва ўқувчини изланишга, тадқиқотга чорлайди.

Муаммоли ўқитишнинг устуворлиги шундаки, ўқувчи билимларини мустақил, шахсий ижодий фаолият йўли билан эгаллайди; ўқув меҳнатига қизиқиш юқори даражада бўлади; маҳсулдор фикрлаш ривожланади; ўқитиш натижалари мустаҳкам ва амалий бўлади.

Камчиликлари: ўқитувчи учун бир қатор қийинчиликлар туғдиради; ҳар қандай ўқув материали учун муаммоли вазият тузишга асос бўлавермайди; ўқувчиларнинг билиш фаолиятини бошқариш қийинроқ кечади, белгиланган мақсадга эришиш учин узоқ вақт сарфлаш талаб қилинади.

 


 

 

Рамс 1.  Маъруза  машғулотини муаммоли ўқиштиш усулининг чизмаси

 

Раcм 2.  Маъруза  машғулотини кластер ўқиштиш усулининг чизмаси


 

2.4 Амалиёт машғулотларда чархпалак  технологиясидан фойдаланиш

 

Мазкур   технология   бир   машғулот   давомида  ўқув   материалини чуқур ва яхлит холатда ўрганиш, ижодий тушуниб етиш, эркин эгаллашга йуналтирилган. У турли  мазмун  ва характерга (муаммоли,  мунозарали, турли  мазмунли)   эга  бўлган   мавзуларни  ўрганишга яроқли  бўлиб,  ўз ичига оғзаки ва ёзма иш шаклларини қамраб олади хамда бир машғулот давомида   ҳар   бир   иштирокчининг   турли   топшириқларни   бажариши,   навбат билан ўқувчи ёки ўқитувчи ролида чиқиши мумкин.

Ушбу  технологияси танқидий фикрлаш, мантиқли шакллантиришга имконият яратади; хотирани, ғояларни, фикрларни, далилларни ёзма ва оғзаки шаклларда баён қилиш кўникмаларини  ривожлантиради. Таълим билан бир қаторда мазкур метод тарбиявий характердаги қатор вазифаларни амалга ошириш имконини беради:

-        жамоа билан ишлаш махорати;

-        муомалалик;

-        хушфеъллик;

-        куникувчанлик;

-        ўзга фикрига хурмат;

-        фаоллик;

-        рахбарлик сифатларини шакллантириш;

-        ишга ижодий ёндашиш;

Талабалар ушбу кўрсатмалар билан танишиб чиққандан сўнг жадвал 2.1  да чархпалак  технологиясидан фойдаланиб тузилган жадвални тўлдириб чиқишлари мумкин. 

 

Технологик харита

 

Мавзу

Телекоммуникация тармокларидаги коммутация усулларини урганиш

Мақсад,

Вазифалар

Максад:

Талабаларга телекоммуникация тармокларини тармоқлар моделининг вазифасини, уларни узаро фаркини тушунтириш.

Вазифалар:

- талабаларда мавзуга нисбатан кизикиш уйготиш, уларда мавзу буйича билим ва куникмаларни шакллантириш ва кенгайтириш;

- мавзуга оид таркатма материалларни талабалар томонидан якка ва гурух холатида узлаштириб олишлари хамда сухбат-мунозара оркали таркатма материаллардаги матнларни узлаштириш даражаси наназорат килиш,  уларни билимини бахолаш.

Ўқув жараёнининг мазмуни

Тармоқлар модели тушунчаси. OSI ва TCP/IP моделлари. TCP/Ipстек протоколлари турлари, тузилиши, хусусиятлари. Телекоммуникация тармоқлари ва хизматлари бошқарувида OSI тамойилини қўллаш.

Ўқув жараёнини амалга ошириш технологияси

Услуб: Оғзаки баён  қилиш, «Бумеранг» технологияси.

Шакл: сухбат-мунозара, амалий машғулот, кичик гурухлар ва жамоада ишлаш.

Восита:Таркатма материаллар: матнлар, расм ва чизмалар, компьютер, видеопроектор.

Усул: слайдлар ва тайёр ёзма материаллар асосида

Назорат: огзаки назорат, савол – жавоблар, ўз-ўзини назорат килиш.

Бахолаш:рагбатлантириш, беш балли тизим асосида.

Кутиладиган натижа

Укитувчи: Мавзуни киска вакт ичида барча талабалар томонидан узлаштирилишига эришилади. Талабалар фаоллигини фаоллигини оширади. Талабаларда дарсги нисбататан кизикиш  уйготади. Бир машгулот жараёнида барча талабаларни бахолайди. Талабаларда ёзма ахборотни мустакил равишда урганиш, уни хотирада саклаш, бошкаларга етказиш, савол бериш ва саволга жавоб бериш кобилиятлари ривожланади.

Талаба: Янги билимларни эгалайди. Якка холда ва гурух булиб ишлашни урганади. Нутки ривожланади ва эслаб колиш кобилияти кучаяди. Уз-узини назорат килишни урганади. Киска вакт ичида куп маълумотга эга булади ва бахоланади.

Келгусидаги режалар (тахлил, узгаришлар)

Укитувчи: Янги педагогиг технологияларни узлаштириш ва дарсда тадбик этиш, такоммиллаштириш. Уз устида ишлаш. Мавзуни хаётий вокеалар ва ишлаб чикариш билан боглаш. Педагогик махоратни ошириш.

Талаба: Матн билан мустакил ишлашни  ва уз фикрини равон баён килишни урганиш. Шу мавзу буйича электрон ресурс марказларидан, Internet  тармогидан кушимча материаллар топиш ва уларни урганиш. Уз фикри ва гурух фикрини тахлил килиб, бир ечимга келиш малакасини хосил килиш.  

 

 

 

 


VI. МУСТАҚИЛ ТАЪЛИМ МАВЗУЛАРИ

Мустақил ишни ташкил этишнинг шакли ва мазмуни

Тингловчи мустақил ишни муайян модулни хусусиятларини ҳисобга олган холда қуйидаги шакллардан фойдаланиб тайёрлаши тавсия этилади:

- меъёрий хужжатлардан, ўқув ва илмий адабиётлардан фойдаланиш асосида модул мавзуларини ўрганиш;

- тарқатма материаллар бўйича маърузалар қисмини ўзлаштириш;

- автоматлаштирилган ўргатувчи ва назорат қилувчи дастурлар билан ишлаш;

 - махсус адабиётлар бўйича модул бўлимлари ёки мавзулари устида ишлаш;

 -тингловчининг касбий фаолияти билан боғлиқ бўлган модул бўлимлари ва мавзуларни чуқур ўрганиш.

 

Мустақил таълим мавзулари

1.     Тармоқни дастурлаш асосларининг ривожланиш истиқболлари.

2.     Тармоқни дастурлаш аспектларининг асосий терминологияси ва уларнинг моҳияти.

3.     Тармоқни дастурлашда фойдаланиладиган дастурлаш тиллари синфлари.

4.     IP-адрес ва MAC-адрес тушунчалари, уларнинг моҳияти.

5.     Тармоқни дастурлашда портларнинг аҳамияти.

6.     FTP протоколи билан ишлашда моделлар ва уларнинг таснифи.

7.     Содда WEB-серверни яратиш принципи.

8.     Тармоқ сервер қисмини яратишнинг асосий усуллари.

9.     Тармоқ клиент қисмини яратишнинг асосий усуллари.

10.    Интернет тармоғи фойдаланувчиларига приоритетли хизмат кўрсатиш.

11.    Сокетлардан фойдаланган ҳолда клиент/сервер иловаларини яратишнинг асосий тамойиллари.

12.    Асинхрон сокетлардан фойдаланган ҳолда клиент/сервер иловаларини яратишнинг асосий тамойиллари.

13.    HTTP билан ишлашда класслардан фойдаланиш.

14.    Электрон почта билан ишлаш асослари.

15.    SMTP, POP3, IMAP почта протоколлари ва уларнинг хусусиятлари.

16.    Уланиш ўрнатилган ва ўрнатилмаган ҳолда протоколлар ва уларнинг таснифи.

17.    Синхрон ва асинхрон хабарларни узатиш тамойиллари.

18.    API сокети ва унинг архитектураси.

19.    Сайтларда авторизациянинг умумий тамойиллари.

20.    Параллел объектга йўналтирилган тармоқ иловаларини дастурлаш.

21.    Сокетлар ва каналлар асосида тармоқни дастурлаш.

22.    Кўп фойдаланувчиларга хизмат кўрсатиш.

23.    Аутентификация тамойиллари.

24.    Идентификация тамойиллари.

25.    Авторизация тамойиллари.

26.    IPv4 Addresses (Network Layer)

27.    Delivery and Forwarding of IP Packets (Network Layer)

28.    Internet Protocol Version 4 - IPv4 (Network Layer)

29.    Address Resolution Protocol - ARP (Network Layer)

30.    Internet Control Message Protocol Version 4- ICMPv4 (Network Layer)

31.    Mobile IP  (Network Layer)

32.    Unicast Routing Protocols - RIP, OSPF, and BGP (Network Layer)

33.    Multicasting and Multicast Routing Protocols (Network Layer)

34.    Stream Control Transmission Protocol – SCTP (Transport Layer)

35.    Host Configuration: DHCP (Application Layer)

36.    Domain Name System - DNS (Application Layer)

37.    Remote Login: TELNET and SSH (Application Layer)

38.    File Transfer: FTP and TFTP (Application Layer)

39.    Electronic Mail: SMTP, POP, IMAP, and MIME (Application Layer)

40.    Network Management: SNMP (Application Layer)

41.    World Wide Web and HTTP (Application Layer)

42.    IPv6 Protocol & IPv6 Addressing (Next Generation)

43.    Internet Control Message Protocol Version 6 - ICMPv6 (Next Generation)

44.    Securing E-Mail

45.    Message Integrity and Digital Signatures

46.    Multimedia Networking Applications (Multimedia Networking)

47.    Streaming Stored Video (Multimedia Networking)

48.    Voice-over-IP (Multimedia Networking)

49.    Protocols for Real-Time Conversational Applications (Multimedia Networking)

50.    Securing TCP Connections: SSL

51.    Network-Layer Security: IPsec and Virtual Private Networks

52.    Securing Wireless LANs

53.    Operational Security: Firewalls and Intrusion Detection Systems


VII. ГЛОССАРИЙ

 

Термин

Ўзбек тилидаги шарҳи

Инглиз тилидаги шарҳи

IPv6

InternetProtocol 6 версияси - интернет тармоқларининг янги турдаги протоколидир.

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP).

VoIP

Интернет протоколи бўйлаб овозларни узатиш стандарти бўлиб, овоз ва мултимедия хабарларини узатишга асосланган.

Voice over Internet Protocol is the method by which voice and multimedia communications are transmitted over the internet.

SIP

Бу протокол мултимедиа алоқалари сеансларини назорат қилиш ва сигнализатция қилиш учун алоқа протоколи ҳисобланади.

The Session Initiation Protocol (SIP) is a communications protocol for signaling and controlling multimedia communication sessions.

P2P

Тақсимланган иловалар архитектураси ҳисобланиб, тармоқ вазифаларини ва юкламаларини архитектура бўйлаб тақсимлаб фойдаланиш имкониятини берувчи тармоқ.

Peer-to-peer computing is a distributed application architecture that partitions tasks or workloads between peers.

SNMP

Тармоқни бошқаришнинг оддий протоколи

Simple Network Management Protocol

DHCP

Хостларни динамик конфигурациялаш протоколи

Dynamic Host Configuration Protocol

FTP

Файлларни узатиш протоколи

File Transfer Protocol

HTML

Веб-сахифаларни гиперматнли белгиловчи тил

HyperText Markup Language

HTTP

Гиперматнли файлларни узатиш протоколи

HyperText Transfer Protocol

ICMP

Интернет тармоғида хабарларни бошқариш протоколи

Internet Control Message Protocol

IPSec

Тармоклараро маълумотларни хавфсиз алмашиниш Интернет протоколи

Internet Security Protocol

OSI

Очиқ тизимлар ўзаро боғлиқлиги

Open Systems Interconnection

ISO

Стандартлаш бўйича Халқаро ташкилот

 International Organization for Standartization

ITU

Электроалоқа Халқаро Иттифоқи (МСЭ). Бу ташкилотнинг вазифаларидан бири – халқаро стандарт ҳисобланадиган тавсияларни тайёрлаш.

International Telecommunication Union

POP

Фойдаланувчи ўзига келган электрон хабарлардан фойдаланишига имкон берувчи протокол

Post Office Protocol

SMTP

Электрон почтанинг оддий протоколи

Simple Mail Transfer Protocol

TCP

Узатишларни бошқариш протоколи

Transport Control Protocol

UDP

Фойдаланувчининг маълумотларини узатиш протоколи

User Data Protocol

VPN

Химояланган виртуал тармоқ

Virtual Private Network

HEMS

Юқори даражадаги бошқарув объектлари тизими

High-Level Entity Management System

SGMP

Оддий роутер ёрдамида бошқариш протоколи

Simple Gateway Monitoring Protocol

CMIP

Умумий бошқарув маълумот протоколи

Common Management Information Protocol

IAB

Интернет протоколлари техник ишланмаси учун жавобгар гурух

Internet Architecture Board

SNM

Оддий тармоқ бошқаруви

Simple Network Management

PDU

Протокол маълумотлари блоки

Protocol Data Unit

HPFS

Юқори унумдорликка эга бўлган файл тизими

High File System

NTFS

Янги технология файл тизими

New Technology File System

RSA

Очиқ калит ёрдамида шифрлаш тизими

Rivest, Shamir, Adleman

GUI

Фойдаланувчи график интерфейси

Graphical User Interfase


VIII. АДАБИЁТЛАР РЎЙХАТИ

Асосий адабиётлар

 

1.    Computer networking : a top-down approach / James F. Kurose, Keith W. Ross.—6th ed. 2013. by Pearson Education, Inc., publishing as Addison-Wesley.

2.    TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2010

3.    Java Network Programming, Fourth Edition by Elliotte Rusty Harold. 2014. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol.

4.    The Definitive Guide to Linux Network Programming Copyright © 2004 by Keir Davis, John W. Turner, Nathan Yocom. 2011.

5.    Pirate Haven. Programming Windows TCP Sockets in C++ for the Beginner. Birmingham Press. 2009. 

6.    Keir Davis. TCP/IP Network Programming Design Patterns in C++. Vic Hargrave. 2013.

7.    D. Schmidt. C++ Network Programming, Vol 1 Systematic Reuse with ACE and Frameworks . 2010

8.    D. Schmidt.  C++ Network Programming, Vol 2 Systematic Reuse with ACE and Frameworks.  2010

9.    Network Programming by Katta G. Murty. University Birmingham. 2010

10.                       Li-Hsing Yen. Network Programming Introduction. 2011

 

Қўшимча адабиётлар

 

1.      TCP/IP Sockets in C#: Practical Guide for Programmers (The Practical Guides). David Makofske and  Michael J. Donahoo . 2004 

2.      Jon C. Snader. Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs: 44 Tips to Improve Your Network Programs. 2000

3.      Douglas E. Comer, David L. Stevens. Internet working with TCP/IP client-server programming and applications. 2006

4.      Douglas E. Comer, David L. Stevens. Internet working with TCP/IP Design, Implementations and Internals. UIP. 2006

5.      Beej’s Guide to Network Programming Using Internet Sockets Brian Beej Hall. 2nd edition. 2011

6.      А.А. Дубаков. «Сетевое программирование». Учебное пособие. Санкт-Петербург. 2013. 248 с.

 

Ахборот-ресурс манбалар

1.       http://www.networkingprogramming.com/ 

2.      https://en.wikipedia.org/wiki/Network_socket 

3.      https://stackoverflow.com