network layer

37
Network Layer Computer Networks Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012

Upload: jessica-blanchard

Post on 31-Dec-2015

32 views

Category:

Documents


1 download

DESCRIPTION

Network Layer. Computer Networks. Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012. network data link physical. network data link physical. network data link physical. network data link physical. network data link physical. network data link physical. - PowerPoint PPT Presentation

TRANSCRIPT

Network LayerComputer Networks

Eko PrasetyoTeknik Informatika

Universitas Muhammadiyah Gresik2012

2

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.

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

3

Network Layerforwarding:

memindahkan paket dari input router ke output router yang tepat

routing: menentukan rute yang harus diambil paket dari sumber ke tujuan

◦ Routing algorithms

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value

output link0100

010101111001

3221

4

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

5

Store-and-Forward Packet Switching

Lingkungan protokol network layer

Virtual circuits: signaling protocolsused to setup, maintain teardown VCused in ATM, frame-relay, X.25not used in today’s Internet

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Initiate call 2. incoming call3. Accept call4. Call connected

5. Data flow begins 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 pathsapplicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Send data 2. Receive data

Internet Network layer

Host, router network layer functions:

forwardingtable

Routing protocols•path selection•RIP, OSPF, BGP

IP protocol•addressing conventions•datagram format•packet handling conventions

ICMP protocol•error reporting•router “signaling”

Transport layer: TCP, UDP

Link layer

physical layer

Networklayer

IP datagram format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifier

Internet checksum

time tolive

32 bit source IP address

Nomor versi protokol IP

header length (bytes)

Jumlah maksimal hop yang tersisa(menurun pada

setiap router)

forfragmentation/reassembly

total panjang datagram(bytes)

upper layer protocolto deliver payload to

head.len

type ofservice

“type” of data flgs fragment offset

upper layer

32 bit destination IP address

Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.

how much overhead with TCP?

20 bytes of TCP 20 bytes of IP = 40 bytes + app

layer overhead

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 datagramout: 3 smaller datagrams

reassembly

IP Fragmentation and Reassembly

ID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=1480

fragflag=1

length=1500

ID=x

offset=2960

fragflag=0

length=1040

Satu datagram besar menjadi beberapa datagram yang lebih kecil

Example 4000 byte datagram

(3980 byte data, 20 byte header IP)

MTU = 1500 bytes

1480 bytes in data field, 20 bytes in header IP

offset =0+1480

Comparison of Virtual-Circuit and Datagram Subnets

5-4

13

826 – 792 – 2131Silahkan Presentasi

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 Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 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.configDHCP: 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 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 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

19

2663 – 2460 – 4213Silahkan Presentasi

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0/24

rest ofInternet

Datagram dengan sumber atau tujuanDalam jaringan ini mempunyai alamat

10.0.0/24 untuk sumber, tujuan (biasanya)

Semua datagrams meninggalkan jaringan lokal mempunyai alamat IP NAT tunggal

yang sama : 138.76.29.7,Yang berbeda nomor port sumber

NAT: Network Address TranslationMotivation: 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 TranslationImplementation: 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

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

1

10.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40, 80

NAT translation tableWAN side addr LAN side addr

138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4

S: 138.76.29.7, 5001D: 128.119.40.186, 802

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: Reply arrives dest. address: 138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.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

IPv6Initial 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 flowFlow Label: identifikasi datagrams dalam “flow.” yang sama (concept “flow” tidak terdefinisi dengan baik).Next header: identifikasi protokol upper layer untuk data

Perubahan lain dari IPv4Checksum: 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 IPv6Tidak semua router dapat diupgrade

simultan◦Tidak ada “flag days”◦Bagaimana akan mengoperasikan dalam jaringan

yang menggunakan router IPv4 dan IPv6 sajaTunneling: IPv6 membawa payload seperti

pada IPv4 datagram diantara router IPv4

Tunneling IPv4 ke IPv6Tunneling dilakukan untuk migrasi secara

bertahap dari ipv4 ke ipv6Mekanisme :

◦ 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

Teknis tunneling otomatis di Linux bisa dibaca di blog myteks.wordpress.com

30

2453 – 2328 – 4271Silahkan Presentasi

31

Routing AlgorithmRouting algorithm: menentukan rute dan mengelola

tabel routingProperti 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

32

Sumber informasi tabel RoutingManual

◦Tabel dibuat oleh admin◦Berguna dalam jaringan kecil◦Berguna jika rute tidak pernah

berubahAutomatic routing

◦Software membuat/mengganti tabel◦Diperlukan dalam jaringan besar◦Ada perubahan rute ketika

kegagalan terjadi

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

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.17.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7

“Send me anything with addresses beginning200.23.0.0/18”Organization 1

ISPs-R-Us “Send me anythingwith addresses beginning 200.23.32.0/19”

200.23.20.0/23Organization 2

...

...

Hierarchical addressing allows efficient advertisement of routing information:

Internet

200.23.33.0/23

Organization 8

200.23.62.0/23

Organization 9

Toll-ISP

“Send me anything with addresses beginning200.23.0.0/18”

Hierarchical addressing: more specific routes

ISPs-R-Us has a more specific route to Organization 1

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23

199.31.1.0/18

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7

Organization 1ISPs-R-Us “Send me anything

with addresses Beginning 200.23.32.0/19 or 199.31.0.0/18”

200.23.20.0/23Organization 2

...

...

200.23.33.0/23

Organization 8

200.23.62.0/23

Organization 9

Internet

“Send me anything with addresses beginning200.23.0.0/18or 199.31.0.0/18”

“Send me anything with addresses beginning200.23.0.0/18or 199.31.0.0/18”

37

ANY QUESTIONS ?