• Ei tuloksia

Siirto- ja verkkokerrokset

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Siirto- ja verkkokerrokset"

Copied!
53
0
0

Kokoteksti

(1)

T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan

kevät 2014

Siirto- ja verkkokerrokset

Jyry Suvilehto

(2)

Luennon sisältö

1. Kertausta

Protokollapino DNS

2. Johdanto

Yhteys, yhteydettömyys Best effort

3. Siirtokerros

UDP TCP

4. Verkkokerros

Internetin rakenne Reititys

IP

IPv4 ja IPv6

Lähetystyypit: Unicast, Anycast, Multicast

(3)

TCP/IP-protokollapino

Sovelluskerros

Middleware: HTTP, SSL, XML...

Siirtokerros: TCP, UDP, ...

Verkkokerros: IPv4, IPv6 Linkkikerros: Ethernet,

WLAN, GPRS ...

Tiedonsiirto yhden linkin yli Tiedonsiirto päästä päähän, Internetin yli (end to end)

Asiakas/palvelin- sovellukset ja monenväliset

palveluarkkitehtuurit

(4)

Nimiavaruudet

IP-osoite ja porttinumero IP-osoite

MAC-osoite

Sähköpostiosoite, URL, DNS-nimi, jne.

Sovelluskerros

Middleware: HTTP, SSL, XML...

Siirtokerros: TCP, UDP, ...

Verkkokerros: IPv4, IPv6 Linkkikerros: Ethernet,

WLAN, GPRS ...

(5)

Viime viikolla

Sovelluskerros

Middleware: HTTP, SSL, XML...

Siirtokerros: TCP, UDP,...

IPv4, IPv6

Linkkikerros: Ethernet, WLAN, GPRS ...

(6)

Tällä viikolla

Sovelluskerros

Middleware: HTTP, SSL, XML...

Siirtokerros: TCP, UDP,...

IPv4, IPv6

Linkkikerros: Ethernet, WLAN, GPRS ...

(7)

DNS

(8)

DNS

Domain Name System on internetin hakemistopalvelu

– Aikanaan yksi päätekijä internetin voitossa muita tietoverkkoja vastaan

13 juurinimipalvelinta

– Yhdysvaltain viestintäministeriön hallinnassa

– Jokaisella maallaan oma Top Level Domain(TLD) – Nippu yleisiä: com, net, info, biz, asia, travel xxx (!)

– Maailman ensimmäinen ei-ASCII TLD صم (Egypti) 2009

• Mm. рф Venäjällä suosittu

– Uusia top level domaineja on alettu jakaa,

http://newgtlds.icann.org/en/program-status/delegated-strings

• Mm. .sexy, .wien, . 网址, .онлайн, .ninja ja .cheap

DNS ei tyypillisesti käytä TCP:tä vaan UDP:tä, se on siis yhteydetön protokolla

– Uudessa DNSSEC-laajennuksessa kyselyt ja vastaukset niin pitkiä, että siinä käytetään TCP:tä, tästä ehkä enemmän tietoturvan yhteydessä

DNS kertoo osoitteen lisäksi mm. domainin posteista vastaavan sähköpostipalvelimen

(9)

”.”

com net fi

aalto tkk

noppa

www

130.23 3.228.

hut

smtp

130.23 3.228.

91 .[

رصم

] se Arpa

in-addr

130 233

41 6

dusk.niksula.cs.hut.fi

DNS-

nimiavaruus

Kts. host-komento Unixissa Yksi nimi voi osoittaa

useampaan IP-osoitteeseen.

Yhden IP-osoitteen takana voi olla monta nimeä.

(10)

Lähin nimipalvelin saattaa joutua tekemään monta

kyselyä. Se tallettaa tulokset välimuistiin vaivan säästämiseksi.

 Loppukäyttäjän saama tieto saattaa olla vanhentunutta

DNS-hierarkia

Lähin nimipalvelin ns1.songnet.fi

