Tietoliikenneohjelmointi. v. 0.01



Samankaltaiset tiedostot
OSI ja Protokollapino

3. Kuljetuskerros 3.1. Kuljetuspalvelu

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

S Teletekniikan perusteet

Tehtävä 2: Tietoliikenneprotokolla

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

ICMP-sanomia. 3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol)

3. IP-kerroksen muita protokollia ja

Tietoliikenne II (2 ov)

Verkkoliikennettä Java[ssa lla] Jouni Smed

Antti Vähälummukka 2010

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Tikon ostolaskujen käsittely

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Tietoliikenne II (2 ov)

TCP/IP-protokollat ja DNS

Internet ja tietoverkot 2015 Harjoitus 5: (ISO/OSI-malli: Verkkokerros, TCP/IP-malli: internet-kerros)

Tikon ostolaskujen käsittely

Verkkoinformaation välittämiseen isäntäkoneiden ja reitittimien välillä

Kuva maailmasta Pakettiverkot (Luento 1)

Mikä on internet, miten se toimii? Mauri Heinonen

Internet ja tietoverkot 2015 Harjoitus 7: Kertaus

Salausmenetelmät (ei käsitellä tällä kurssilla)

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Netemul -ohjelma Tietojenkäsittelyn koulutusohjelma

Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet

Sähköposti ja uutisryhmät

Protokollien yleiset toiminnot

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

IHTE 1900 Seittiviestintä (syksy 2007) VERKKOTEKNIIKKAA. Mikä on protokolla, IP osoite, nimipalvelu jne ja mihin näitä tarvitaan?

@PHPOINT Sähköpostitilin asetukset

Outlook Office 365. Tässä ohjeessa kuvataan miten sähköpostitili (IMAP) sekä Kotisivut.com Autentikoiva SMTPlisäpalvelu

TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri. Pikaohje

Järjestelmäarkkitehtuuri (TK081702)

IP asetus -harjoitus Tietojenkäsittelyn koulutusohjelma

ELEC-C7241 Tietokoneverkot Kuljetuskerros

SuomiCom-sähköpostiasetukset Microsoft Outlook 2016

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

Internet Protocol version 6. IPv6

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

Sähköpostitilin käyttöönotto

Liikkuvien isäntäkoneiden reititys

IP-reititys IP-osoitteen perusteella. koneelle uusi osoite tässä verkossa?

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat. Protokollien kerrosrakenne. Mitä monimutkaisuutta?

WWW-sivu. Miten Internet toimii? World Wide Web. HTML-koodi. HTTP-istunto URL <#>

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6)

2. Sovelluksia ja sovellusprotokollia

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

Windows Phone. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Windows Phone 8 -puhelimessa.

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Miten Internet toimii?

Ilmoitus saapuneesta turvasähköpostiviestistä

2.2. Sähköposti. SMTP (Simple Mail Transfer Protocol) Postipalvelimet käyttävät SMTPprotokollaa. TCP-yhteys on pysyvä

Käyttäjäliitäntä (user agent) sanomien kirjoittaminen, lukeminen ja lähettäminen

C:. S: 250 Message accepted for delivery C: QUIT S: 221 princeton.edu closing connection

SÄHKÖPOSTIPALVELUIDEN KÄYTTÖÖNOTTO LOUNEA OY

Lähettävä postipalvelin Vastaanottava postipalvelin

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android Ice Cream Sandwichissä.

Lisää reititystä. Tietokoneverkot 2009 (4 op) Syksy Futurice Oy. Lisää reititystä. Jaakko Kangasharju

Nimi: Op.numero: Yritän arvosanan korotusta, olen läpäissyt IVT:n tentin

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Lisää reititystä. Tietokoneverkot 2008 (4 op) Syksy Teknillinen korkeakoulu. Lisää reititystä. Jaakko Kangasharju

Sähköpostilaatikoiden perustaminen

» multiaccess channel» random access channel LAN (Ethernet) langaton. ongelma: käyttövuoron jakelu Yhteiskäyttöisen kanavan käyttö

4. MAC-alikerros. yleislähetys (broadcast) ongelma: käyttövuoron jakelu. » multiaccess channel» random access channel LAN (Ethernet) langaton

Elisa efax. Käyttöohje

