k6 if3291 id - muamalkhoerudin.files.wordpress.com filen ada 2: nconnection oriented nconnectionless...

17
1 Jaringan Komputer Transport Layer 2 Transport Layer n Goal: menyediakan layanan yang efisien, reliable, dan cost-effective kepadauser-nya (proses di application layer) n “Provide a reliable service on top of an unreliable network” n Transport Entity menyediakan service dan interface-nya untuk aplikasi n Layer yang bekerja di user side n Memungkinkan detil network menjadi transparan bagi application programmer n Menyediakan juga layanan (connectionless) datagram yang unreliable: untuk client-server dan streaming 3 Transport Layer n Layanan n Elemen n Transport Protocol Sederhana n Transport Protocol Internet: n TCP n UDP n Masalah Performansi 4 Transport Layer n Layanan n Elemen n Transport Protocol Sederhana n Transport Protocol Internet: n TCP n UDP n Masalah Performansi 5 Layanan n Mirip dengan network layer: n Ada 2: n Connection Oriented n Connectionless n Tetapi: n Kode transport dijalankan di mesin user, sedang network layer di router (yang dioperasikan oleh penyedia layanan koneksi) n Transport layer menutupikekurangan di network layer (packet loss, router crash) 6 Layanan n Dilakukan pembedaan OSI layer n Layer 1-4: Transport Service Provider n Layer di atas 4: Transport Service User n 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

Upload: voquynh

Post on 19-May-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

1

Jaringan KomputerTransport Layer

2

Transport Layer

n Goal: menyediakan layanan yang efisien, reliable, dancost-effective kepadauser-nya (proses di application layer)

n “Provide a reliable service on top of an unreliable network”

n Transport Entity menyediakan service dan interface-nyauntuk aplikasi

n Layer yang bekerja di user siden Memungkinkan detil network menjadi transparan bagi

application programmer n Menyediakan juga layanan (connectionless) datagram

yang unreliable: untuk client-server dan streaming

3

Transport Layer

n Layanann Elemenn Transport Protocol Sederhanan Transport Protocol Internet:

n TCPn UDP

n Masalah Performansi

4

Transport Layer

n Layanann Elemenn Transport Protocol Sederhanan Transport Protocol Internet:

n TCPn UDP

n Masalah Performansi

5

Layanan

n Mirip dengan network layer:n Ada 2:

n Connection Oriented n Connectionless

n Tetapi:n Kode transport dijalankan di mesin user, sedang

network layer di router (yang dioperasikan olehpenyedia layanan koneksi)

n Transport layer menutupikekurangan di network layer (packet loss, router crash)

6

Layanan

n Dilakukan pembedaan OSI layern Layer 1-4: Transport Service Providern Layer di atas 4: Transport Service User

n Pembedaan ini sangat mempengaruhirancangan layer dan menempatkantransport layer di posisi penting, karenamembentuk pembatas utama antaraprovider dan user dari layanan transmisidata yang reliable

2

7

Layanan

8

Transport Service Primitives

n Server mengeksekusi LISTENn Ketika client ingin berkomunikasi, mengeksekusi CONNECT – mengirim

CON REQ TPDUn Jika server berada dalam LISTEN, unblock server dan kirim balik CON

ACC TPDUn Perukaran data dengan SEND dan RECEIVEn Ketika koneksi sudah tidak dibutuhkan, eksekusi DISCONNECT – kirim

DISC TPDU

9

TPDU

10

State Diagram Koneksi

n Italic: Transisikarenakedatanganpaket

n Solid line: Status client

n Dashed Line: Status server

11

Berkeley Socket

n Digunakan pada Berkeley UNIX untuk TCP Internet programming

12

Berkeley Socket

n Contoh programming client-server ada diwebsite: http://www.prenhall.com/tanenbaum

3

13

Transport Layer

n Layanann Elemenn Transport Protocol Sederhanan Transport Protocol Internet:

n TCPn UDP

n Masalah Performansi

14

Elemen Transport Protocol

• Addressing• Connection Establishment• Connection Release• Flow Control dan Buffering• Multiplexing• Crash Recovery