ns1.hut.fi Juurinimipalvelin (lähin Innopolissa)

fi-TLD:n nimipalvelin (viestintävirasto)

noppa.tkk.fi-osoitteesta vastaava Authority päättää kauanko hakutulosta saa säilyttää Esimerkki

Aalto Openista

(11)

DNS-DEMO

(12)

JOHDANTO

(13)

Internet

a computer network consisting of a worldwide network of computer networks that use the

TCP/IP network protocols to facilitate data transmission and exchange (Princeton WordNet)

The Internet is a global system of

interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP) to serve billions of users worldwide. ...(wikipedia)

An international network, consisting of

independently managed networks using the TCP/IP protocols and a shared naming

system. A successor to the ARPAnet.(Cornell

University digital library glossary)

(14)

Internet

a computer network consisting of a worldwide network of computer networks that use the

TCP/IP network protocols to facilitate data transmission and exchange (Princeton WordNet)

The Internet is a global system of

interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP) to serve billions of users worldwide. ...(wikipedia)

An international network, consisting of

independently managed networks using the TCP/IP protocols and a shared naming

system. A successor to the ARPAnet.(Cornell

University digital library glossary)

(15)

Yhteys

 Viime luennolla esitetyt protokollat käyttivät TCP-protokollan tarjoamaa kaksisuuntaista luotettavaa tavuvirtaa (yhteyttä) tiedon siiroon

– Kaksisuuntainen: molemmat osapuolet voivat kirjoittaa ja lukea

– Luotettava: korkeammalla tasolla ei tarvitse huolehtia siirtovirheistä (tai ainakin alemman tason protokolla ilmoittaa niistä)

– Tavuvirta: voi siirtää mitä tahansa, (vrt.

merkkivirta pelkän tekstin siirtoon)

(16)

Yhteys

 Merriam-webster connection:

2 a : something that connects : link <a loose connection in the wiring> b : a means of communication or transport <a telephone connection>

Paljon kysymyksiä ja vastauksia saman yhteyden yli

– Esim. Keskustelu, puhelu

• Minä: “Haloo, Jyrsa puhelimessa”

• Opiskelija: “Kuule, mulla on tällanen ongelma sun kurssis kanssa.”

• Minä: “No mimmonen ongelma?”

• Opiskelija: “….”

– Jos aloittajaosapuolen yhteys ei mene läpi, tämä huomaa sen

(17)

Yhteydettömyys

 Esimerkiksi DNS on yhteydetön sovellustason protokolla

 Analogia reaalimaailmassa: postikortit

– ”Rakas Tilly-täti, mikä on Steve-sedän osoite?”

– ”Hei Richard, Steve-setä asuu osoitteessa Infinite Loop One Cupertino, CA 95014”

 Postikortit ja UDP-paketit voivat kadota matkalla

– Et ehkä koskaan saa tietää että sinulle on lähetetty sellainen

(18)

Verkkokerros

 Internet-Protokolla tarjoaa ”best effort”

pakettien siirtoa koneelta A koneelle B

– Best effort: ei takeita oikein mistään, mutta luvataan edes yrittää

• moni hyökkäys perustuu lupauksen pettämiseen

 TCP/IP:n kanssa kilpailevat mallit (mm.

EU:n tukema OSI) pyrkivät tarjoamaan luotettavuutta (ja maksutietoja)

verkkokerroksessa

 Lopulta TCP/IP:n laissez faire - lähestyminen levisi

18

(19)

SIIRTOKERROS

(20)

UDP

 UDP: Universal Datagram Protocol

– Datagrammi on paketti erityisesti epäluotettavassa yhteydessä

 RFC-768

 Tarkastussumma (hash, checksum) lasketaan koko paketista

ennaltamäärätyllä tavalla koko paketista

Lähdeportti (ohjelma) Kohdeportti (ohjelma) Paketin pituus Tarkastussumma

Sisältö

(21)

