Download Jarkom2012-6-Network

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Network Layer
Computer Networks
Eko Prasetyo
Teknik Informatika
Universitas Muhammadiyah Gresik
2012
Network Layer





Membawa paket dari
pengirim ke penerima
Disisi pengirim,
membungkus paket
kedalam datagram
Disisi penerima,
menerima paket dan
menyampaikan ke
transport layer
Protokol network layer
dalam setiap host, router
Router memeriksa field
header semua datagram
IP yang melewatinya.
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
2
Network Layer


forwarding:
memindahkan
paket dari input
router ke output
router yang tepat
routing algorithm
local forwarding table
header value output link
routing:
menentukan rute
yang harus diambil
paket dari sumber
ke tujuan
◦ Routing algorithms
0100
0101
0111
1001
0111
3
2
2
1
1
3 2
value in arriving
packet’s header
3
Isu desain Network Layer
•
•
•
•
•
Store-and-Forward Packet Switching
Services Provided to the Transport Layer
Implementation of Connectionless
Service
Implementation of Connection-Oriented
Service
Comparison of Virtual-Circuit and
Datagram Subnets
4
Store-and-Forward Packet Switching
Lingkungan protokol network layer
5
Virtual circuits: signaling protocols
used to setup, maintain teardown VC
 used in ATM, frame-relay, X.25
 not used in today’s Internet

application
5. Data flow begins
transport
network 4. Call connected
1. Initiate call
data link
physical
application
transport
3. Accept call
network
2. incoming call
data link
physical
6. Receive data
Datagram networks
no call setup at network layer
 routers: no state about end-to-end connections

◦ no network-level concept of “connection”

packets forwarded using destination host address
◦ packets between same source-dest pair may take different paths
application
transport
network
data link
physical
1. Send data
application
transport
network
2. Receive data
data link
physical
Internet Network layer
Host, router network layer functions:
Transport layer: TCP, UDP
Network
layer
IP protocol
•addressing conventions
•datagram format
•packet handling conventions
Routing protocols
•path selection
•RIP, OSPF, BGP
forwarding
table
ICMP protocol
•error reporting
•router “signaling”
Link layer
physical layer
IP
datagram
format
Nomor versi protokol IP
32 bits
header length
(bytes)
“type” of data
Jumlah maksimal
hop yang tersisa
(menurun pada
setiap router)
upper layer protocol
to deliver payload to
how much overhead
with TCP?
r 20 bytes of TCP
r 20 bytes of IP
r = 40 bytes + app
layer overhead
type of
ver head.
len service
16-bit identifier
upper
time to
layer
live
length
fragment
flgs
offset
Internet
checksum
total panjang datagram
(bytes)
for
fragmentation/
reassembly
32 bit source IP address
32 bit destination IP address
Options (if any)
data
(variable length,
typically a TCP
or UDP segment)
E.g. timestamp,
record route
taken, specify
list of routers
to visit.
IP Fragmentation & Reassembly


Network links mempunyai
MTU (max.transfer unit) –
kapasitas datagram
maksimal frame
◦ Berbeda tipe link, beda
MTUs
Data IP besar dipecah
(“fragmented”) dalam
jaringan jaringan
◦ Satu datagram menjadi
beberapa datagram
◦ “reassembled” hanya
ditujuan akhir
◦ Bit IP header digunakan
untuk mengidentifikasi
urutan fragmen yang
berhubungan
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
IP Fragmentation and Reassembly
Example
r 4000 byte datagram
(3980 byte data, 20
byte header IP)
r MTU = 1500 bytes
1480 bytes in
data field, 20 bytes in header IP
offset =
0+1480
length ID
=4000 =x
fragflag
=0
offset
=0
Satu datagram besar menjadi beberapa datagram
yang lebih kecil
length ID
=1500 =x
fragflag
=1
offset
=0
length ID
=1500 =x
fragflag
=1
offset
=1480
length ID
=1040 =x
fragflag
=0
offset
=2960
Comparison of Virtual-Circuit and
Datagram Subnets
5-4
Silahkan Presentasi
826 – 792 – 2131
13
ICMP: Internet Control Message Protocol

Digunakan oleh host dan router
untuk menginformasikan
komunikasi pada level network
◦ Pelaporan error: unreachable
host, network, port, protocol
◦ echo request/reply (digunakan
oleh ping)

network-layer “above” IP:
◦ Pesan ICMP dibawa dalam IP
datagrams

ICMP message: type, code
ditambah 8 bytes pertama IP
datagram yang menyebabkan
error
Type
0
3
3
3
3
3
3
4
8
9
10
11
12
Code description
0
echo reply (ping)
0
dest. network unreachable
1
dest host unreachable
2
dest protocol unreachable
3
dest port unreachable
6
dest network unknown
7
dest host unknown
0
source quench (congestion
control - not used)
0
echo request (ping)
0
route advertisement
0
router discovery
0
TTL expired
0
bad IP header
Traceroute dan ICMP