15

Elemen Transport Protocol

n Transport protocol mirip data link protocoln Keduanya berurusan dengan error control,

sequencing dan flow controln Perbedaan utama karena berbedanya

lingkungan operasi protokolnyan Pada data link layer, 2 router berkomunikasi

langsung lewat sebuah physical layern Pada transport layer, seolah-olah physical layer

ini digantikan oleh subnet 16

Lingkungan

(a) Data Link (b) Transport

17

Perbedaan

n Route: pada transport layer, diperlukanexplicit addressing dari destination

n Connection Establishment:n Sangat sederhana jika lewat wiren Pada transport layer hal ini lebih rumit

n Ada kemungkinan tempat penyimpanansementara di subnet (di wire tidak ada)

n Buffering dan Flow Control berbeda:n Jumlah koneksi yang banyak dan bervariasi

18

Elemen Transport Protocol

• Addressing• Connection Establishment• Connection Release• Flow Control dan Buffering• Multiplexing• Crash Recovery

4

19

Addressing

n TSAP, NSAP dankoneksitransport

20

Addressing

n TSAP Addressesn Stable:

n Setiap server mendengarkan TSAP yang dikenaln Untuk layanan yang tidak pernah berubah (misal Web Server)

n Not stable:n Untuk user process yang sering berkomunikasi dengan user

process lain yang muncul hanya sebentar dan tidak punya TSAP address yang dikenal sebelumnya

n Skema:n Initial:setiap mesin yang menawarkan layanan memiliki special

process server sebagai proxyn Directory server: ketika sebuah layanan baru dibentuk, harus

mendaftarkandirinya ke directory server yang akan memberikannama layanan dan TSAP

21

Elemen Transport Protocol

• Addressing• Connection Establishment• Connection Release• Flow Control dan Buffering• Multiplexing• Crash Recovery

22

Connection Establishment

23

Connection Establishment

n Cukup dengan mengirimkan CONNECTION REQUEST TPDU ke destination dan menungguCONNECTION ACCEPTED? TIDAK!

n Problem:n Packet lostn Traffic jam (+packet delayed duplication)

n Solusi:n Gunakan throw-away transport address (dibuat saat

diperlukan )n Connection identifier, kekurangan: informasi history

sangat besar dan akan hilang jika crash24

Connection Establishment

n Solusi lain:n Pembatasan lifetime packet:

n Restricted subnetn Hop countern Timestamp

n Jika mesin kehilangan isi memory:n Clock-Based (Tomlinson):

n Tiap host punya time-of-day clockn Sejumlah bit (low-order) dari clock dipakai sebagai nomor

urut initialn Koneksi harus dibentuk sebelumnya

5

25

Solusi lain

n Problem: Incorrect Connection Establishmentn Solusi: 3-way handshake (Tomlinson)

(a) normal (b) CR duplikat (c) CR dan ACK duplikat

26

Elemen Transport Protocol

• Addressing• Connection Establishment• Connection Release• Flow Control dan Buffering• Multiplexing• Crash Recovery

27

Connection Release

n Ada 2 style untuk melepaskan koneksi:n Asimetrik:

n Saat satu pihak menutup, koneksi terputusn Kasar/mendadak dan mungkin menyebabkan data

loss (data belum sampai lengkap , sudah putus)

n Simetrik:n Menganggap koneksi sebagai 2 koneksi searah dan

harus dilepaskan secara terpisahn Host bisa masih menerima data setelah host tsb

mengirim DISCONNECT TPDU28

Abrupt Disconnection

29

Connection Release

n Situasi lain:n Protokol: Saya sudah selesai, anda sudah juga?

Jika jawaban = Ya. Koneksi bisa diputus (?)n Problem:

n Problem 2 pasukan tentara:n Berapa yang diperlukan: 2,3,4 atau lebih handshake

protocol?n Ganti disconnect dengan “serang”. Jika tidak ada yang

disconnect jike belum yakin yang lain siap disconnect juga, maka tidak akan pernah disconnect

30