UDP

 UDP tarjoaa epäluotettavan yhteydettömän tiedonsiirron

 UDP:ta käyttävät mm. DNS, VoIP, IPTV, NTP, SNMP

 UDP:ssä pienempi yleiskustannus (overhead) kuin TCP:ssä

(22)

TCP

 TCP: Transmission Control Protocol

 RFC-793

 Yhteydellinen, luotettava, kaksisuuntainen tavuvirta

– Eri suunnat eivät riipu toisistaan

 Ohjelman lähettämä virta pilkotaan palasiin ja palaset lähetetään IP-

paketeissa

(23)

Yhteyden avaus

Kaksi roolia, aloitteentekijä ja vastaaja

Sovitaan sekvenssinumeroista (arvottuja)

Ikävä palvelin (smtp.hut.fi) saattaa kenkkuilla ja vastata RST

Asiakas Palvelin

SYN

SYN + ACK

ACK

(24)

Syn + Ack

(25)

Kuittaaminen

 Vastaanottava osapuoli kertoo mitä tavua se odottaa

seuraavaksi

Asiakas Palvelin

Tavut 1-10:

ACK: 31 ACK: 11 Tavut 11-20:

Tavut 21-30:

(26)

Virhe

Toinen osapuoli

jääräpäisesti pyytää seuraavaa

näkemätöntä pakettia

Ikkunan koko määrittää koska virhe huomataan

TCP osaa sopeuttaa ikkunan kokoa

virheiden tiheyden mukaan

26

Asiakas Palvelin

Tavut 1-10:

ACK: 11

ACK: 11 Tavut 11-20:

Räks!

Tavut 21-30:

ACK: 11

Tavut 31-40:

Oho, virhe

Tavut 11-20:

ACK: 41

Tavut 41-50:

(27)

Yhteyden sulkeminen

 Kumpi tahansa voi ilmoittaa FIN eli ”en aio

lähettää enää tavuja virtaan”

 Toinen puoli ilmoittaa ”FIN”

kun on itse valmis

 Yhteys voi jäädä puoliksi auki

Asiakas Palvelin

FIN

FIN ACK ACK

(28)

TCP

Lähdeportti (ohjelma)

Kohdeportti (ohjelma) Sekvenssinumero

Vastausnumero Otsikon

pituus

Varattu Lippuja Ikkunan koko Tarkastussumma Kiireellisyys

Optioita Data

Portti identifioi ohjelman

Sekvenssinumeron

avulla paketit puretaan (ensimmäinen tavu)

Vastausnumero kertoo seuraavan odotetun paketin aloitustavun

– Ikkunan koko on

max sekvenssinumero - vastusnumero

Liput

RST ACK PSH URG SYN FIN

(29)

Liput kertovat mikä viestityyppi on

kyseessä

– RST: Reset Connection

– ACK: Acknowledge – PSH: Push

– URG: Urgent

– SYN: Synchronize sequence numbers – FIN: I have no more

data to send

Liput

RST ACK PSH URG SYN FIN

(30)

VERKKOKERROS

(31)

Internetin rakenne

Runkoverkko

Autonominen Järjestelmä (AS)

AS

(32)

Runkoverkko

Internet on rakennettu ARPANETin päälle

Advanced Research Projects Agency Network suunniteltiin 1960-luvulla kestämään rauhaa rakastavan Neuvostoliiton ydinisku

Ei keskitettyä hallintaa, ei keskitettyä hallitsijaa

– Voi pojat mikä sotku

 Internet kestää ydiniskun, muttei välttämättä töpeksivää adminia (Esim. Pakistan ja YouTube)

Runkoverkko

(33)

Autonomiset järjestelmät (AS)

 Runkoverkkoon kiinnittyy autonomisia järjestelmiä (Autonomous Systems)

Runkoverkko

Autonominen Järjestelmä (AS)

(34)

Autonomiset järjestelmät (jatkoa)

 Autonomiset järjestelmät ovat