Sumber mengirim serangkaian
segment UDP pada tujuan
◦ Pertama mempunyai TTL=1
◦ Kedua mempunyai TTL=2, dsb.
◦ Tidak seperti nomor port


Ketika datagram tiba di router
ke-n
When nth datagram arrives
to nth router:
◦ Router membuang datagram
◦ Dan mengirim pesan ICMP ke
sumber (type 11, code 0)
◦ Pesan termasuk nama router
dan alamat IP
Ketika pesan ICMP tiba,
sumber menghitung RTT
 Traceroute melakukan hal ini
tiga kali
Stopping criterion
 Segmen UDP kadang tiba di
host tujuan
 Tujuan mengembalikan paket
ICMP “host unreachable”
(type 3, code 3)
 Ketika sumber mendapati
ICMP ini, berhenti

IP addresses: how to get one?
Q: How does host get IP address?

Hard-coded by system admin in a file
◦ Windows: control-panel->network>configuration->tcp/ip->properties
◦ UNIX: /etc/rc.config

DHCP: Dynamic Host Configuration Protocol:
dynamically get address from as server
◦ “plug-and-play”
IP addresses: how to get one?
Q: Bagaimana jaringan mendapatkan bagian
subnet alamat IP ?
A:Ambil bagian alokasi dari provider ISP
yang mengatur alokasi alamat
ISP's block
11001000 00010111 00010000 00000000
200.23.16.0/20
Organization 0
Organization 1
Organization 2
...
11001000 00010111 00010000 00000000 200.23.16.0/23
11001000 00010111 00010010 00000000 200.23.18.0/23
11001000 00010111 00010100 00000000 200.23.20.0/23
…..
….
….
Organization 7
11001000 00010111 00011110 00000000
200.23.30.0/23
IP addressing: the last word...
Q: Bagimana ISP mendapatkan block alamat
?
A: ICANN: Internet Corporation for Assigned
Names and Numbers
◦ Mengalokasikan lamat
◦ Mengelola DNS
◦ Memberikan mana domain, menyelesaikan
perselisihan domain
Silahkan Presentasi
2663 – 2460 – 4213
19
NAT: Network Address Translation
rest of
Internet
local network
(e.g., home network)
10.0.0/24
10.0.0.4
10.0.0.1
10.0.0.2
138.76.29.7
10.0.0.3
Semua datagrams meninggalkan jaringan Datagram dengan sumber atau tujuan
lokal mempunyai alamat IP NAT tunggal Dalam jaringan ini mempunyai alamat
10.0.0/24 untuk
yang sama : 138.76.29.7,
sumber, tujuan (biasanya)
Yang berbeda nomor port sumber
NAT: Network Address Translation

