Tietoliikenne I (kevät 2003) Kurssin sisältö: 1.Johdanto 1.0.asiakas-palvelin malli (client-server model) 1.1. Tietoliikenneverkko: isäntäkone, reititin, linkit, protokollat pakettivälitteinen/piirikytkentäinen (packet switched/circuit switched) sanomavälitteinen (message switching) etappivälitteinen (store-and-forward), etenemisviive (propagation delay) tietosähkeverkko (datagram) virtuaalipiiri (virtual circuit) kanavointi (multiplexing): TDMA, FDMA, tilastollinen kanavointi (statistical multiplexing) reititys (routing), reititystaulu 1.2 Protokolla protokolla; palvelu; rajapinta, SAP yhteydellinen/yhteydetön palvelu (connection-oriented/connectionless service) kerrosmalli, kerrosten tehtäviä virhevalvonta, vuonvalvonta, ruuhkanvalvonta 1.3. Siirtomedia : kierrettypari, kaapeli, lasikuitu, langaton, satelliitti häiriöt siirtotiellä 1.4.Viitemalleja TCP/IP-viitemalli OSI-viitemalli 1.5. Esimerkkejä verkoista Internet pääsy Internetiin 2.Sovelluskerros (application layer) 2.0.Yleistä Sovelluprotokolla: sanomatyypit, sanomien syntaksi ja semantiikka, sanomien 'vaihtosäännöt' prosessien kommunikointi: pistokkeet, osoittaminen, portti, Internetin kuljetuspalvelut: TCP, UDP 2.1. WWW HTTP-protokolla sanomat: request ja reply autentikointi, pipari sanomienvaihto TCP:llä URL WWW-välimuisti (proxy-palvelin) 2.2.Sähköposti postipalvelin (mail server), postiohjelma (mail reader) SMTP-protokolla push ja pull protokollat MIME-laajennos base64-koodaus IMAP, POP3 2.3. DNS domain-nimiavaruus IP-nimen selvittäminen nimipalvelimien hierarkia juurinimipalvelin, rekursiivinen kysely iteratiivinen kysely hakemistotietue DNS-protokolla, DNS-sanoma DNS-välimuisti 3. Kuljetuskerros 3.1. Kuljetuspalvelu päästä-päähän eli prosessilta prosessille (IP-osoite, porttiosoite, tunnetut portit ) 3.2. pistokerajapinta pistoke (socket) pistokeprimitiivit ja kuljetusyhteyden muodostus 3.3. UDP sanoma tarkistussumma (checksum) 3.4. Luotettava tiedonsiirto stop and wait liukuvan ikkunan protokolla : go back N, valikoiva toisto (selective repeat) ACK- ja NAK-kuittaukset, ikkunan koko ja numeroavaruus 3.5.TCP-protokolla yhteyden muodostus ja purku kolminkertainen kättely kahden armeijan ongelma virheettämyys ja sanomien järjestyksen säilyminen: järjestysnumerot ja kuittaukset, toistokuittaus vuonvalvonta: joustava liukuva ikkuna siirron optimointi: lähetys merkki kerrallaan ja Naglen algoritmi, silly window -syndroma TCP-segmentti ja sen kentät pseudo-otsake 3.6.TCP-ruuhkanvalvonta ruuhkaikkuna, hidas aloitus, kynnysarvo, lähetysikkuna uudelleenlähetysajastin ja sen arvon laskeminen nopea toipuminen, nopea uudelleenlähetys 3.7. TCP-yhteyden hallinta pistokeprimitiiveillä 4.Verkkokerros 4.0. Verkkokerroksen palvelut virtuaalipiiriverkko <= >tietosähkeverkko 4.1. Reititys reititysprotokolla, reititysalgoritmi staattinen / dynaaminen reititys Dijkstran algoritmi Tulvitus (Flooding) Etäisyysvektorireititys reititin tietää 'etäisyyden' naapureihinsa tietoja vaihdetaan naapureiden kesken hyvät tiedot etenevät kohtalaisen nopeasti, huonot erittäin hitaasti (count-to-infinity,) "split horizon with poisoned reverse" Linkkitilareititys Reitittimen tehtävät: selvitä naapurit mittaa etäisyys naapureihin tee tiedoista paketti lähetä tulvittamalla kaikille muille reitittimille laske lyhyin polku jokaiseen reitittimeen esim. Dijkstran algoritmilla 4.2. Reititin Reitittimen rakenne ja toiminta puskurit, kytkentäosa, reititysprosessori 4.3. Verkkojen yhdistäminen (Internetworking) Erilaisia verkkoja => ongelmia => paloittelu (fragmentation) 4.4. Internetin verkkokerros IP-protokolla ja sen toiminta IP-datasähke ja sen kentät 4.5. IP-osoitteet luokalliset osoitteet ja niiden ongelmat CIDR 4.6. Muita Internetin verkkokerroksen protokollia ARP 5.Linkkikerros monilähetys (multicast), yleislähetys (broadcast), kaksipisteyhteys (point-to-point) 5.1. Virhevalvonta kehys (frame) havaitseminen ja korjaaminen (forward error correction) 5.2. virheen havaitseminen pariteettibitti pitkittäis-poikittainen pariteeetti Internet-tarkistussumma CRC 5.3. Yhteiskäyttöinen kanava törmäys, kanavan kuuntelu Yleislähetysprotokollia ALOHA CSMA, CSMA/CD varausprotokollat vuorotteluprotokollat kanavan jakoprotokollat CDMA 5.4. Ethernet-lähiverkko rakenne: väylä tai tähti CSMA/CD törmäysten käsittely (Binary exponential backoff) Ethernet-kehys ja toiminta LLC <= >MAC 5.5. LAN-osoitteet ja ARP 5.6. Keskitin, silta ja kytkin yhdistäminen keskittimillä tuntumaton silta sillat keräävät tietoja kehyksistä ja huolehtivat niiden reitityksestä takaperinoppiminen jos silta ei tiedä, minne ohjataan, se tulvittaa kehyksen virittävä puu (spanning tree) kytkin 5.7. PPP-protokolla toiminta tavunlisäys