hallinnollisesti yhtenäisiä järjestelmiä, jotka ovat liittyneet kiinni runkoverkkoon

– Harvardin yliopisto, Sonera, AYY, Vatikaani

 AS voi olla

– Multihomed: kiinni runkoverkossa monesta kohtaa

– Stub: Kiinni vain yhden toisen AS:n kanssa – Transit: suostuu välittämään muille verkoille

viestejä (ISP)

(35)

IP(v4)

 IP = The Internet Protocol

 RFC 791

 Lähettää datagrammeja verkon yli (vs.

Paketit)

 Epäluotettava, yhteydetön

 Pakettikoko vaihtelee, paketteja saatetaan hajoittaa ja koota siirtäessä

 Internet Control Message Protocol (ICMP) virheiden välittämiseen takaisin lähettäjälle

(36)

IPv4

 Osoitteet muotoa a.b.c.d, missä a, b, c ja d ovat lukuja välillä 0-256 (4 tavua

muistissa)

Versio Otsikon pituus

TOS Kokonaispituus

ID Lippuja

TTL Protokolla Otsakkeen tarkistussumma Lähdeosoite

Kohdeosoite

Optioita Täytettä

Data

(37)

http://xkcd.com/195/

(38)

IP-reititys

Reititystaulu

IP-osoitealue Suunta

82.130.0.0-82.130.63.255 1 62.237.152.0-62.237.159.255 2 130.233.0.0 - 130.233.255.255 3

... ...

1

2

3 4

Jokainen reititin osaa reitittää sille tulevat IP-paketit

reititystaulunsa perusteella

Reititystaulun muodostamiseen käytetään reititysprotokollia ja -algoritmeja.

Yksittäisen koneen täytyy tietää vain

oletusreitittimen osoite

(39)

 Jokaisella reititysaskeleella reititin

vähentää IP-datagrammin TTL-kentän arvoa yhdellä

 Jos TTL:n arvoksi tulee 0 -> virheviesti lähettäjälle

 Estää pakettia jäämästä ikuisiksi ajoiksi verkkoon

(40)

IP-verkkojen määrittäminen

IP-osoitteiden reititys ja verkkojen

määritys perustuu binäärilukuesitykseen

62.237.153.157 =

111110.11101101.10011001.10011101

Ensimmäiset X bittiä ovat osoitteen

verkko-osaa, loput määrittelevät koneen osoitteen

Monta tapaa ilmoittaa verkko:

62.237.152.0-62.237.155.255 62.237.152.0/22

62.237.152.0 netmask = 255.255.252.0

40

(41)

IP-verkon määrittäminen

Kaksi jälkimmäistä jakavat osoitteen verkko- osaan ja laiteosaan

111110.11101101.10011001.10011101

Esimerkissämme ensimmäiset 22/32 bittiä ovat verkko-osaa eli samat kaikille verkon laitteille

Loput 10/32 identifioivat yksittäisen laitteen verkon (Aalto Open) sisällä

Verkkoon mahtuu 2^10 = 1024 laitetta

Verkkojen jako tällä tavoin tekee reitityksestä helppoa (ref: Tietorakenteet ja Algoritmit)

(42)

IPv4 varatut osoitteet

Yksityisiä verkkoalueita voi käyttää sisäverkossa.

Reitittimen on tällöin suoritettava verkko-osoitteen muunnos (Network Address Translation) NAT

sisäverkon rajalla

Muitakin varattuja on

Osoitealue Varauksen aihe

10.0.0.0/8 Yksityiset verkot

127.0.0.0/8 Loopback

169.254.0.0/16 Zero config -verkot 172.16.0.0/12 Yksityiset verkot 192.168.0.0/16 Yksityiset verkot

224.0.0.0/4 Multicast

255.255.255.255 Broadcast

(43)

Localhost = 127.0.0.1

(44)

IPv6

Pidemmät osoitteet: 128 bittiä (vs 32)

