Jaringan Komputer
Fakultas Ilmu Komputer
Internetworking
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)
The Big Picture: Internetworking
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.
Scope: Internetworking
Rincian topik 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
Rujukan: [PET00] Peterson and Davie 2
ndBasics of Internetworking
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
Basics of Internetworking
“The Internet: a specific global
internetwork that grew out of ARPANET”
Internet: widely used, global internetwork
Kita akan mendalami prinsip
Heterogeneity
Routers (R1, R2..) interconnect networks
of different types
R2
Network 2 (Ethernet)
Network 1 (Ethernet)
H6 Network 3 (FDDI)
Network 4 (point-to-point)
H7 R3 H8
Heterogeneity
Protocol stack perspective
R1
ETH FDDI IP
IP
ETH TCP
R2
FDDI PPP IP
R3
PPP ETH IP
Transport Layer
Network 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)
Ethernet FDDI ATM phone line
IP
FTP HTTP
TCP UDP
TFTP
...
...
The Internet Protocol: Layer
TCP Segment
IP Datagram
Layer
Paket data yang dikirimkan dalam internetworking
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
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
Message transmission
Ethernet (ETH)
FDDI
ATM MyHost
Message transmission
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
TCP Loper (router)
IP
FDDI FDDI
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:
IP (IPv4) : address model
IP Multicast
1111 + Future Use E
1110 + Multicast Address Host ID
Network ID
Class Range of
Host Addresses
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
Special IP Addresses
Mengapa no of networks di kelas A adl 126
(2
7-2) & bukannya 128 (2
7)?
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
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, …)
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
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):
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
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
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
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
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
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
Forwarding Table
Contoh Forwarding Table: Router R1
Network Address Next Hop
198.142.100 R5
198.190.180 R2
198.192.186 Interface 0
ARP & Datagram Forwarding
[TAN03] Computer Networks 4
thed.,
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
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
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
Dest Link-Level Addr =
E3
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
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
ARP & Datagram Forwarding
Host 1 (192.31.65.7) sends to host 4
(192.31.63.8)
CS Router
E3 F1 IP IP
E1
EE Router
F3 E4 IP H1
IP
E6
Network Layer
Data Link Layer
H4
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
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.
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)
[TAN03] Computer Networks 4
thed.,
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:
IP Packet Size
Maksimum panjang IP datagram (header +
data) adl 64 KB.
Total length of IP datagram dinyatakan dlm 16 bit,
2
16= 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
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?
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
IP: Packet Format
Version HLen TOS Length
Ident Flags Offset
TTL Protocol Checksum
SourceAddr DestinationAddr
Options (variable) (variable)Pad
0 4 8 16 19 31
IP Packet Format
4-bit version
IPv4 = 4, IPv6 = 6
4-bit header length
Counted in 32-bit words, minimum of 5
8-bit type of service
field (TOS)
Mostly unused
16-bit data length
Counted in bytes See 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)
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
Contoh Fragmentasi
User data di fragmen pertama harus merupakan kelipatan 64 bit (8 oktet)
1 byte = 1 octet = 8 bit Lihat [PET00]
Internet Control Message Protocol (ICMP)
IP companion protocol
Handles error and control messages
Modem ATM
FDDI Ethernet
FTP HTTP NV TFTP
TCP UDP
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.
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.
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
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.
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
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)
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:
DHCP
DHCP Server Host A
1. Host A broadcasts DHCPDISCOVER
message 3. Host B
broadcasts DHCP unicasts DHCP
request to server
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
Virtual Private Networks
Private Networks (Traditional)
Physical links (private) usually using leased lines from the telephone companies
Physical links
X
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 1 Network
1 Network 2
Network 2 Internetwork
Internetwork
R1 R2
IP Tunnel
IP Dest = 2.x IP Dest = 10.0.0.1
10.0.0.1
IP Dest = 2.x IP Payload
Forwarding Table
Contoh forwarding table for router R1
Network No Next Hop
1 Interface 0
2 Virtual interface 0