Upload
nikola-reljin
View
35
Download
6
Embed Size (px)
Citation preview
Web дизајн (Internet)
студијски програм Интернет
Технологије
Никола Рељин – Интернет, Висока ICT Школа
Начин бодовања предмета●Испит * 40 поена
●Лабораторијски колоквијум * 30 поена
●Обавезни семинарски рад (пројекат) *
15 поена
●Домаћи задаци * 15 поена
●Обавезне активности су означене *
●Услов за полагање курса је >= 51 поен,
и свака обавезна активност да буде
положена (бар 50%)
Активности●Семинарски рад: израда пројекта (сајт)●Колоквијум: израда делова сајта са
HTML/CSS кодом●домаћи задаци: израда мањих задатака
(HTML, CSS, images)●лабораторијске вежбе: пролазак кроз
примере из HTML/CSS, као и задаци
који објашњавају рад Интернет
протокола●испит: теоријска кратка питања у виду
теста
Internet
скрипта
Никола Рељин – Интернет, Висока ИКТ Школа, 2008-2009.
Интернет као појам
●Систем глобалних повезаних рачунарских
мрежа на бази комутације пакета,
коришћењем TCP/IP (Transmission Control
Protocol / Internet Protocol) протокола.
●Више типова сервиса : email, пренос
фајлова, пренос порука, дељење фајлова
(p2p), игре, hypertext,..
Кратак историјат●Настао за потребе Хладног Рата
(умрежавање радарских система у САД,
од 1958-1969).
●J. C. R. Licklider (MIT), предложио
основу система
●Октобра 1969. започело повезивање
центара
●У Европи настаје слични систем
базиран на X.25 мрежама, око 1978.
Кратак историјат●Систем базиран на TCP/IP оперативан
од 1. Јануара 1983. (ARPANET)
●1985. настаје NSFNET (NSF - National
Science Foundation), почетак цивилног
рада
●1989., прво комерцијално коришћење
●Web осмишњен од Tim Barnes Lee-a,
1989.
●1991-1993. почетак WWW-a, (Mosaic
browser)
Ко је одговоран за Интернет?
●Internet Society (ISOC) професионална
организација која промовише и
потпомаже развој
●Internet Architecture Board (IAB) је
техничко тело за координацију,15
добровољаца разних дисциплина,
потпада под ISOC.
Ко је одговоран за Интернет?
●Internet Engineering Task Force (IETF)
група која је оријентисана ка стандарду,
подељена у 9 група (applications, routing
and addressing, security, etc.). IETF
развија спецификације које постају
стандард.
●Internet Research Task Force (IRTF) ради
на дугорочним истрживачким
пројектима.
Целине битне за рад..
Принцип рада Интернета●Корисници (уређаји),су повезани у мрежу
●Приступне тачке међусобно комуницирају
●Уређаји који регулишу слање података
воде рачуна о слању података од извора
ка крајњој дестинацији
●Подаци су груписани у одређене целине
са тачно дефинисаним садржајима
●Постоји систем провере/корекције
преноса
Принцип рада Интернета
●Интернет је замишљен као једноставан
(а не и БЕЗБЕДАН начин комуникације)
●Због тога постоје Firewall-ови
●Internet је дефинисан правилима која
прописује
Принцип рада Интернета
●Коришћење Internet Protocol Suite-a
(систем протокола за пренос, рутирање,
и контролу пренетог)
●Шаблонизован пренос по тзв Layer-има
OSI модела (Open Systems Interconn.)
●Сваки уређај има додељену IP адресу,
којих са текућим протоколом IPv4 има
~4.3 billion ( 109 )
IP адресирање
●IP адресе су 32bit облика:
●0.0.0.0 до 255.255.255.255
●Број могућих адреса 4,294,967,296 (232)
●Неке адресе су резервисане као
приватне адресе (~18 милиона), и као
multicast адресе (~16 милиона).
●Постоје и hex представе адреса
(192.0.2.235 = 0xC0.0x00.0x02.0xEB )
Структура IP адресе●Network ID: први октет
●Host ID: задња 3 октета
●192.168.1.101
●Интернет адресе су подељене у такозване
класе (A,B,C,D)
●На основу класе знамо каквој мрежи
уређај припада
●Од 1993. почело је коришћење CIDR
(рутирање без класа)
Описи класа адреса
Класе адреса у пракси
Резервисане IP адресе●0.0.0.0/8 Current network
●10.0.0.0/8 Private network
●14.0.0.0/8 Public data networks
●127.0.0.0/8 Loopback
●128.0.0.0/16 Reserved (IANA)
169.254.0.0/16 Link-Local
●172.16.0.0/12 Private network
●191.255.0.0/16 Reserved (IANA)
●192.0.0.0/24 Reserved (IANA)
Резервисане IP адресе●192.0.2.0/24 Documentation and example
code
●192.88.99.0/24 IPv6 to IPv4
●192.168.0.0/16 Private network
●198.18.0.0/15 Network benchmark tests
●223.255.255.0/24 Reserved (IANA)
●224.0.0.0/4 Multicasts (former Class D)
●240.0.0.0/4 Reserved (former Class E)
●255.255.255.255 Broadcast
IP адресирање
●Нумеричке адресе су представљене
симболички, словима (тако да имамо
данас познати начин доделе који потиче
од Unix рачунара)
●Уређаји који врше рутирање пакета
“знају” адресе себи суседних рутера, и
на тај начин могу да шаљу пакете на
одговарајући начин
IP адресирање
●Координацију доделe IP адреса
дефинише ICANN (The Internet
Corporation for Assigned Names and
Numbers)
●Адресе су груписане по level domain-
има, хијерархијски
●Сваки координатор свог level domain-а
има право доделе или продаје домена и
свом адресном простору
Хијерархијско адресирање
●На основу CIDR оформљена је IANA
(Internet Assigned Numbers Authority)
која додељује top level домене, као и
локалне RIR-ови (Regional Internet
Registries), који су задужени за свој део
домена
●Сваки RIR мора да обезбеди јавно
доступан whois сервис, у ком стоје
информације о додељеним IP адресама
Преглед level domain-a
Начин проналажења host-a
●Сваки host који се налази на Интернету
је везан за одређену IP адресу која му
је додељена.
●Поред адресе, (већина) има и host
назив (hostname), који је лакши за
памћење и обезбеђује додатну
хијерархију (tld – top level domains,
регионални домени… итд..)
●Информацију о томе има DNS..
DNS
●DNS – Domain Name System (сервер
који га обезбеђује је DN Server), је
дистрибуирана база података која
обезбеђује мапирање (mapping) између
IP адреса и назива host-ова
●Сваки сервер на Интернету поседује
неколико дистрибуираних (минимум 2)
dns-a, који дефинишу његову физичку IP
адресу, како би се до њега могло
“доћи”..
DNS детаљније
●DNS врши “превођење” од domain
name-a (www.sajt.com) у IP адресу
(213.123.25.12)
●Ово се зове reverse mapping (обрнуто
мапирање), јер при захтеву, прво
контактирамо DNS server нашег
provider-a, затим он контактира друге,
тражећи “праву” адресу..
DNS детаљнијеТражење “имена” host
рачунара. Ако је више
рачунара везано за један
DNS, то значи да их
опслужује један name
server..
Започиње потрагу за DNS
подацима. Садржи листу
nameserver рачунара које
треба користити, и то у
виду primary roleserver који
обезбеђује основну
претрагу, а ако не може да
“нађе”, користи се
secondary roleserver..
DNS се састоји из 2 дела који
омогућавају исправан рад.
Један “тражи” имена односно
IP адресе, други “тражи”
одговарајући спољни DNS
који би имао тражени
податак.
Како resolver “обрађује”
адресе..●У корацима.. Почиње од националног
(nl), преко основног домена (vu.cs), он
се прослеђује ка EDU регистру домена
(.vu је универзитетски домен у
Холандији), па се прослеђује даље..
Ко одређује адресе..
●Resolver – уграђен у сам оперативни
систем или апликацију попут Telent,..
●Name server – може бити дистрибуиран
по мрежи (чак и локално), и “одговара”
на упите resolvera..
●Ваш сајт може имати спољни NS, и
онда тај NS “опслужује” више сајтова..
Поља у DNS-у
●Унутар поља која постоје у DNS-у има
више података:
Најбитнија поља:
●A (Address) record. 32-bit IP address
●MX record. host name који је спреман да
преузме e-mail за дати domain
●NS прецизирају name servers
●CNAME records дизвољавају alias
називе да се поставе (типа:
Вежба
●Испробајте коришћење команде tracert
на локалном рачунару:
●C:\tracert www.google.com
●Испробајте и:
●C:\Netstat –a
●C:\ipconfig
Слојеви преноса
OSI модел слојева код TCP/IP
Кратки осврт
Слојеви преноса
●Сваки слој енкапсулира комуникацију
на свом нивоу
●Сваки слој је задужен за комуникацију
са себи нижим слојем (надређен је)
●Код TCP/IP, постоји 4 слоја (од укупно 7,
битно је само 4, остали су груписани у
Internet Layer)
OSI Layers
TCP/IP
слојеви
Опис слојева
●Апликациони слој – сами програми (које
ћете писати)
●Transport Layer (TL) – омогућава
исправну везу “с краја на крај” међу
корисницима, путем port-ова
●Internet Layer – обезбеђује исправни
пренос пакета преко мреже, и рутирање
●Link Layer – пренос жицама, оптиком,
бежично,... (hardware independent)
Протоколи по слојевима
●Application Layer – telnet, FTP, email,
http,…
●Transport Layer – TCP, UDP
●Network Layer – IP, ICMP, IGMP
●Link Layer – рад са уређајима и
картицама (interface cards)
●Протокол (Protocol) – прецизно
дефиниан тип и начин комуникације
међу тачкама које у њему учествују
Приказ протокола по
слојевимаTCP и UDP користе нижи слој
IP
преко кога комуницирају са
Network Layer-ом
IP протокол обавља
већину
операција везаних за рад
са
мрежом
Принцип рада слојева
Комуникација..
●Најпре захтев ка серверу
●Потом следи одговор од сервера
Пример HTTP комуникације
Појам пакета
●Пакети су груписани битови (bits), који
се преносе у тачно дефинисаним
комбинацијама – пакетима (packets)
TCP/IP пакети
●Садржи информације које омогућавају
да уређај који прослеђује пакете “зна”
ко је послао пакет, када, и коме, као и о
каквом типу пакета је реч
●На основу тога, врши се успешно
прослеђивање
●На крају преноса, утврђује се да ли је
пакет стигао (постоји deadline за
одговор “да ли је све било OK”)
Структура пакета
●Структура пакета код IP
Дигресија: Bits and Bytes
●један бит (bit) = 0 или 1
●Byte = 8 bits, дакле 28 могућих
комбинација 0 и 1
●Октет = byte
●Бинарна представа броја је у виду
степена броја 2 (као комбинација 0 или
1)
●(на пр. 00000100 4 )
Структура пакета
Типови протокола TCP/IP
●UDP – User Datagram Protocol
●TCP – Transmission Control Protocol
●IP – Internet Protocol
●Ови протоколи у комбинацији са
портовима обезбеђују рад читавог
Интернета
Детаљније TCP
●TCP обезбеђује поуздан ток података
између 2 host-a
●Води рачуна о “цепању” података које
прима из вишег слоја (Application Layer),
у одговарајуће целине, шаље такве
податке у нижи слој, шаље
информацију о примљеном пакету
(Acknowledge)
●Обезбеђује AL рад “без бриге”
Детаљније UDP
●UDP обезбеђује једноставнији сервис ка
AL.
●Само шаље пакете података у виду тзв
datagram-а од једног host-a до другог
●Не гарантује да ће datagram стићи до
другог краја
●Сву бригу о исправно примљеним
подацима мора да шаље application
layer (AL)
Детаљније IP
●IP – обезбеђује непоуздани пренос
података ка нижим слојевима, и
тражење најкраћег пута ка дестинацији
●Води рачуна о мрежном стању (и у
складу с тим реагује)
●За разлику од TCP, не поседује потврду
послатог пакета, па то мора да обави
TCP..
Портови на Интернету
●Опсег портова: 1 – 65535
●Well Known Ports: 0–1023
●Registered Ports: 1024–49151
●Dynamic / Private Ports: 49152–65535
Неки портови●20, 21 – FTP (File Transfer Protocol)
●22 – SSH (Secure Shell)
●23 – Telnet
●25 – SMTP (simple mail transfer protocol)
●43 – Whois
●80 – Http
●110 – POP3 (Post Office Protocol)
●465, 443- SMTP over SSL
●2056 – Civilization 4 multiplayer
Смисао port-ова
●Сваки сервис има свој карактеристичан
port, којим се у Application Layer-у
дефинише нека услуга који сервер
обезбеђује
●Програми “ослушкују” захтеве који се
шаљу преко њима дефинианих портова,
и на њих “одговарају” извору тог захтева
Смисао портова
●TCP и UDP дефинишу сервисе
коришћењем 16bit портова
●До 1992., well known група портова је
била до 255 (то је тад било довољно)
●Након тога, ту групу администрира
Internet Assigned Numbers Authority
(IANA), и опсег тих портова је 1-1023
Port-ови неких сервиса
Битни појмовиСервис Internet Protocol Suite Портови
email Smtp, pop3, imap 25, 110, 443, 587,..
hypertext http, https 80, 8080,..
Слање фајлова ftp, tftp,.. 21, 20,..
telnet telnet 23
Начини комуникације
TCP/IP слојеви
Основна јединица преноса
●Сваки слој TCP/IP има одређени начин
комуникације, дефинисан протоколом
који га користи (TCP, UDP, IP,…)
●Основни податак којим се оперише у
TCP/IP је пакет - тачније, PDU (Protocol
Data Unit)
●PDU – јединице за трансмисију, садржи
информације о рутирању, checksums
битне за контролу грешака преноса,..
PDU
●PDU је другачије величине и структуре
за сваки протокол којим се пакети шаљу
●Омогућава већу робусност (пакетско
слање има већу редундансу)
●Само “непристигли” пакети се поново
шаљу
●Постоји проблем конкурентских PDU
који се шаљу истом мрежом (загушење)
Детаљнији преглед слојева
●Да зађемо до детаља..
Имплементација адресирања
●Сваки слој има њему битни облик
адресирања (адреса није само IP!)
Link Layer
●Чине га целине:
●Physical Layer – пренос сигнала
(електричних, светлосних,
електромагнетних,..). Дефинишу се
параметри преноса, као ниво сигнала,
начин кодовања информација, тип
модулације, фреквенције, особине
медијума преноса (за антене, каблове,
оптичке водове,...)
Link Layer
●PL дефинише најнижи облик преноса
информација у TCP/IP протоколу
●Од малог је утицаја на моделовање
транспорта IP
●Значајне су измене у стандардима, али
пренос мора остати “независтан од
уређаја” (Пример: 802.11 стандард)
Data Link Layer
●Data Link Layer – дефинише правила по
којима се приступа медијуму преноса
(PL)
●Велике разлике код LAN и WAN
спецификација, до сад честе измене
(сад више и нису, Ethernet је “победио”)
●Води рачуна о адресама уређаја који се
везују за мрежу (MAC адресе)
Транспарентно повезивње
цц
Network Layer
●Најбитнији слој којим се TCP/IP
разликује од осталих система
●прослеђивање IP пакета, (и осталих
“изведених” пакета попут ICMP, IGMP).
●Сваки рутер налази следећи оптимални
пут (route) за сваки IP пакет, на основу
израчунатих информација о путањама
(постоје одговарајући алгоритми..)
●Сваки IP пакет носи информације битне
за одлучивање
Network Layer
●Рутери рачунају MTU (Max Transmission
Unit) – најбољу величину IP пакета за
слање
●Пакети могу да се фрагментирају и
смање/повећају, а на пријему се поново
“саставе” да би се “отпаковале” битне
информације за више слојеве
●Најчешћа величина MTU ~ 1500 bytes
(вратити се на слику структуре пакета..)
Transport Layer
●Слој који није “одељен” рутерима (који
раздвајају две засебне мреже и
омогућавају интеркомуникацију између)
●Чине га 2 битна протокола, TCP и UDP
●Омогућава исправну комунијацију с
краја на крај, контролу исправности
пренетих податка, и информисање
извора о примљеним пакетима на
пријему
Transport Layer
●UDP – једноставни пренос података
●Користи UDP datagrame који носе
податке
Transport Layer
●TCP – комплексни протокол за поуздан
пренос података између хостова
●Информације о грешкама се шаљу, као
и о исправном пријему
●Користи тзв 3 way handshake и
“затварање” преноса процедуре, која
зависи од RTT (Round Trip Time), који је
променљиве дужине и означава “крај
покушаја” преноса ако нешто не ради..
Transport Layer - TCP●Фазе трансмисије TCP пакета
Ток комуникације и “пуцања”
Узроци “пуцања”
●Спор одзив хоста на пријему
●Погрешно послат неки пакет (поново се
од њега шаље)
●Спор одзив хоста на извору
●Лоша мрежна инфраструктура
●Зато TCP/IP није намењен за streaming..
●Примењују се посебне технике кад је то
потребно
Application Layer
●“овде” се налазе сви сервиси које
познајемо:
●Mail, Ftp, DNS, http, ping, telnet, remote
desktop,…
●То су апликације, конкретни ток
информација могуће је “посматрати”
директно
●Овде говоримо о port-овима, и типовима
сервиса (једно с другим везано)
Сервиси
Сервиси у рачунарским
мрежама и Интернету
DNS
●Користи port 53
●Информације о IP адреси одређеног
host-а
●Дистрибуирана база података, са
caching-ом (да би се убрзао промет)
●Сваки host на Интернету мора имати
свој DNS, осим ако..
●Нема hostname, већ само IP адресу
FTP
●File Transfer Protocol, ports 20, 21
●Користе се TCP, UDP пакети
●Верификација корисника при почетку
комуникације
●Користе се тзв FTP поруке при
комуникацији..
FTP – неке команде
●Open – креира конекцију између 2 hostа
●close – затвара конекцију између 2
hostа
●bye – завршава FTP сесију
●binary - датотека је у бинарном
формату
●get – преузима фајл са сервера
●mget - преузимање више датотека
FTP – неке команде●put – ставља фајл из локала на
сервер
●mput - wildcard to put multiple files.
●cd - change directory on the remote
device.
●dir - get a directory listing on the
remote device.
●ldir - get a local directory.
●hash - display hash marks during the
transfer.
Пример FTP сесије●C:\WINDOWS>ftp
ftp> open мојpc
Connected to мојpc.
●220 мојpc FTP service
(NEWT v4.01)
ready for new user.
User (мојpc:(none)): mnaugle
●331 mnaugle, please enter
your password.
Password:
●230 User mnaugle loggedin.
ftp> pwd
●257 “c:\” is the current
directory.
●ftp> lcd
Local directory now C:\
WINDOWS
ftp> get autoexec.bat
autoexec.002
●200 PORT command
successful.
●150 Opening ASCII mode data
connection for autoexec.bat.
●226 File transfer complete.
●1911 bytes received in 0.00
seconds
●(1911000.00 Kbytes/sec)
●ftp> bye
●221 Goodbye.
TFTP
●Trivial FTP
●Једноставни, “једнострани” пренос
преко UDP
●Ограничено на 512 bytes одједном
●Слање по сегментима
●Потврда од стране апликације
●Сваки datagram мањи од 512 bytes
указује на задњи датаграм послат
●За “boot-up” мрежних уређаја и рутера
●Композиција (порука)
●Трансфер порука – успостава везе,
слање поруке серверу ком “припада”
крајњи корисник, прекид везе по крају..
●Извештавање – шта је било са
поруком??
●Приказ поруке кориснику
●Складиштење порука, брисање, итд..
●Неколико протокола за пријем и пренос
●SMTP – port 25, нема валидације
(default је нема)
●POP3 – Post Office Protocol, port 110,
995, има валидацију корисника који
прима, поруке се “скидају” са сервера..
●IMAP - Internet Message Access Protocol,
port 143, 587,446, има валидацију,
поруке “остају” на серверу као фајлови
Email – пример SMTP●sun % mail -v [email protected] invoke our user agent
To: [email protected] this is output by user agent
Subject: testing 1, 2, 3..
Trying 140.252.1.54... connected.
220 noao.edu Sendmail 4.l/SAG-Noao.G89 ready at Mon, 19 Jul 93
12:47:34 MST
●>>> HELO sun.tuc.noao.edu.
250 noao.edu Hello sun.tuc.noao.edu., pleased to meet you
●>>> MAIL From:<[email protected]>
●250 <[email protected]>... Sender ok
●>>> RCPT To:<[email protected]> 250 <[email protected]>...
Recipient ok
●>>> DATA 354 Enter mail, end with "." on a line by itself
●>>> . 250 Mail accepted
●>>> QUIT 221 noao.edu delivering mail [email protected]... Sent
sent.
●Ток операција при SMTP / POP3 слању..
Webmail
●Заправо http сервиси, који преко веб
страна омогућавају преглед порука на
серверу
●Неки поседују и pop3, imap, smtp
приступ, док су неки скроз “против”
(hotmail)
Наравно, и томе се може “прићи”, ал
незгодније..
Мали трик..
●Како контактирати hotmail преко telnet-a:
●Утврђивање MX record-a:host –a –v
hotmail.com (UNIX)
whois сервис преко ког нађемо
●telnet повезивање:telnet
mx10.hotmail.com 25
HTTP
●Hypertext Transfer Protocol, port 80,..
●Пренос/преглед веб страна
●Тренутни стандард: HTTP/1.1 , а у
припреми (дууугој) HTTP-NG (a.k.a.
HTTP/2.0)
HTTP комуникација
●Линијска, читка структура.. :
●Почетак комуникације
●Заглавље
●Тело поруке
HTTP - Пример порука
HTTP поруке●GET Send named resource from the server to
the client.
●PUT Store data from client into a named
server resource.
●DELETE Delete the named resource from a
server.
●POST Send client data into a server gateway
application.
●HEAD Send just the HTTP headers from the
response for the named resource.
HTTP кодови
●200 OK. Document returned correctly.
●302 Redirect. Go someplace else to get
the resource.
●404 Not Found. Can't find this resource.
●Детаљна листа HTTP кодова:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
HTTP – приступ URL-у
●Када тражимо неку страницу..
Појмови везани за HTTP
●URL - Uniform resource locator, основни
начин адресирања ресурса на Web-у
●Формат:<scheme>://
<user>:<password>@<host>:<port>/
<path>;<params>?<query>#<frag>
●.. Већина URL-ова нема све ово..
Делови URL-аКомпонента Опис Default вредност
Scheme Тип протокола који користимо -
User корисник anonymous
Password Шифра која је везана за корисника <email адреса>
Host Назив host-а или IP адреса -
Port Port преко ког приступамо серверу, а зависи од протокола (scheme)
80 за scheme=http
Path Локално име ресурса на серверу (веб страна, слика, видео...)
-
Params Код неких шема као улазни параметри -
Query Додатни параметри после “?” у URL-у -
Frag Део ресурса, односно anchor (после “#” у URL-у)
-
Типична URL адреса
●http://
●www.
●Mojsajt.com
●:80
●/proizvodi.php
●?proizvod=35
●#osobine
●Шта је шта овде?..
HTTP и proxy
●Шта ми имамо у Школској мрежи..
Принцип рада Proxy-a
●Proxy врши посредништво у комуникацији
●ради само са истим протоколом (или може
радити као више Proxy-a који сви користе
исти port и адресу..)
Web Gateway
●Повезују кориснике који комуницирају
преко различитих сервиса
●Gateway – везује са различитим
протоколима, може бити у “кућној”
мрежи као рачунар или router који
“дели” мрежну конекцију
Web Gateway / Proxy
●Разлике у начинима комуникације –
комуникација с различитим сервисима
Питања и материјали
●Користити email:[email protected]
●На сајту школе, информације о предмету:http://www.ict.edu.rs/studiranje/predmeti/internet
●На фајл серверу Школе:\\fileserver\internet