Internetworking - · PDF fileimplementasi yang berbeda pada protokol bawah ... 127.x.y.z...
Transcript of Internetworking - · PDF fileimplementasi yang berbeda pada protokol bawah ... 127.x.y.z...
Semester Genap 2003/2004Versi: 2
Jaringan Komputer
Fakultas Ilmu KomputerUniversitas Indonesia
Internetworking(Week 8 & 9)
2 Versi: 2
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)
Routing (Bab 4.2)Global Internet (Bab 4.3)Multicast (Bab 4.4)
3 Versi: 2
The Big Picture: Internetworking
You are here, chapter 4
000100011100100100011101
4 Versi: 2
Review (… so far)
UnderstandBagaimana 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).
5 Versi: 2
Scope: Internetworking
Rincian topik internetworkingBasis internetworking: IP protocol, address resolution, & control messagesTopik (in-depth): routingTopik (sekilas): global internets (scale)
• virtual geography and addresses• hierarchical routing• name translation and lookup• multicast traffic• future internetworking: IPv6
Rujukan: [PET00] Peterson and Davie 2nd
ed., ch. 4
6 Versi: 2
Basics of Internetworking
Apa yang disebut: internetwork?Ilusi terhadap koneksi seperti: suatu jaringan (direct link) tunggalDalam 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
7 Versi: 2
Basics of Internetworking
“The Internet: a specific global internetwork that grew out of ARPANET”Internet: widely used, global internetworkKita akan mendalami prinsip internetworking, dgn menggunakan Internet sbg contoh
8 Versi: 2
Heterogeneity
Routers (R1, R2..) interconnect networks of different types
R2R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 3 (FDDI)
Network 4(point-to-point)
H7 R3 H8
FDDI: Fiber Distributed Data Interface
9 Versi: 2
Heterogeneity
Protocol stack perspective
R1
ETH FDDI
IPIP
ETH
TCP R2
FDDI PPP
IP
R3
PPP ETH
IP
H1
IP
ETH
TCP
H8
Transport Layer
Network Layer
Data Link Layer
10 Versi: 2
Internet Protocol (IP): protocol stack
Network protocol for the InternetOperates on all hosts and routers (routers are nodes connecting distinct networks into the Internet)
Ethernet FDDI ATM phone line
IP
FTP HTTP
TCP UDP
TFTP... ...
......
11 Versi: 2
The Internet Protocol: Layer
App
Transport
Network
Link
TCP / UDP
IP
DataHdr
DataHdr
TCP Segment
IP Datagram
Layer
Paket data yang dikirimkan dalam internetworking
Paket data yang dibuat oleh end-system (host)
12 Versi: 2
IP: Outline topics
Outline of internetworking with IPservice modeloverview of message transmissionhost addressing and address translationdatagram forwardingfragmentation and reassemblyerror reporting/control messagesdynamic configurationprotocol extensions through tunneling
13 Versi: 2
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 timepacket lostpacket delivered more than oncepackets delivered out of order
14 Versi: 2
Message transmission
Ethernet(ETH)
FDDI
ATM
MyHostOtherHost
15 Versi: 2
Message transmission
1. MyHost (aplikasi) menggunakan IP address OtherHost utk mengirim paket
2. MyHost (IP) forwards paket IP ke Loper3. MyHost (IP) mencari alamat Ethernet dr Loper, dan mengirim frame
yang berisi paket IP untuk OtherHost4. Loper (IP) forwards paket ke OtherHost5. Loper (IP) mencari alamat FDDI dari OtherHost dan mengirim frame
FDDI yang berisi paket IP untuk OtherHost
TCP
IP
MyHost
IP
TCP
OtherHostLoper (router)
IP
FDDI FDDIETHETH
16 Versi: 2
IP (IPv4) : address model
Internet address properties32-bit addresshierarchical: network (/subnetwork), host
traditional 3-class model
0 network (7) host (24 bits)
1 0 network (14 bits) host (16 bits)
1 01 network (21 bits) host (8 bits)
A:
B:
C:
17 Versi: 2
IP (IPv4) : address model
IP Multicast
1111 + Future UseE
1110 + Multicast Address
D
221256 - 28 bit110 + 21 bitC
21465,536 - 216 bit10 + 14 bitB
126224 - 224 bit0 + 7 bitA
# of Networks
# of Addresses
Host IDNetwork IDClass 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
18 Versi: 2
Special IP Addresses
Mengapa no of addresses class A, B, & C dikurangi 2?
Bagaimana dgn IP 255.255.255.255?
Network 111 … 111 Broadcast on a distant LANs anywhere in the Internet
Network 000 … 000 Network ID
11111111.11111111.11111111.11111111 Broadcast on the local n/w
19 Versi: 2
Special IP Addresses
Mengapa no of networks di kelas A adl 126 (27-2) & bukannya 128 (27)?
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
20 Versi: 2
IP (IPv4) : address model
IP addressesDecimal-dot notationHost in class A network
• 56.0.78.100 www.usps.govHost in class B network
• 152.118.14.3 www.cs.ui.ac.idHost in class C network
• 198.182.196.56 www.linux.org
Internet domain namesASCII strings separated by periodsProvides some administrative hierarchy
• host.sub.domain.domain_type (com, ac, …)• host.domain.country (us, de, jp, id,…)
21 Versi: 2
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 beradaHost (tujuan) hanya dapat menerima (mendengar) paket melalui physical address (network adapter/interface)
22 Versi: 2
IPv4 Address Translation support
Mekanisme: korelasi antara IP address suatu host dengan alamat fisik/hardware network adapterAddress 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
23 Versi: 2
IP to Physical Address Translation
Hard-codedIP address bagian host, diberikan sesuai dengan physical address (encode) dr host tsb.Jarang digunakan: sulit untuk penyesuaian dan mapping.
Fixed tableTerdapat tabel translasi yang disimpan pada suatu“central repository”Tabel didistribusikan melalui central tsb
Automatically generated tableTerdapat protokol khusus (mis. ARP) untuk membangun tabel pada setiap hostUpdate & clean-up: timeout untuk entry tabel.
24 Versi: 2
Address Resolution Protocol (ARP)
Node mengetahui apakah tujuan paket IP berada pada subnetwork yang sama (bagian network address dari IP) Memanfaatkan kemampuan “broadcast” padalink/physical layer (terutama LAN)
Protokol ARP bertugas: inquiry (broadcast) untuk mendapatkan data pasangan alamat IP dan physical address.
Setiap node akan memproses broadcast paketARP dan membandingkan IP (target) dengan IP sendiri
Jika sama => ARP response ke node originator request ARP
25 Versi: 2
Address Resolution Protocol (ARP)
Check table for physical addressIf address not present
Broadcast a query, include host’s translationWait for a response
Upon receipt of ARP query/responseTargeted host responds with address translationIf the sender’s link-level & IP addresses already present:
• Refresh entry and reset timeoutIf the address does not present
• Add entry for requesting host (if the host is the query target)• Ignore for other hosts
See slide 32
26 Versi: 2
IP: Datagram Forwarding
Properties:Setiap paket IP harus mempunyai alamat IP untuk host tujuanSetiap 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 alamatIP: 198.192.186.xx
Pada satu “network” host2 dan router2 dapat menyampaikan paket IP langsung dengan mengirim frame menggunakan alamat fisik
27 Versi: 2
IP: Datagram Forwarding
The algorithm:If (NetworkNum of destination = NetworkNum of one of my interfaces) thendeliver packet to destination over the interface
Else• If (NetworkNum of destination is in my forwarding table)
thendeliver packet to NextHop router
• Elsedeliver packet to default router
28 Versi: 2
Forwarding: “network”
198.192.186
MyHostOtherHost
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
29 Versi: 2
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
30 Versi: 2
ARP & Datagram Forwarding
[TAN03] Computer Networks 4th ed., Tanenbaum, figure 5-62
Three interconnected class C networks: 2 Ethernets & 1 FDDI ring
31 Versi: 2
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.5The network parts of host 1 & host 2 IP addresses show that they are on the same network
32 Versi: 2
ARP & Datagram Forwarding
ARP: IP address -> link-layer addressThe 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 useSee slide 25
33 Versi: 2
ARP & Datagram Forwarding
Host 1 (192.31.65.7) sends to host 4 (192.31.63.8)Router does not forward data link layer broadcastIP addresses show the two hosts are in different networksHost 1 sends to a default Ethernet address for remote traffic (E3) at CS router
Dest Link-Level Addr =
E3
Src Link-Level Addr =
E1
Dest Addr = 192.31.63.8
(Host 4)
Src Addr = 192.31.65.7
(Host 1)… ……
34 Versi: 2
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
Dest Link-Level Addr =
F3
Src Link-Level Addr =
F1
Dest Addr = 192.31.63.8
(Host 4)
Src Addr = 192.31.65.7
(Host 1)… ……
35 Versi: 2
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
PS: link-level address = physical address = hardware address = interface address. Contohnya adl Ethernet address.
Dest Link-Level Addr =
E6
Src Link-Level Addr =
E4
Dest Addr = 192.31.63.8
(Host 4)
Src Addr = 192.31.65.7
(Host 1)… ……
36 Versi: 2
ARP & Datagram Forwarding
Host 1 (192.31.65.7) sends to host 4 (192.31.63.8)
CS Router
E3 F1
IPIP
E1
EE Router
F3 E4
IP
H1
IP
E6
Network Layer
Data Link Layer
H4
Data Link Frame:Destination Address E3 F3 E6
37 Versi: 2
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 timepacket lostpacket delivered more than oncepackets delivered out of order
38 Versi: 2
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 unikDisusun secara hirarkis (analogi nomor telepon)IP address:
• Setiap host => IP address (terkait dengan network interface padahost tsb). Ingat ARP.
• Hirarkis (tidak flat): “network address” dan “host address”
39 Versi: 2
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)
40 Versi: 2
NAT (Network Address Translation)
[TAN03] Computer Networks 4th ed., Tanenbaum, figure 5-60
41 Versi: 2
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
42 Versi: 2
IP Packet Size
Maksimum panjang IP datagram (header + data) adl 64 KB.
Total length of IP datagram dinyatakan dlm 16 bit, 216 = 65, 535 bytes = 64KB
Masalah:Perbedaan data link layer (variasi) yang membatasi panjang “frame” (mis. Ethernet hanya1500 bytes)
• Dikenal sebagai: Maximum Transmission Unit (MTU)Source host tidak dapat mengetahui berapaminimum MTU (protokol link yang akan dilewati)
43 Versi: 2
IP: Fragmentation and Reassembly
Solusi:Jika diharuskan: IP paket dapat dipecah(fragmentation) oleh router dalam beberapa paketIP
• Setiap paket IP dikirim pada setiap frame ke linkQuestions
• Di mana fragmen paket-paket tersebut digabung (re-assembly) kembali?
• Apa yang harus dilakukan jika salah satu fragmen hilang atau rusak?
44 Versi: 2
IP: Fragmentation and Reassembly
Fragmen adalah paket lengkap (IP datagram)Penggabungan fragmen dilakukan pada tujuan (destination address) => minimalisasi refragmentationJika satu atau lebih fragmen hilang => discard semua fragmen lainMencegah banyaknya fragmentasi:
Source host harus mengirim paket cukup kecil dalam perkiraan MTU dari “lokal” physical network.
45 Versi: 2
IP: Packet Format
Version HLen TOS LengthIdent Flags Offset
TTL Protocol ChecksumSourceAddr
DestinationAddrOptions (variable) Pad
(variable)
0 4 8 16 19 31
Data
46 Versi: 2
IP Packet Format
4-bit versionIPv4 = 4, IPv6 = 6
4-bit header lengthCounted in 32-bit words, minimum of 5
8-bit type of service field (TOS)
Mostly unused16-bit data length
Counted in bytesSee slide 7
Fragmentation support
16-bit packet ID • All fragments from the
same packet have the same ID
3-bit flags• 1-bit to mark last fragment
(more fragment or no)13-bit fragment offset into packet
• Counted in 8-byte words (64-bit units)
See slide 48
47 Versi: 2
IP Packet Format
8-bit time-to-live field (TTL)
Hop count decremented at each routerPacket is discarded if TTL = 0
8-bit protocol fieldTCP = 6, UDP = 17
16-bit IP checksum on header
32-bit source IP address32-bit destination IP addressOptions
Variable sizeSource-based routingRecord route
PaddingFill to 32-bit boundaries
48 Versi: 2
Contoh Fragmentasi
User data di fragmen pertama harus merupakan kelipatan 64 bit (8 oktet)208/8 = 26Back to slide 46?
1 byte = 1 octet = 8 bitLihat [PET00]figure 4.4.
49 Versi: 2
Internet Control Message Protocol (ICMP)
IP companion protocolHandles error and control messages
ModemATMFDDIEthernet
FTP TFTPNVHTTP
TCP UDP
IP ICMP
50 Versi: 2
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.
51 Versi: 2
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.
52 Versi: 2
Host Configuration
Menambahkan suatu host baru ke dalam jaringan IP
Informasi apa saja yang diperlukan?Bagaimana proses tersebut dapat diotomatisasi => maintainance & trouble-shootingRemember: host sering berpindah, konfigurasi (router) berubah dst.
Some answersHost needs an IP address (must know it)Host must also
• Send packets out of physical (direct) network• Thus needs physical address of router
53 Versi: 2
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
54 Versi: 2
Boot Protocol (BOOTP)
Menggunakan paket UDP UDP (transport layer): memungkinkan boot requests melalui routersIP address dari BOOTP server harus diketahuiInformasi tambahan dari BOOTP server: IP address of file server, subnet mask, and default router for hostKekurangan: network administrator harus menambahkan entri (Ethernet address, IP adrress) secara manual
55 Versi: 2
Dynamic Host Configuration Protocol (DHCP)
Cara sederhana untuk otomatisasi informasi konfigurasi (IP, router dsb)
Pengelola jaringan (administrator): centralized control untuk distribusi IP address (policy dansetup)Memungkinkan manual atau automatic IP address assigmentEfektif: jaringan yang besar dan dinamis (mis. mobile computer)Perlu server yang menjadi rujukan (DHCP server)
56 Versi: 2
Dynamic Host Configuration Protocol (DHCP)
Setiap host baru mengirim request ke DHCP server untuk IP address dan informasi lainDHCP server menerima request dari:
Langsung: jika mesin baru mempunyai IP address dariDHCP 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 (miripleased). Mengapa?
57 Versi: 2
DHCP
DHCP Server
Host A1. Host A
broadcasts DHCPDISCOVER
message3. Host B
broadcasts DHCP request
Host B
DHCP Relay
Other NetworksOther
Networks
4. Relay unicasts DHCP
request to server
2. Server responds with host’s IP address
58 Versi: 2
DHCP
59 Versi: 2
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 NetworkSuatu kumpulan “subnets yang terhubung”Koneksi antar subnets menggunakan “shared network”, mis. internet IP networkTambahan security: penyandian data paket dsb. ReadIPsec
60 Versi: 2
Virtual Private Networks
C
A B
M
K L
C
A BM
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
61 Versi: 2
Tunneling
IP TunnelTunnel: membungkus paket ke dalam paketVirtual point-to-point link antar dua pasang node IP (mis. R1 dan R2 => setup virtual tunnel)
Network 1
Network 1
Network 2
Network 2InternetworkInternetwork
R1 R2IP Tunnel
IP Dest = 2.xIP Payload
IP Dest = 10.0.0.110.0.0.1
IP Dest = 2.xIP Payload
IP Dest = 2.xIP Payload
62 Versi: 2
Forwarding Table
Contoh forwarding table for router R1
Network No Next Hop
1 Interface 0
2 Virtual interface 0
Default Interface 1
63 Versi: 2
Tunneling
AdvantagesTransparent transmission of packets over a heterogeneous networkOnly need to change relevant routers
DisadvantagesIncreases packet sizeProcessing time needed to encapsulate and unencapsulate packetsManagement at tunnel-aware routers