Problem 2 pasukan

6

31

3-way protocol

n Untuk kasus 2 pasukan, berapapun tidakakan cukup, karena tidak akan pernahyakin

n Kasus disconnection tidak sekritis perangn 3-way dianggap cukup dengan tambahan

timeout

32

3-way

4 skenario:(a) Normal(b) Final ACK

hilang(c) Respons

hilang(d) Respons

dan DR berikutnyahilang

33

Elemen Transport Protocol

• Addressing• Connection Establishment• Connection Release• Flow Control dan Buffering• Multiplexing• Crash Recovery

34

Flow Control dan Buffering

n Transport vs. Datalink layer:n Sama: skema sliding window atau yang lain diperlukan

untuk setiap koneksi untuk menjaga transmitter yang cepat tidak overrun receiver lambat

n Beda: sebuah router biasanyapunya line sedikit, sedanghost mungkin banyak (relatif). Perbedaan inimenyebabkan tidak bisa dilakukannyapenerapan strategibuffering di datalink kepada transport layer

n Jika network unreliable, sender harus mem-buffer semua TPDU yang dikirimkan.

n Jika network reliable, buffer bisa di receiver sajan Masalah: penentuan ukuran buffer (vs. TPDU)

35

Ukuran buffer

(a) Chained fix(b) Chained variable(c) Circular

36

Buffering

n Pilihan optimal antara buffer sender danbuffer receiver ditentukan jenis koneksin Low bandwidth, bursty (interactive terminal) ->

buffer sendern High bandwidth, file transfer -> buffer receiver

n Alokasi buffer di receiver bisa dilakukansecara dinamis berdasar permintaan sender dengan TPDU terpisah untuk request buffer

7

37

Flow Control

n Walaupun masalah buffer (diasumsikan) tidak ada (unlimited buffer), masih terdapatmasalah bottleneck yaitu carrying capacity dari subnet

n Flow control pada sender harus berbasispada kapasitas subnet

n Belsnes mengusulkan skema flow control dengan sliding windows. Ukuran windows dinamis sesuai kapasitas subnet

38

Elemen Transport Protocol

• Addressing• Connection Establishment• Connection Release• Flow Control dan Buffering• Multiplexing• Crash Recovery

39

Multiplexing

n Digunakan untuk mengoptimalkanpenggunaan koneksi

n Ada 2 macam:n Upward Multiplexing: sejumlah koneksi

transport berbeda ke dalam sebuah koneksinetwork

n Downward Multiplexing: sebuah koneksitransport mendistribusikan lalu lintas data kesejumlah koenksi network, misal untukmeningkatkan bandwidth

40

Multiplexing

41

Elemen Transport Protocol

• Addressing• Connection Establishment• Connection Release• Flow Control dan Buffering• Multiplexing• Crash Recovery

42

Crash Recovery

n Crash bisa terjadi pada host dan router.n Jika transport entity berada sepenuhnya dalam

host, recovery dari network dan router crash bisalangsungn Jika network layer menyediakan layanan conectionless

(datagram), kehilangan TPDU adalah hal yang biasan Jika network layer menyediakan layanan connection-

oriented, VC yang hilang ditangani dengan membuat VC baru dan probing ke remote transport entity manayang sudah diterima manayang belum. Yang belum akan di-retransmisi

8

43

Crash Recovery

n Masalah utama pada host (server) crash. Diinginkan jangan sampai mengganggu pekerjaanuser (client), berkaitan dengan status sebelumcrash.n Solusi naïve: Server minta host lain menanyakan ke

client statusnya apakah :n S1: one TPDU outstanding -> retransmit recent TPDUn S0: no TPDU outstanding

n Ada 2 operasi: write TPDU dan send ack yang salingterpisah yang bisa menyebabkan recovery gagal

44

Crash Recovery

n Dari sisi server ada 2 kemungkinan: ACK first atau Write first

n Dari sisi client ada 4 kemungkinan: selaluretransmit TPDU terakhir, tidak pernahretransmit, retramsnit jika status S0, retransmit jika status S1.

