4.0. OSI Transport Layer
4.0.1.
Pengenalan Chapter
Data Network dan Internet
mendukung manusia dengan menyediakan komunikasi yang handal bagi user, baik
lokal dan di seluruh dunia. Pada satu perangkat, user dapat menggunakan
beberapa layanan seperti e-mail, web, dan instant messaging untuk mengirim
pesan atau mengambil informasi. Aplikasi seperti e-mail client, web browser,
dan instant messaging memungkinkan user untuk menggunakan komputer dan jaringan
untuk mengirim pesan dan mencari informasi.
Data dari masing-masing
aplikasi ini dikemas, diangkut, dan dikirim ke server. Proses yang dijelaskan
dalam OSI Transport Layer menerima data dari Application Layer dan
mempersiapkan untuk mengalamatkan pada Network Layer. Transport Layer
bertanggung jawab pada transfer keseluruhan end-to-end data. Dalam bab ini,
kita menguji peran Transport Layer dalam encapsulating data aplikasi untuk
digunakan oleh Network Layer. Berikut adalah fungsi-fungsiTransport Layer: Memungkinkan
beberapa aplikasi untuk berkomunikasi melalui jaringan pada saat yang sama pada
satu perangkat Memastikan bahwa (jika diperlukan) semua data dapat diterima dan
dapat meminta data ke aplikasi yang benar Mempekerjakan mekanisme penanganan
kesalahan.
Tujuan
pembelajaran
Setelah menyelesaikan bab
ini, Anda akan dapat: Menjelaskan pentingnyaTransport Layer. Mengidentifikasi
peran Transport Layersaat menyediakan transfer data end-to-end antara aplikasi.
Menggambarkan peranTCP/IP Transport layer protocols: TCP dan UDP.
4.1.1 Purpose of the Transport Layer
Tugas utama Transport Layer
adalah: Pelacakan komunikasi individual antara aplikasi pada source dan hostdestination Segmentasi data dan mengelola masing-masing bagian Pemasangan
kembali segmen ke Application Data Mengidentifikasi aplikasi yang berbeda Pelacakan
Percakapan Individual. Semua host mungkin memiliki beberapa aplikasi yang
berkomunikasi melalui jaringan. Masing-masing aplikasi akan berkomunikasi
dengan satu atau lebih aplikasi pada remote host. Ini adalah tanggung jawab Transport
Layer untuk mempertahankan beberapa aliran komunikasi antara aplikasi ini.
Segmentasi Data
Setiap aplikasi menciptakan aliran data yang
akan dikirim ke Remote Application, data ini harus siap untuk dikirim di seluruh
media dalam potongan-potongan yang dapat dikelola. Protokol Transport Layer
menggambarkan layanan segmentasi data dari Application Layer. Ini termasuk
enkapsulasi pada setiap bagian data. Setiap bagian dari data aplikasi
membutuhkan header yang akan ditambahkan pada Transport Layer untuk menunjukkan
ke mana komunikasi itu dikirim.
Pemasangan kembali Segmentasi
Pada host penerima, setiap potongan data akan
diarahkan ke aplikasi yang sesuai. Selain itu, potongan-potongan dari data juga
harus direkonstruksi menjadi aliran data lengkap yang berguna untuk Application
Layer. Protokol pada Transport Layer menggambarkan bagaimana Transport Layer Header
Information digunakan untuk memasang kembali potongan-potongan data ke stream
untuk diteruskan ke Application Layer.
Mengidentifikasi Aplikasi
Untuk melewatkan data stream ke aplikasi
yang tepat, Transport Layer harus mengidentifikasi aplikasi yang dituju. Untuk
mencapai hal ini, Transport Layer memberikan Identifier. Protokol TCP / IP memberikan setiap identifier ini nomorport. Setiap proses perangkat lunak
yang perlu mengakses jaringan diberi nomor port yang unik dalam host tersebut.
Nomor port ini digunakan di header Transportlayer untuk ditunjukkan ke
aplikasi.
Transport Layer adalah penghubung antara Application
Layer dan lapisan bawah yang bertanggung jawab untuk transmisi jaringan.
Lapisan ini menerima data dari percakapan yang berbeda dan dibagikan ke lapisan
bawah sebagai potongan yang siap dikelola yang akhirnya menjadi multiplexing.
Data Requirements Vary
Karena aplikasi yang berbeda memiliki
kebutuhan yang berbeda. Untuk beberapa aplikasi, segmentasi harus tiba di
urutan yang sangat spesifik agar berhasil diproses. Dalam beberapa kasus, semua
data harus diterima agar bisa diproses (tidak boleh corrupt). Dalam kasus lain, aplikasi dapat mentolerir beberapa
kehilangan data selama transmisi melalui jaringan.
Memisahkan Beberapa Komunikasi
Pertimbangkan sebuah komputer yang terhubung
ke jaringan yang secara bersamaan menerima dan mengirim e-mail dan pesan
instan, membuka website dan melakukan panggilan telepon VoIP. Masing-masing
aplikasi yang mengirim dan menerima data melalui jaringan pada waktu yang sama.
Namun, data dari panggilan telepon tidak diarahkan ke browser web, dan teks
dari pesan instan tidak muncul dalam e-mail. Selanjutnya, pengguna mengharuskan
e-mail atau halaman web sepenuhnya diterima dan disajikan untuk informasi yang
dianggap berguna. Penundaan sedikit dapat diterima untuk memastikan bahwa
informasi yang lengkap diterima dan disajikan.
Membagi data ke dalam bagian-bagian kecil,
dan mengirim dari sumber ke tujuan, memungkinkan banyak komunikasi yang berbeda
untuk disisipkan (multiplexing) pada jaringan yang sama. Untuk mengidentifikasi
setiap segmen data, Transport Layer menambah potongan header yang berisi data
biner. Header ini berisi kolom bit.
4.1.2 Controlling the
Conversation
Fungsi utama yang
ditetapkan oleh semua protokol Transport Layer meliputi Segmentasi dan
reassembly. Sebagian besar jaringan memiliki keterbatasan pada jumlah data yang
dapat dimasukkan dalam PDU tunggal. Transport Layer membagi data aplikasi menjadi
blok-blok data menjadi ukuran yang sesuai. Di tempat tujuan, Transport Layer
mengumpulkan kembali data sebelum mengirimnya ke aplikasi tujuan.
Percakapan Multiplexing : Mungkin ada banyak
aplikasi atau layanan yang berjalan pada setiap host dalam jaringan. Setiap
aplikasi atau layanan ini diberikan alamat yang dikenal sebagai port sehingga Transport
Layer dapat menentukannya. Selain menggunakan informasi yang terkandung dalam
header, untuk fungsi dasar segmentasi data dan reassembly, beberapa protokol
pada Transport Layer menyediakan:
Percakapan connection-oriented
Rekonstruksi data yang diperintahkan
Flow control
4.1.3
Supporting Reliable Communication
Ingat bahwa fungsi utama
dari Transport Layer adalah mengelola data aplikasi untuk percakapan antara
host. Namun, aplikasi yang berbeda memiliki kebutuhan yang berbeda untuk data
mereka, dan protokol Transport karena itu berbeda telah dikembangkan untuk
memenuhi persyaratan ini.
Pada Transport Layer memiliki tiga operasi
dasar adalah:
ü pelacakan
data yang ditransmisikan
ü menerima
data yang diterima
ü mentransmisi
data
Hal ini menciptakan trade-off, pengembang aplikasi harus memilih protokol transport
yang sesuai berdasarkan persyaratan dari aplikasi mereka.
Menentukan Kebutuhan Aplikasi seperti
database, halaman web, dan e-mail, mengharuskan semua data yang dikirim tiba di
tujuan dalam kondisi aslinya, agar data yang diterima dapat diproses. Setiap
data yang hilang dapat menyebabkan komunikasi yang corruptatau tidak terbaca. Oleh karena itu, aplikasi ini dirancang
untuk menggunakan protokol Transport Layer yang mengimplementasikan kehandalan.
Overhead jaringan tambahan dianggap diperlukan untuk aplikasi ini. Aplikasi
lain yang lebih toleran terhadap hilangnya sejumlah kecil data. Sebagai contoh,
jika satu atau dua segmen dari aliran video gagal untuk tiba, itu hanya akan
membuat gangguan sesaat dalam sungai. Ini mungkin muncul sebagai distorsi pada
gambar tapi bahkan mungkin tidak terlihat oleh pengguna.
Memaksakan overhead untuk memastikan
keandalan untuk aplikasi ini bisa mengurangi kegunaan dari aplikasi. Gambar
dalam video streaming akan sangat terdegradasi jika perangkat tujuan harus
memperhitungkan data yang hilang dan menunda sungai sambil menunggu
kedatangannya. Lebih baik untuk membuat gambar terbaik pada saat dengan segmen
yang datang dan mengorbankan kehandalan. Jika keandalan diperlukan untuk
beberapa alasan, aplikasi ini dapat memberikan pengecekan error dan permintaan
pengiriman ulang.
4.1.4
TCP and UDP
Kedua protokol Transport
Layer yang paling umum dari TCP / IP protocol suite adalah Transmission Control
Protocol (TCP) dan User Datagram Protocol (UDP). Perbedaan antara keduanya
adalah fungsi khusus yang masing-masing protokol implementasikan.
User
Datagram Protocol (UDP)
UDP Ini memiliki keuntungan yaitu memberikan
pengiriman data yang memiliki overhead rendah. Potongan-potongan komunikasi
dalam UDP disebut datagram. Datagram ini dikirim sebagai "usaha
terbaik" demi Transport Layer.
Aplikasi yang menggunakan UDP termasuk:
ü Domain
Name System (DNS)
ü Video
Streaming
ü Voice
over IP (VoIP)
Transmission Control Protocol (TCP)
TCP merupakan protokol berorientasi koneksi,
dijelaskan dalam RFC 793. Fungsi TCP adalah pengiriman yang sama, pengiriman
yang handal, dan kontrol aliran. Setiap segmen TCP memiliki 20 byte overhead
dalam header encapsulating data Application Layer, sedangkan setiap segmen UDP
hanya memiliki 8 byte overhead.
Aplikasi yang menggunakan TCP adalah:
ü browser
web
ü E-mail
ü File
Transfer
4.1.5
Port Addresing
Mengidentifikasi
Percakapan
Perhatikan contoh
sebelumnya komputer secara bersamaan menerima dan mengirim e-mail, pesan
instan, halaman web, dan panggilan telepon VoIP. Layanan TCP dan UDP berbasis
melacak berbagai aplikasi yang berkomunikasi. Untuk membedakan segmen dan
datagram untuk setiap aplikasi. Dalam
header dari setiap segmen atau datagram, ada sumber dan port tujuan. Nomor port
sumber adalah jumlah untuk komunikasi ini dikaitkan dengan aplikasi yang
berasal dari host lokal. Nomor port tujuan adalah nomor untuk komunikasi ini
dikaitkan dengan aplikasi tujuan pada host remote.
Nomor port ditugaskan dalam
berbagai cara, tergantung pada apakah pesan tersebut adalah permintaan atau
tanggapan. Sementara proses server memiliki nomor port statis yang ditugaskan
kepada mereka, klien secara dinamis memilih nomor port untuk setiap percakapan.
Mengidentifikasi Percakapan
Perhatikan contoh sebelumnya komputer secara
bersamaan menerima dan mengirim e-mail, pesan instan, halaman web, dan
panggilan telepon VoIP.
Layanan TCP dan UDP melacak berbagai
aplikasi yang berkomunikasi. Untuk membedakan segmen dan datagram untuk setiap
aplikasi, baik TCP dan UDP telah memberi nomor port yang unik.
Dalam header dari setiap segmen atau
datagram memiliki sumber dan port tujuan. Nomor port sumber adalah nomor untuk
komunikasi yang berasal dari host lokal. Nomor port tujuan adalah nomor untuk
komunikasi yang dimiliki oleh host tujuan pada host remote. Nomor port
ditugaskan dalam berbagai cara, tergantung pada pesan tersebut merupakan
permintaan atau tanggapan. Sementara proses server memiliki nomor port statis
yang ditugaskan kepada mereka, klien secara dinamis memilih nomor port untuk
setiap percakapan. Ketika aplikasi client mengirimkan permintaan ke server
aplikasi, port tujuan yang terkandung dalam header adalah nomor port yang
ditugaskan untuk daemon layanan yang berjalan pada host remote. Perangkat lunak
klien harus tahu apa nomor port dikaitkan dengan proses server pada remote
host. Nomor port tujuan ini dikonfigurasi, baik secara default atau secara
manual. Sebagai contoh, ketika sebuah aplikasi web browser yang membuat
permintaan ke server web, browser menggunakan TCP dan nomor port 80 kecuali
dinyatakan khusus. Hal ini karena TCP port 80 adalah port default ditugaskan untuk
aplikasi web-melayani. Banyak aplikasi umum memiliki tugas port default.
Ada berbagai jenis nomor port:
Well Known Ports (Bilangan 0-1023) -
Angka-angka ini dicadangkan untuk layanan dan aplikasi. Mereka umumnya
digunakan untuk aplikasi seperti HTTP (web server) POP3 / SMTP (e-mail server)
dan Telnet.
Registered Ports (Bilangan 1024-49151) -
Angka-angka di port ini ditugaskan untuk memproses pengguna atau aplikasi.
Proses ini adalah aplikasi terutama individu bahwa user telah memilih untuk
menginstal aplikasi umum yang akan menerima Port Well Known. Ketika tidak
digunakan untuk sumber daya server, port ini juga dapat digunakan secara
dinamis dipilih oleh klien sebagai port sumber nya.
Dynamic or Private Ports (Bilangan
49.152-65.535) - Juga dikenal sebagai Port Ephemeral, ini biasanya diberikan
secara dinamis untuk aplikasi-aplikasi client ketika memulai koneksi. Hal ini
tidak sangat umum untuk klien untuk menyambung ke layanan menggunakan Port
Dinamis atauPrivate .
Menggunakan
TCP dan UDP
Beberapa aplikasi dapat
menggunakan TCP dan UDP. Misalnya, overhead yang rendah UDP memungkinkan DNS
untuk melayani banyak permintaan klien sangat cepat. Kadang-kadang perlu untuk
mengetahui koneksi TCP yang aktif terbuka dan berjalan pada host jaringan.
Netstat adalah utilitas jaringan penting yang dapat digunakan untuk
memverifikasi koneksi tersebut. Netstat berisi protokol yang digunakan, alamat
lokal dan nomor port, alamat asing dan nomor port, dan status koneksi.
Koneksi TCP Unexplained
dapat menimbulkan ancaman keamanan utama. Hal ini karena mereka dapat
menunjukkan bahwa sesuatu atau seseuser terhubung ke host lokal. Selain itu,
koneksi TCP yang tidak perlu dapat mengkonsumsi sumber daya sistem yang
berharga sehingga memperlambat kinerja host. Netstat harus digunakan untuk
memeriksa koneksi terbuka pada host ketika kinerja tampaknya dikompromikan.
Banyak pilihan yang berguna yang tersedia
untuk perintah netstat.
4.1.6
Segmentation and Reassembly
Beberapa aplikasi mengirimkan
data dalam jumlah besar, dalam beberapa kasus lebih dari 1 gigabyte, akan tidak
praktis untuk mengirim semua data ini dalam satu keutuhan. Tidak ada lalu
lintas jaringan lainnya dapat ditumpangi sedangkan data ini sedang dikirim.
Data ini bisa dikirim selama hitungan menit atau bahkan jam. Selain itu, jika
ada kesalahan seluruh file data harus hilang. Perangkat jaringan tidak akan
memiliki buffer memori yang cukup besar untuk menyimpan data ini ketika sedang
dikirim atau diterima. Membagi data aplikasi menjadi potongan-potongan
memastikan bahwa data ditransmisikan dalam batas-batas media dan data dari
aplikasi yang berbeda dapat di-multiplexing pada media.
TCP dan UDP Menangani Segmentasi yang
Berbeda.
Dalam TCP, setiap header
segmen berisi nomor urut. Nomor urut ini memungkinkan fungsi Transport Layer
pada host tujuan untuk memasang kembali segmen dalam urutan di mana mereka
dikirim. Hal ini memastikan bahwa aplikasi tujuan memiliki data dalam bentuk
yang tepat pengirim dimaksudkan.
Meskipun layanan
menggunakan UDP juga melacak percakapan antara aplikasi, mereka tidak peduli
dengan urutan di mana informasi itu ditransmisikan. UDP adalah desain yang
lebih sederhana dan menghasilkan lebih sedikit overhead dari TCP, sehingga
transfer data lebih cepat.
4.2.1
TCP – Making Conversation Reliable
Perbedaan utama antara TCP
dan UDP adalah kehandalan. Kehandalan komunikasi TCP dilakukan menggunakan sesi
connection-oriented. Sebelum host menggunakan TCP mengirimkan data ke host
lain, Transport Layer memulai proses untuk membuat koneksi dengan tujuan.
Koneksi ini memungkinkan pelacakan sesi, atau aliran komunikasi antara host.
Proses ini memastikan bahwa setiap host menyadari dan siap untuk komunikasi.
Sebuah percakapan TCP yang lengkap memerlukan pembentukan sesi antara host di
kedua arah. Keandalan ini dicapai dengan memiliki bidang dalam segmen TCP,
masing-masing dengan fungsi tertentu, seperti yang ditunjukkan pada gambar.
Bidang ini akan dibahas kemudian dalam bagian ini.
4.2.2. TCP Server Processes
Seperti yang telah dibahas
dalam bab sebelumnya, proses aplikasi berjalan di server. Proses ini menunggu
sampai klien memulai komunikasi dengan permintaan untuk informasi atau layanan
lainnya.
Setiap proses aplikasi yang
berjalan pada server dikonfigurasi untuk menggunakan nomor port, baik secara
default atau secara manual oleh administrator sistem. Server individu tidak
dapat memiliki dua layanan ditugaskan ke nomor port yang sama dalam layanan Transport
Layer yang sama. Sebuah host menjalankan aplikasi web server dan aplikasi
transfer file tidak dapat memiliki keduanya dikonfigurasi untuk menggunakan
port yang sama (misalnya, TCP port 8080). Ketika sebuah aplikasi server aktif
ditugaskan ke port tertentu, port yang dianggap "terbuka" di server.
Ini berarti bahwa Transport Layer menerima dan segmen proses yang ditujukan
kepada port tersebut. Setiap permintaan klien masuk ditujukan ke soket yang
benar diterima dan data dilewatkan ke aplikasi server. Ada banyak port simultan
terbuka pada server, satu untuk setiap aplikasi server aktif. Adalah umum bagi
server untuk menyediakan lebih dari satu layanan, seperti server web dan server
FTP, pada saat yang sama.
4.2.3. TCP Connection Establishment and
Termination
Ketika dua host
berkomunikasi menggunakan TCP, sambungan dibuat sebelum data dapat
dipertukarkan. Setelah komunikasi selesai, sesi ditutup dan sambungan diakhiri.
Koneksi dan sesi mekanisme mengaktifkan fungsi keandalan TCP.
Host penyedia melacak
setiap segmen data dalam sesi dan pertukaran informasi tentang data apa yang
diterima oleh setiap host menggunakan informasi dalam header TCP.
Setiap koneksi melibatkan
aliran komunikasi satu arah, atau sesi untuk membangun dan mengakhiri proses
TCP antara end user. Untuk membuat sambungan, host menggunakan sambungan tiga
arah. Kontrol bit pada header TCP menunjukkan kemajuan dan status sambungan.
Tiga cara sambungannya adalah:
ü Menetapkan
bahwa perangkat tujuan hadir pada jaringan.
ü Memverifikasi
bahwa perangkat tujuan memiliki layanan aktif dan menerima permintaan pada
nomor port.
ü Menginformasikan
perangkat tujuan bahwa klien sumber bermaksud untuk membangun sebuah sesi
komunikasi pada nomor port yang Dalam koneksi TCP, Host penyedia melayani
sebagai klien memulai sesi ke server. Untuk memahami bagaimana tiga-cara jabat
tangan yang digunakan dalam karya-karya proses koneksi TCP, penting untuk
melihat berbagai nilai yang pertukaran dua host.
Tiga langkah dalam pembentukan koneksi TCP
adalah:
1.
memulai klien mengirimkan segmen berisi
nilai urutan awal, yang berfungsi sebagai permintaan ke server untuk memulai
sesi komunikasi.
2.
Server merespon dengan segmen yang
mengandung nilai pengakuan sama dengan nilai yang diterima urutan ditambah 1,
ditambah nilai urutan sinkronisasi sendiri. Nilai adalah salah satu lebih besar
dari nomor urut karena ACK selalu Byte diharapkan berikutnya atau oktet. Nilai
pengakuan ini memungkinkan klien untuk mengikat respon kembali ke segmen
aslinya yang dikirim ke server.
3.
Memulai client merespon dengan nilai
pengakuan sama dengan nilai urutan yang diterima ditambah satu. Ini melengkapi
proses pembentukan koneksi.
Dalam header segmen TCP, ada enam bidang
1-bit yang berisi informasi kontrol yang digunakan untuk mengelola proses TCP.
Bidang tersebut adalah:
URG - Urgent pointer field significant
ACK - Acknowledgement field significant
PSH - Push function
RST - Reset the connection
SYN - Synchronize sequence numbers
FIN - No more data from sender
Bagian ini disebut sebagai flag,
karena nilai dari salah satu bidang ini hanya 1 bit dan, karena itu, hanya
memiliki dua nilai: 1 atau 0. Ketika nilai bit set ke 1, ini menunjukkan apa
yang mengendalikan informasi yang terkandung dalam segmen.
Menggunakan proses empat langkah, flag
dipertukarkan untuk mengakhiri sebuah koneksi TCP.
4.2.5
TCP Session Termination
Untuk menutup sambungan,
bendera FIN (Finish) kontrol di header segmen harus diatur. Untuk mengakhiri
setiap sesi TCP satu arah, dua arah jabat tangan yang digunakan, terdiri dari
segmen FIN dan segmen ACK. Oleh karena itu, untuk mengakhiri satu percakapan
yang didukung oleh TCP, empat bursa diperlukan untuk mengakhiri kedua sesi.
Catatan: Dalam penjelasan ini, klien dan server istilah yang digunakan dalam
deskripsi ini sebagai referensi untuk kesederhanaan, tetapi proses terminasi
dapat dimulai oleh dua host yang menyelesaikan sesi:
1.
Ketika klien tidak memiliki lebih banyak
data untuk mengirim di sungai, ia akan mengirimkan segmen dengan FIN flag.
2.
Server mengirimkan ACK untuk mengakui
penerimaan FIN untuk mengakhiri sesi dari klien ke server.
3.
Server mengirimkan FIN ke klien, untuk
mengakhiri server untuk sesi klien.
4.
Klien merespon dengan ACK untuk mengakui FIN
dari server.
4.3. Managing TCP Sessions
4.3.1 TCP Segment Reassembly
Resequencing Segmen untuk
Pesanan Menular Ketika layanan mengirim data menggunakan TCP, segmen mungkin
tiba di tempat tujuan mereka dalam kondisi rusak. Untuk pesan asli yang akan
dipahami oleh penerima, data dalam segmen ini dipasang kembali ke urutan asli.
Nomor urut ditugaskan di header setiap paket untuk mencapai tujuan ini.
Selama setup sesi, nomor urut awal (ISN)
diatur. Nomor urut awal ini merupakan nilai awal untuk byte untuk sesi ini yang
akan dikirim ke aplikasi penerima. Sebagai data yang ditransmisikan selama
sesi, nomor urut bertambah dengan jumlah byte yang telah dikirim. Ini pelacakan
data byte memungkinkan setiap segmen untuk diidentifikasi secara unik dan
diakui. Hilang segmen dapat diidentifikasi. Nomor urut segmen mengaktifkan
keandalan dengan menunjukkan bagaimana memasang kembali dan menyusun ulang
segmen diterima.
Proses penerimaan TCP
menempatkan data dari segmen ke buffer penerima. Segmen ditempatkan dalam
urutan nomor urutan yang tepat dan diteruskan ke Application Layer saat
dipasang kembali. Setiap segmen yang datang dengan nomor urut noncontiguous
diadakan untuk waktu pemrosesan. Kemudian, ketika segmen dengan byte hilang
tiba, segmen ini diproses.
4.3.2 TCP Acknowledgement with Windowing
Mengkonfirmasi
Penerimaan Segmen
Salah
satu fungsi TCP adalah memastikan bahwa setiap segmen mencapai tujuannya.
Layanan TCP pada host tujuan mengakui data yang telah diterima ke aplikasi
sumber. Nomor urut header segmen dan nomor pengakuan yang digunakan
bersama-sama untuk mengkonfirmasi penerimaan byte dari data yang terdapat dalam
segmen. Nomor urut adalah jumlah relatif dari byte yang telah ditransmisikan
dalam sesi ini ditambah 1 (yang merupakan jumlah byte data yang pertama di
segmen saat ini). TCP menggunakan nomor pengakuan dalam segmen dikirim kembali
ke sumber untuk mengindikasikan byte berikutnya pada sesi ini bahwa penerima
mengharapkan untuk menerima. Ini disebut pengakuan EXPECTATIONAL.
Sumber diinformasikan bahwa
tujuan telah menerima semua byte dalam aliran data hingga, tetapi tidak
termasuk, byte ditunjukkan oleh jumlah pengakuan. Host penyedia pengiriman
diperkirakan akan mengirim segmen yang menggunakan nomor urut yang sama dengan
jumlah pengakuan.
Ingat, masing-masing
sambungan sebenarnya adalah dua sesi satu arah. Nomor urut dan nomor
acknowledgement sedang dipertukarkan di kedua arah.
Host
penyedia di sebelah kiri sedang mengirim data ke host di sebelah kanan. Ini
mengirimkan segmen berisi 10 byte data untuk sesi ini dan nomor urut sama
dengan 1 di header. Penerimaan host di sebelah kanan menerima segmen pada Layer
4 dan menentukan bahwa nomor urut adalah 1 dan bahwa ia memiliki 10 byte data. Host
penyedia kemudian mengirimkan segmen kembali ke host di sebelah kiri untuk
mengakui penerimaan data ini. Di segmen ini, Host penyedia menetapkan jumlah
pengakuan untuk 11 untuk menunjukkan bahwa byte data selanjutnya mengharapkan
untuk menerima dalam sesi ini adalah byte nomor 11. Catatan, yang Ack. nilai
dalam sumber host tetap 1 untuk menunjukkan bahwa segmen adalah bagian dari
percakapan yang sedang berlangsung dan jumlah di bidang Pengakuan Number adalah
valid.
Ketika
Host penyedia pengiriman di sebelah kiri menerima pengakuan ini, sekarang dapat
mengirim segmen berikutnya yang berisi data untuk sesi ini dimulai dengan byte
nomor 11.
Melihat
contoh ini, jika Host penyedia pengiriman harus menunggu pengakuan penerimaan
masing-masing 10 byte, jaringan akan memiliki banyak overhead. Untuk mengurangi
overhead dari ucapan terima kasih ini, beberapa segmen data dapat dikirim
sebelum dan diakui dengan pesan TCP tunggal dalam arah yang berlawanan.
Pengakuan ini berisi nomor pengakuan berdasarkan jumlah byte yang diterima
dalam sesi.
Misalnya, dimulai dengan
nomor urut 2000, jika 10 segmen masing-masing 1000 byte yang diterima, jumlah
pengakuan 12000 akan dikembalikan ke sumbernya. Jumlah data yang sumber dapat
mengirim sebelum pengakuan harus diterima disebut ukuran jendela. Jendela
Ukuran adalah bidang pada header TCP yang memungkinkan pengelolaan data yang
hilang dan kontrol aliran.
4.3.3. TCP Retransmition
Handling
Segment Loss
Tidak
peduli seberapa baik dirancang jaringan adalah, kehilangan data kadang-kadang
akan terjadi. Oleh karena itu, TCP menyediakan metode untuk mengelola kerugian
segmen ini. Di antaranya adalah mekanisme untuk mengirim ulang segmen dengan
data tidak diakui.
Sebuah
layanan host tujuan menggunakan TCP biasanya hanya mengakui data untuk byte
urutan bersebelahan. Jika satu atau lebih segmen yang hilang, hanya data dalam
segmen yang melengkapi sungai diakui.
Misalnya, jika segmen
dengan nomor urut 1500-3000 dan 3400-3500 diterima, jumlah pengakuan akan 3001.
Hal ini karena ada segmen dengan nomor urut 3001-3399 yang belum diterima.
Ketika
TCP pada host sumber belum menerima pemberitahuan setelah jumlah yang telah
ditetapkan waktu, itu akan kembali ke nomor acknowledgement terakhir bahwa
mereka menerima dan memancarkan kembali data dari saat itu.Proses transmisi
tidak ditentukan oleh RFC, tapi diserahkan kepada implementasi tertentu dari
TCP.
Untuk implementasi TCP
khas, Host penyedia dapat mengirimkan segmen, meletakkan salinan segmen dalam
antrian transmisi, dan memulai timer. Ketika pengakuan data diterima, segmen
akan dihapus dari antrian. Jika pengakuan tidak diterima sebelum timer
berakhir, segmen tersebut ditransmisikan ulang.
Host
hari ini juga dapat menggunakan fitur opsional yang disebut Selektif Ucapan
Terima Kasih. Jika kedua host dukungan Ucapan Terima Kasih Selektif, adalah
mungkin untuk tujuan untuk mengakui byte di segmen terputus dan host hanya akan
perlu untuk memancarkan kembali data yang hilang.
4.3.4 TCP Congestion Control-minimizing
segment loss
Flow
Control
TCP
juga menyediakan mekanisme untuk kontrol aliran. Flow control assist keandalan
transmisi TCP dengan menyesuaikan tingkat efektif aliran data antara dua
layanan dalam sesi. Ketika sumber diinformasikan bahwa jumlah tertentu dari
data dalam segmen diterima, ia dapat terus mengirim lebih banyak data untuk
sesi ini.
Ukuran
Jendela ini pada header TCP menentukan jumlah data yang dapat ditransmisikan
sebelum pengakuan harus diterima. The ukuran jendela awal ditentukan selama
startup sesi melalui jabat tangan tiga arah.
Mekanisme umpan balik TCP
menyesuaikan tingkat efektif transmisi data untuk aliran maksimum yang jaringan
dan tujuan perangkat dapat mendukung tanpa kehilangan. TCP mencoba untuk
mengelola tingkat penularan sehingga semua data akan diterima dan transmisi
ulang akan diminimalkan.
Lihat gambar untuk
representasi yang disederhanakan dari ukuran jendela dan ucapan terima kasih.
Dalam contoh ini, ukuran jendela awal untuk sesi TCP diwakili diatur ke 3000
byte. Ketika pengirim telah ditransmisikan 3000 byte, menunggu pengakuan dari
byte ini sebelum mengirimkan segmen lainnya di sesi ini. Setelah pengirim telah
menerima pengakuan ini dari penerima, pengirim dapat mengirimkan tambahan 3000
byte.
Selama
penundaan dalam menerima pengakuan, pengirim tidak akan mengirim setiap segmen
tambahan untuk sesi ini. Dalam periode ketika jaringan mengalami hambatan atau
sumber daya host penerima yang tegang, penundaan dapat meningkat. Sebagai
penundaan ini tumbuh lagi, tingkat transmisi efektif data untuk sesi ini
menurun. Perlambatan dalam data rate membantu mengurangi pertentangan sumber
daya.
TCP
menerima host mengirimkan nilai ukuran jendela ke TCP mengirimkan untuk
menunjukkan jumlah byte yang siap untuk menerima sebagai bagian dari sesi ini.
Jika tujuan kebutuhan untuk memperlambat laju komunikasi karena buffer memori
yang terbatas, dapat mengirim window nilai ukuran yang lebih kecil ke sumber
sebagai bagian dari pengakuan.
Dinamika ini peningkatan
dan penurunan ukuran window adalah proses yang berkesinambungan di TCP, yang
menentukan ukuran jendela yang optimal untuk setiap sesi TCP. Dalam jaringan
yang sangat efisien, ukuran jendela dapat menjadi sangat besar karena data
tidak hilang. Dalam jaringan di mana infrastruktur yang mendasari sedang stres,
ukuran jendela kemungkinan akan tetap kecil.
4.4.1
UDP- Low Overhead vs Reliability
UDP adalah protokol
sederhana yang menyediakan fungsi dasar Transport Layer. Ini memiliki overhead
jauh lebih rendah daripada TCP, karena tidak berorientasi koneksi dan tidak
menyediakan mekanisme pengiriman ulang, pengurutan, dan kontrol aliran.
Ini tidak berarti bahwa
aplikasi yang menggunakan UDP selalu bisa diandalkan. Ini hanya berarti bahwa
fungsi-fungsi ini tidak disediakan oleh protokol Transport Layer dan harus
dilaksanakan di tempat lain jika diperlukan. Meskipun jumlah total lalu lintas
UDP ditemukan pada jaringan yang khas sering relatif rendah, kunci protokol
lapisan aplikasi yang menggunakan UDP termasuk:
Domain Name System (DNS)
ü Simple
Network Management Protocol (SNMP)
ü Dynamic
Host Configuration Protocol (DHCP)
ü Routing
Information Protocol (RIP)
ü Trivial
File Transfer Protocol (TFTP)
4.4.2
UDP Data Program Reassembly
Karena UDP adalah
connectionless, sesi tidak didirikan sebelum komunikasi berlangsung seperti
mereka dengan TCP. UDP dikatakan transaksi berbasis. Dengan kata lain, bila
aplikasi memiliki data untuk dikirim, itu hanya mengirimkan data.
Banyak aplikasi yang
menggunakan UDP mengirim sejumlah kecil data yang dapat ditampung dalam satu
segmen. Namun, beberapa aplikasi akan mengirim sejumlah besar data yang harus
dibagi menjadi beberapa segmen. UDP PDU disebut sebagai datagram, meskipun
segmen syarat dan datagram kadang-kadang digunakan secara bergantian untuk
menggambarkan Transport Layer PDU.
Ketika beberapa datagram
dikirim ke tujuan, mereka dapat mengambil jalan yang berbeda dan tiba dalam
urutan yang salah. UDP tidak melacak nomor urut cara TCP tidak. UDP tidak
memiliki cara untuk menyusun ulang datagram ke dalam urutan transmisi mereka.
Oleh karena itu, UDP hanya
mengumpulkan kembali data dalam rangka bahwa ia telah diterima dan
meneruskannya ke aplikasi. Jika urutan data penting ke aplikasi tersebut, aplikasi
akan harus mengidentifikasi urutan yang tepat dari data dan menentukan
bagaimana data harus diproses.
4.4.3
UDP Server Processes and Request
Seperti aplikasi berbasis
TCP, aplikasi server UDP berbasis ditugaskan Well Known atau Terdaftar nomor
port. Ketika aplikasi ini atau proses yang berjalan, mereka akan menerima data
yang cocok dengan nomor port yang ditugaskan. Ketika UDP menerima datagram
ditakdirkan untuk salah satu port ini, ke depan data aplikasi ke aplikasi yang
sesuai berdasarkan nomor port-nya.