fe80:0:0:0:e91a:6df0:a982:217b (nollat voi jättää pois ja merkata ”::”)

fe80::e91a:6df0:a982:217b

Versio Liikenneluokka Vuon nimi Datan pituus Seuraava

otsikko

Hyppyraja Lähdeosoite

Kohdeosoite

(45)

IPv4 vs IPv6

IPv4:n osoiteavaruus 2^32 on

hupenemassa

Kotien päätelaitteet (ADSL-modeemit,

jne) eivät tue IPv6:sta laajalti

Kankea moneen teknisesti hienoon juttuun

”Pomminvarma”

IPv6:n osoiteavaruus 2^128 riittää kaikille maailmankaikkeuden alkuhiukkasille

Käytössä

runkoverkossa käytännössä kaikkialla

Taipuu kaikkeen tosi siistiin

Kaikkea ei ole hiottu loppuun

(46)

Unicast

Runkoverkko

Autonominen Järjestelmä (AS)

AS

(47)

Broadcast

Runkoverkko

Autonominen Järjestelmä (AS)

AS

(48)

Lähetystyypit

 IP tukee useampaa eri tapaa lähettää tietoa

 Unicast on tavallinen lähetys yhdelle hengelle

 Broadcast on lähetys kaikille verkon laitteille

– Käytetään mm. DHCP-protokollan ensimmäisessä viestissä

– Voidaan lähettää verkon hallintadataa yms – Jokaisen aliverkon viimeinen IP on varattu

sen Broadcast-osoitteeksi

48

(49)

Anycast

Joko/tai

(50)

Multicast

Runkoverkko

Autonominen Järjestelmä (AS)

AS

(51)

Lähetystyypit

Anycastissa monella koneella on sama IP- osoite ja viesti riittää saada mille tahansa niistä

– Mm. Osa DNS-juuripalvelimista tukee tätä – Ei oikein tue yhteyksien rakentamista

Multicastissa sama paketti viedään usealle sitä pyytäneelle vastaanottajalle

– Paketin kopioiminen tai monistaminen ei maksa mitään

– IGMP-protokollalla liitytään multicast-osoitteen vastaanottjaksi

– Ei myöskään hyvä kaksisuuntaiseen yhteyteen

(52)

TCP/IP

 TCP/IP:ssä hienoa on luotettava tavuvirta best effort –siirron päällä

 TCP tarjoaa luotettavuutta (tietyissä rajoissa)

 Verkkokerros yhdistää koko Internetin yhdeksi verkoksi, jossa viestit kulkevat mistä vain minne vain

(toistoa aloitusluennolta) DNS-palvelu mahdollistaa ihmisten muistettavien nimen

muuntamisen IP-osoitteiksi

(53)

Ensi viikolla

Sovelluskerros

Middleware: HTTP, SSL, XML...

Siirtokerros: TCP, UDP,...

IPv4, IPv6

Linkkikerros: Ethernet, MPLS, WLAN, GPRS ...

Viittaukset

LIITTYVÄT TIEDOSTOT

The basic aim of the SCP-ECG project was to arrive at a standard communications protocol for computerized electrocardiography, to make possible the interconnection and exchange of

‹ ‹ Using a single UDP/IP socket, the Using a single UDP/IP socket, the same packet can be sent to same packet can be sent to multiple destinations by repeating

™ to to distinguish different applications distinguish different applications using the same using the same port port number number (or (or multicast. multicast

• Implementations of protocol stacks often co-exist (OSI X.500 directory system over TCP/IP, TCP/IP communications over telephone network and SS7)...

interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP) to serve billions of users

interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP) to serve billions of users

– TCP/IP has only connectionless services in the internet layer but supports both in the transport layer.. March 4, 2004

• Delivers the data sent by the agent and transferred by the Mowgli Data Transfer Service to the actual TCP/IP layer in a Mobile Connection Host connected to the Internet. •