n Ada 8 kombinasi tetapi ada beberapa yang menyebabkan protocol fail

45

Crash Recovery

n Strategi:

46

Crash Recovery

n Secara umum, recovery untuk crash dilayer N hanya bisa dilakukan di layer N+1

n Dengan syarat bahwa layer N+1 memilikiinformasi yang cukup untuk melakukanrecovery

n Misal: Transport layer bisa recover crash dinetwork jika kedua pihak yang berkomunikasi tahu di mana terjadinyacrash

47

Transport Layer

n Layanann Elemenn Transport Protocol Sederhanan Transport Protocol Internet:

n TCPn UDP

n Masalah Performansi

48

Transport Protocol Sederhana

n Sebuah contoh transport layer sederhanauntuk pembahasan lebih detil

n Primitif Layanan yang dibahas adalahuntuk connection-oriented

n Mirip dengan TCP namun lebih sederhana

9

49

Contoh Service Primitives

n 5 primitives: CONNECT, LISTEN, DISCONNECT, SEND dan RECEIVE

n Setiap primitive berkaitan dengan sebuah library procedure yang mengeksekusinya

n Parameter untuk primitives dan library adalah sb:n Connum = LISTEN(local)n Connum = CONNECT(local, remote)n Status = SEND(connum, buffer, bytes)n Status = RECEIVE(connum, buffer, bytes)n Status = DISCONNECT(connum)

50

Primitives

n LISTEN: memberitakan keinginan caller (procedure call) untuk menerima request koneksi ke local TSAP tertentu

n CONNECT: mencoba establish transport connection antara local TSAP dan remote TSAP (di sisi seberang). Jika sukses connum> 0 menandakan identifier koneksi. Jika gagalconnum < 0 menandakan sebab kegagalan. Misal remote TSAP sudah terkoneksi denganTSAP lain.

51

Primitives

n SEND: mengirim isi buffer sebagai message dalamtransport connection connum. Kemungkinanerror/kegagalan dikembalikan dalam status, misalnya: no connection, illegal buffer address, atau negative count.

n RECEIVE: keinginan caller menerima data.n DISCONNECT: teminate transport connection yang

diindikasikan dengan connum. Jika berhasil status = 0. Kemungkinan error: connum tidak valid

52

Contoh Transport Entity

n Menggunakan layanan connection-oriented yang reliable (dari layer network)

n Fokus pada masalah transport yang tidak munculdi layer bawahn Connection establishmentn Connection releasen Credit management

n Transport entity bisa merupakan bagian dari SO host, atau bisa berupa paket library yang dijalankan di dalam user address space

53

Contoh Transport Entity

n Interface ke layer network melalui procedure to_net dan from_net

n Memiliki 6 parameter:n Connection identifiern Bit Q (control message)n Bit M (more data following)n Packet typen Pointer ke datan Ukuran data (jumlah bye)

54

Contoh Transport Entity

n Jenis paket

n Code transport entity ada di bukuTanenbaum section 6.3

10

55

Contoh Transport Entity

n Setiap koneksiakan berada di salah satu dari 7 status sbb:n IDLE: tidak adakoneksin WAITING: sudah eksekusi CONNECT dan CALL REQUEST

telah dikirimn QUEUED: CALL REQUEST telah tiba, belum ada LISTENn ESTABLISHED: koneksi terbentukn SENDING: user menunggu untuk mengirim paketn RECEIVING: Sebuah RECEIVE telah dilakukann DISCONNECTING: Sebuah DISCONNECT telah dilakukan

lokal56

Contoh Transport Entity

n Perubahan status terjadi karena 3 sebab:n Eksekusi sebuah primitifn Packet datangn Time expires

n Type procedure:n Callable by user programn Spontaneus triggered by external events:

packet_arrival, clock

57

Contoh Transport Entity

Gambarangrafis

58

Transport Layer

n Layanann Elemenn Transport Protocol Sederhanan Transport Protocol Internet:

n UDPn TCP

n Masalah Performansi

59

UDP (User Datagram Protocol)

n Protokol Connectionless Internet dalamtransport layer