Sähköpostisanoman muoto. Push- ja pull-protokollat. työntöprotokolla (PUSH) Yleisiä sanoman otsakekenttiä kentät erotettu rivinvaihdolla

OmniTouch 8400 Instant Communications Suite Microsoft Outlook -integrointi

Liikkuvien isäntäkoneiden reititys

5. Mobile IP (RFC 3220)

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

Opus SMS tekstiviestipalvelu

OnniSMS Rajapintakuvaus v1.1

Send-It ilmoittautumisjärjestelmä (judotapahtumat Suomessa)

Ohjeita tietokoneverkon käyttöön Latokartano-säätiön ja Metsäylioppilaiden asuntosäätiön asuntoloissa

Miksi? Miksi? Miten? S Verkkopalvelujen tuotanto Luento 2: Verkko osoitteiden manipulaatiopalvelut. Internet

Macintosh (Mac OS X 10.2) Verkkoasetukset Elisa Laajakaista yhteyksille:

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Käyttäjänedustaja (User Agent) Internetin kuljetusprotokollat. Sovellus ja kuljetuspalvelun laatu

IPTV:n asettamat vaatimukset verkolle ja palvelun toteutus. Lauri Suleva TI07 Opinnäytetyö 2011

Push- ja pull-protokollat

Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen

Kirje -tasolla viestiliikenne suojataan automaattisesti SSL-salauksella, sekä viesti lukitaan Deltagon MessageLock -tekniikalla.

Tietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos

Kohina (Noise) 1.4. Tietoliikenneohjelmistot eli protokollat. Signaalin vahvistaminen

SSH Secure Shell & SSH File Transfer

Kohina (Noise) Signaalia häiritsee kohina. aina taustalla esiintyvää sähkömagneettista aaltoliikettä terminen kohina. elektronien liikkeestä johtuva,

1 YLEISKUVAUS Verkkoturvapalvelu Verkkoturvapalvelun edut Palvelun perusominaisuudet... 2

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Luottamuksellinen sähköposti Trafissa

Verkkoposti selkokielellä

3. Kuljetuskerros 3.1.

Transkriptio:

Tietoliikenneohjelmointi v. 0.01

Kurssin suoritus ja tavoitteet Kurssin suoritus kerrotaan erikseen. Tavoitteet: Oppilas osaa suunnitella ja toteuttaa verkossa toimivia asiakas/palvelin sovelluksia.

Protokollat Verkkoprotokolla (yhteyskäytäntö, protocol) sisältää säännöt sovellusten väliseen kommunikaatioon. Protokolla sisältää seuraavat osat: Tietopakettien muoto (format): Määrittelee, mitä tietopaketti sisältää ja missä kohden. Tietopakettien semantiikka (semantics): Mitä mikäkin paketti merkitsee ja miten siihen vastataan Virhetilanteiden käsittely (error behaviour): Määritellään, mitä tehdään, jos vastaanotetaan paketti, joka ei ole oikean muotoinen.

Protokollat Eri protokollat toimivat päällekkäin, jolloin ylemmän tason protokolla käyttää aina alempaa tasoa hyväkseen. Tätä sanotaan protokollapinoksi. Ylemmälle tasolle siirryttäessä mennään erikoistuneempaan sovellukseen ja alemmalla tasolla ollaan aina yleisemmällä tasolla. Internetin perusprotokolla on nimeltään IP ja sen päälle on rakennettu tavallisimmat protokollat TCP ja UDP (käytetään nimityksiä TCP/IP ja UDP/IP)

Internet Protocol (IP) Internet Protocol (IP) on perusta, jonka päälle kaikki muut internetprotokollat raketuvat IP on yksinkertainen paketisuuntautunut protokolla, eli se määrittelee, miten pisteestä A lähetetään paketteja pisteeseen B. Paketille voi matkalla sattua vaikka mitä. Se voi joutua reitittimeen, joka kaatuu ja paketti katoaa tai se voi reitittyä hidasta siirtotietä pitkin, jolloin seuraavaksi lähettetty paketti saapuu perille ennen aikaisemmin lähetettyä. Ts. paketteja katoaa tai ne saapuvat epäjärjestyksessä perille.

