Routing (Bab 4.2) Global Internet (Bab 4.3) Multicast (Bab 4.4)

  Semester Genap 2003/2004 Jaringan Komputer Fakultas Ilmu Komputer Universitas Indonesia Internetworking (Week 8 & 9)

  Routing (Bab 4.2) Global Internet (Bab 4.3) Multicast (Bab 4.4)

  Agenda Problem: There is more than one network!

Simple Internetworking (Bab 4.1)

  • Basis internetwork (Bab 4.1.1)
  • Service model (Bab 4.1.2)
  • Global Address & ARP (Bab 4.1.3, 4.1.5)
  • Datagram Forwarding: IP (Bab 4.1.4)
  • Host Configuration: DHCP (Bab 4.1.6)
  • Error Reporting: ICMP (Bab 4.1.7)
  • Virtual Networks & Terminals (Bab 4.1.8)
The Big Picture: Internetworking 00011101 11001001 00010001 You are here, chapter 4

  Review (… so far)

Understand

  Bagaimana bentuk/dasar jaringan: host terhubung langsung => link tunggal (one physical medium) Bagaimana membangun jaringan lebih besar (connected networks: switch & bridges).

Internetworking

  

Masalah variasi dan heterogenitas jaringan => implementasi yang berbeda pada protokol bawah (layer 1 & 2) dan hardware. Membahas jaringan yang berkembang menjadi

sangat besar, mis. Internet (scalability issues). Scope: Internetworking

Rincian topik internetworking

  Rujukan: [PET00] Peterson and Davie 2 nd ed., ch. 4 Basics of Internetworking

  Basis internetworking: IP protocol, address resolution, & control messages

Topik (in-depth): routing Topik (sekilas): global internets (scale)

  • virtual geography and addresses
  • hierarchical routing
  • name translation and lookup
  • multicast traffic
  • future internetworking: IPv6

Apa yang disebut: internetwork?

  Ilusi terhadap koneksi seperti: suatu jaringan (direct link) tunggal Dalam praktek: jaringan dibangun diatas kumpulan berbagai jenis jaringan.

  Dalam praktek: penulisan software (proses) yang mendukung model abstraksi “communication channel”.

Sifat:

  Mendukung heterogenitas jaringan: tidak bergantung pada implementasi hardware, topologi dan platform (sistem operasi, jenis nodes dll) Potensi skala konetivitas

Basics of Internetworking

  “The Internet: a specific global internetwork that grew out of ARPANET”

Internet: widely used, global internetwork Kita akan mendalami prinsip internetworking, dgn menggunakan Internet sbg contoh Heterogeneity

Routers (R1, R2..) interconnect networks of different types

  Network 1 (Ethernet) H7 R3 H8 H1 H2 H3 Network 4

  (point-to-point) Network 2 (Ethernet) R1 R2 H4

  Network 3 (FDDI) H5 H6 FDDI: Fiber Distributed Data Interface Heterogeneity

Protocol stack perspective H1

  H8 Transport

  TCP

  Layer

  IP

  IP

  IP

  IP

  IP Network Layer Data Link

  

FDDI PPP ETH ETH ETH FDDI PPP ETH Layer Internet Protocol (IP): protocol stack

Network protocol for the Internet Operates on all hosts and routers (routers are nodes connecting distinct networks into the Internet) ..

  ...

  FTP HTTP TFTP TCP UDP

  IP ...

  ...

  Ethernet FDDI ATM phone line The Internet Protocol: Layer App Transport Network Link TCP / UDP

  IP Data Hdr Data Hdr TCP Segment

  IP Datagram Layer Paket data yang dikirimkan dalam internetworking

  Paket data yang dibuat oleh end-system (host) IP: Outline topics

Outline of internetworking with IP

  service model overview of message transmission host addressing and address translation datagram forwarding fragmentation and reassembly error reporting/control messages dynamic configuration protocol extensions through tunneling IP: service model

Service untuk Transport layer (TCP, UDP)

global name space & identifikasi host (address) host-to-host connectivity (connectionless) “best effort” packet delivery

  

Not in service model: delivery guarantees

on bandwidth, atau delay => DATAGRAM

Delivery failure modes

  packet delayed for very long time packet lost packet delivered more than once packets delivered out of order

Message transmission

  Ethernet (ETH)

  FDDI ATM MyHost

  OtherHost