n UDP pada dasarnya hanya IP dengantambahan header singkat

n UDP memungkinkan aplikasi mengirim IP datagram yang dienkapsulasi dan dikirimtanpa perlu establish conection

n Dijelaskan di RFC 768

60

UDP

n UDP mengirim segmen-segmen data berisiheader 8 byte diikuti payload

n Header UDP

11

61

UDP

n UDP tidak melakukan flow control, error control, atau retransmisi jika menerima bad segment. Semuanya tergantung user process.

n UDP hanya menyediakan interface ke protokol IP dengan tambahan demultiplexing banyak prosesyang menggunakan port.

n UDP useful untuk situasi client-server (short request replied by short answer)

n Aplikasi: DNS (IP address lookup)

62

RPC (Remote Procedure Call)

n Memungkinkan program memanggilprocedure yang berada di remote host(s)

n Saat proses di M1 call procedure di M2, proses tersebut di-suspend dan eksekusiprocedure dilakukan di M2n Informasi bisa ditransport dari caller ke callee

dalam parameter dan bisa dikembalikan sebagaiprocedure result

n Tidak ada message passing yang visible bagiprogrammer

63

RPC

n Ide: membuat sebuah RPC terlihat sebagailocaln Dalam bentuk paling sederhana, untuk

memanggil remote procedure, program client memiliki library yang disebut client stub yang mewakili server procedure di address space client

n Server juga memiliki server stub yang membuatseolah-olah call dari client adalah local

64

RPC

65

RPC

n Problem:n Passing parameter tidak mungkin dilakukan

karena client dan server berada di address space yang berbeda

n Tidak ada cara menspesifikasikan ukuran arrayn Tidak selalu dapat mendeduksi type parameter

(baik dari spesifikasi formal maupun dari code)n Penggunaan variabel global

n Solusi:n Perlu dilakukan pembatasan (restriksi)

66

RTP(Real Time Transport Protocol)

n Digunakan pada aplikasi multimedia real-time:n Internet Radion Internet Telephonyn Music on demandn Videoconferencingn Video on demand

n RFC 1889n Fungsi utama RTP adalah multiplex sejumlah data

stream real-time ke dalam satu stream paket UDPn Stream USP bisa unicasting atau multicasting

12

67

RTP

(a) posisi RTP dalam protocol stack(b) packet nesting

68

Transport Layer

n Layanann Elemenn Transport Protocol Sederhanan Transport Protocol Internet:

n UDPn TCP

n Masalah Performansi

69

TCP

n Untuk aplikasi internet umumnya diperlukandelivery yang reliable dan terurut – digunakan TCP

n TCP dirancang spesifik untuk menyediakan byte stream yang reliable di atas internetwork yang unreliable

n TCP dirancang untuk bisa beradaptasidenganberbagai properti internetwork dan robust terhadap bermacam failure

n RFC 793, 1122, dan 132370

TCP Entity

n Tiap mesin yang mendukung TCP memilikitransport entity berupa:n Library proceduren User processn Bagian dari kernel OS

n Entity mengelola stream TCP dan interface denganlayer IP

n Entity menerima user data stream dari local process, memecah menjadi potongan-potonganlebih kecil dari 64KB (1460B jika menggunakanethernet) dan mengirim masing-masing potonganlewat IP

71

TCP Entity

n Ketika paket IP berisi TCP data tiba dimesin tujuan, diberikan ke TCP entity yang kemudian merekonstruksi byte stream

n TCP bisa berarti:n TCP transport entity (software)n TCP protocol (aturan/rules)

72

Model Layanan TCP

n Layanan TCP didapatkan sender danreceiver dengan membentuk end-point yang disebut socket

n Tiap socket punya nomor (address) berisiIP address host dan 16-bit nomor port (lokal)

n Port adalah nama TCP untuk TSAP

13

73

Model Layanan TCP

n Koneksi harus terbentuk antara socket dimesin pengirim dan penerima

n Socket bisa digunakan untuk multiple connection bersamaan. 2 atau lebih koneksibisa berujung di soket yang sama

