Transcript ppt

Pregled na najvažnije koncepte mreže
Uvod u mreže.
Ova prezentacija koristi primjer sa prve prezentacije (prezentacija sa
prve vježbe) da bi napravili pregled najvažnijih koncepata mreže:
arhitektura protokola, protokol slojevi, encapsulation, demultipleksiranje,
mrežna apstrakcija.
1
Mrežni koncepti (koncept, skica, nacrt, plan)
• Arhitektura protokola
• Protokol slojevi
• Encapsulation
• Mrežna apstrakcija
2
Slanje paketa sa Argon-1 prema Neon-u
argon.tcpip-lab.edu
"Argon"
128.143.137.144
neon.tcpip-lab.edu
"Neon"
128.143.71.21
router137.tcpip-lab.edu
"Router137"
128.143.137.1
router71.tcpip-lab.edu
"Router71"
128.143.71.1
Router
Ethernet Network
Ethernet Network
3
Slanje paketa sa128.143.71.21
Argon-1nije
prema
Neon-u
na mojoj lokalnoj mreži.
Prema tom, ja trebam poslati paket svom
128.143.71.21
je na
mojoj lokalnoj
mreži.
default
gateway-u čija
je adresa
128.143.137.1
DNS:
DNS:
ThejeIP
adresa
of
Prema tome, ja mogu poslati paket direktno.
ARP:Koja
Koja
jeIPaddress
MAC
adresa
od“neon.tcpip-lab.edu
”is? od
od“neon.tcpip-lab.edu
128.143.137.1?
ARP:
(jedina) MAC ”adresa
128.143.71.21
128.143.137.1 je 00:e0:f9:23:a8:20
argon.tcpip-lab.edu
"Argon"
128.143.137.144
ARP: Koja je MAC adresa
ARP:
(jedina) MAC adresa od
od 128.143.71.21?
128.143.137.1 jeneon.tcpip-lab.edu
00:20:af:03:98:28
"Neon"
128.143.71.21
router137.tcpip-lab.edu
"Router137"
128.143.137.1
router71.tcpip-lab.edu
"Router71"
128.143.71.1
Router
frame
Ethernet Network
frame
Ethernet Network
4
Komunikacijska arhitektura
• Kompleksnost komunikaciskog zadatka se svodi na korištenje
mnogostrukih protokol slojeva:
• Svaki protokol se implementira nezavisno
• Svaki protokol je odgovoran za odgovarajući
podzadatak
• Svi protokoli su grupirani u hijerarhiju
• Strukturu skupa protokola zovemo komunikaciska arhitektura
ili protokol nacrt
5
TCP/IP protokol nacrt
• (jedina) TCP/IP protokol nacrt je
(jedinstvena) protokol arhitektura
Internet-a
Application
User-level programs
Transport
• TCP/IP nacrt ima četri sloja:
Programi, Prenos, Mreža i
Podaci-veza sloj
• Sistemi na kraju veze (host-ovi)
primjenjuju sva četri sloja.
Gateway-i (Router-i) su jedini koji
imaju dva donja sloja.
Operating system
Network
Data Link
Data Link
Media Access
Control (MAC)
Sublayer in
Local Area
Networks
6
Funkcija slojeva
• Podaci- veza sloj:
– Namjena:
Pouzdan prenos frejme-ova preko veze
Media Access Control koji se nalazi na LAN-u
– Funkcija:
Framing, media access control, provjera greški
• Mrežni sloj:
– Namjena:
Pomjera pakete sa izvornog host-a do željenog host-a
– Funkcija:
Routing, addressing
• Prenosni sloj:
– Namjena:
– Funkcija:
Dostava podataka između host-ova
Veza je uspostavljena\ukinuta, kontrolisanje greški
kontrola protoka
• Programski sloj:
– Namjena:
Programi za specifičnu namjenu (dostavljanje email-a,
prikaz HTML dokumentadocuments, pouzdano slanje
podataka)
– Funkcija:
Zavisi od specifičnosti programa
7
TCP/IP nacrt i OSI Reference Model
Application
Layer
(jedini) TCP/IP protokol stek ne
definiše donje slojeve od
kompletnog protokol stek-a
(Šta je stek?)
Application
Layer
Transport
Layer
Network
Layer
(Data) Link
Layer
Presentation
Layer
Session
Layer
Transport
Layer
Network
Layer
(Data) Link
Layer
Physical
Layer
TCP/IP Suite
OSI
Reference
Model
8
Zaduživanje protokola odgovarajćim slojevim
ping
application
HTTP
Telnet
FTP
TCP
DNS
SNMP
Application
Layer
Transport
Layer
UDP
Routing Protocols
ICMP
RIP
IP
IGMP
PIM
Network
Layer
OSPF
DHCP
ARP
Ethernet
Network
Interface
Data Link
Layer
9
Komunikacija preko slojeva
• Entitet određenog sloja može jedino komunicirati sa:
1. peer sloj entitet-om korištenjem zajedničkog protokola
(Peer Protocol)
2. susjednim sloj-em da omogući servis i da primi servis
N+1 Layer
N+1 Layer
Entity
N+1 Layer Protocol
N+1 Layer
Entity
N Layer
Entity
N Layer Protocol
N Layer
Entity
N-1 Layer
Entity
N-1 Layer Protocol
N-1 Layer
Entity
layer N+1/N
interface
N Layer
layer N/N-1
interface
N-1 Layer
10
Slojevi komunikacije
Sloj N+1 entitet vidi donje slojeve jedino kao service provider
(service provider se prevodi kao davatelj usluga)
N+1 Layer
Entity
N+1 Layer Peer Protocol
N+1 Layer
Entity
Indicate
Delivery
Request
Delivery
Service Provider
11
Service (service ili usluga) Access Points
• Servisni korisnički pristup je usluga od service providera
(provajder ili davatelj ili poslužitelj) na Service Access Points
(SAPs)
• SAP posjeduje adrese koje jedinstveno određuju gdje se
servisu može pristupiti
N Layer
Layer-N
Entity
Layer
N-1
SAP
layer N/N-1
service interface
N-1
Layer
Layer- N-1
Entity
12
Razmjena podataka
• Jedinična količina podataka koja se šalje između peer entiteta se zove
Protocol Data Unit (PDU)
• Za sad, tumačimo PDU kao jedan paket
A
N Layer
Entity
PDU
(at layer N)
N Layer
Entity
B
• Scenario: Sloj-N na A šalje sloj-N PDU prema sloju-N na B
• Šta se u stvari dešava:
– A sloj-N šalje PDU prema jednom od SAP-ova na sloju-N-1
– Sloj-N-1 entitet na A svoj sopstveni (sloj-N-1) PDU koji se šalje prema sloju-N1 entiteta od B
– PDU na sloju-N-1 = sloj-N-1 zaglavlje + sloj–N PDU
13
Razmjena podataka
A
B
Layer-N
Entity
control
Layer-N PDU and control data is
sent to SAP of Layer-N-1
Layer-N
Entity
N PDU
SAPs
Layer- N-1
Entity
Layer- N-1
Entity
Header
control
N PDU
(of layer N-1)
N PDU
PDU of Layer-N-1
14
Slojevi u primjeru
HTTP
HTTP protocol
HTTP
TCP
TCP protocol
TCP
IP
Ethernet
IP
IP protocol
Ethernet
argon.tcpiplab.edu
128.143.137.144
Ethernet
IP protocol
Ethernet
Ethernet
router71.tcpip- router137.tcpiplab.edu
lab.edu
128.143.137.1
128.143.71.1
00:e0:f9:23:a8:20
IP
Ethernet
neon.tcpip-lab.edu
128.143.71.21
15
Layers in the Example
HTTP
TCP
IP
Frame je na IP
datagram-u
Ethernet
Šalje HTTP zahtjev
prema Neon-u
Uspostavlja vezu sa 128.143.71.21 na portu
broj 80Orvara TCP vezu sa
128.143.71.21 na portu broj 80
IP datagram je TCP
segment za port 80
Šaljezahtjev
IP datagram
Šalje datagram (koja sadrži
za vezu)
Šalje IP datagram
prema
IP
prema 128.143.71.21 prema 128.143.71.21
128.143.71.21
Frame je na IP
datagram-u
Šalje datagram prema 128.143.137.1
Ethernet
Ethernet
HTTP
TCP
IP
Šalje datagram
Ethernet
prema 128.143.7.21
argon.tcpipneon.tcpip-lab.edu
router71.tcpip- router137.tcpipŠalje Ethernet frame
Šalje Ethernet frame
lab.edu
128.143.71.21
lab.edu
lab.edu
prema 00:20:af:03:98:28
prema 00:e0:f9:23:a8:20
128.143.137.144
128.143.137.1
128.143.71.1
00:e0:f9:23:a8:20
16
Slojevi i servisi
• Servis opremljen sa TCP prema HTTP:
– pouzdan prenos podataka na logičkom vezom
• Servis opremljen sa IP prema TCP:
– nepouzdan prenos IP datagram-a preko IP mreže
• Servis opremljen sa Ethernet prema IP:
– Prenos frejmova preko Ethernet segmenata
• Ostali servisi:
– DNS: Prenos između domain imena i IP adresa
– ARP: Prevođenje između IP adresa i MAC adresa
17
Encapsulation i Demultipleksiranje
• Encapsulation (sažimanje)
• Kako se podatak pomjera dole u protokol steku, svaki
protokol dodaje sloj-specifikaciju za kontrolu informacija
User data
HTTP
HTTP Header
User data
HTTP Header
User data
TCP
TCP Header
IP
TCP segment
IP Header
Ethernet
TCP Header
HTTP Header
User data
IP datagram
Ethernet
Header
IP Header
TCP Header
HTTP Header
Ethernet frame
User data
Ethernet
Trailer
18
Encapsulation i demultipleksiranje
u našem primjeru
• Pogledajmo detaljnije u Ethernet frame između Argon i
Router, koji sadrži TCP zahtjev za vezu prema Neon-u.
• Ovaj frame je u hexadecimal-nom zapisu .
00e0
9d08
0050
0204
f923 a820 00a0 2471 e444 0800 4500 002c
4000 8006 8bff 808f 8990 808f 4715 065b
0009 465b 0000 0000 6002 2000 598e 0000
05b4
19
Ethereal
Pogled 1:
Zbir svih
paketa
Pogled 2:
Detalji zaglavlja
od paketa
View 3:
Sadržaj paketa u
hexadecimal
i ASCII
obliku
20
Raščlanjivanje informacija
sadržanih u frame-u
4 bytes
destination address
00:e0:f9:23:a8:20
Ethernet
header
(14 bytes)
source address
0:a0:24:71:e4:44
type
0x0800
version
0x4
IP Header
(20 bytes)
Type of Service/TOS
0x5
0x00
Identification
flags
0x9d08
0102
time-to;ive
protocol
0x80
0x06
cource IP address
128.143.137.144
destination IP address
128.143.71.21
header length
source port number
162710
TCP Header
(24 bytes)
0x6
Ethernet
trailer
(4 bytes)
destination port number
8010
sequence number
0x0009465b
acknowledgement number
0x00000000
flags
0000102
unused
0000002
TCP checksum
0x598e
option type
option length
0x02
0x04
header length
total length (in bytes)
0x002c
fragment offset
00000000000002
header checksum
0x8bff
window size
819210
urgent pointer
0x0000
maximum segment size
146010
CRC
21
Encapsulation i demultipleksiranje
6 bytes
destination address
4 bytes
source address
type
Ethernet Header
CRC
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
22
Encapsulation i demultipleksiranje :
Ethernet zaglavlje
6 bytes
00:e0:f9:23:a8:20
4 bytes
0:a0:24:71:e4:44
0x0800
Ethernet Header
CRC
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
23
Encapsulation i demultipleksiranje:
IP zaglavlje
32 bits
version
(4 bits)
header
length
DS
flags
(3 bits)
Identification (16 bits)
TTL Time-to-Live
(8 bits)
Total Length (in bytes)
(16 bits)
ECN
Protocol
(8 bits)
Fragment Offset (13 bits)
Header Checksum (16 bits)
Source IP address (32 bits)
Destination IP address (32 bits)
Ethernet Header
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
24
Encapsulation i demultipleksiranje:
IP zaglavlje
32 bits
0x4
0x5
0x0
0x0
9d08
12810
4410
0102
00000000000002
0x06
8bff
128.143.137.144
128.143.71.21
Ethernet Header
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
25
Encapsulation i demultipleksiranje:
TCP Zaglavlje
32 bits
Source Port Number
Destination Port Number
Sequence number (32 bits)
Acknowledgement number (32 bits)
header
length
0
Flags
TCP checksum
option
type
Ethernet Header
IP Header
length
window size
urgent pointer
Max. segment size
TCP Header
Application data
Izborno:
maksimalna
veličina
segmenta
Ethernet Trailer
Ethernet frame
26
Encapsulation i demultipleksiranje:
TCP zaglavlje
32 bits
162710
8010
60783510
010
610
0000002
0000102
0x598e
210
Ethernet Header
IP Header
819210
00002
410
TCP Header
146010
Application data
Ethernet Trailer
Ethernet frame
27
Encapsulation i demultipleksiranje:
Programski podaci
Nema podataka o
programu u ovom
frame-u
Ethernet Header
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
28
Različiti pogledi na mrežu
• Različiti slojevi protokol steka imaju različit pogled na mrežu.
Ovo je HTTP-ov i TCP-ov pogled na mrežu.
Argon
128.143.137.144
Neon
128.143.71.21
HTTP client
HTTP
server
HTTP
server
TCP client
TCP server
TCP server
IP Network
29
Pogled na mrežu od IP protokola
30
Ethernet-ov pogled na mrežu
• Ethernet-ov pogled na mrežu
31
Literatura
• "Mastering Networks: An Internet Lab Manual"; Jorg
Liebeherr, Magda El Zarki; Chapter 0.
• http://www.cs.virginia.edu/~itlab/book/slides/
32