Transport Layer n
Jaringan Komputer
n
Transport Layer
n n n n
Goal: menyediakan layanan yang efisien, reliable, dan cost-effective kepada user-nya (proses di application layer) “Provide a reliable service on top of an unreliable network” Transport Entity menyediakan service dan interface-nya untuk aplikasi Layer yang bekerja di user side Memungkinkan detil network menjadi transparan bagi application programmer Menyediakan juga layanan (connectionless) datagram yang unreliable: untuk client-server dan streaming 2
Transport Layer n n n n
Layanan Elemen Transport Protocol Sederhana Transport Protocol Internet: n n
n
Transport Layer n n n n
TCP UDP
Layanan Elemen Transport Protocol Sederhana Transport Protocol Internet: n n
Masalah Performansi
n
TCP UDP
Masalah Performansi
3
4
Layanan n
Layanan
Mirip dengan network layer: n
n n
n
n
Ada 2:
n
Connection Oriented Connectionless
n
n
Tetapi: n
n
Kode transport dijalankan di mesin user, sedang network layer di router (yang dioperasikan oleh penyedia layanan koneksi) Transport layer menutupikekurangan di network layer (packet loss, router crash)
Dilakukan pembedaan OSI layer
5
Layer 1-4: Transport Service Provider Layer di atas 4: Transport Service User
Pembedaan ini sangat mempengaruhi rancangan layer dan menempatkan transport layer di posisi penting, karena membentuk pembatas utama antara provider dan user dari layanan transmisi data yang reliable 6
1
Layanan
Transport Service Primitives
n n n n n
7
TPDU
Server mengeksekusi LISTEN Ketika client ingin berkomunikasi, mengeksekusi CONNECT – mengirim CON REQ TPDU Jika server berada dalam LISTEN, unblock server dan kirim balik CON ACC TPDU Perukaran data dengan SEND dan RECEIVE Ketika koneksi sudah tidak dibutuhkan, eksekusi DISCONNECT – kirim DISC TPDU
State Diagram Koneksi
n
n n
Italic: Transisi karena kedatangan paket Solid line: Status client Dashed Line: Status server
9
10
Berkeley Socket n
8
Berkeley Socket
Digunakan pada Berkeley UNIX untuk TCP Internet programming
n
11
Contoh programming client-server ada di website: http://www.prenhall.com/tanenbaum
12
2
Transport Layer n n n n
Layanan Elemen Transport Protocol Sederhana Transport Protocol Internet: n n
n
Elemen Transport Protocol • • • •
TCP UDP
•
Masalah Performansi
•
Addressing Connection Establishment Connection Release Flow Control dan Buffering Multiplexing Crash Recovery
13
Elemen Transport Protocol n n
n
Lingkungan
Transport protocol mirip data link protocol Keduanya berurusan dengan error control, sequencing dan flow control Perbedaan utama karena berbedanya lingkungan operasi protokolnya n
n
Pada data link layer, 2 router berkomunikasi langsung lewat sebuah physical layer Pada transport layer, seolah-olah physical layer ini digantikan oleh subnet 15
Perbedaan n
n
n
n
(b) Transport 16
• •
Sangat sederhana jika lewat wire Pada transport layer hal ini lebih rumit
• •
Ada kemungkinan tempat penyimpanan sementara di subnet (di wire tidak ada) Buffering dan Flow Control berbeda: n
(a) Data Link
Elemen Transport Protocol
Route: pada transport layer, diperlukan explicit addressing dari destination Connection Establishment: n
n
14
• •
Jumlah koneksi yang banyak dan bervariasi 17
Addressing Connection Establishment Connection Release Flow Control dan Buffering Multiplexing Crash Recovery 18
3
Addressing
Addressing n
TSAP Addresses n
n
Stable: n
TSAP, NSAP dan koneksi transport
n
n
Setiap server mendengarkan TSAP yang dikenal Untuk layanan yang tidak pernah berubah (misal Web Server)
Not stable: n
n
Untuk user process yang sering berkomunikasi dengan user process lain yang muncul hanya sebentar dan tidak punya TSAP address yang dikenal sebelumnya Skema: n
n
19
Elemen Transport Protocol • • • • • •
Initial:setiap mesin yang menawarkan layanan memiliki special process server sebagai proxy Directory server: ketika sebuah layanan baru dibentuk, harus mendaftarkandirinya ke directory server yang akan memberikan nama layanan dan TSAP
Connection Establishment
Addressing Connection Establishment Connection Release Flow Control dan Buffering Multiplexing Crash Recovery 21
22
Connection Establishment n
n
n
n
Connection Establishment
Cukup dengan mengirimkan CONNECTION REQUEST TPDU ke destination dan menunggu CONNECTION ACCEPTED? TIDAK! Problem: n
n
n
Pembatasan lifetime packet: n n
Packet lost Traffic jam (+packet delayed duplication) Gunakan throw-away transport address (dibuat saat diperlukan ) Connection identifier, kekurangan: informasi history sangat besar dan akan hilang jika crash
Solusi lain: n
n
n
Solusi: n
20
Restricted subnet Hop counter Timestamp
Jika mesin kehilangan isi memory: n
Clock-Based (Tomlinson): n n
n
23
Tiap host punya time-of-day clock Sejumlah bit (low-order) dari clock dipakai sebagai nomor urut initial Koneksi harus dibentuk sebelumnya 24
4
Solusi lain
Elemen Transport Protocol
Problem: Incorrect Connection Establishment Solusi: 3-way handshake (Tomlinson)
n n
(a) normal (b) CR duplikat (c) CR dan ACK duplikat
• • • • • •
Addressing Connection Establishment Connection Release Flow Control dan Buffering Multiplexing Crash Recovery
25
Connection Release n
Abrupt Disconnection
Ada 2 style untuk melepaskan koneksi: n
Asimetrik: n n
n
Saat satu pihak menutup, koneksi terputus Kasar/mendadak dan mungkin menyebabkan data loss (data belum sampai lengkap , sudah putus)
Simetrik: n
n
Menganggap koneksi sebagai 2 koneksi searah dan harus dilepaskan secara terpisah Host bisa masih menerima data setelah host tsb mengirim DISCONNECT TPDU
27
Connection Release n
26
28
Problem 2 pasukan
Situasi lain: n
n
Protokol: Saya sudah selesai, anda sudah juga? Jika jawaban = Ya. Koneksi bisa diputus (?) Problem: n
Problem 2 pasukan tentara: n
n
Berapa yang diperlukan: 2,3,4 atau lebih handshake protocol? Ganti disconnect dengan “serang”. Jika tidak ada yang disconnect jike belum yakin yang lain siap disconnect juga, maka tidak akan pernah disconnect 29
30
5
3-way protocol n
n n
3-way
Untuk kasus 2 pasukan, berapapun tidak akan cukup, karena tidak akan pernah yakin Kasus disconnection tidak sekritis perang 3-way dianggap cukup dengan tambahan timeout
4 skenario: (a) Normal (b) Final ACK hilang (c) Respons hilang (d) Respons dan DR berikutnya hilang 31
32
Elemen Transport Protocol • • • • • •
Flow Control dan Buffering
Addressing Connection Establishment Connection Release Flow Control dan Buffering Multiplexing Crash Recovery
n
Transport vs. Datalink layer: n
n
n n n
Sama: skema sliding window atau yang lain diperlukan untuk setiap koneksi untuk menjaga transmitter yang cepat tidak overrun receiver lambat Beda: sebuah router biasanya punya line sedikit, sedang host mungkin banyak (relatif). Perbedaan ini menyebabkan tidak bisa dilakukannyapenerapan strategi buffering di datalink kepada transport layer
Jika network unreliable, sender harus mem-buffer semua TPDU yang dikirimkan. Jika network reliable, buffer bisa di receiver saja Masalah: penentuan ukuran buffer (vs. TPDU)
33
34
Ukuran buffer
Buffering n
Pilihan optimal antara buffer sender dan buffer receiver ditentukan jenis koneksi n
(a) (b) (c)
n
Chained fix Chained variable Circular
n
35
Low bandwidth, bursty (interactive terminal) -> buffer sender High bandwidth, file transfer -> buffer receiver
Alokasi buffer di receiver bisa dilakukan secara dinamis berdasar permintaan sender dengan TPDU terpisah untuk request buffer 36
6
Flow Control n
n
n
Elemen Transport Protocol
Walaupun masalah buffer (diasumsikan) tidak ada (unlimited buffer), masih terdapat masalah bottleneck yaitu carrying capacity dari subnet Flow control pada sender harus berbasis pada kapasitas subnet Belsnes mengusulkan skema flow control dengan sliding windows. Ukuran windows dinamis sesuai kapasitas subnet
• • • • • •
Addressing Connection Establishment Connection Release Flow Control dan Buffering Multiplexing Crash Recovery
37
38
Multiplexing n
n
Multiplexing
Digunakan untuk mengoptimalkan penggunaan koneksi Ada 2 macam: n
n
Upward Multiplexing: sejumlah koneksi transport berbeda ke dalam sebuah koneksi network Downward Multiplexing: sebuah koneksi transport mendistribusikan lalu lintas data ke sejumlah koenksi network, misal untuk meningkatkan bandwidth 39
40
Elemen Transport Protocol • • • • • •
Crash Recovery
Addressing Connection Establishment Connection Release Flow Control dan Buffering Multiplexing Crash Recovery
n n
Crash bisa terjadi pada host dan router. Jika transport entity berada sepenuhnya dalam host, recovery dari network dan router crash bisa langsung n
n
41
Jika network layer menyediakan layanan conectionless (datagram), kehilangan TPDU adalah hal yang biasa Jika network layer menyediakan layanan connectionoriented, VC yang hilang ditangani dengan membuat VC baru dan probing ke remote transport entity mana yang sudah diterima mana yang belum. Yang belum akan diretransmisi 42
7
Crash Recovery n
Crash Recovery
Masalah utama pada host (server) crash. Diinginkan jangan sampai mengganggu pekerjaan user (client), berkaitan dengan status sebelum crash. n
n
Solusi naïve: Server minta host lain menanyakan ke client statusnya apakah : n n
n
n
S1: one TPDU outstanding -> retransmit recent TPDU S0: no TPDU outstanding
n
Ada 2 operasi: write TPDU dan send ack yang saling terpisah yang bisa menyebabkan recovery gagal
Dari sisi server ada 2 kemungkinan: ACK first atau Write first Dari sisi client ada 4 kemungkinan: selalu retransmit TPDU terakhir, tidak pernah retransmit, retramsnit jika status S0, retransmit jika status S1. Ada 8 kombinasi tetapi ada beberapa yang menyebabkan protocol fail
43
44
Crash Recovery n
Crash Recovery
Strategi:
n
n
n
Secara umum, recovery untuk crash di layer N hanya bisa dilakukan di layer N+1 Dengan syarat bahwa layer N+1 memiliki informasi yang cukup untuk melakukan recovery Misal: Transport layer bisa recover crash di network jika kedua pihak yang berkomunikasi tahu di mana terjadinya crash
45
46
Transport Layer n n n n
Layanan Elemen Transport Protocol Sederhana Transport Protocol Internet: n n
n
Transport Protocol Sederhana n
n
n
TCP UDP
Sebuah contoh transport layer sederhana untuk pembahasan lebih detil Primitif Layanan yang dibahas adalah untuk connection-oriented Mirip dengan TCP namun lebih sederhana
Masalah Performansi 47
48
8
Contoh Service Primitives n
n
n
Primitives
5 primitives: CONNECT, LISTEN, DISCONNECT, SEND dan RECEIVE Setiap primitive berkaitan dengan sebuah library procedure yang mengeksekusinya Parameter untuk primitives dan library adalah sb: n n n n n
n
n
Connum = LISTEN(local) Connum = CONNECT(local, remote) Status = SEND(connum, buffer, bytes) Status = RECEIVE(connum, buffer, bytes) Status = DISCONNECT(connum)
LISTEN: memberitakan keinginan caller (procedure call) untuk menerima request koneksi ke local TSAP tertentu CONNECT: mencoba establish transport connection antara local TSAP dan remote TSAP (di sisi seberang). Jika sukses connum > 0 menandakan identifier koneksi. Jika gagal connum < 0 menandakan sebab kegagalan. Misal remote TSAP sudah terkoneksi dengan TSAP lain.
49
50
Primitives n
n n
Contoh Transport Entity
SEND: mengirim isi buffer sebagai message dalam transport connection connum. Kemungkinan error/kegagalan dikembalikan dalam status, misalnya: no connection, illegal buffer address, atau negative count. RECEIVE: keinginan caller menerima data. DISCONNECT: teminate transport connection yang diindikasikan dengan connum. Jika berhasil status = 0. Kemungkinan error: connum tidak valid
Menggunakan layanan connection-oriented yang reliable (dari layer network) Fokus pada masalah transport yang tidak muncul di layer bawah
n
n
n n n
Connection establishment Connection release Credit management
Transport entity bisa merupakan bagian dari SO host, atau bisa berupa paket library yang dijalankan di dalam user address space
n
51
52
Contoh Transport Entity n
n
Contoh Transport Entity
Interface ke layer network melalui procedure to_net dan from_net Memiliki 6 parameter: n n n n n n
Connection identifier Bit Q (control message) Bit M (more data following) Packet type Pointer ke data Ukuran data (jumlah bye)
n
Jenis paket
n 53
Code transport entity ada di buku Tanenbaum section 6.3
54
9
Contoh Transport Entity n
Contoh Transport Entity
Setiap koneksi akan berada di salah satu dari 7 status sbb: n n
n n n n n
n
IDLE: tidak adakoneksi WAITING: sudah eksekusi CONNECT dan CALL REQUEST telah dikirim QUEUED: CALL REQUEST telah tiba, belum ada LISTEN ESTABLISHED: koneksi terbentuk SENDING: user menunggu untuk mengirim paket RECEIVING: Sebuah RECEIVE telah dilakukan DISCONNECTING: Sebuah DISCONNECT telah dilakukan lokal
Perubahan status terjadi karena 3 sebab: n n n
n
Eksekusi sebuah primitif Packet datang Time expires
Type procedure: n n
Callable by user program Spontaneus triggered by external events: packet_arrival, clock
55
56
Contoh Transport Entity
Transport Layer n
Gambaran grafis
n n n
Layanan Elemen Transport Protocol Sederhana Transport Protocol Internet: n n
n
UDP TCP
Masalah Performansi
57
58
UDP (User Datagram Protocol) n
n
n
n
Protokol Connectionless Internet dalam transport layer UDP pada dasarnya hanya IP dengan tambahan header singkat UDP memungkinkan aplikasi mengirim IP datagram yang dienkapsulasi dan dikirim tanpa perlu establish conection Dijelaskan di RFC 768
UDP n
n
59
UDP mengirim segmen-segmen data berisi header 8 byte diikuti payload Header UDP
60
10
UDP n
n
n
n
RPC (Remote Procedure Call)
UDP tidak melakukan flow control, error control, atau retransmisi jika menerima bad segment. Semuanya tergantung user process.
n
n
UDP hanya menyediakan interface ke protokol IP dengan tambahan demultiplexing banyak proses yang menggunakan port. UDP useful untuk situasi client-server (short request replied by short answer) Aplikasi: DNS (IP address lookup)
Memungkinkan program memanggil procedure yang berada di remote host(s) Saat proses di M1 call procedure di M2, proses tersebut di-suspend dan eksekusi procedure dilakukan di M2 Informasi bisa ditransport dari caller ke callee dalam parameter dan bisa dikembalikan sebagai procedure result Tidak ada message passing yang visible bagi programmer
n
n 61
62
RPC n
RPC
Ide: membuat sebuah RPC terlihat sebagai local n
n
Dalam bentuk paling sederhana, untuk memanggil remote procedure, program client memiliki library yang disebut client stub yang mewakili server procedure di address space client Server juga memiliki server stub yang membuat seolah-olah call dari client adalah local 63
64
RTP (Real Time Transport Protocol)
RPC n
Problem: n
n n
n
n
n
Passing parameter tidak mungkin dilakukan karena client dan server berada di address space yang berbeda Tidak ada cara menspesifikasikan ukuran array Tidak selalu dapat mendeduksi type parameter (baik dari spesifikasi formal maupun dari code) Penggunaan variabel global
n n n n n
n n
Solusi: n
Perlu dilakukan pembatasan (restriksi)
Digunakan pada aplikasi multimedia real-time:
n 65
Internet Radio Internet Telephony Music on demand Videoconferencing Video on demand
RFC 1889 Fungsi utama RTP adalah multiplex sejumlah data stream real-time ke dalam satu stream paket UDP Stream USP bisa unicasting atau multicasting 66
11
RTP
Transport Layer n n n n
Layanan Elemen Transport Protocol Sederhana Transport Protocol Internet: n n
(a) (b)
posisi RTP dalam protocol stack packet nesting
n
n
n
n
Masalah Performansi
67
68
TCP n
UDP TCP
TCP Entity
Untuk aplikasi internet umumnya diperlukan delivery yang reliable dan terurut – digunakan TCP TCP dirancang spesifik untuk menyediakan byte stream yang reliable di atas internetwork yang unreliable TCP dirancang untuk bisa beradaptasi dengan berbagai properti internetwork dan robust terhadap bermacam failure RFC 793, 1122, dan 1323
n
Tiap mesin yang mendukung TCP memiliki transport entity berupa: n n n
n n
Library procedure User process Bagian dari kernel OS
Entity mengelola stream TCP dan interface dengan layer IP Entity menerima user data stream dari local process, memecah menjadi potongan-potongan lebih kecil dari 64KB (1460B jika menggunakan ethernet) dan mengirim masing-masing potongan lewat IP
69
70
TCP Entity n
n
Model Layanan TCP
Ketika paket IP berisi TCP data tiba di mesin tujuan, diberikan ke TCP entity yang kemudian merekonstruksi byte stream TCP bisa berarti: n n
TCP transport entity (software) TCP protocol (aturan/rules)
n
n
n 71
Layanan TCP didapatkan sender dan receiver dengan membentuk end-point yang disebut socket Tiap socket punya nomor (address) berisi IP address host dan 16-bit nomor port (lokal) Port adalah nama TCP untuk TSAP 72
12
Model Layanan TCP n
n
n
Port
Koneksi harus terbentuk antara socket di mesin pengirim dan penerima Socket bisa digunakan untuk multiple connection bersamaan. 2 atau lebih koneksi bisa berujung di soket yang sama Koneksi diidentifikasi berdasarkan indentifier socket di kedua ujung. Tidak ada nomor VC atau identifier lain yang digunakan
n
n
n n n
Nomor port di bawah 1024 disebut well-known port dan di-reserve untuk layanan standar Nomor port yang bisa dipakai antara 1024 hingga 65535 FTP port 21 List port di www.iana.org Contoh, web server mendengarkan port 80 untuk request dari clients (browsers). Ketika client ingin membentuk koneksi dengan server socket, client is diberi nomor port oleh local host. Misal client X (d i IP address 146.86.3.15) ingin browse web page d i server 146.86.5.20. Jika client X diberi port 12345, koneksi antara client dan server diidentifikasi sebgai pasangan socket <146.86.3.15 : 12345, 146.86.5.20 : 80>
73
74
Model Layanan TCP n
n
n
Protokol TCP
Semua koneksi TCP adalah full-duplex dan pointto-point. TCP tidak mendukung Muticasting atau Broadcasting Koneksi TCP adalah byte stream, bukan message stream. n
n
n n
n
Jika pengirim menulis 4 x 512 bite ke TCP stream, data ini bisa dideliver sebagai 4 x 512, 2 x 1024, atau sebuah 2048, atau yang lain. Penerima tidak bisa mendeteksi besar unit penulisan data
Setiap byte dalam koneksi TCP memiliki nomor urut 32 bit TCP entity mempertukarkan data dalam bentuk segmen. Segmen TCP berisi fixed 20-byte header (+optional) diikuti data 2 limit pembatasan ukuran segmen: n
n
Segmen termasuk header harus cukup di IP payload (65.515 byte = 65.535 - 20) Setiap network punya Maximum Transfer Unit (MTU) dan setiap segmen harus cukup di MTU. Pada prakteknya MTU umumnya 1500 bytes (Ethernet payload)
75
Protokol TCP n
76
TCP Segment Header
Protokol yang dipakai TCP pada dasarnya adalah sliding window n n
n
Ketika sender transmit segmen, timer dinyalakan Ketika segmen tiba di tujuan, penerima mengirim balik segmen (dengan data jika ada ) berisi juga nomor ack (sama dengan nomor urut berikutnya yang ditunggu, increment 1) Jika timer terlewati sebelum ack diterima, sender retransmit segmen 77
78
13
TCP Connection Establishment n n
n
Menggunakan 3-way handshake Untuk membentuk koneksi, satu pihak akan pasif menunggu koneksi dengan LISTEN dan ACCEPT, tanpa menentukan siapapun Sisi lain mengeksekusi CONNECT beserta IP address dan port yang ingin dikoneksi, max TCP segment size, dan data optional lain (misal password)
TCP Connection Establishment n
n
Primitive CONNECT mengirim segmen TCP dengan SYN=on dan ACK=off dan menunggu respon Di destination, TCP entity memeriksa apakah ada proses yang sudah LISTEN ke port dimaksud. n
n
Jika tidak dikirim jawaban dengan RST=on untuk menolak koneksi Jika ada proses listen, proses diberi TCP segmen . Proses bisa menolak atau menerima koneksi. Jika diterima, segmen ACK dikirimkan
79
TCP Connection Establishment
80
TCP Connection Release n
n
n
(a) Normal
(b) Call collision
Setiap koneksi simplex dilepaskan secara independen Untuk melepaskan koneksi, sembarang pihak bisa mengirim segmen TCP dengan bit FIN=1, yang berarti tidak ada data lagi yang ingin dikirimkan Ketika FIN di-ack, koneksi arah tersebut terputus. Data masih bisa mengalir di arah yang lain. Ketika kedua arah telah diputus, maka koneksi baru dilepaskan
81
TCP Connection Release n
n
82
Manajemen Koneksi TCP
Normalnya, 4 segmen TCP diperlukan untuk melepaskan koneksi. Satu FIN dan satu ACK untuk masing-masing arah Untuk mengindari problem 2 pasukan, digunakan timer
83
84
14
TCP Congestion Control n
Terdapat 2 problem potensial Kapasitas network Kapasitas receiver/penerima
n n
n
Setiap sender memiliki 2 window Window yang disetujui receiver Window untuk congestion
n n
n
n
TCP Congestion Control
Masing-masing menggambarkan jumlah byte yang boleh dikirim sender, dicari yang paling rendah (minimum) Menggunakan treshold (ambang batas). Ketika terjadi timeout, treshold diset setengah dari current congestion window dan congestion window di-reset ke satu maximum segmen
(a) A fast network feeding a low capacity receiver. (b) A slow network feeding a high-capacity receiver.
85
TCP Timer Management n
Wireless TCP
TCP menggunakan banyak timer untuk operasionalnya: n n n
n
Secara teori: n
Retransmission timer: menunggu ACK Persistence timer: mencegah deadlock Keepalive timer: idle sebelum disconnect
n
n
Transport protocol harus independen terhadap teknologi network layer di bawahnya TCP tidak peduli apakah IP dijalankan , misalnya, di Fiber atau lewat radio
Pada prakteknya: n
n
Kebanyakan implementasi TCP telah dioptimasi berdasar asumsi yang berlaku untuk wired network, tetapi tidak berlaku untuk wireless Kehilangan paket adalah penyebab utama terjadinya timeout
87
88
Wireless TCP n
Wireless TCP
Problem utama adalah algoritma congestion control n
n
n
86
n
Hampir semua implementasi TCP berasumsi bahwa timeout terjadi karena congestion bukan karena kehilangan paket Konsekuensinya, ketika timeout, TCP memperlambat dan mengurangi laju pengiriman Idenya adalah dengan mengurangi network load maka congestion akan bisa dikurangi
Transmisi wireless biasanya sangat tidak reliable n
n
n
n 89
Kehilangan paket sangat sering, hampir selalu terjadi Pendekatan paling cocok untuk kehialngan paket adalah mengirim ulang paket secepatnya Memperlambat malah akan memperburuk keadaan Pengambilan keputusan oleh sender jarang bisa dilakukan karena heterogenitas network 90
15
Indirect TCP n
n
Indirect TCP
Solusi yang diajukan oleh Bakne dan Badrinath (1995) Membagi koneksi TCP menjadi 2 koneksi terpisah
n n n
Koneksi 1: dari sender ke base station Koneksi 2: dari base station ke receiver Kedua koneksi menjadi homogen n n
n
Timeout di koneksi 1 memperlambat sender Timeout di koneksi 2 mempercepat sender
Kelemahan: menyalahi semantic TCIP
91
Transactional TCP n
n
n
n
92
T/TCP
Sebuah cara mengkombinasikan efisiensi RPC menggunakan UDP dan reliability dari TCP Merupakan varian eksperimen dari TCP (RFC 1379 dan 1644) Ide: Memodifikasi sedikit setup koneksi standar untuk memungkinkan transfer data selama setup Proposal lain adalah SCTP (Stream Control Transmission Protocol): (a) (b)
93
Performansi (lebih baik) n
n
n
n
RPC menggunakan normal TCP RPC menggunakan T/TCP
94
Performansi
Aturan 1: Kecepatan CPU (termasuk I/Onya) lebih penting daripada kecepatan network Aturan 2: Kurangi jumlah paket untuk mengurangi overhead software (pemrosesan TPDU) Aturan 3: Minimalkan perpindahan konteks (misal dari kernel ke user mode) Aturan 4: Minimalkan penyalinan (copy)
n
n
n
95
Aturan 5: Bandwidth tambahan bisa dibeli, tetapi pengurangan delay tidak bisa Aturan 6: Menghindari Congestion lebih baik daripada mengobati Aturan 7: Hindari timeout, gunakan hanya untuk keadaan darurat 96
16
APPLICATION LAYER n
TUGAS MATERI SECURITY
Next …
n n
Buat 18 kelompok, masing-masing kelas 9 kelompok Buatlah makalah dan presentasi untuk 9 topik di network security: n n n n n n n n n
97
Cryptography Symmetric Key Public Key Digital Signature Public Key Management Communication Security Authentication Protocol E-mail security Web security
98
17