Internet Protocol (IP) Jokaisella IP-verkon tietokoneella on yksilöivä IP-osoite. Se on neljän luvun yhdistelmä. Esimerkiksi 192.168.1.2 on IPosoite. Jokainen neljästä luvusta voi olla välillä 0-255 (8- bittinen binääriluku) Jokainen IP-osoite koostuu kahdesta osasta: verkkoosoittesta ja koneosoitteesta. Verkko-osoite edustaa koko tietokoneverkkoa ja koneosoite edustaa verkon yhtä konetta. Verkkopeitteen avulla määritellään, mikä osa osoitteesta on verkko- ja mikä koneosoitetta. Esimerkiksi 192.168.1.2 verkkopeite on tyyppllisesti 255.255.0.0, jos em luvut ajatellaan binääriluvuiksi ja tehdää niiden (IP-os ja verkkopeiteen) välillä AND-operaatio bitti bitiltä saadaan verkko-osoitteeksi 192.168.0.0

Transmission Conrol Protocol (TCP) Transmission Control Protocol, TCP, on yleisimmin käytetty protokolla Internetissä. Kun sitä käytetään IP:n päällä, siitä käytetään nimeä TCP/IP. TCP/IP tarjoaa sovellukselle yksinkertaisen ja luotettavan yhteyden verkon yli toisessa koneessa olevaan toiseen sovellukseen ilman huolta kadonneista paketeista tai pakettijärjestyksestä. Se voi tehdä seuraavia asioita Koota paketit oikeaan järjestykseen, jos saapumisjärjestys on virheellinen Jos paketti katoaa se pyyttää paketin uudelleen lähetystä TCP tarkistaa myös pakettien sisältämän datan oikeellisuuden käyttämällä automaattisesti tarkistussummaa jokaisessa paketissa. Lisäksi TCP huomaa vastapään katoamisen linjalta tai yhteyden katkaisemisen Kuittausten lähettäminen ja tiedon uudelleenlähettäminen tapahtuvat taustalla niin, että TCP:tä käyttävä ohjelma ei edes huomaa sitä.. Ohjelmoijan kannalta TCP-yhteys vastaa esim. puhelua ensin yhteys muodostetaan, sitten tietoa siirretään edes ja takaisin, lopuksi yhteys suljetaan.

Transmission Conrol Protocol (TCP) TCP on helppo käyttää ja se tarjoaa luotettavan siirtoyhteyden. Tästä täytyy kuitenkin maksaa; TCP lähettää paljon tietoa, jolla ylläpidetään pakettien järjestystä, siirretään kuittauksia, tarkistussummia ja yksi välistä puuttuva paketti viivästyttää myös seuraavia paketteja niin kauan, että puuttuva paketti saadaan vastaanotetuksi. Useille sovelluksia tämä on juuri oikea tapa toimia, mutta taas toisille nopeutta vaativille sovelluksille taas ei. Miten voidaan yhden verkkokortin avulla hoidella useita samanaikaisia yhteyksiä. Esimerkikisi www- ja ftp-palvelimen samanaikainen toimita. Tämä tapahtuu porttien avulla. Portti ei ole fyysinen laite vaan IP-osoitteen laajennus. Näin esimerkiksi samalla tietokoneella oleva www-palvelin kuuntelee porttinumeroa 80 ja ftp-palvelin kuuntelee porttinumeroa 21. TCP yhteys muodostetaan siis tiettyyn IP-osoitteeseen ja siinä olevaan porttiin esim. 192.168.1.2 porttiin 80 (tässä koneessa oleva wwwpalvelin kuuntelee tätä porttia) TCP-yhteys voidaan muodostaa vain sellaiseen portiin, jossa on kuuntelija (palvelin ohjelma kuuntelee)

User Datagram Protocol (UDP) User Datagram Protocol (UDP), on yksinkertainen yhteydetön (ts. asiakkaan ja palvelimen välillä ei ole pysyvää yhteyttä) pakettisuuntautunut protokolla. IP:n päällä käytettynä nimenä käytetään UDP/IP. UDP:ssä tieto lähetään erillisinä paketteina UDP ei tarkista saapuvan paketin muuttumattomuutta, ei takaa paketin saapumista perille eikä edes takaa pakettien saapumista vastaanottajalle lähetetyssä järjestyksessä. Sen voima onkin sen yksinkertaisuudessa. Se ei sisällä ylimääräistä tietoa ja sen prosessoiminen on huomattavasti kevyempää. TCP/IP yhteyksien määrälle käyttöjärjestelmät asettavat rajoituksia mutta ei UDP yhteyksien määrälle. Mikäli sovelluksesi tarvitsee luotettavaa siirtoyhteyttä käytä TCP/IP:tä

