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)
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 => DATAGRAMDelivery 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 ClassRange 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,…)
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 => DATAGRAMDelivery 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 TCPUDP
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