Message transmission

  TCP TCP

  IP

  IP

  IP ETH FDDI ETH FDDI

  MyHost Loper (router) OtherHost

  1. MyHost (aplikasi) menggunakan IP address OtherHost utk mengirim paket

  2. MyHost (IP) forwards paket IP ke Loper

  3. MyHost (IP) mencari alamat Ethernet dr Loper, dan mengirim frame yang berisi paket IP untuk OtherHost

  4. Loper (IP) forwards paket ke OtherHost

  5. Loper (IP) mencari alamat FDDI dari OtherHost dan mengirim frame FDDI yang berisi paket IP untuk OtherHost

  IP (IPv4) : address model

Internet address properties

  32-bit address hierarchical: network (/subnetwork), host traditional 3-class model

  0 network (7) host (24 bits) 1 0 network (14 bits) host (16 bits)

  1 0

  1 network (21 bits) host (8 bits) A:

  B:

  C:

IP (IPv4) : address model

  IP Multicast E 1111 + Future Use 1110 + Multicast Address D

  2 21 C 256 - 2 8 bit 110 + 21 bit

  2 14 65,536 - 2 16 bit 10 + 14 bit B 126

  2

24

- 2 24 bit 0 + 7 bit A # of Networks # of Addresses Host ID Network ID Class

  Range of Host Addresses 1.0.0.0 to 127.255.255.255

  128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255 240.0.0.0 to 255.255.255.255 Special IP Addresses Mengapa no of addresses class A, B, & C dikurangi 2?

  Broadcast on a distant LANs Network 111 … 111 anywhere in the Internet Network ID

  Network 000 … 000 Bagaimana dgn IP 255.255.255.255?

  11111111.11111111.11111111.11111111 Broadcast on the local n/w Special IP Addresses Mengapa no of networks di kelas A adl 126 (2

  7

  7 )?

  • 2) & bukannya 128 (2

  0.x.y.z digunakan utk keperluan khusus 127.x.y.z digunakan utk loopback testing

  00000000.00000000.00000000.00000000 This host 00 … 00 Host A host on this n/w

  01111111 Host IP (IPv4) : address model

IP addresses

  Decimal-dot notation Host in class A network

  • 56.0.78.100 www.usps.gov

  Host in class B network

  • 152.118.14.3 www.cs.ui.ac.id

  Host in class C network

  • 198.182.196.56 www.linux.org

Internet domain names

  ASCII strings separated by periods Provides some administrative hierarchy

  • host.sub.domain.domain_type (com, ac, …)
  • host.domain.country (us, de, jp, id,…)
IPv4 Address Translation support

Misalkan: Identifikasi alamat IP host ke LAN physical addresses (i.e alamat Ethernet) Masalah:

  IP addresses are not enough, because the link-layer h/w does not understand the IP addresses.

  Rute IP dapat melalui berbagai transit jaringan fisik yang berbeda (address berbeda).

  Data (paket IP) harus disampaikan ke jaringan fisik dimana host tujuan berada Host (tujuan) hanya dapat menerima (mendengar) paket melalui physical address (network adapter/interface) IPv4 Address Translation support Mekanisme: korelasi antara IP address suatu host dengan alamat fisik/hardware network adapter Address Resolution Protocol (ARP): Maps IP addresses to link-layer addresses, e.g.

  48-bit Ethernet addresses assigned by the NIC manufacturer Reverse Address Resolution Protocol (RARP):

  Does the reversal IP to Physical Address Translation

Hard-coded

  IP address bagian host, diberikan sesuai dengan physical address (encode) dr host tsb.

  Jarang digunakan: sulit untuk penyesuaian dan mapping.

Fixed table

  Terdapat tabel translasi yang disimpan pada suatu “central repository” Tabel didistribusikan melalui central tsb

Automatically generated table

  Terdapat protokol khusus (mis. ARP) untuk membangun tabel pada setiap host Update & clean-up: timeout untuk entry tabel. Address Resolution Protocol (ARP)

Node mengetahui apakah tujuan paket IP berada pada subnetwork yang sama (bagian network address dari IP) Memanfaatkan kemampuan “broadcast” pada link/physical layer (terutama LAN)

  Protokol ARP bertugas: inquiry (broadcast) untuk mendapatkan data pasangan alamat IP dan physical address.

  Setiap node akan memproses broadcast paket

ARP dan membandingkan IP (target) dengan IP sendiri

  Jika sama => ARP response ke node originator request ARP Address Resolution Protocol (ARP)

Check table for physical address If address not present

  Broadcast a query, include host’s translation Wait for a response

Upon receipt of ARP query/response

  Targeted host responds with address translation If the sender’s link-level & IP addresses already present:

  Refresh entry and reset timeout •

  If the address does not present

  Add entry for requesting host (if the host is the query target) •

  • Ignore for other hosts

  See slide 32 IP: Datagram Forwarding

Properties:

  Setiap paket IP harus mempunyai alamat IP untuk host tujuan Setiap alamat IP mempunyai informasi host tujuan berada pada “network” yang mana (“bagian network” dari IP address) Semua host dan router yang terhubung pada satu “network” (physical) mempunyai alamat “network” yang sama dari IP address

  Misalkan: 198.192.186 (network address) => suatu jaringan LAN • X; semua host yang terhubung dengan LAN X, mempunyai alamat

  IP: 198.192.186.xx

  Pada satu “network” host2 dan router2 dapat menyampaikan paket IP langsung dengan mengirim frame menggunakan alamat fisik IP: Datagram Forwarding

The algorithm:

  If (NetworkNum of destination = NetworkNum of one of my interfaces) then deliver packet to destination over the interface Else

  • If (NetworkNum of destination is in my forwarding table)

  then deliver packet to NextHop router

  • Else

  deliver packet to default router Forwarding: “network” 198.192.186 MyHost

  OtherHost 198.192.186.23 198.192.186.10 198.190.180 . 198.142.100 . 198.142.100.10

  R1

  YourHost

  R5 R2

  198.192.186.12 198.192.187

Forwarding Table

  Contoh Forwarding Table: Router R1 Network Address Next Hop 198.142.100 R5 198.190.180 R2 198.192.186 Interface 0 198.182.187 Interface 1 ARP & Datagram Forwarding th [TAN03] Computer Networks 4 ed., Tanenbaum, figure 5-62

  Three interconnected class C networks: 2 Ethernets & 1 FDDI ring ARP & Datagram Forwarding

Host 1 (192.31.65.7) sends to host 2 (eagle.cs.uni.edu) DNS: host name -> IP address

  eagle.cs.uni.edu -> 192.31.65.5 The network parts of host 1 & host 2 IP addresses show that they are on the same network ARP & Datagram Forwarding

ARP: IP address -> link-layer address

  

The sender broadcast a message to the LAN

“Who owns IP address 192.31.65.5?” ARP caches: the sender data link layer address is cached (with timer) for future use:

  Other hosts on the CS Ethernet can record • (192.31.65.7,E1)

  Ethernet address 2 (E2) will reply

  Host 1 will record (192.31.65.5,E2) in its ARP cache for • future use

  See slide 25 ARP & Datagram Forwarding Host 1 (192.31.65.7) sends to host 4 (192.31.63.8) Router does not forward data link layer broadcast

  IP addresses show the two hosts are in different networks Host 1 sends to a default Ethernet address for remote traffic (E3) at CS router Level Addr = Addr = 192.31.63.8 192.31.65.7 Dest Link- Src Link-Level Dest Addr = Src Addr =

  … … E3 E1 (Host 4) (Host 1) … ARP & Datagram Forwarding

CS router:

  Checks its routing table:

  Packets to network 192.31.63.0 goes to router • 192.31.60.7

  

Finds out the data link address of 192.31.60.7

(reads the ARP cache or sends ARP broadcast) Inserts the IP packet into the payload field of an FDDI frame, sends it to F3 Level Addr = Addr = 192.31.63.8 192.31.65.7 Dest Link- Src Link-Level Dest Addr = Src Addr =

  … … F3 F1 (Host 4) (Host 1) … ARP & Datagram Forwarding

EE Router:

  Finds out the the data link address of 192.31.63.8 (uses ARP cache or broadcast) Builds an ethernet frame & sends it to E6 Dest Link- Src Link-Level Dest Addr = Src Addr =

  Level Addr = Addr = 192.31.63.8 192.31.65.7

  … … E6 E4 (Host 4) (Host 1)

  PS: link-level address = physical address = hardware address = interface address. Contohnya adl Ethernet address. ARP & Datagram Forwarding

Host 1 (192.31.65.7) sends to host 4 (192.31.63.8) CS Router E3 F1

  IP

  EE Router F3 E4

  Network Layer Data Link Layer

  H4 Data Link Frame: Destination Address E3 F3 E6 IP: service model

Service untuk Transport layer (TCP, UDP)

global name space & identifikasi host (address) host-to-host connectivity (connectionless) “best effort” packet delivery

  

Not in service model: delivery guarantees

on bandwidth, atau delay => DATAGRAM

Delivery failure modes

  packet delayed for very long time packet lost packet delivered more than once packets delivered out of order Review: IP service model

Service untuk Transport layer (TCP, UDP)

  global name space & identifikasi host (address) host-to-host connectivity (connectionless) “best effort” packet delivery

Identifikasi “host” pada jaringan luas:

  Address: potensi jumlah yang besar, dan unik Disusun secara hirarkis (analogi nomor telepon)

  IP address:

  Setiap host => IP address (terkait dengan network interface pada • host tsb). Ingat ARP.

  Hirarkis (tidak flat): “network address” dan “host address” • Private IP Address

RFC 1918 - IANA (Internet Assigned Numbers Authority) assigned private IP address:

  10.0.0.0 to 10.255.255.255 (class A) 172.16.0.0 to 172.31.255.255 (class B) 192.168.0.0 to 192.168.255.255 (class C)

  Bagaimana jika host dgn private IP address perlu terhubung ke Internet? NAT (Network Address Translation) NAT (Network Address Translation) th [TAN03] Computer Networks 4 ed., Tanenbaum, figure 5-60

  Public IP Address

IP public diatur oleh ICANN (The Internet Corporation for Assigned Names and Numbers)

  Untuk Asia Pasifik registrasi didelegasikan melalui APNIC (http://www.apnic.net) APNIC juga memberikan porsi alokasi IP address

pada NIR (National Internet Registry) dan ISP

  Keterbatasan IP address: Terutama untuk kelas B IP Packet Size

Maksimum panjang IP datagram (header +

data) adl 64 KB.

  Total length of IP datagram dinyatakan dlm 16 bit,

  16 2 = 65, 535 bytes = 64KB

Masalah:

  Perbedaan data link layer (variasi) yang membatasi panjang “frame” (mis. Ethernet hanya 1500 bytes)

  • Dikenal sebagai: Maximum Transmission Unit (MTU)

  Source host tidak dapat mengetahui berapa minimum MTU (protokol link yang akan dilewati) IP: Fragmentation and Reassembly

Solusi:

  Jika diharuskan: IP paket dapat dipecah (fragmentation) oleh router dalam beberapa paket

  IP

  Setiap paket IP dikirim pada setiap frame ke link •

Questions

  Di mana fragmen paket-paket tersebut digabung (re- • assembly) kembali? Apa yang harus dilakukan jika salah satu fragmen • hilang atau rusak? IP: Fragmentation and Reassembly

Fragmen adalah paket lengkap (IP datagram) Penggabungan fragmen dilakukan pada tujuan (destination address) => minimalisasi refragmentation Jika satu atau lebih fragmen hilang => discard semua fragmen lain Mencegah banyaknya fragmentasi:

  

Source host harus mengirim paket cukup kecil dalam perkiraan MTU dari “lokal” physical network. IP: Packet Format Version

  HLen TOS Length Ident Flags Offset

  TTL Protocol Checksum SourceAddr

  DestinationAddr Options (variable)

  Pad

  (variable)

  4

  8

  16

  19

  31 Data

Fragmentation support

  4-bit header length

  16-bit packet ID

  IP Packet Format 4-bit version

  IPv4 = 4, IPv6 = 6

  • All fragments from the

  Counted in 32-bit words, minimum of 5

  8-bit type of service field (TOS)

  • 1-bit to mark last fragment

  Mostly unused

  • Counted in 8-byte words

  Counted in bytes See slide 7

  same packet have the same ID

  3-bit flags

  (more fragment or no)

  13-bit fragment offset into packet

  (64-bit units)

  See slide 48

  16-bit data length IP Packet Format 8-bit time-to-live field (TTL)

  Hop count decremented at each router Packet is discarded if TTL = 0

  8-bit protocol field

  TCP = 6, UDP = 17

  16-bit IP checksum on header 32-bit source IP address 32-bit destination IP address Options

  Variable size Source-based routing Record route

  Padding

  Fill to 32-bit boundaries

Contoh Fragmentasi

  1 byte = 1 octet = 8 bit User data di fragmen pertama Lihat [PET00] harus merupakan kelipatan 64 bit figure 4.4. (8 oktet) 208/8 = 26 Back to slide 46 ? Internet Control Message Protocol (ICMP)

IP companion protocol

  

Modem ATM FDDI Ethernet

FTP TFTP NV HTTP TCP

  UDP

  IP

  ICMP

ICMP Message Types

  Destination unreachable: Packet could not be delivered. Time exceeded: TTL field hits 0. Parameter problem: Invalid header field. Source quench: Choke packet.

  

Redirect: Teach a router about geography. ICMP Message Types Echo request: Ask a machine if it is alive.

  Echo reply: Yes, I am alive. Timestamp request: Same as Echo request, but with timestamp. Timestamp reply: Same as Echo reply, but with timestamp. Host Configuration

Menambahkan suatu host baru ke dalam jaringan IP

  Informasi apa saja yang diperlukan? Bagaimana proses tersebut dapat diotomatisasi => maintainance & trouble-shooting Remember: host sering berpindah, konfigurasi (router) berubah dst.

Some answers

  Host needs an IP address (must know it) Host must also

  Send packets out of physical (direct) network • Thus • needs physical address of router Reverse Address Resolution Protocol (RARP)

Translate physical address to IP address

  “My 48-bit Ethernet address is 14.04.05.18.01.25. Does anybody know my IP address?”

Digunakan untuk “booting” diskless hosts (workstation)

  Saat boot, host melakukan broadcast request ke semua host di jaringan (destination MAC address diberi nilai 1 semua)

  

RARP server memberikan informasi IP dari host

tsb.

  Kekurangan: broadcast terbatas pd satu network, tidak di-forward oleh router Boot Protocol (BOOTP) Menggunakan paket UDP UDP (transport layer): memungkinkan boot requests melalui routers

IP address dari BOOTP server harus diketahui

  Informasi tambahan dari BOOTP server: IP address of file server, subnet mask, and default router for host Kekurangan: network administrator harus menambahkan entri (Ethernet address, IP adrress) secara manual Dynamic Host Configuration Protocol (DHCP)

Cara sederhana untuk otomatisasi informasi konfigurasi (IP, router dsb)

  

Pengelola jaringan (administrator): centralized control untuk distribusi IP address (policy dan setup) Memungkinkan manual atau automatic IP address assigment

Efektif: jaringan yang besar dan dinamis (mis. mobile computer) Perlu server yang menjadi rujukan (DHCP server) Dynamic Host Configuration Protocol (DHCP)

Setiap host baru mengirim request ke DHCP server untuk IP address dan informasi lain DHCP server menerima request dari:

  Langsung: jika mesin baru mempunyai IP address dari DHCP server (bagian konfigurasi OS) Broadcast: jika berada pada satu link (physical network).

  Via DHCP relay: nodes yang dapat melakukan forward request ke DHCP server

DHCP mampu menentukan policy pemakaian IP:

  Host harus melaporkan IP address yang digunakan (saat selesai boot) => tracking dan konfirmasi kembali (mirip leased). Mengapa? DHCP DHCP Host A Relay

  1. Host A broadcasts DHCPDISCOVER

  message

  4. Relay broadcasts

  2. Server unicasts DHCP DHCP responds request to request with host’s server

  IP address DHCP Host B Other

  Server Other Networks Networks DHCP

  Virtual Networks

Goal: kontrol koneksi

  Konektivitas “ akses ” terkendali (controlled)

  Pembatasan “forwarding” hanya untuk host tertentu (authorized • virtual circuit)

  Pembatasan pemakaian “ kapasitas ”

  Menentukan prioritas untuk forwarding pada router • Garansi kualitas bandwidth, delay dll. •

Virtual Private Network

  Suatu kumpulan “subnets yang terhubung” Koneksi antar subnets menggunakan “shared network”, mis. internet IP network Tambahan security: penyandian data paket dsb. Read

  IPsec

Virtual Private Networks

  C A B M K

  L C A B M K

  L Private Networks (Traditional)

  Physical links (private) usually using leased lines from the telephone companies

  Virtual circuits Y (shared links) Physical links Virtual Private Networks

  X Y

  Y Tunneling

IP Tunnel

  Tunnel: membungkus paket ke dalam paket Virtual point-to-point link antar dua pasang node

  IP (mis. R1 dan R2 => setup virtual tunnel) Network Network Network Network 1 Internetwork 2 1 R1 Internetwork R2 2 IP Tunnel

  10.0.0.1 IP Dest = 2.x

  

IP Dest = 10.0.0.1

  IP Dest = 2.x

  IP Payload

  

IP Dest = 2.x

  IP Payload

  

IP Payload

Forwarding Table

  Contoh forwarding table for router R1 Network No Next Hop

  1 Interface 0

  2 Virtual interface 0 Default

  Interface 1 Tunneling

Advantages

  Transparent transmission of packets over a heterogeneous network Only need to change relevant routers

Disadvantages

  Increases packet size Processing time needed to encapsulate and unencapsulate packets Management at tunnel-aware routers