- RFC 854 - emulátor terminálu přes síť (TCP), telnetd a návaznost na ovladače TTY na straně serveru - Network Virtual Terminal - nejmenší možná množina společných parametrů splňovaných všemi reálnými terminály - virtuální znakové zařízení s klávesnicí a tiskárnou - NVT ASCII - 7 bit, end-of-line: CR, LF - příkazy pro oboustranné dohadování voleb - návrh a potvrzení/zamítnutí volby pro lokální i vzdálenou stranu: echo, typ terminálu, šířka okna, rychlost terminálu, flow control, ... - interrupt key - implementováno s použitím TCP urg ptr - znakový vs. řádkový režim - port 23
- RFC 959 - přenos souborů mezi dvěma systémy - nad TCP, autentikace uživatele + obousměrný přenos - přenos klient-server nebo mezi dvěma vzdálenými počítači - datové typy ASCII,EBDIC,image/binary => Konverze dat, přes NVT ASCII (příkaz TYPE) - struktura dat soubor/záznam/stránka - řídící a datové spojení - příkazy: USER PASS LIST PORT RETR STOR TYPE ABORT QUIT - odpovědi: 3-místný kód (dělení do skupin) + doprovodný volitelný text možnost víceřádkových odpovědí s označením posledního řádku - porty 20,21
- RFC 1350 - jednoduchá implementace přenosu souborů - bez autentifikace, - často použití pro upload software síťových prvků nebo bootovací image - nad UDP, stop and wait protokol, paket s povelem pro zaslání/uložení souboru, potvrzovací pakety, číslování paketů
User agent (UA), Message Transfer Agent (MTA), mailbox
obálka - RFC 821 hlavička - RFC 822 dvojice jméno: hodnota na zvláštních řádcích, od těla zprávy odděleno prázdným řádkem - MTA mohou hlavičku modifikovat Tělo zprávy - podle RFC 822 v NVT ASCII 7-bit, bez struktury - délka řádku obvykle max 1kB, celková délka zprávy 64kB
sendmail, relay host, brány do sítí s jinými protokoly
RFC 821 Port 25 Příkazy: HELO MAIL RCPT DATA . QUIT VRFY EXPN - ověření existence mailing listu a jeho rozvinutí do seznamu účastníků TURN
- RFC 1521 - možnost strukturovat tělo zprávy - kódování pro účely přenosu binárních dat - přidává další pole hlavičky informující příjemce o struktuře těla zprávy: MIME-Version Content-Type text, multipart, message, application, image, audio, video Content-Transfer-Encoding 7bit (NVT ASCII, default), quoted-printable, base64, 8-bit, binary (osmibitová data) Content-Description
- RFC 1939 - protokol pro vybírání obsahu poštovních schránek - architektura klient-server - Příkazy: USER PASS APOP - autentikace heslem kódovaným MD5 LIST RETR DELE RSET QUIT UIDL - na základě pořadového čísla zprávy server vrátí jednoznačný identifikátor této zprávy TOP - zjištění prvních N řádků zadané zprávy
- RFC 2060 - zejména pro mobilní klienty, předpokládá uchovávání zpráv na serveru - dokonalejší obdoba POP3: * možnost selektivního načítání zpráv a jejich částí * vylepšené autentikační mechanismy * podpora více poštovních schránek * vyhledávání ve zprávách
HTTP 1.0: RFC 1945 ================== - model klient-server, požadavek-odpověď, - návaznost na adresy URL - využívá MIME (data se obalují hlavičkou MIME) => rozšiřitelný o formáty různých médií - na rozdíl od MIME předpokládá binární spojeni - podpora pro autorizaci přístupu - podpora pro relokaci stránek - stránka sestává z více dokumentů, každý se získává zvlášť po zvláštním TCP spojení - spojení iniciuje klient, ukončuje server po odeslání odpovědi Formát zpráv ------------ příkaz odpověď-stav hlavička hlavička PRAZDNY_RADEK PRAZDNY_RADEK (data) data Příkazy (metody) ---------------- GETHTTP/1.0 HEAD POST - zaslání obsahu formuláře na server PUT DELETE LINK UNLINK OPTIONS Pole hlavičky ------------- Accept - typ klientem akceptovatelného média, většinou * Accept-Charset - klientem akceptovatelné znakové sady Accept-Encoding - definuje množinu přijatelných hodnot Content-Encoding Accept-Language If-Modified-Since Referer - posílá klient, URL, kde získal odkaz na dané URL - pro účely reklamy a dohledávání chybných odkazů User-Agent - jméno a verze WWW prohlížeče Allow - výčet serverem podporovaných příkazů (metod) Authorization - informace pro autentikaci uživatele v daném autentikačních mechanismu Content-Encoding Content-Language Content-Length Content-Type - MIME typ těla zprávy (př.: text/html) MIME-Version Date Expires Last Modified Location - URL, kde se zdroj nachází, pro automatické přesměrovávání Retry After - při odpovědí Service Unavailable Server - jméno a SW HTTP sereru WWW-Authenticate - server popisuje podporované autentikační mechanismy Refresh=seconds HTTP 1.1, RFC 2068 ================== * trvalá spojení přes několik požadavků * podpora komprese dat * virtual hosts - více logických serverů se stejnou IP adresou * možnost přenosu části dokumentu (při výpadku spojení a novém načítání dokumentu) HTTPS ===== - secure HTTP, HTTP over SSL Cookies ======= - podpora pro stavové transkace - RFC 2109 - pole hlavičky Cookie, Set-Cookie Struktura cookie jméno, hodnota, server, path, flag secure (=použít výhradně přes HTTPS), comment, max-age, verze specifikace cookie
- přístup k hodnotám atributů vázaných na jména objektů - často hiererchická, jmenný kontext - struktura: uživatel (klient) a server(y) adresářové služby - pouze pro čtení nebo možnost aktualizace databáze (s ohledem na přístupová práva) * Jmenné služby (name services): mapování mezi "čitelnými" logickými jmény pro člověka a adresami na úrovni technologie * Jmenný prostor (namespace) - kolekce všech jmen přístupných přes jmennou službu - definuje konvence a syntaxi pojmenovávání objektů
- RFC 1034, 1035, definuje koncepci, jmenný prostor a protokol resolver-server, (resp. server-server) - jmenná služba používaná v Internetu, mapování logických jmen na IP adresy - využívá distribuovanou databázi, DNS servery - hierarchická, informace organizovány do stromu, každý uzel lze identifikovat doménovým jménem - doménové jméno vytvořeno spojením jména uzlu se všemi jmény uzlů na cestě ke kořeni, oddělovačem tečka, délka komponenty max. 63 znaků, celková délka jména 256 znaků, case insensitive Domény nejvyšší úrovně: edu, com, mil, gov, net, org, zkratky států zóna - část stromu spravovaná separátně, delegace zodpovědností za správu zón, pro každou zónu zvláštní DNS server Autoritativní server domény - spravuje databázi příslušné domény Obvykle se používá možnost rekurzivního vyhledávání name severem Postup vyhledávání ------------------ - po komponentech jména, začíná se od root serverů, jejich adresy nakonfigurovány pevně v DNS serverech (příp. resolverech) - při dotazu na jméno, které není pod správou dotazovaného NS může NS poslat negativní odpověď nebo provést rekurzivní vyhledání a poslat neautoritativní odpověď Primární a sekundární name servery ---------------------------------- - informace permanentně uložena v souborech na primárním serveru - sekundární servery periodicky testují u primárního, zda mají aktuální verzi DB, vyžádání transferu databáze od primárního serveru - při změnách v DB nutno změnit číslo verze - caching-only DNS servery Resolver -------- - část SW klienta, který provádí komunikaci s DNS serverem - konfigurace default domain pro relativní jména - konfigurace primárního a záložních name serverů Komunikace resolver-name server (nebo mezi name servery) -------------------------------------------------------- protokol nad UDP port 53, dlouhá data a transfery zón mezi servery TCP port 53. Záznamy databáze DNS -------------------- A: IP adresa NS: nameserver pro doménu MX: poštovní server (brána) pro doménu CNAME: kanonické jméno (alias) SOA: Start of Authority, informace o správě domény PTR - ukazatel na doménové jméno (mapování IP adresy na jméno) HINFO - popisné informace o HW a OS počítače TXT - obecný textový řetězec U každého záznamu doba TTL, po kterou se záznam smí držet v cache Reverzní domény --------------- - mapování IP adres na doménová jména - doména in-addra.arpa, pak rozděleno na NS po bajtech adresy - tyto NS provozují kontinentální správní organizace, poskytovatelé a jednotlivé organizace Př.: 10.146.196.158.in-addr.arpa
- 1993 - globální adresářová struktura - informační model pro ukládání informací v adresáři - hierarchicky * Directory User Agent (DUA), entita na straně klienta pro přístup k adresářové službě * Directory Information Tree (DIT) - logické uspořádání informací adresářové služby DIT může být distribuován mezi více adresářových serverů - podle geografické nebo organizační hierarchie * Každá položka má distinguished name, hierarchie C, O, OU, CN * relative distinguished name * Directory Information Base (DIB) - uchovává jednotlivé položky (objekty) adresáře Položka definována několika atributy, atribut má typ a hodnotu, existují povinné a volitelné atributy Každá položka má povinný atribut typu ObjectClass, ten definuje další atributy Práce s adresářovou službou ---------------------------- - připojení klienta k adresářovému serveru a vytvoření relace - autentikace - pak práce se stromem - operace je možné podepisovat - dosti složitá implementace, protokol DAP založem na protokolech OSI Protokoly --------- DAP: Directory Access Protocol - mezi DUA a serverem DSP: Directory System Protocol - mezi servery, pro zprostředkované vyhledávání informace DISP: Directory Information Shadowing Protocol - replikace databáze mezi servery, možnost vyvažování zátěže mezi více serverů -> klient musí dostat stejný obraz dat bez ohledu na server, na který se přpojuje -> v případě, že server nespravuje požadovanou informaci, vyhledá ji u ostatních serverů (chaining), nebo odkáže klienta na příslušný server (referral) -> možnost vícesměrného dotazování současně na více serverů
- otevřený standard adresářové služby v prostředí Internetu (RFC 1777), podporují i komerční firmy - podmnožina X.500 - nad protokolem TCP - nepotřebuje implementaci složitých OSI protokolů - zjednodušená autentikace při přihlašování k serveru, možnost anonymního přihlašování - servery nevracejí odkaz na jiný server, klientovi se stačí připojit k jednomu serveru - jednodušší kódování dat oproti X.500 - k dispozici knihovna v C pro klienta (RFC 1823) - Práva přístupu k distinguished name: žádná, compare, browse, delete, read, write, - definice tříd objektů přímou součástí protokolu vzniká v.3: - server LDAP nemusí být současně serverem X.500 - původně se LDAP server řešil konverzí LDAP na DAP na straně serveru - povoleno vracení odkazu na jiný server - možnost zjistit třídy objektů a jimi podporované atributy -> rozšiřitelnost schematu - bezpečnostní mechanismy certifikátů X.509, SSL - podpora Unicode - podpora nespojované služby Connectionless LDAP (CLDAP) - nad UDP, pro jednoduché dotazy a rychlou odezvu
- konfigurace parametrů protokolu TCP/IP stanice na základě MAC adresy - BOOTP server a BOOTP klienti - obdoba RARP, ale poskytuje více informací - default gateway, boot image, ... - šíří se v UDP broadcastech, může procházet přes směrovače