User Datagram Protocol (UDP) Mikä on sopiva UDP-paketin koko? Teoreettinen maksimi käyttäjädatan osalta on 65507 tavua (+ IP otsikko 20 tavua+udp otsikko 8 tavua =65535) Tälläinen iso UDP paketti pilkotaan (fragmentodaan) IP-kerroksella useaksi IP-paketiksi (noin 1000 tavu/paketti) vastaanottopäässä pilkotut paketit kootaan IP-kerroksen toimesta isoksi UDP-paketiksi. Mikäli yksikin IP-paketti hävitetään tiedonsiirrossa koko UDP-paketti menetetään. Toinene rajoittava tekijä on se, että jotkin käyttöjärjestelmät rajoittavat UDP-paketin puskurin koon 8198 tavuun Eräs lähde (myös jotkin muut lähteet ovat likimain samoilla linjoilla) suosittava paketin maksimikooksi 1100 tavua

Socket Kun uusi tietoliikennesovellus käynnistetään, niin se pyytää käyttöjärjestelmältä socketin. Tämän kautta hoidetaan tiedonsiirto. Socket on ohjelmakomponetti ja se sisältää seuraavat tiedot, jotka lisätään lähetettävään tietoon protokolla (protocol): Kertoo mitä protokollaa tämän soketin kautta aiotaan käyttää esim TCP tai UDP. vastaanottajan osoite (Destination host address):kertoo mille tietokoneelle Internetissä tietoa lähetetään tämän soketin kautta. Osoite on IP-osoite. vastaanottajan portin numero (Destination application port): Kertoo mikä on vastaanottavan sovelluksen portin numero. Portin numeron on oltava välillä 1-65535. Porttinumerot 1-1024 ovat varattuja ja yleisesti tunnettujen sovellusten käytössä esim www-palvelin yleensä kuuntelee porttia 80, joten omien sovellusten tulisi käyttää suurempia (>1024) portin numeroita. lähettäjän osoite (Source host address): Oman tietokoneen IP-osoite. lähettäjän portin numero (Source application port): Kertoo mikä on lähettävän sovelluksen portin numero. Tämän tiedon avulla tietopaketin vastaanottava tietokone osaa vastata lähettäjälle oikeaan porttinumeroon.

UDP yleislähetys (broadcast) UDP:lla lähetetään tietopaketti yhdelle vastaanottajalle. Mikäli sama paketti pitää lähettää usealle vastaanottajalle, niin tämä toteutetaan silmukassa, jossa paketti lähetetään kaikille vastaanottajille erikseen => vastaanottajien määrän kasvaessa verkon kuorma kasvaa turhaan. Samaa tietopakettia lähetetään verkkoon yhä uudelleen. UDP yleislähetys (broadcast) lähettää tietopaketin koko lähiverkkoon kaikille koneille yhtäaikaisesti (vertaa radio- ja televisiolähetykset), jolloin verkkoa ei kuormiteta toistuvilla saman informaation lähetyksillä. Ei myöskään tarvitse ylläpitää listaa vastaanottajista, koska tieto lähetetään kaikille. Yleislähetyksen ongelma on, että kaikki vastaanottavat tietokoneet joutuvat käyttöjärjestelmätasolla tarkistamaan, onko paketti kiinnostava jonkun sovelluksen kannalta. Mikäli lähiverkossa on kymmeniä tietokoneita ja yleislähetyksellä lähetetty paketti on kiinnostava vain muutamalle niistä, niin kuormitetaan turhaan kaikkia loppuja koneita.

UDP yleislähetys (broadcast) Ohjelmallisesti ei saada selville, kuinka laajalle yleislähetyksellä lähetetyt paketit leviävät. Monet reitittimet eivät välitä niitä eteenpäin, jolloin yleislähetys ei saavutakaan kuin muutaman lähimmän koneen. Joskus verkoissa yleislähetys voi saavuttaa satojakin koneita vaikka näin ei haluta. Tätä voidaan käyttää sovelluksissa jotka kommunikoivat vain lähiverkon alueella ja melkein kaikki lähiverkossa olevat koneet ovat kiinnostuneita kommunikaation sisällöstä. Tätä voi käyttää myös satunnaisesti muutaman paketin lähettämiseen, jolloin verkon tietokoneet eivät kuormitu kovin paljon. Esim. sovellus voi ilmoittaa olemassaolostaan yleislähetystä käyttäen lähiverkon koneille, johon kiinnostuneet sovellukset voivat vastata esim TCP:tä tai UDP:tä käyttäen (ei ylislähetyksellä).

