Web дизајн (it), део 1, школска 2010 11, триместар 3

Preview:

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

називе да се поставе (типа:

user@mail.ict.edu.rs user@ict.edu.rs)

Вежба

●Испробајте коришћење команде 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” мрежних уређаја и рутера

Email

●Композиција (порука)

●Трансфер порука – успостава везе,

слање поруке серверу ком “припада”

крајњи корисник, прекид везе по крају..

●Извештавање – шта је било са

поруком??

●Приказ поруке кориснику

●Складиштење порука, брисање, итд..

Email

●Неколико протокола за пријем и пренос

●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 rstevens@noao.edu invoke our user agent

To: rstevens@noao.edu 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:<rstevens@sun.tuc.noao.edu>

●250 <rstevens@sun.tuc.noao.edu>... Sender ok

●>>> RCPT To:<rstevens@noao.edu> 250 <rstevens@noao.edu>...

Recipient ok

●>>> DATA 354 Enter mail, end with "." on a line by itself

●>>> . 250 Mail accepted

●>>> QUIT 221 noao.edu delivering mail rstevens@noao.edu... Sent

sent.

Email

●Ток операција при 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:nikola.reljin@ict.edu.rs

●На сајту школе, информације о предмету:http://www.ict.edu.rs/studiranje/predmeti/internet

●На фајл серверу Школе:\\fileserver\internet

Recommended