Jarkom2012-6-Network

advertisement

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: menentukan rute yang harus diambil paket dari sumber ke tujuan

◦ Routing algorithms value in arriving packet’s header routing algorithm local forwarding table header value output link

0100

0101

0111

1001

3

2

2

1

0111

3

2

1

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 transport network data link physical

5. Data flow begins

4. Call connected

1. Initiate call

6. Receive data

3. Accept call

2. incoming call application transport network data link physical

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

2. Receive data application transport network data link physical

Internet Network layer

Host, router network layer functions:

Network layer

Routing protocols

•path selection

•RIP, OSPF, BGP

Transport layer: TCP, UDP

IP protocol

•addressing conventions

•datagram format

•packet handling conventions forwarding table

Link layer physical layer

ICMP protocol

•error reporting

•router “signaling”

IP datagram format

Nomor versi protokol IP

32 bits header length

(bytes)

“type” of data

Jumlah maksimal hop yang tersisa

(menurun pada setiap router) ver head.

len type of service

16-bit identifier time to live upper layer flgs length fragment offset

Internet checksum

32 bit source IP address

32 bit destination IP address upper layer protocol to deliver payload to r r r how much overhead with TCP?

20 bytes of TCP

20 bytes of IP

= 40 bytes + app layer overhead

Options (if any) data

(variable length, typically a TCP or UDP segment) total panjang datagram

(bytes) for fragmentation/ reassembly

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 reassembly fragmentation: in: one large datagram out: 3 smaller datagrams

IP Fragmentation and Reassembly

r r

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 length

=4000

ID

=x fragflag

=0 offset

=0

Satu datagram besar menjadi beberapa datagram yang lebih kecil length

=1500

ID

=x fragflag

=1 offset

=0 length

=1500

ID

=x fragflag

=1 offset

=1480 length

=1040

ID

=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 Code description

0 0 echo reply (ping)

3 0 dest. network unreachable

3 1 dest host unreachable

3 2 dest protocol unreachable

3 3 dest port unreachable

3 6 dest network unknown

3 7 dest host unknown

4 0 source quench (congestion control - not used)

8 0 echo request (ping)

9 0 route advertisement

10 0 router discovery

11 0 TTL expired

12 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: D ynamic H ost C onfiguration P rotocol: 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 : I nternet C orporation for A ssigned

N ames and N umbers

◦ 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 lokal mempunyai alamat IP NAT tunggal yang sama : 138.76.29.7,

Yang berbeda nomor port sumber

Datagram dengan sumber atau tujuan

Dalam jaringan ini mempunyai alamat

10.0.0/24 untuk sumber, tujuan (biasanya)

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 address, new port #)

(source IP address,

◦ remember (in NAT translation table) address, new port #) setiap pasangan

◦ incoming datagrams: mengganti (NAT IP address,

NAT: Network Address Translation

2: NAT router changes datagram source addr from

10.0.0.1, 3345 to

138.76.29.7, 5001, updates table

2

NAT translation table

WAN side addr LAN side addr

138.76.29.7, 5001 10.0.0.1, 3345

…… ……

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

1: host 10.0.0.1 sends datagram to

128.119.40, 80

S: 10.0.0.1, 3345

D: 128.119.40.186, 80

10.0.0.1

1

10.0.0.4

10.0.0.2

S: 128.119.40.186, 80

D: 10.0.0.1, 3345

4

4: NAT router changes datagram dest addr from

138.76.29.7, 5001 to 10.0.0.1, 3345

10.0.0.3

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

.

.

.

200.23.30.0/23

Organization 8

200.23.33.0/23

Organization 9

200.23.62.0/23

.

.

.

Fly-By-Night-ISP

“Send me anything with addresses beginning

200.23.16.0/20”

ISPs-R-Us

“Send me anything with addresses beginning

200.23.32.0/19”

Toll-ISP

Internet

“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

“Send me anything with addresses beginning

Fly-By-Night-ISP

200.23.16.0/20”

Organization 2

200.23.20.0/23

Organization 7

.

.

.

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”

Internet

“Send me anything with addresses beginning

200.23.0.0/18 or 199.31.0.0/18”

ANY QUESTIONS ?

37

Download