JONIN BLOGI (LTP7026)


Pikalinkit:

Verkkoprotokollat

Blogimerkintä 1 (20.8.2015)


Nettisivut avattu tänään! Aurinko paistaa ja elämä on varsin makeaa. Tähän blogiin ilmestynee kurssin aikana lisää tavaraa. Pääset ajassa seuraaviin merkintöihin painamalla nuolesta oikealle. Tämä blogi on tehty Reveal.js:n avulla.

Joensuu

Blogimerkintä 2 (27.8.2015)


Verkkoprotokollat

Tämän merkinnän aladioissa on esitelty viisi mielestäni tärkeää verkkoprotokollaa.

1. IP


  • TCP/IP-mallin Internet-kerroksen protokolla

  • Internetin ydin

  • Huolehtii IP-tietoliikennepakettien toimittamisesta perille pakettikytkentäisessä Internet-verkossa

  • Ainoa asia, mikä kaikkia Internetiin liitettyjä koneita yhdistää

  • IP-osoite on tavallisesti numerosarja

  • IP-paketissa kuljetettavat protokollat on numeroitu

  • IP-paketit toimitetaan perille IP-osoitteiden perusteella

  • Protokollan numerosta vastaanottaja tietää, mitä IP-paketin sisällä on

  • IP-pakettien perille toimittamista sanotaan reitittämiseksi

2. TCP


  • Protokollalla luodaan yhteyksiä tietokoneiden välille, joilla on pääsy Internetiin

  • TCP:n avulla tietokoneet voivat lähettää toisilleen tavujonoja. Tarvittaessa hävinnyt paketti voidaan lähettää uudestaan.

  • Pitää huolta että paketit saapuvat perille oikeassa järjestyksessä

  • Suurin osa Internetin liikenteestä perustuu TCP-protokollaan
  • Esimerkiksi WWW-sivujen hakeminen tehdään siten, että selaimen ja palvelimen välille muodostetaan TCP-yhteys, jossa selain voi lähettää tavujonoja palvelimelle ja palvelin tavujonoja selaimelle

  • TCP-yhteys sisältää kolme vaihetta: yhteyden muodostaminen, tiedonsiirto sekä yhteyden katkaisu

  • TCP:hen on kehitetty ruuhkanhallintamekanismeja

  • TCP:n päälle rakennettuja protokollia ovat mm. HTTP, SMTP, Telnet, SSH sekä FTP.

  • TCP ja Node.JS: https://nodejs.org/api/net.html

3. HTTP


  • Protokolla jota selaimet ja WWW-palvelimet käyttävät tiedonsiirtoon

  • Asiakasohjelma (esim. selain) avaa TCP-yhteyden palvelimelle ja lähettää pyynnön (GET)

  • Palvelin vastaa sopivalla vastauksella (esim. html-sivulla)

  • Ensimmäinen dokumentoitu HTTP:n versio julkaistiin vuonna 1991

  • Metodeja ovat esim. GET (resurssin haku), POST (tietojen lähettäminen), OPTIONS (kysely ominaisuuksista) ja HEAD (pyydä vain otsikkotiedot)

  • HTTP normaalisti tilaton (pyyntöjen tulos ei riipu edellisistä tuloksista tms.)

  • HTTP Ja Node.JS: https://nodejs.org/api/http.html

4. FTP


  • TCP –protokollaa käyttävä tiedonsiirtoprotokolla kahden tietokoneen välille

  • Toimii asiakas-palvelin –periaatteella

  • Tehokas, helppo ja luotettava

  • FTP-palvelin voi toimia aktiivisessa tai passiivisessa tilassa (aktiivinen avaa itse yhteyden asiakkaaseen ja aloittaa tiedonsiirron, passiivinen odottaa asiakkaan yhteyden avaamista).

  • Tiedot lähetetään salaamattomina (kehittyneet FTP-palvelin ja asiakasohjelmistot osaavat hyödyntää salausta)

  • Yhteyden avaaminen palomuurien ja IP-osoitemuunnoksien läpi ongelmallista

  • Node.js:n eräs FTP-kirjasto: https://www.npmjs.com/package/ftp

5. SMTP


  • TCP-pohjainen protokolla sähköpostien lähettämiseen serveriltä serverille

  • Käytetään myös viestin lähettämiseen clientiltä serverille

  • Nykyaikaiset palvelimet käyttävät laajennettua ESMTP -protokollaa

  • Suurin osa sähköpostijärjestelmistä, jotka toimivat Internetissä, käyttää SMTP:tä viestien lähettämiseen

  • Lähetetyn viestin voi lukea sähköpostiohjelmalla (tällöin yleensä hakemiseen käytössä POP3 tai IMAP).

  • Node.js SMTP-client esimerkki: https://github.com/andris9/simplesmtp

Blogimerkintä 3 (2.9.2015)


Irclokin asennusohje (aladioissa)

1) Luo (kopioi) irclokki-sovellus OpenShiftiin:

rhc app create irclokki nodejs-0.10 --from-code https://github.com/jvanhalen/irclokki.git

2) Lisää mysql-cartridge OpenShift-sovellukseen:

rhc cartridge add mysql-5.5 -a irclokki

3) Editoi tietokanta kuntoon:

rhc ssh irclokki
mysql
DROP DATABASE if exists irclog;
CREATE DATABASE irclog;
USE irclog;
CREATE TABLE log (id INT PRIMARY KEY AUTO_INCREMENT, timestamp BIGINT, message TEXT);

rhc app-restart irclokki

Tuntemukset tehtävästä:

Tämä tehtävä onnistui kerrasta luennolla annetuilla ohjeilla ja uskon ymmärtäväni asian (riittävän) hyvin.