UDP yleislähetys (broadcast) Ohjelmallisesti ei saada selville, kuinka laajalle yleislähetyksellä lähetetyt paketit leviävät. Monet reitittimet eivät välitä niitä eteenpäin, jolloin yleislähetys ei saavutakaan kuin muutaman lähimmän koneen. Joskus verkoissa yleislähetys voi saavuttaa satojakin koneita vaikka näin ei haluta. Tätä voidaan käyttää sovelluksissa jotka kommunikoivat vain lähiverkon alueella ja melkein kaikki lähiverkossa olevat koneet ovat kiinnostuneita kommunikaation sisällöstä. Tätä voi käyttää myös satunnaisesti muutaman paketin lähettämiseen, jolloin verkon tietokoneet eivät kuormitu kovin paljon. Esim. sovellus voi ilmoittaa olemassaolostaan yleislähetystä käyttäen lähiverkon koneille, johon kiinnostuneet sovellukset voivat vastata esim TCP:tä tai UDP:tä käyttäen (ei ylislähetyksellä).

UDP yleislähetys (broadcast) Tietokoneverkkojen yhteydessä broadcast-osoite on IP-osoite jonka kautta IPpaketti kyetään lähettämään jokaiselle samassa aliverkossa olevalle laitteelle ilman että sen osoitetta tiedetään. Osoitteen tarkka määrittely on esityksessä RFC 919. Tiettyä aliverkkoa vastaava broadcast-osoite saadaan kun tiedossa on laitteelle määritelty IP-osoite sekä aliverkon peite (englanniksi subnet mask tai netmask). IP-osoitteen ja aliverkon peitteen komplementin kesken tehdään looginen OR operaatio jonka tuloksena saadaan broadcast-osoite. Esimerkki tämän selventämiseksi: Laite haluaa tehdä broadcast-lähetyksen omaan aliverkkoonsa. Laitteen tietää että sen IP-osoite on 130.230.10.30 sekä aliverkon peitteen joka on 255.255.255.0. Verkon peitteen komplementti on 0.0.0.255. Tällöin broadcast-osoitteeksi saadaan 130.230.10.30 0.0.0.255 = 130.230.10.255. Tähän osoitteeseen lähetetty paketti tavoittaa kaikki saman aliverkon laitteet.

UDP yleislähetys (broadcast) Tietokoneverkkojen yhteydessä broadcast-osoite on IP-osoite jonka kautta IPpaketti kyetään lähettämään jokaiselle samassa aliverkossa olevalle laitteelle ilman että sen osoitetta tiedetään. Osoitteen tarkka määrittely on esityksessä RFC 919. Tiettyä aliverkkoa vastaava broadcast-osoite saadaan kun tiedossa on laitteelle määritelty IP-osoite sekä aliverkon peite (englanniksi subnet mask tai netmask). IP-osoitteen ja aliverkon peitteen komplementin kesken tehdään looginen OR operaatio jonka tuloksena saadaan broadcast-osoite. Esimerkki tämän selventämiseksi: Laite haluaa tehdä broadcast-lähetyksen omaan aliverkkoonsa. Laitteen tietää että sen IP-osoite on 130.230.10.30 sekä aliverkon peitteen joka on 255.255.255.0. Verkon peitteen komplementti on 0.0.0.255. Tällöin broadcast-osoitteeksi saadaan 130.230.10.30 0.0.0.255 = 130.230.10.255. Tähän osoitteeseen lähetetty paketti tavoittaa kaikki saman aliverkon laitteet. Ratol:n PC:luokissa aliverkon peite 255.255.252.0, jos koneen IP esim. 10.4.0.0 => broadcast-osoite: 10.4.0.0 0.0.3.255=10.4.3.255. (Osoitetta 255.255.255.255 ei tulisi käyttää vaikka paikallisreitittimen tulisi pysäyttää ne)

