lab
IP ALAPÚ TÁVKÖZLÉS
TCP/IP alkalmazások
Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
TCP hivatkozási modell, összes protokoll
2
lab
IP ALAPÚ TÁVKÖZLÉS
Remote Procedure Call
Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
1
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Remote Procedure Call Az RPC-vel eljárások (taszkok, szubrutinok) hajthatók végre távolról A kliens végzi a vezérlést Üzeneteket küld a szerverhez, mely tartalmazza a szükséges argumentumokat a távoli eljárásnak A szerver beolvassa az argumentumokat, végrehajtja az eljárást és az eredményt válaszüzenetben visszaküldi a kliensnek A kliens az üzenetből kinyeri az eredményeket és a hívó programnak továbbítja
RPC – viszonyréteg protokoll Mind TCP-t, mind UDP-t is képes használni, ha több adatot kell továbbítani, mint ami egy UDP csomagba belefér 4
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
RPC csomag formátum (version 2 – Sun RPC) Call
IP fejléc
20 bájt
UDP fejléc
8 bájt
Transaction ID
4 bájt
Call (0)
4 bájt
RPC version (2)
4 bájt
Program number
4 bájt
Version number
4 bájt
Procedure number
4 bájt
credentials
Max 408 bájt
verifier
Max 408 bájt
Procedure parameters
N 5
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
RPC csomag formátum - call Transaction ID Kliens állítja be a válaszban ugyanaz szerepel
Call 0 – call, 1 – válasz
Version = 2 Program, version, procedure number Szerver adott eljárásának azonosítására
Credentials Kliens azonosítására
Verifier Secure RPC – DES enkryption 6
2
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
RPC csomag formátum IP fejléc
20 bájt
UDP fejléc
8 bájt
Transaction ID
4 bájt
reply (1)
4 bájt
reply
Status (0=accepted) verifier
Accept status (0=success)
4 bájt Max 400 bájt 4 bájt
Procedure results N
7
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
RPC csomag formátum - reply Transaction ID Kliens állítja be a válaszban ugyanaz szerepel
Call 0 – call, 1 – válasz
Status Ha nem 0, akkor a szerver elutasítja a hívást Verzió eltérés, vagy jogosultsági probléma
Verifier Secure RPC – DES enkryption
Accept status Ha nem 0, akkor pl. rossz verzió, vagy rossz eljárás azonosító 8
lab
IP ALAPÚ TÁVKÖZLÉS
Naming Services DNS - Domain Name System
Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
3
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Domain Name System (DNS) Protokoll szoftverek
Emberek
152.66.69.125
? www.bme.hu
152.66.69.125 – Az Internet címek használata nehézkes az emberek számára DE a protokoll szoftverekhez jól illeszkednek
www.bme.hu – A szimbólikus nevek könnyen megjegyezhetőek az emberek számára DE nehézkes lenne a protokoll szoftverekben való alkalmazásuk 10
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Nevek Fontos lépés a hálózat növekedésében és kezelésében: Hosztok nevekkel azonosíthatóak
Domain Name System Paul Mockapetris Skálázható Hierarchikus mechanizmus a névfeloldásra
11
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS jellemzői Számítógép név – IP cím összerendelés adatbázisa Hierarchikus Elosztott adatbázis, elosztott adminisztráció Legtöbb operációs rendszer támogatja Hátrányok: statikus manuális adminisztráció
12
4
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS jellemzői 2 Legfelsőbb hierarchia: Két alapvető típus: Generic Összesen 7 Általában 3 betű
Ország azonosító 2 betű
13
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS Nevek
Általános (Generic) csoport: Domain
Leírás
.com
Kereskedelmi szervezetek
.edu .gov .mil .net .org .int .info
Oktatási intézmények Kormányzati szervezetek Katonai csoportok Fontosabb hálózati központok A fentiekbe nem tartozó szervezetek Nemzetközi szervezetek Információs oldalak
Országok csoportja (Countries) - ISO 3166 .hu .us .fr
.de 14
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Internet Domain-névterek Általános
int
com
company_name
eng
edu
gov
Oxford CS
eng
ai Linda robot
mil
Országok
org
net
us
ie
hu
Pizza cookie 4Star Krusty Burger
15
5
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Hierarchikus domain név feloldás G yöké r szerv er
.[ország név] szerve r
.hu szerve r
.m atav .hu s zerv er
.e du s zerv er (okta tási)
.co m szerv er (k eres kede lm i)
co m pa q.co m szerve r
.us szerve r
hp .com s zerv er
.g ov szerv er (k orm ány zati)
.ne t szerver (s zolgálta tók)
ibm .com szerv er
hu ngary .net szerve r
.bm e.hu s ze rv er
tm it.bm e.h u szerve r
16
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS működése – példa 1. A felhasználó gépe a helyi DNS szervernek küld egy Felhasználó rekurzív kérelmet az ftp.cisco.com cím feloldására.
2. A helyi DNS szerver nem tartja nyilván a kért nevet, így egy iteratív kérést továbbít a hierarchia legfelsőbb szintjéhez tartozó DNS szerverhez a kért Internet névvel
2
8
A helyi DNS szerver felelős a névfeloldásért, nem írányítja a felhasználó gépét tovább, más DNS szerverekhez, ő gyűjti be az információkat
Gyökér DNS 4
5
6
3
7
Felhasználó oldali, helyi DNS szerver
1
.com DNS
cisco.com DNS
17
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS működése – példa Felhasználó oldali, helyi DNS szerver
1
2
8
7
Gyökér DNS 4
6
3 5
3. A gyökér DNS a gyökér Felhasználó domain neveket nyilván tartja, így válaszol a helyi DNS-nek: megadja a .com címeket nyilvántartó DNS névszerver IP címét 4. A helyi DNS szerver újabb iteratív kérést küld az ftp.cisco.com cím feloldására, de mostmár a .com DNS szerverhez.
.com DNS
cisco.com DNS
18
6
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS működése – példa Felhasználó oldali, helyi DNS szerver
Felhasználó 1
2
8
Gyökér DNS 4
5
6
3
7
5. A .com DNS szerver megküldi a .cisco.comhoz tartozó DNS neveket nyilvántartó DNS szerver IP címét. 6. A helyi DNS szerver iteratív kérést továbbít a cisco.com DNS szerverhez az ftp.cisco.com cím feloldására
.com DNS
cisco.com DNS
19
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS működése – példa Felhasználó oldali, helyi DNS szerver
Felhasználó 1
2
8
Gyökér DNS 4
6
3 5
7
7. A cisco.com DNS szerver a helyi DNS szervernek megküldi az ftp.cisco.com névhez tartozó IP címet 8. A helyi DNS szerver továbbítja a megszerzett IP címet a felhasználó gépe felé
.com DNS
cisco.com DNS
20
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS caching (gyorstárazás) DNS szerverek az Interneten eltárolják a korábban használt név és IP cím párokat Gyorsabb névfeloldás – nagyobb teljesítmény Kevesebb redundáns forgalom a világhálózaton
A DNS szerverek az eltárolt információkat továbbítják a felhasználók számítógépeinek, de megjelölik, hogy az tárolt információ (non-authoritative binding)
21
7
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS caching (gyorstárazás) Ha a felhasználónak a gyorsaság, a hatékonyság a fontos A felhasználó elfogadja a tárolt információt és folytatja a műveletét
Ha a pontosság, a hitelesség a fontos Kapcsolatba lépnek a valódi DNS szerverrel és ellenőrzik, hogy a címhozzárendelés még valóban érvényes-e
Ha egy DNS szerver egy névfeloldásra válaszol, ahhoz minden esetben csatol egy érvényességre vonatkozó értéket (Time To Live - TTL value), mely megadja, hogy a hozzárendelés garantáltan meddig érvényes 22
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS rekordok felépítése
A CNAME HINFO MX (Mailbox NS PTR SOA WKS
Host cím Alias név Comment ( CPU/OS) Mail exchange hozzárendelése egy hosthoz) -
23
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
24
8
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS üzenet formátuma
12 bájt fejléc
Identification
flags
#of Questions
#of Answers
#of Authority
#of Additional Questions … Answers … Authorities …
Additional Information …
25
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS üzenet formátuma 2 Identification: Kliens választja, szerver ugyanezt küldi vissza Kérés-válaszban azonosnak kell lenni
Flags Több részből áll – üzenet típusának meghatározása Query – response Opcode: standard-, inverse query, server status request Truncated bit: ha az információ nem fér bele 1 UDP csomagba (512 byte) – csak az eleje szerepel a válaszban TCP-n jöhet a teljes adat Recursive – iterative query Rcode – authoritative server: a kért név nem létezik ... 26
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS üzenet formátuma 3 - Query Query Domain Name … Query Class
Query Type
Questions mező tartalma: Query name: Megkeresendő név. Tartalma és formája: 5qosip4tmit3bme2hu0 – a számok az adott rész hossza
Query type: A (1): IP címet keres PTR (12): IP címhez tartozó név (pointer record) ...
Query class: 1 Internet cím 27
9
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS üzenet formátuma 4 Válasz: Answer, authority, additional information mező formátuma egyező – resource record
Resource Domain Name Type
Class TTL
Length Resource Data
28
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
DNS üzenet formátuma 4 Resource Domain Name A keresett név – formátuma ld. korábban: 5qosip4tmit3bme2hu0
Type Uaz. mint a query type
Class 1=Internet data
Time-to-live Általános érték 2 nap (cache max hossza)
Length Data hossza
Data Formátum a type-tól függ: Pl. 1 esetén 4 bájtos IP cím 29
lab
IP ALAPÚ TÁVKÖZLÉS
Naming Services WINS - Windows Internet Name Services
Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
10
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
WINS Számítógép neve (NetBios) – IP cím adatbázis Előny: Dinamikus, kevés manuális adminisztráció
Hátrányok: Nincs hierarchikus névtér Csak Microsoft platformokra
Használat: Kis rendszerekben Csak Windows és/vagy dos OS
DNS-sel való együttműködés megoldva 31
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
WINS operation Host 1
Address registration request Host 1 = 152.66.78.23
WINS Server ack
Host 2
Host 1 IP address?
Host 1 = 152.66.78.23
32
lab
IP ALAPÚ TÁVKÖZLÉS
Egyéb alkalmazások
Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
11
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Trivial File Transfer Protocol (TFTP) nagyon egyszerű protokoll fájlátvitelre Kliens szerver achitektúra TFTP szerver TFTP kliens
UDP protokoll (port 69) TCP helyett! Nincs szükség folyamatos kapcsolatra
Nincs hitelesítés Megbízhatatlan Csak kicsi és „biztonságos” hálózatokban!
512 bájtos adatok 34
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
TFTP Csomagvesztés a teljes fájl újraküldésével jár Használat: Kliens – Szerver rendszerek, kliensek hard disk nélkül Bootoláshoz szükséges fájlok letöltésére - BOOTP A TFTP kliens program ROM-ban is elfér
X terminálok
Egyszerű program, kevés memóriaigénnyel Nincs kapcsolat felépítés és bontás Nincs felhasználó azonosítás és jelszó
szintaxis: tftp host_name GET file_name.txt
35
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Finger protokoll Információs szolgáltatás Finger szerver – well known port: 79 Kliens: query-t küld Válasz: egy vagy több felhasználó adatai az adott hoszton Pl.:
sun % finger Login Name rstevens Richard Stevens rstevens Richard Stevens
Tty Idle Login Time Office Office Phone *co 45 Jul 31 09:13 *c2 45 Aug 5 09:41
36
12
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Whois protokoll Információs szolgáltatás Whois szerver – well known port: 43 Hasonló információk a fingerhez De egy felhasznlónévre kereshetünk rá sun % whois stevens Stevens, W. Richard (WRS28)
[email protected] +1 602 297 9416
37
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
X-Window Kliens-szerver alkalmazás Több kliensnek lehetővé teszi, hogy grafikus felületen dolgozzon a szerveren „grafikus telnet” A szerver kezeli a kijelzőt, a billentyűzetet, az egeret A kliens szoftver végzi a megjelenítést, és a beviteli eszközök információinak továbbítását
Megbízható kapcsolat orientált kommunikáció szükséges: TCP
38
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
X-Window Működés:
39
13
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
SNMP Simple Network Management Protocol Network management protokollja
Kapcsolatot teremt: Menedzsment állomások Menedzsment szoftvert futtat Cél: a hálózat felügyelete, vezérlése
Hálózati elemek között Hoszt, router, printer, stb.
Ld. később
40
lab
IP ALAPÚ TÁVKÖZLÉS
tcpdump program
Távközlési és Médiainformatikai Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
tcpdump
Működése: Hálózati interfész kártya promiscuous mode-ba helyezi: Minden átmenő csomagot elment (capture) Az elmentett csomagok megjeleníthetők, fájlba menthetők szűrhetők
42
14
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Példa BSD rendszerben BSD packet filter (BPF)
43
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Példák % tcpdump tcp port 25 Olyan TCP szegmensek megjelenítése, melyek valamely (forrás v. cél) portja 25
% tcpdump ‘icmp[0] !=8 and icmp[0] != 0‘ ICMP üzeneteket jelenít meg Melyek nem echo request-ek és nem echo reply-ok = Nem ping!
44
TMIT BME
IP ALAPÚ TÁVKÖZLÉS
Kimenet sun % tcpdump -e tcpdump: listening on le0 09:11:22.642008 0:0:c0:6f:2d:40 ff:ff:f f:ff:ff:ff arp 60: arp who-has svr4 tell bsdi 09:11:22.644182 0;0:c0:c2:9b:26 0:0:c0:6f:2d:40 arp 60: arp reply svr4 is-at 0:0:c0:c2:9b:26 09:11:22.644839 0:0:c0:6f:2d:40 0:0:c0:c2:9b:26 ip 60: bsdi.1030 > svr4.discard: S 596459521:596459521(0) win 4096 <mss 1024> [tos 0x10] 09:11:22.649842 0:0:c0:c2:9b:26 0:0:c0:6f:2d:40 ip 60: svr4.discard > bsdi.1030: S 3562228225:3562228225(0) ack 596459522 win 4096 <mss 1024> 09:11:22.651623 0:0:c0:6f:2d:40 0:0:c0:c2:9b:26 ip 60: bsdi.1030 > svr4.discard: . ack 1 win 4096 [tos 0x10]
45
15