Presentation is loading. Please wait.

Presentation is loading. Please wait.

(Prievadai) Parengė Mindaugas Jasiūnas

Similar presentations


Presentation on theme: "(Prievadai) Parengė Mindaugas Jasiūnas"— Presentation transcript:

1 (Prievadai) Parengė Mindaugas Jasiūnas
Windows Sockets (Prievadai) Parengė Mindaugas Jasiūnas

2 Windows Sockets(WinSock)
Tai specifikacija Microsoft Windows tinklo įrangai, taisyklių rinkinys aprašantis standartus kaip aplikacijos gali naudotis tinklo paslaugomis, ypač TCP/IP. Sąsaja(interface) besijungianti su tinklo protokolais. Sukurta galimybė kurti pažangius interneto tinklus, tokius kaip vidinis tinklas intranet, extranet ir kitus su/be apribojimais. Naudojama lizdų(prievadų) paradigma- klientas/serveris. Klientas sukuria susijungimą su serveriu ir siunčia užklausą. Serveris gauna užklausą, ją apdoroja ir siunčia atsakymą atgal.

3 WinSocks veikimas prievadų paradigma Serveris: Klientas:
Sukuria local socket(prievadą) Suriša prievadą su specifiniu port‘o numeriu Laukia ateinančių sujungimų su WinSocks ( listen() ) Priima ryšį ir paskiria naują socket Siunčia/gauna duomenis Klientas: Nuotoliniu būdu nustato socket address(prievadą) Sukuria lokalų prievadą Sujungia prievadą nuotoliniu būdu

4 WinSock2 WinSock2 yra patobulintas pradinio WinSock mechanizmas pašalintomis klaidomis, turintis daug nedidelių pataisymų, paaiškinimų ir naudojimo rekomendacijų. Pašalintas 16-bitų Windows programų palaikymas. WinSock2 turi įrankį, vadinamą sluoksninį paslaugų teikėją(LSP- Layered Service Provider). Sluokninis paslaugų teikėjas LSP žinomas kaip naudingas plėtinys įgalinantis „tėvų kontrolę“, interneto turinio filtravimą, tinklo apkrovimą pagal prioritetus(QoS būdu). Pridėtas funkcionalumas ir kitų protokolų palaikymas. Ne tik TCP/IP.

5 Windows Socket Application pajėgumai
Microsoft Windows tinklų komponentai buvo sukurti pajėgumui ir išskaidymui pasiekti. Tai leidžia aplikacijoms maksimaliai išnaudoti turimą tinklo pralaidumą. Windows prievadai ir Windows TCP/IP protokolų stekas buvo supaprastinti ir padaryti kuo kompaktiškesni, kas padidino greitį. Kaip rezultatas, tinkamai parašytos Windows programos gali pasiekti išskirtinį našumą ir efektyvumą. Windows yra pajėgūs aptarnauti TCP jungčių vienu metu. SPECWeb96 atliktame bandyme Internet Information Server, Windows aptarnavo daugiau kaip HTTP užklausų per sekundę. Windows pasiekė perdavimo rekordą, daugiau kaip 750Mbps tarpžemyniniame Gigabit tinkle susidedančiame iš 10 hops‘ų. Hops‘as-įvykis, nutinkantis duomenų paketą siunčiant per routerį.

6 Windows Socket našumas
Sukūrus Windows Sockets buvo pasiektas viso darbo efektyvumas Tinklo programos inicijuojamos greitai be užlaikymo (Galimos užduotys atliekamos dar neprisijungus į tinklą.) Nereikia laukti kol tinklas uždaromas (Užduotys reikalaujančios tinklo laukimo neįnicializuojamos.) Užtikrinta greita vartotojo sąsajos reakcija. (Aplikacijos neapkraunamos nebūtinais kvietimais. Viskas viršijant 500 milisec yra lag‘as.) Tikrinamos tinklo klaidos. (Kritinės tinklo klaidos taisomos be vartotojo žinios. Nekritinės klaidos gali būti ignoruojamos.) Aplikacija apsibrėžia savo veikimo laiką. (Aplikacija apsibrėžia savo veikimo laiką. Windows Sockets connect blokas įvykdomas per laiko tarpą iki 21 sekundės) Sumažintos protokolų išlaidos laiko ir sistemų atžvilgiu. (Tinklo pralaidumas neapkraunamas nereikalingomis operacijomis ir kreipiniais. Visos galimos operacijos apdorojamos lokaliai.)

7 Windows Sockets programavimas
#include <winsock2.h> Windows Sockets programavimas Windows Sockets yra orientuotas C/C++ programuotojams. Windows Sockets yra orientuotas programavimui Windows platformoje. Windows Sockets leidžia programuotojams kurti pažangias interneto, intraneto, ekstraneto ir kitas tinklo struktūras nepriklausomai nuo protokolų, kuriais perduodami duomenys. WinSock atveria galimybę naudotis tokiomis pažangiomis tinklo galimybėmis kaip multicast‘ingas ir serviso kontrolė(QoS). WinSock naudoja WOSA(Windows Open System Architecture) modelį, t.y. apibrėžia standartinę paslaugų teikimo sąsają tarp API ir protokolų. WinSock API gali būti pasiektas per ws2_32.lib biblioteką.

8 Windows Sockets pagrindinės komandos
WSAStartup() - Inicializuoja WinSock DLL naudojimą getaddrinfo() - Surenka tinklo informaciją nepriklausomai nuo protokolo socket() Sukuria prievadą(socket) bind() Suriša lokalų IP su prievadu listen() Prievadą nustato taip, kad ieškotų ateinančių prašymų accept() Gavus prašymą, jis susiejamas su prievadu. send() Siunčia gautus duomenis prievadu closesocket() Uždaro/išjungia prievadą WSACleanup() - Nutraukia WinSock DLL naudojimą ir atlaisvina resursus

9 Portai 7 – ping 13 – laikas 15 – netstat 22 – SSH 23 – Telnet
Vienas svarbiausių aspektų programuojant prievadus yra port‘ai. Prievadas(socket) gali būti atidarytas betkokiame port‘e. Pasirinktas portas privalo būti unikalus. Keleta portų yra dedikuoti konkrečiam tikslui, tačiau nenaudojant jų lieka apie laisvų. Keletas dažniausiai naudojamų dedikuotų portų yra šie: 7 – ping 13 – laikas 15 – netstat 22 – SSH 23 – Telnet 25 - SMTP (elektroninio pašto siuntimas) 43 – Whois (Query information) 79 – Finger (Query server information) 80 – HTTP (interneto tinklalapiai) 110- POP (elektroninio pašto gavimas) 119 – NNTP 513 – CLOGIN (Used for IP spoofing)

10 Ačiū už dėmesį


Download ppt "(Prievadai) Parengė Mindaugas Jasiūnas"

Similar presentations


Ads by Google