Rahmady Liyantanto
liyantanto88@gmail.com
liyantanto.wordpress.com
D3 Manajemen Informatika Universitas Trunojoyo
¡
Sebelum TCP/IP digunakan sebagai standart untuk
komunikasi data, OSI (Open System Interconnection) lebih
dulu digunakan dan dikembangkan walaupun pada saat yang
bersamaan TCP/IP sudah mulai diteliti dan dikembangkan.
¡
Arsitektur TCP/IP sendiri mulai diteliti dan dikembangkan
oleh Departemen Pertahanan Amerika Serikat (US
Department of Defense) pada tahun 1973. Proyek penelitian
ini muncul dikarenakan adanya maksud untuk
menghubungkan sejumlah networks yang berbeda yang
mana networks tersebut dibangun oleh beberapa vendor
yang berbeda kedalam suatu jaringan yang berada pada
¡
Kemudian, pada tahun 1977 diadakan suatu pengujian
terhadap arsitektur TCP/IP. Selanjutnya, pada tahun 1983,
TCP/IP menjadi protokol resmi untuk ARPANET dan
kemudian protokol TCP/IP begitu mendominasi dan menjadi
protokol yang paling populer dan banyak digunakan sebagai
standart untuk komunikasi data.
¡
Internet Protocol (IP) adalah network layer (Layer 3)
protocol yang membawa informasi alamat dan
kontrol informasi kemana saja data di bawa.
¡
Transmission Control Protocol (TCP) menjamin
kehandalan transmisi data pada Internet Protocol
(IP)
¡
TCP berada pada transport layer (Layer 4)
Open
¡
Connection-oriented reliable byte stream
¡TCP connection management
¡
TCP flow control
¡
TCP congestion control
¡TCP error control
7
¡
Flow Control
: Algoritma utk mencegah pengirim
‘membanjiri’ (
overrun
) penerima dg
informasi
¡
Congestion Control
: Algoritma utk mencegah pengirim
membuat overload jaringan
¡
Error Control
: Algoritma utk recovery atau
‘menghilangkan’ efek dari kehilangan
paket
¡
TCP = Transmission Control protocol
§ Connection-oriented protocol
§ Menyediakan unicast reliable end-to-end byte stream melalui
9 ¡ Sebelum transfer data, TCP membangun suatu koneksi
§ Satu entitas TCP menunggu untuk koneksi (server) § Entitas TCP lain (client) mengkontak server
¡ Prosedur aktual untuk set-up koneksi lebih kompleks ¡ Tiap koneksi adalah full duplex
¡
Byte stream dipecah kedlm potongan-potongan disebut
segment
§ Penerima mengirimkan acknowledgment utk segment
§ TCP menjaga suatu timer. Jika Ack tdk diterima dlm waktu
timeout segment diretransmisikan
¡
Deteksi Error
§ TCP mempunyai checksum utk header dan data. Segment dg
invalid checksum dibuang
11 ¡ Ke layer yg lebih rendah, TCP menyerahkan data dlm blok, segment ¡ Ke layer yg lebih tinggi, TCP menyerahkan data sbg deretan byte
¡ Connection-oriented transport protocol
§ menyediakan transport dari source port ke destination port
¡ Beroperasi diatas IP
¡ Stream-oriented (sebagai lawan dari message-oriented)
§ deretan byte data diterima dari sending application bersama-sama
dengan informasi untuk header
§ TCP men-segmentasi deretan data dan menambahkan header
▪ secara umum TCP menentukan kapan untuk mengakhiri segmen dan transmit
▪ user dapat memaksa segmentasi dan transport via push function process sebaliknya terjadi pada TCP process di penerima
13 byte stream Send buffer segments Receive buffer byte stream Application Application ACKs Transmitter Receiver
Data
TCP Header 20 bytes of
15 ¡ Segment TCP memp. header 20 byte dg byte data ³ 0
17 ¡ Source port mengindikasikan source TCP user
¡ Destination port mengindikasikan receiving TCP user
¡ Sequence number menunjukan posisi pada byte data pertama dari
segmen (byte-counter untuk koneksi)
¡ Acknowledgement number ack secara piggybacking menunjukan
byte data berikutnya yang diharapkan
¡ Flags
§ URG flag digunakan untuk menginformasikan TCP user tujuan
data urgent datang
§ PSH (push) flag mengindikasikan source user meminta
segmentasi pada akhir penyerahan data saat ini dan transmisi semua segment pada buffer pengirim (sampai dengan termasuk segment saat ini)
▪ juga memaksa receiving TCP process untuk secara segera
meneruskan segment saat ini dan juga yang lainnya pada buffer penerima ke user tujuan
19 ¡ Checksum
§ diaplikasikan ke seluruh segment dan ‘pseudoheader’
▪ pseudoheader mencakup beberapa field dari IP header: source dan destination IP address, protocol, segment length
▪ memberikan proteksi terhadap kesalahan pengiriman oleh
IP--mis., corruption of destination IP address
Source IP address
Destination IP address
00000000 Protocol=6 TCP segment length
¡
TCP mengimplementasikan sliding window flow control
¡Acknowledgment terpisah dari setting ukuran window di
pengirim
¡
Acknowledgment tdk secara otomatis menaikan ukuran
window
21 ¡ Penerima mengembalikan dua parameter ke pengirim
¡ Interpreatsi adalah:
§ Saya siap menerima data baru dg
SeqNo = AckNo, AckNo+1, ….., AckNo+win-1
¡ Penerima dp meng-Ack data tanpa membuka window
23 ¡ TCP mengimplementasikan varian dari skim retransmisi Go-Back-N ¡ TCP menjaga Retransmission Timer utk tiap koneksi:
§ Timer dimulai saat transmisi. Timeout menyebabkan retransmisi
¡ TCP menggandengkan error control dan congestion control (yaitu
dg mengasumsikan error disebabkan oleh congestion)
¡
Retransmission Timer
§ Setting Retransmission Timer sangat penting utk efisiensi
§ Timeout terlalu kecil ® Menyebabkan retransmisi yg tdk perlu § Timeout terlalu besar ® Menunggu cukup lama sebelum suatu
retransmisi dp dilakukan
§ Masalahnya delay dlm jaringan tidak tetap
25 ¡ Mekanisme retransmisi TCP
adaptive
¡ Retransmission timer di-set
berdasarkan pengukuran round trip time (RTT) yg dilakukan TCP
RTT didasarkan pd perbedaan waktu antara transmisi segment dan Ack
Tetapi:
TCP tdk meng-Ack tiap segment Tiap koneksi hanya punya satu timer
¡ Retransmission timer di-set ke harga Retransmission Timeout (RTO) ¡ RTO dikalkulasi berdasarkan pengukuran RTT
¡ Pengukuran RTT di-’haluskan’ dg estimator srtt dan rttvar :
¡ Gain di-set ke a = 1/4 dan b = 1/8
27 ¡ Jika Ack utk segment yg diretranmisi tiba,
pengirim tdk tahu apakah Ack utk yg original atau retransmisi
Algoritma Karn:
Jangan update srtt pd segment yg telah diretransmisi.
¡
IP address adalah sumber daya yang terbatas
¡
Perlu dihemat dengan alokasi yang jelas dan
¡
32 bit, 4 blok (1 blok = 8 bit), tiap blok
dipisahkan dengan “.” (dot)
¡
Ilustrasi :
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
X adalah 0 atau 1 (biner)
¡
IP : alamat host
§
192.168.2.1
¡
Netmask : pembatas network
§
255.255.255.0
¡
Broadcast : alamat network
¡
IP : 192.168.2.1
¡
Netmask : 255.255.255.0
¡
Broadcast : 192.168.2.255
¡
Biasa juga ditulis 192.168.2.0/24
¡
“24” berasal dari jlh bit netmask :
Karakteristik Kelas A Kelas B Kelas C
Bit pertama 0 10 110
Panjang NetID 8 bit 16 bit 24 bit
Panjang HostID 24 bit 16 bit 8 bit
Byte pertama 0 – 127 128 – 191 192 – 223 Jumlah network 126 kelas A (0 dan
127 dicadangkan)
16.384 kelas B 2.097.152 kelas C
Jumlah host IP 16.777.214 IP address pada tiap kelas A
65.532 IP address pada tiap kelas B
254 IP address pada tiap kelas C
Karakteristik Kelas D Kelas E
4 Bit pertama 1110 1111
Bit multicast 28 bit
-Byte Inisial 224 – 247 248 – 255
Bit cadangan - 28 bit
Jumlah 268.435.455 kelas D 268.435.455 kelas E
Deskripsi Digunakan untuk multicast dicadangkan utk keperluan eksperimental