1 / 71

Компјутерски мрежи и Интернет - вежби

Компјутерски мрежи и Интернет - вежби. Асист. м-р Никола Рендевски. ISO/OSI референтен модел. TCP/IP. OSI vs. TCP/IP. OSI vs. TCP/IP. Сервиси, сервисни примитиви и протоколи. Што се сервиси?.

midori
Télécharger la présentation

Компјутерски мрежи и Интернет - вежби

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Компјутерски мрежии Интернет - вежби Асист. м-р Никола Рендевски

  2. ISO/OSI референтен модел

  3. TCP/IP

  4. OSI vs. TCP/IP

  5. OSI vs. TCP/IP

  6. Сервиси, сервисни примитиви и протоколи

  7. Што се сервиси? • Сервисот е множество од сервисни примитиви (функции, операции, системски повици) кои одредено ниво ги овозможува за нивото над него! (ISO/OSI или TCP/IP референтен модел). • Пониското ниво е сервисен провајдер • Повисокото ниво е корисник на сервисот

  8. Типови на сервиси... • Конекциски ориентирани (Connection Oriented) • Се воспоставува конекција пред да се започне со размена на информации • Се добива потврда за остварена конекција и прием на информација • Аналогно на телефонскиот систем • Неконекциски (Connectionless) • Конекцијата помеѓу испраќачот и примачот не е остварена • Пакетите имаат различни рути и не се гарантира редоследот на пристигнување • Не се добива потврда за прием • Слично на поштенскиот систем

  9. Сервисни примитиви - категории • Генерално постојат 4 (четири) категории на сервисни примитиви • Request (Барање) – примитив испратен од (N+1)-то ниво до N-тото ниво, со кој се бара сервис (услуга). За сервисот кој се бара се доставуваат соодветните параметри. • Indication(Индикација) – примитив испратен од пониското ниво до повиското ниво, кој ги дефинира акциите иницирани од сервисот на пониското ниво • Response (Одговор) – примитив од повисокото ниво како потврда, одговор на индикацијата. • Confirm(Потврда) – примитив од пониското до повисокото ниво како потврда за реализиранoто барање – Request.

  10. Сервисни примитиви - категории

  11. Сервисни примитиви – категорииПример

  12. Конекциски? Неконекциски? Сервиси? Примитиви?

  13. Сервисни примитиви кај конекциски ориентирани сервиси • LISTEN - чекање на конекција • CONNECT- остварување на конекција • RECEIVE - чекање на дојдовна порака • SEND - испраќање • DISCONNECT- терминирање на конекцијата

  14. Client – Server интеракција

  15. Протокол? • Сервис и протокол се два различни концепти • Сервисот е множество од примитиви и дефинира кои операции одредено ниво ги извршува, без да навлегува во начинот на извршувањето на тие операции. Со други зборови сервисот дефинира интерфејс за комуникација помеѓу двете нивоа • Протоколот е множество од правила кои го дефинираат начинот на комуникација помеѓу два ентитети во рамките на едно ниво!

  16. Сервис vs. Протокол

  17. Сервиси на апликативно ниво

  18. WEB и HTTP Знаеме дека: • Секоја веб страница содржи најразлични објекти • Објектите можат да бидат: HTML датотеки, java скрипти, слики, видео, аудио... • Web страниците се составени од основна HTML датотека која вклучува повеќе рефернцирани објекти. Секој објект е потполно адресибилен преку неговиот URL (Uniform Resource Locator) • Пример за URL http://www.famis.edu.mk/sliki/bitola.jpg Хост Патека

  19. HTTP request PC - Windows HTTP response HTTP request Server running Apache Web server HTTP response PC - Linux HTTP (Hypertext Transfer Protocol) • Client-Server базиран • Клиент: web прелистувач (web browser) кој бара, прима и на крај прикажува web содржини во HTML формат • Сервер – WEB сервер (Apache, SunOne, Microsoft IIS, Google GWS)

  20. HTTP • Користи TCP за транспорт • Клиентот иницира TCP конекција (креира socket) до серверот на порт 80 • Серверот ја прифаќа TCP конекцијата од клиентот • Започнува размена на HTTP пораки помеѓу web прелистувачот (HTTP клиент) и web серверот (HTTP сервер) • На крај се терминира (затвора) TCP конекцијата

  21. иницирање на конекција RTT барање за фајл time to transmit File Tt RTT Фајлот е примен time time Време на одзив кај HTTP • RTT – Round Trip Time • Еден RTT за иницирање на конекција • Еден RTT за HTTP request и првите бајти од фајлот • Додатно време за пренос на фајлот Tt. • Тvk = 2*RTT + Tt

  22. HTTP request PC - Windows HTTP response HTTP request Server running Apache Web server HTTP response PC - Linux HTTP пораки • Постојат два типа на HTTP пораки • request(барање) • response (одговор)

  23. HTTP request request line (GET, POST, HEAD commands) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed) header lines Carriage return, line feed indicates end of message

  24. HTTP response status line (protocol status code status phrase) HTTP/1.1 200 OK Connection close Date: Mon, 09 March 2009 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 09 March 2009 …... Content-Length: 6821 Content-Type: text/html data data data data data ... header lines data, e.g., requested HTML file

  25. HTTP response кодови 200 OK • request е примен, одговор следува... 301 Moved Permanently • бараниот објект е преместен на друга локација (редиректирање – redirecting) следува локација...:) 400 Bad Request • барањето не е разбрано од серверот 404 Not Found • Не е пронајден објект со таков URL 505 HTTP Version Not Supported

  26. HTTP типови на методи HTTP/1.0 • GET • POST • HEAD HTTP/1.1 • GET, POST, HEAD • PUT • upload на фалј до одреден URL • DELETE • бришење на фајл од одреден URL Пример: telnet yahoo.com 80 GET /autos/

  27. Apache HTTP сервер • Да се конфигурира на Windows • Да се конфигурира на Linux • XAMPP (Windows, Linux) • httpd.conf – конфигурациска датотека во која се дефинирани сите параметри на HTTP серверот

  28. FTP Кориснички интерфејс FTP клиент FTP сервер Локален file system FTP (File Transfer Protocol) file transfer корисник remote file system • Сервис кој овозможува трансфер на дадотеки од/кон оддалечен хост (компјутер) • Базиран на клиент сервер моделот (конекциски ориентиран) • Клиентот ја иницира конекцијата и трансферот од/кон серверот • Серверот – оддалеченкомпјутер (remotehost)

  29. FTP клиентот го контактира серверот на порт број 21, и го специфицира TCP како транспортен протокол Серверот бара авторизација од клиентот преку контролната конекција на портот 21 Откако авторизацијата е извршена, клиентот може да листа датотеки на серверот, повторно преку контролната конекција на портот 21 Кога серверот добива команда за трансфер на датотека, серверот ја отвора податочната конекција на порт 20 Откако трансферот ќе заврши, серверот ја затвора конекцијата. TCP control connection port 21 TCP data connection port 20 FTP client FTP server FTP (File Transfer Protocol) • Серверот отвора втора TCP податочна конекција (Data Connection) за трансфер на друга датотека • За време на трансфер на датотеки, контролната конекција на порт 20 е т.н out of band. • FTP серверот ја користи авторизацијата од претходниот трансфер.

  30. FTP команди (клиентска страна) • Команди: се испраќаат како ASCII текст преку контролната конекција • ? – помош за командите • ftp- starts an FTP session • open hostname - connects to the specified host • close- closes the connection (but not the FTP session!) • quit- terminates the FTP session • II. Browsing on a remote machine • dir- gives a full directory listing on the remote machine • dir test*- displays only files and directories whose name begins with "test..." • ls- same as dir, but provides a simplified listing of filenames • III. Directories in FTP • pwd- prints the name of the current remote directory • cdremote-directory - changes working directory on remote host • cd ..- moves up one level in the directory structure on the remote host • lcddirectory - changes the default directory on • Клиентски апликации за замена на командната линија (FileZilla, CuteFTP, WiseFTP, Commander)

  31. Кодови на одговор од ftp серверот • http://www.the-eggman.com/seminars/ftp_error_codes.html • http://www.ftpplanet.com/ftpresources/ftp_codes.htm • ……. • 1xx – бараната акција е иницирана.... • 2xx – комплетирање на акции.... • 3xx -прифатена команда, но се чека на извршување.... • 4xx – командата не е прифатена..... • ..... • ..... • 10xxx – конекцијата одбиена од серверот итн.....

  32. Поважни кодови • 331 Username OK, password required • 125 data connection already open; (податочната конекција е отворена, старува трансферот) transfer starting • 425 Can’t open data connection (не може да се воспостави податочната конекција) • 452 Error writing file (Грешка при запишување на фајл)

  33. user agent user agent user agent user agent user agent user agent SMTP SMTP SMTP mail server mail server mail server outgoing message queue user mailbox Електронска пошта Три главни компоненти: • кориснички агенти • mail сервери • simple mail transfer protocol: SMTP Кориснички агенти • Читач на email “mail reader” • креирање, едитирање и читање на email пораки • Пример: Eudora, Outlook, elm, Netscape Messenger • outgoing (излезни), incoming (влезни)поракина server

  34. Mail Servers- компоненти mailboxги содржи email пораките на корисникот message queue – ред на чекање на излезни (испратени) пораки SMTP protocol - протокол за комуникација помеѓу email серверите при испраќање/примање на email пораки “client”: е серверот кој испраќа email !!!! “server”: e серверот кој прима email !!!! user agent user agent user agent user agent user agent user agent SMTP SMTP SMTP mail server mail server mail server outgoing message queue user mailbox Email сервери

  35. SMTP (Simple Mail Transfer Protocol) • Конекциски ориентиран, користи TCP за трансфер на email порака од клиентот до серверот на порт 25 • директен трансфер: (sending server to receiving server) • Три фази на трансферот • handshaking (поздравна процедура) • трансфер на пораки • затворање на конекцијата • интеракција на команди/одговори • commands: ASCII текст • response:статусни кодиви и фрази • пораките се во 7-битен ASCII

  36. Марија користи апликација (кориснички агент) да состави порака која ќе ја испрати на Горан на неговата email адреса goran@mailserver2 Корисничкиот агент на Марија испраќа барање до нејзиниот email сервер да се испрати email на Горан. Барањето (пораката) влегува во редот на чекање на mailServer1 Клиентаската страна од SMTP протоколот, отвора TCP конекција со email серверот на Горан. user agent user agent mail server2 mail server1 Сценарио: “Марија му испраќа email на Горан” 4) SMTP клиентот ја испраќа пораката на Марија преку TCP конекцијата 5) Email серверот на Горан ja доставува пораката до сандачето (mailbox) на Горан 6) Горан го користи својот кориснички агент да ја преземи пораката од неговиот email сервер. Горан Марија 1 ? ? SMTP 2 6 3 4 5

  37. SMTP интеракција S – сервер C - клиент • S: 220 manu.edu.mk • C: HELO server1.mk • S: 250 Zdravo server1, OK • C: MAIL FROM: <korisnik@server1.mk> • S: 250 korisnik@server1.mk... Sender ok • C: RCPT TO: <xmail@manu.edu.mk> • S: 250 xmail@manu.edu.mk ... Recipient ok • C: DATA • S: 354 Daj mi go emailot, za kraj vnesi "." na krajnata linija • C: Zdravo kako si? • C: Sto ima novo? • C: . • S: 250 Porakata e primena za dostava • C: QUIT • S: 221 manu.edu.mk closing connection

  38. SMTP: protocol за размена на email пораки RFC 822: стандард за формат на пораките: header lines To: From: Subject: различни од SMTP командите! body (тело) “пораката”, ASCII карактери Формат на email порака header blank line body

  39. MIME: multimedia mail extension, RFC 2045, 2056 додатни линии во заглавието (header) на пораката го декларираат типот на MIME содржината From: nikola@manu.edu.mk To: nikola@yahoo.com Subject: Slika. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data Формат на пораката – мултимедијални екстензии MIME MIME version method used to encode data multimedia data type, subtype, parameter declaration encoded data

  40. SMTP: достава на email порака до примачот Протколи за пристап POP: Post Office Protocol [RFC 1939] – ПОРТ 110 авторизација агент/сервер и преземање на пораки IMAP: Internet Mail Access Protocol [RFC 1730]ПОРТ 143 повеќе функции (покомплексен) можности за синхронизација итн... HTTP: Hotmail , Yahoo! Mail, итн user agent user agent SMTP протоколза пристап sender’s mail server receiver’s mail server пристап Протоколи за пристап до email сервер

  41. фаза на авторизација клиентски команди: user:декларира username pass:лозинка одговори од серверот +OK (во ред!) -ERR (грешка!) фаза на трансакција, client: list:листање на бројот на пораките retr:преземање на пораки по број dele:бришење quit (крај) POP3 protocol S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents> S: . C: dele 1 C: retr 2 S: <message 1 contents> S: . C: dele 2 C: quit S: +OK POP3 server signing off

  42. IMAP • Ги чува пораките на едно место (на серверот) • Овозможува организација на пораките во фолдери и групи • Ја чува претходната состојба на корисникот помеѓу сесиите за разлика од POP3 кој е “безсостојбен” (stateless) • Овозможува дополнителни опции..

  43. Конфигурација на HTTP и FTP сервер кај Windows и Linux • Linux Server (SuSe Linux, Ubuntu Server) • Windows Server 2003 (IIS) • Apache Web Server (Windows, Linux) • FileZilla FTP Server (XAMPP) • XAMPP (за Windows – Linux) • Vsftpd (Linux) • DynDNS?

  44. Овозможуваат логичка комуникација помеѓу процесите од апликативното ниво на различни хостови Транспортните протоколи функционираат на двете комуникациски страни: send sidе (на страната која испраќа): Ги разделува апликациските пораки во сегменти и го доставува до мрежното ниво rcv side (на приемната страна): Повторно ги асемблира (составува) сегментите во пораки, и ги доставува до апликативното ниво. Достапни се два транспортни протоколи: Internet: TCP и UDP application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport Протоколи и сервиси за транспорт (Transport Layers and Services)

  45. Прашање: Што е разликата помеѓу мрежното и транспортното ниво? Аналогија: 12 студенти од ФАМИС - Битола испраќаат писма до други 12 студенти од ФЕИТ - Скопје • Процеси = Студенти • Апликациски пораки = писма во пликоа • хост = факултет • transport protocol = луѓе од факлутетот задолжени за достава на пошта • network-layer protocol = ПТТ (Пошта) • Транспортно ниво: овозможува логичка комуникација помеѓу процесите од апликативното ниво • Мрежното ниво: овозможува логичка комуникација помеѓу хостовите

  46. Мултиплексирање и Демултиплексирање (MUX/DЕMUX) • Што е мултиплексирање? (мултиплексер) • Што е демултиплексирање? (демултиплексер)

  47. = socket = process application application application transport transport transport P1 P1 P4 P3 P2 network network network link link link physical physical physical host 3 host 2 host 1 MUX/DEMUX • MUXна страната која испраќа: одбирање податоци од различни сокети, додавање соодветно заглавие (header) за понатамошна коректна достава до точниот сокет (процес) • DEMUXна страната која прима: доставување на податоци (пакети) до соодветни сокети, проциеси

  48. application application application transport transport transport P1 P1 P4 P3 P2 network network network link link link physical physical physical host 3 host 2 host 1

  49. Транспортни протоколи • UDP – неконекциски ориентиран, овозможува само интегритет и DEMUX, не гарантира сигурна достава на пораката до одредена локација • TCP – конекциски ориентиран • Доверлив (надежен, сигурен) – Reliable • Ordered – организиран (го здржува редоследот на примените/испратените пораки) • Byte-Stream – (групирање на податочните битови во бајтски единици) • Full Duplex – овозможува симултана комуникација во две насоки. • Контрола на текот на информации и справување со блокади (Flow and Congestion Controll)

  50. UDP: User Datagram Protocol [RFC 768] Тогаш зошто постои? • Нема потреба од остварување на конекција. Остварувањето на конекција додава дополнителни каснења • Нема контрола за текот на информациите – дополнителен факт за добивање во време • Мал header • Нема handshaking процедура помеѓу UDP испраќачот и примачот • Го користи единствено бројот на портот за адресирање на пакетите • Секој UDP сегмент (пакет) се рутира независно од другите • UDP сегментите можат да бидат • Изгубени (lost) • Доставени во поинаков редослед (disordered)

More Related