n Koneksi diidentifikasi berdasarkanindentifier socket di kedua ujung. Tidak adanomor VC atau identifier lain yang digunakan

74

Port

n Nomor port di bawah 1024 disebutwell-known port dan di-reserve untuklayanan standar

n Nomor port yang bisa dipakai antara1024 hingga 65535

n FTP port 21n List port di www.iana.orgn Contoh, web server mendengarkan port

80 untuk request dari clients (browsers). Ketika client ingin membentuk koneksidengan server socket, client is diberinomor 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. Jikaclient X diberi port 12345, koneksi antaraclient dan server diidentifikasi sebgaipasangan socket <146.86.3.15 : 12345, 146.86.5.20 : 80>

75

Model Layanan TCP

n Semua koneksi TCP adalah full-duplex dan point-to-point.

n TCP tidak mendukung Muticasting atauBroadcasting

n Koneksi TCP adalah byte stream, bukan message stream. n Jika pengirim menulis 4 x 512 bite ke TCP stream, data

ini bisa dideliver sebagai 4 x 512, 2 x 1024, atau sebuah2048, atau yang lain.

n Penerima tidak bisa mendeteksi besar unit penulisandata

76

Protokol TCP

n Setiap byte dalam koneksi TCP memiliki nomorurut 32 bit

n TCP entity mempertukarkan data dalam bentuksegmen. Segmen TCP berisi fixed 20-byte header (+optional) diikuti data

n 2 limit pembatasan ukuran segmen:n Segmen termasuk header harus cukup di IP payload

(65.515 byte = 65.535 - 20)n Setiap network punyaMaximum Transfer Unit (MTU)

dan setiap segmen harus cukup di MTU. Padaprakteknya MTU umumnya 1500 bytes (Ethernet payload)

77

Protokol TCP

n Protokol yang dipakai TCP pada dasarnyaadalah sliding windown Ketika sender transmit segmen, timer dinyalakann Ketika segmen tiba di tujuan, penerima

mengirim balik segmen (dengan data jika ada) berisi juga nomor ack (sama dengan nomor urutberikutnya yang ditunggu, increment 1)

n Jika timer terlewati sebelum ack diterima, sender retransmit segmen

78

TCP Segment Header

14

79

TCP Connection Establishment

n Menggunakan 3-way handshaken Untuk membentuk koneksi, satu pihak akan

pasif menunggu koneksi dengan LISTEN dan ACCEPT, tanpa menentukan siapapun

n Sisi lain mengeksekusi CONNECT beserta IP address dan port yang ingin dikoneksi, max TCP segment size, dan data optional lain (misal password)

80

TCP Connection Establishment

n Primitive CONNECT mengirim segmen TCP denganSYN=on dan ACK=off dan menunggu respon

n Di destination, TCP entity memeriksa apakah adaproses yang sudah LISTEN ke port dimaksud. n Jika tidak dikirim jawaban dengan RST=on untuk

menolak koneksin Jika ada proses listen, proses diberi TCP segmen.

Proses bisa menolak atau menerima koneksi. Jikaditerima, segmen ACK dikirimkan

81

TCP Connection Establishment

(a) Normal (b) Call collision

82

TCP Connection Release

n Setiap koneksi simplex dilepaskan secaraindependen

n Untuk melepaskan koneksi, sembarang pihakbisa mengirim segmen TCP dengan bit FIN=1, yang berarti tidakada data lagi yang ingin dikirimkan

n Ketika FIN di-ack, koneksi arah tersebutterputus. Data masih bisa mengalir di arahyang lain. Ketika kedua arah telah diputus, maka koneksi baru dilepaskan

83

TCP Connection Release

n Normalnya, 4 segmen TCP diperlukanuntuk melepaskan koneksi. Satu FIN dan satu ACK untuk masing-masingarah

n Untuk mengindari problem 2 pasukan, digunakan timer

84

Manajemen Koneksi TCP

15

85

TCP Congestion Control

n Terdapat 2 problem potensialn Kapasitas networkn Kapasitas receiver/penerima