Motivation: jaringan lokal hanya menggunakan sati
alamat IP yang leboh cepat untuk berhubungan dengan
dunia luar (internet) :
◦ Tidak membutuhkan alokasi range alamat dari ISP-hanya satu
alamat IP digunakan untuk banyak perangkat
◦ Dapat mengubah alamat perangkat dalam jaringan lokasl tanpa
memberitahu dunia luar
◦ Bisa mengganti ISP tanpa mengubah alamat perangkat dalam
jaringan lokal
◦ Perangkat dalam jaringan lokal tidak dialamati secara eksplisit,
ditampakkan oleh dunia luar (security plus)
NAT: Network Address Translation
Implementation: NAT router must:
◦ outgoing datagrams: mengganti (source IP address,
port #) setiap datagram yang keluar (NAT IP
address, new port #)
. . . Server/klien remote (yang dituju) akan menjawab
menggunakan (NAT IP address, new port #) sebagai
alamat tujuan
◦ remember (in NAT translation table) setiap pasangan
translasi (source IP address, port #) ke (NAT IP
address, new port #)
◦ incoming datagrams: mengganti (NAT IP address,
new port #) dalam field tujuan setiap datagram
yang masuk dengan (source IP address, port #)
terkait yang tersimpan dalam tabel NAT
NAT: Network Address Translation
NAT translation table
WAN side addr
LAN side addr
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
1: host 10.0.0.1
sends datagram to
128.119.40, 80
138.76.29.7, 5001 10.0.0.1, 3345
……
……
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
10.0.0.1
1
2
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001
3: Reply arrives
dest. address:
138.76.29.7, 5001
3
10.0.0.4
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
10.0.0.2
4
10.0.0.3
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345
NAT: Network Address Translation

Jumlah field port :
◦ 60,000 koneksi simultan dengan sisi alamat LAN
tunggal !

NAT is controversial:
◦ Router seharusnya hanya memproses sampai dengan
layer 3
◦ Melanggar argumen end-to-end
 NAT memungkinkan untuk diambil sebagai account oleh
desainer aplikasi, misalnya aplikasi P2P
◦ Pemendekan alamat harus diselesaikan dengan IPv6
IPv6
Initial motivation: Space alamat 32-bit
akan habis teralokasikan.
 Alasan tambahan:

◦ Format header membantu mempercepat
processing/forwarding
◦ Header berubah untuk menfasilitasi QoS
IPv6 datagram format:
◦ Panjang header tetap 40 byte
◦ Tidak diperbolehkan fragmentasi
IPv6 Header (Cont)
Priority: identifikasi prioritas diantara datagram dalam flow
Flow Label: identifikasi datagrams dalam “flow.” yang sama
(concept “flow” tidak terdefinisi dengan baik).
Next header: identifikasi protokol upper layer untuk data
Perubahan lain dari IPv4
Checksum: Dihilangkan untuk mengurangi
waktu pemrosesan pada tiap hop
 Options: diperbolehkan, tapi diluar header,
diindikasikan oleh field “Next Header”
 ICMPv6: versi baru ICMP

◦ Ada tipe pesan tambahan,mis “Packet Too Big”
◦ Fungsi manajemen multicast group
Transition From IPv4 To IPv6

Tidak semua router dapat diupgrade
simultan
◦ Tidak ada “flag days”
◦ Bagaimana akan mengoperasikan dalam jaringan
yang menggunakan router IPv4 dan IPv6 saja

Tunneling: IPv6 membawa payload seperti
pada IPv4 datagram diantara router IPv4
Tunneling IPv4 ke IPv6


Tunneling dilakukan untuk migrasi secara bertahap dari
ipv4 ke ipv6 Teknis tunneling otomatis di Linux bisa dibaca
Mekanisme : di blog myteks.wordpress.com
◦ Dual-stack. Cukup menambahkan ipv6 pada setiap komputer
tanpa menghapus ipv4 nya. Di beberapa operating system yang
baru, mereka rata rata telah menerapkan metode dual stack ini.
 Host
◦ Tunnel ipv6 didalam ipv4. Teknik ini menggunakan ipv4
sebagai datalink layer dan ipv6 akan dienkapsulasi kedalam
jaringan ipv4  Host dan Router
◦ Transalasi dari network address translation ke protocol
transfer. Atau dengan menggunakan teknik tcp relay dari ipv4 ke
ipv4. Dimana aplikasi yang menggunakan ipv6 di relay di domain
name server yang kemudian diteruskan ke dns yang
menggunakan ipv4.  Router dan server DNS
Silahkan Presentasi
2453 – 2328 – 4271
30
Routing Algorithm

Routing algorithm: menentukan rute dan
mengelola tabel routing
 Properti
yang dibutuhkan bagi
algoritma routing:
◦ 1. correctness
◦ 2. simplicity
◦ 3. robustness with respect to failures and
changing conditions
◦ 4. stability of the routing decisions
◦ 5. fairness of the resource allocation
◦ 6. optimality of the packet travel times

Algoritma: dijkstra, distance vector,
hierarchical
31
Sumber informasi tabel Routing

Manual
◦ Tabel dibuat oleh admin
◦ Berguna dalam jaringan kecil
◦ Berguna jika rute tidak pernah berubah

Automatic routing
◦ Software membuat/mengganti tabel
◦ Diperlukan dalam jaringan besar
◦ Ada perubahan rute ketika kegagalan terjadi
32
Distance Vector Routing
Setiap router mengelola
tabelnya dengan
menerima jarak terbaik
dari setiap router
tetangganya ke semua
node yang tergabung
dalam jaringan.
 Update dilakukan
dengan pertukaran
informasi dengan
tetangga.
 Disebut juga distributed
Bellman-Ford routing
dan Ford-Fulkerson
algorithm.
 Masih digunakan dalam
jaringan internet dalam
aturan RIP.

(a) A subnet. (b) Input from A, I, H, K, and
the new routing table for J.
Hierarchical
Routing
Hierarchical addressing: route aggregation
Hierarchical addressing allows efficient advertisement of routing
information:
“Send me anything
with addresses
beginning
200.23.0.0/18”
Organization 0
200.23.17.0/23
Organization 1
200.23.18.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
“Send me anything
with addresses
beginning
Fly-By-Night-ISP 200.23.16.0/20”
Toll-ISP
Internet
200.23.30.0/23
Organization 8
200.23.33.0/23
Organization 9
200.23.62.0/23
ISPs-R-Us
“Send me anything
with addresses
beginning
200.23.32.0/19”
“Send me anything
with addresses
beginning
200.23.0.0/18”
Hierarchical addressing: more specific
routes
ISPs-R-Us has a more specific route to Organization 1
Organization 0
200.23.16.0/23
Organization 2
200.23.20.0/23
.
.
.
Organization 7
.
.
.
“Send me anything
with addresses
beginning
Fly-By-Night-ISP 200.23.16.0/20”
“Send me anything
with addresses
beginning
200.23.0.0/18
or 199.31.0.0/18”
Internet
200.23.30.0/23
Organization 1
199.31.1.0/18
Organization 8
200.23.33.0/23
Organization 9
200.23.62.0/23
ISPs-R-Us
“Send me anything
with addresses
Beginning 200.23.32.0/19
or 199.31.0.0/18
”
“Send me anything
with addresses
beginning
200.23.0.0/18
or 199.31.0.0/18”
ANY QUESTIONS ?
37