Ryhmälähetys (multicast) Ryhmälähetys (multicast) mahdollistaa tietopaketin lähettämisen kaikille kiinnostuneille sovelluksille. Kaikki kiinnostuneet sovellukset rekisteröityvät kuuntelijoiksi ryhmäosoitteeseen, jolloin ne vastaanottavat tähän osoitteeseen lähetetyt tietopaketit. Kuka tahansa voi lähettää tietopaketteja tähän ryhmäosoitteeseen, mutta vain rekisteröityneet kuuntelijat vastaanottavat paketit. Rekisteröimättömät kuuntelijat eivät vastaanota paketteja, kuten yleislähetyksessä tapahtuu. Ryhmälähetys toimii Internetin laajuisesti (tietyin rajoituksin). Kaikki (vanhat) reitittimet Internetissä eivät välitä ryhmäviestejä, joten viestit eivät välttämättä pääse kaikkiin paikkoihin. Ohjelmoija voi tehokkaasti säädellä, kuinka laajalle ryhmäviesti leviää. Reitittimet tarkkailevat ryhmäviestin TTL kenttää (Time-To-Live) ja päättelevät sen perusteella, lähettävätkö viestin eteenpäin laajemmalle. Samassakin koneessa monta sovellusta voi kuunnella samaa lähetystä tietystä portista. Jotta ohjelma voisi ottaa vastaan multicast-lähetyksiä, sen tulee rekisteröityä multicastryhmän kuuntelijaksi. Multicast-ryhmät ovat tiettyjä IP-osoitteita ja osa IPosoiteavaruudesta on varattu tähän tarkoitukseen. Omissa ohjelmissa on turvallista käyttää esimerkiksi IP-osoitetta 239.0.0.1. Tästä huomaammekin, että Multicastia käytettäessä "vakavampiin" tarkoituksiin on syytä ottaa huomioon viestit, jotka ovat muiden kuin omien ohjelmien käyttämiä - et voi tietää, jos joku muukin saa päähänsä käyttää samaa ryhmää ja porttia. Voit välttää viestien sekoittumisen laittamalla jokaisen lähetetyn paketin alkuun jonkin tunnisteen, josta erotat oman protokollasi mukaiset paketit.

Ryhmälähetys (multicast) Jotta ohjelma voisi ottaa vastaan multicast-lähetyksiä, sen tulee rekisteröityä multicast-ryhmän kuuntelijaksi. Multicast-ryhmät ovat tiettyjä IP-osoitteita ja osa IP-osoiteavaruudesta on varattu tähän tarkoitukseen. Omissa ohjelmissa voidaan käyttää esimerkiksi IP-osoitetta 239.0.0.1. Käytännössä tulee ottaa huomioon viestit, jotka ovat muiden kuin omien ohjelmien käyttämiä, koska et voi tietää, jos joku muukin saa päähänsä käyttää samaa ryhmää ja porttia. Voit välttää viestien sekoittumisen laittamalla jokaisen lähetetyn paketin alkuun jonkin tunnisteen, josta erotat sinun sovelluksellesi kuulvat paketit. Multicast-lähetyksien ryhmille on käytössä IP-osoitteet 224.0.0.0-239.255.255.255. Kuitenkin alue 224.0.0.0-224.0.0.255 on varattu, jota ei saa käyttää sovelluksissa. Seuraavista linkeistä löytyy lisätietoja ryhmälähetyksistä ja käytössä olevista osoitteista. http://java.sun.com/docs/books/tutorial/networking/datagrams/broadcas ting.html http://www.csc.fi/suomi/funet/multicast/

HTTP-protokolla 1/5 HTTP (Hypertext Transfer Protocol) on protokolla, jota selaimet ja WWW-palvelimet käyttävät tiedonsiirtoon. Protokolla perustuu siihen, että asiakasohjelma (esim. selain) avaa TCPyhteyden palvelimelle (yleensä porttiin 80) ja lähettää pyynnön. Palvelin vastaa lähettämällä vastauksen, tavallisimmin HTML-sivun tai binääridataa esim. kuvia, ohjelmia tai ääntä.