n Setiap sender memiliki 2 windown Window yang disetujui receivern Window untuk congestion

n Masing-masing menggambarkan jumlah byte yang bolehdikirim sender, dicari yang paling rendah (minimum)

n Menggunakan treshold (ambang batas). Ketika terjaditimeout, treshold diset setengah dari current congestion window dan congestion window di-reset ke satu maximum segmen

86

TCP Congestion Control

(a) A fast network feeding a low capacity receiver.(b) A slow network feeding a high-capacity receiver.

87

TCP Timer Management

n TCP menggunakan banyak timer untukoperasionalnya:n Retransmission timer: menunggu ACKn Persistence timer: mencegah deadlockn Keepalive timer: idle sebelum disconnect

88

Wireless TCP

n Secara teori:n Transport protocol harus independen terhadap teknologi

network layer di bawahnyan TCP tidak peduli apakah IP dijalankan , misalnya, di Fiber

atau lewat radion Pada prakteknya:

n Kebanyakan implementasi TCP telah dioptimasi berdasarasumsi yang berlakuuntuk wired network, tetapi tidakberlaku untuk wireless

n Kehilangan paket adalah penyebab utama terjadinyatimeout

89

Wireless TCP

n Problem utama adalah algoritmacongestion controln Hampir semua implementasi TCP berasumsi

bahwa timeout terjadi karena congestion bukan karena kehilangan paket

n Konsekuensinya, ketika timeout, TCP memperlambat dan mengurangi lajupengiriman

n Idenya adalah dengan mengurangi network load maka congestion akan bisa dikurangi

90

Wireless TCP

n Transmisi wireless biasanya sangat tidakreliablen Kehilangan paket sangat sering, hampir selalu

terjadin Pendekatan paling cocok untuk kehialngan

paket adalah mengirim ulang paket secepatnyan Memperlambat malah akan memperburuk

keadaann Pengambilan keputusan oleh sender jarang bisa

dilakukan karena heterogenitas network

16

91

Indirect TCP

n Solusi yang diajukan oleh Bakne danBadrinath (1995)

n Membagi koneksi TCP menjadi 2 koneksiterpisah

92

Indirect TCP

n Koneksi 1: dari sender ke base stationn Koneksi 2: dari base station ke receivern Kedua koneksi menjadi homogen

n Timeout di koneksi 1 memperlambat sendern Timeout di koneksi 2 mempercepat sender

n Kelemahan: menyalahi semantic TCIP

93

Transactional TCP

n Sebuah cara mengkombinasikan efisiensiRPC menggunakan UDP dan reliability dari TCP

n Merupakan varian eksperimen dari TCP (RFC 1379 dan 1644)

n Ide: Memodifikasi sedikit setup koneksi standaruntuk memungkinkan transfer data selama setup

n Proposal lain adalah SCTP (Stream Control Transmission Protocol):

94

T/TCP

(a) RPC menggunakan normal TCP(b) RPC menggunakan T/TCP

95

Performansi (lebih baik)

n Aturan 1: Kecepatan CPU (termasuk I/O-nya) lebih penting daripada kecepatannetwork

n Aturan 2: Kurangi jumlah paket untukmengurangi overhead software (pemrosesan TPDU)

n Aturan 3: Minimalkan perpindahankonteks (misal dari kernel ke user mode)

n Aturan 4: Minimalkan penyalinan (copy)96

Performansi

n Aturan 5: Bandwidth tambahan bisadibeli, tetapi pengurangan delay tidakbisa

n Aturan 6: Menghindari Congestion lebihbaik daripada mengobati

n Aturan 7: Hindari timeout, gunakanhanya untuk keadaan darurat

17

97

APPLICATION LAYER

n Next …

98

TUGAS MATERI SECURITYn Buat 18 kelompok, masing-masing kelas 9 kelompokn Buatlah makalah dan presentasi untuk 9 topik di network

security:n Cryptographyn Symmetric Keyn Public Keyn Digital Signaturen Public Key Managementn Communication Securityn Authentication Protocoln E-mail securityn Web security