HTTP-protokolla 2/5 HTTP on Yhteydetön. Pyynnön jälkeen asiakas lopettaa yhteyden palvelimeen ja odottaa vastausta Media riippumaton. Välitettävä tieto voi olla mitä tyyppiä tahansa kunhan asiakas ja palvelin osaavat sitä käsitellä ( Internet media type eli MIME-tyyppi). Palvelin kertoo yleensä siirrettävän datan tyypin ContentType-otsakkeessa. Tilaton. Peräkkäisten siirtotapahtumien välillä ei ole mahdollista pitää tilatietoa. Jokainen HTTPsiirtotapahtuma on aloitettava aivan alusta.

HTTP-protokolla 3/ Yleisiä mediatyyppejä image/png - PNG-muotoinen kuva text/plain - tekstiä, joka on tarkoitettu esitettäväksi sellaisenaan; käytetty merkistö määritellään charsetparametrillä, oletusarvo on US-ASCII text/xml - XML-muotoista rakenteellista tekstiä text/html - HTML-sivu audio/mpeg - MP3-muotoista ääntä application/vnd.stardivision.calc - StarOffice-taulukkolaskin (sovelluskohtaista vnd=vendor specific tietoa) application/octet-stream - mitä tahansa määrittelemätöntä binääridataa (tätä tyyppiä käytetään, jos tyyppi tai koodaus ei ole ohjelman tiedossa)

HTTP-protokolla 4/5 HTTP:n metodeita GET - käytetään resurssin hakua varten (esimerkiksi verkkosivun hakuun) POST - esimerkiksi täytetyn lomakkeen tietojen lähettäminen palveluun OPTIONS - kysely palvelimen tai resurssin ominaisuuksista HEAD - pyydä vain sivun otsikkotiedot (esimerkiksi hakukone selvittää onko sivu muuttunut) PUT - sivun tallettaminen (käytetään harvoin ilman WebDAVlaajennuksia) DELETE - sivun poistaminen (käytetään harvoin ilman WebDAVlaajennuksia) TRACE - palauttaa pyynnön sellaisenaan (vikojen jäljitykseen) CONNECT - pyydetään yhteyttä, joka jää päälle

HTTP-protokolla 5/5 Palvelimen vastauskoodeista Palvelin palauttaa onnistuneeseen sivunhakuun vastauksena ensimmäisenä "HTTP/1.x 200 OK". Ensin on protokollan versionumero ja koodi "200" kertoo pyynnön onnistuneen (selväkielisenä "OK"). 2xx-alkuiset statuskoodit kertovat onnistuneesta pyynnöstä. 3xx-alkuiset koodit ilmoittavat sisällön löytyvän jostain muualta kuin selain pyysi. Koodi 301 "Moved Permanently" ilmoittaa sivun siirtyneen pysyvästi ja 302 "Moved Temporarily" väliaikaisesti toiseen paikkaan. 4xx-alkuiset koodit kertovat asiakasohjelman (esim. selaimen) tekemästä virheestä. Esimerkiksi 404 "Not Found", jos haetaan sivua, jota palvelimella ei ole ja 403 "Forbidden eli hakijalla ei ole oikeutta dokumenttiin pääsyyn. 5xx-alkuiset koodit kertovat palvelimen tekemistä virheistä

SMTP-protokolla SMTP (Simple Mail Transport Protocol) sähköpostiprotokolla on tekstipohjainen ja käyttää TCP:tä. Näin ollen SMTP sessio voidaan luoda telnet-komennolla. Se käyttää yleensä porttia 25 Kun lähetään SMTP:n kautta sähköpostia tarvitaan ainakin neljää komentoa HELO, kertoo sähköpostipalvelimelle sähköpostiohjelman identiteetin MAIL FROM, lähettäjä RCPT TO, vastaanottaja DATA, viestin sisältö. Huomaa, että viestin aihe ja muut otsikkokentät ovat osa viestiä

Muuta asiaan liittyvää POP3 (Post Office Protocol version 3) protokolla mahdollistaa sähköpostin lukemisen verkon yli. Se on myös tekstipohjainen protokolla, joten sen kanssa voidaan kommunikoida telnet-komennolla. IMAP4 (Internet Message Access Protocol 4) on POP3:n kaltainen protokolla mutta kehittyneempi. POP3 mahdollistaa yhdessä postilaatikossa käynnit, kun taas IMAP4 mahdollistaa käynnit useammassa sähköpostilaatikossa Java Mail API on geneerinen sähköpostikehys, joka tukee sähköpostiviestien lähetystä ja vastaanottamista. Tukee useita sähköpostiprotokollia