Lapisan Transportasi
Jaringan data dan Internet mendukung jaringan manusia dengan menyediakan komunikasi yang dapat diandalkan di antara orang-orang. Pada satu perangkat, orang dapat menggunakan beberapa aplikasi dan layanan seperti email, web, dan pesan instan untuk mengirim pesan atau mengambil informasi. Data dari masing-masing aplikasi ini dikemas, diangkut dan dikirimkan ke aplikasi yang sesuai pada perangkat tujuan.
Proses yang dijelaskan dalam lapisan transport OSI menerima data dari lapisan aplikasi dan mempersiapkannya untuk menangani pada lapisan jaringan. Komputer sumber berkomunikasi dengan komputer penerima untuk memutuskan bagaimana memecah data menjadi segmen, bagaimana memastikan tidak ada segmen yang hilang, dan bagaimana memverifikasi semua segmen yang diterima. Ketika memikirkan lapisan transport, pikirkan sebuah departemen pengiriman yang menyiapkan satu urutan dari beberapa paket untuk pengiriman.
Peran Lapisan Transportasi
Lapisan transport bertanggung jawab untuk membentuk sesi komunikasi sementara antara dua aplikasi dan mengirimkan data di antara mereka. Aplikasi menghasilkan data yang dikirim dari aplikasi pada host sumber ke aplikasi pada host tujuan. Hal ini tanpa memperhatikan jenis host tujuan, jenis media di mana data harus melakukan perjalanan, jalur yang diambil oleh data, kemacetan pada tautan, atau ukuran jaringan. Seperti yang ditunjukkan pada gambar, lapisan transport adalah hubungan antara lapisan aplikasi dan lapisan bawah yang bertanggung jawab untuk transmisi jaringan.
Tanggung Jawab Lapisan Transportasi
Melacak Percakapan Individu
Pada lapisan transport, setiap set data yang mengalir antara aplikasi sumber dan aplikasi tujuan dikenal sebagai percakapan. Tuan rumah mungkin memiliki beberapa aplikasi yang berkomunikasi di seluruh jaringan secara bersamaan. Masing-masing aplikasi ini berkomunikasi dengan satu atau beberapa aplikasi pada satu atau beberapa host jarak jauh. Ini adalah tanggung jawab lapisan transport untuk memelihara dan melacak beberapa percakapan ini.
Segmentasi Segmen Data dan Penyatuan Kembali
Data harus disiapkan untuk dikirim ke seluruh media dalam bentuk yang dapat dikelola. Sebagian besar jaringan memiliki batasan pada jumlah data yang dapat dimasukkan dalam satu paket. Protokol lapisan transport memiliki layanan yang mengelompokkan data aplikasi ke dalam blok yang ukurannya sesuai. Layanan ini termasuk enkapsulasi yang diperlukan pada setiap bagian data. Sebuah header, yang digunakan untuk reassembly, ditambahkan ke setiap blok data. Header ini digunakan untuk melacak aliran data.
Di tempat tujuan, lapisan transport harus dapat merekonstruksi potongan data ke dalam aliran data lengkap yang berguna untuk lapisan aplikasi. Protokol pada lapisan transport menggambarkan bagaimana informasi header lapisan transport digunakan untuk mengumpulkan kembali potongan data ke dalam aliran untuk diteruskan ke lapisan aplikasi.
Mengidentifikasi Aplikasi
Untuk meneruskan aliran data ke aplikasi yang tepat, lapisan transport harus mengidentifikasi aplikasi target. Untuk mencapai hal ini, lapisan transport menetapkan setiap aplikasi identifier yang disebut nomor port. Setiap proses perangkat lunak yang perlu mengakses jaringan diberi nomor port yang unik untuk host itu.
Percakapan Multiplexing
Mengirim beberapa jenis data (misalnya, video streaming) di seluruh jaringan, sebagai satu aliran komunikasi lengkap, dapat menggunakan semua bandwidth yang tersedia. Ini akan mencegah komunikasi lain terjadi pada saat yang bersamaan. Ini juga akan membuat pemulihan kesalahan dan pengiriman ulang data yang rusak menjadi sulit.
Gambar tersebut menunjukkan bahwa segmentasi data menjadi bagian yang lebih kecil memungkinkan banyak komunikasi yang berbeda, dari banyak pengguna yang berbeda, disisipkan (multipleks) pada jaringan yang sama.
Untuk mengidentifikasi setiap segmen data, lapisan transport menambahkan header yang berisi data biner yang disusun dalam beberapa bidang. Ini adalah nilai dalam bidang ini yang memungkinkan berbagai protokol lapisan transport untuk melakukan fungsi yang berbeda dalam mengelola komunikasi data.
Keandalan Lapisan Transportasi
Lapisan transport juga bertanggung jawab untuk mengelola persyaratan reliabilitas dari suatu percakapan. Aplikasi yang berbeda memiliki persyaratan keandalan transportasi yang berbeda.
IP hanya terkait dengan struktur, pengalamatan, dan perutean paket. IP tidak menentukan bagaimana pengiriman atau pengiriman paket berlangsung. Protokol transport menentukan cara mentransfer pesan antar host. TCP / IP menyediakan dua protokol layer transport, Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP), seperti yang ditunjukkan pada gambar. IP menggunakan protokol transport ini untuk memungkinkan host untuk berkomunikasi dan mentransfer data.
TCP dianggap sebagai protokol lapisan transport yang handal dan berfitur lengkap, yang memastikan bahwa semua data tiba di tempat tujuan. Namun, ini membutuhkan bidang tambahan di header TCP yang meningkatkan ukuran paket dan juga meningkatkan penundaan. Sebaliknya, UDP adalah protokol lapisan transport yang lebih sederhana yang tidak menyediakan reliabilitas. Karena itu memiliki lebih sedikit bidang dan lebih cepat daripada TCP.
TCP
Transport TCP dapat dianalogikan sebagai pengiriman paket yang dilacak dari sumber ke tujuan. Jika pesanan pengiriman dipecah menjadi beberapa paket, pelanggan dapat memeriksa secara online untuk melihat pesanan pengiriman.
Dengan TCP, ada tiga operasi dasar keandalan :
Penomoran dan pelacakan segmen data yang dikirimkan ke host tertentu dari aplikasi tertentu
Mengakui data yang diterima
Mengirim ulang data yang tidak diakui setelah jangka waktu tertentu
UDP
UDP menyediakan fungsi dasar untuk mengirimkan segmen data antara aplikasi yang sesuai, dengan sedikit biaya tambahan dan pemeriksaan data. UDP dikenal sebagai protokol pengiriman upaya terbaik. Dalam konteks jaringan, pengiriman upaya terbaik disebut tidak dapat diandalkan karena tidak ada pengakuan bahwa data telah diterima di tempat tujuan. Dengan UDP, tidak ada proses lapisan transport yang menginformasikan pengirim tentang pengiriman yang berhasil.
UDP mirip dengan menempatkan surat biasa, tidak terdaftar, melalui pos. Pengirim surat tidak mengetahui ketersediaan penerima untuk menerima surat tersebut. Kantor pos juga tidak bertanggung jawab untuk melacak surat atau memberi tahu pengirim jika surat tersebut tidak sampai di tujuan akhir.
The Right Transport Layer Protocol for the Right Application
Aplikasi seperti database, browser web, dan klien email, mengharuskan semua data yang dikirim sampai di tujuan dalam kondisi aslinya. Setiap data yang hilang dapat menyebabkan komunikasi rusak yang tidak lengkap atau tidak dapat dibaca. Aplikasi ini dirancang untuk menggunakan TCP.
UDP adalah pilihan yang lebih baik untuk aplikasi ini karena lebih sedikit overhead jaringan yang diperlukan. UDP lebih disukai untuk aplikasi seperti streaming audio langsung, video langsung, dan Voice over IP (VoIP). pemberitahuan dan transmisi ulang akan memperlambat pengiriman.
TCP and UDP Overview
TCP Features
Establishing a Session - TCP adalah protokol berorientasi koneksi. Protokol berorientasi koneksi adalah protokol yang menegosiasikan dan menetapkan koneksi permanen (atau sesi) antara perangkat sumber dan tujuan sebelum meneruskan lalu lintas apa pun. Melalui pembentukan sesi, perangkat menegosiasikan jumlah lalu lintas yang dapat diteruskan pada waktu tertentu, dan data komunikasi antara keduanya dapat dikelola dengan cermat.
Reliable Delivery - Dalam istilah jaringan, keandalan berarti memastikan bahwa setiap segmen yang dikirim sumber tiba di tujuan. Karena berbagai alasan, ada kemungkinan segmen rusak atau hilang sama sekali, saat dikirimkan melalui jaringan.
Same-Order Delivery - Karena jaringan mungkin menyediakan beberapa rute yang dapat memiliki kecepatan transmisi berbeda, data dapat sampai dalam urutan yang salah. Dengan penomoran dan urutan segmen, TCP dapat memastikan bahwa segmen ini dipasang kembali ke urutan yang benar.
Flow Control - Host jaringan memiliki sumber daya yang terbatas, seperti memori dan daya pemrosesan. Ketika TCP menyadari bahwa sumber daya ini kelebihan pajak, TCP dapat meminta aplikasi pengirim untuk mengurangi laju aliran data. Ini dilakukan oleh TCP yang mengatur jumlah data yang dikirim sumber. Kontol aliran dapat mencegah kebutuhan transmisi ulang data ketika sumber daya host penerima kewalahan
TCP Header
TCP adalah protokol stateful. Protokol stateful adalah protokol yang melacak status sesi komunikasi.
Setiap segmen TCP memiliki 20 byte overhead di header yang merangkum data lapisan aplikasi:
Source Port (16 bit) dan Port Tujuan (16 bit) - Digunakan untuk mengidentifikasi aplikasi.
Sequence Number (32 bit) - Digunakan untuk tujuan perakitan ulang data.
Acknowledgment number (32 bit) - Menunjukkan data telah diterima dan byte berikutnya diharapkan dari sumber.
Header length (4 bit) - Dikenal sebagai ʺdata offsetʺ. Menunjukkan panjang tajuk segmen TCP.
Reserved (6 bit) - Bidang ini dicadangkan untuk masa depan.
Control Bits (6 bit) - Termasuk kode bit, atau bendera, yang menunjukkan tujuan dan fungsi segmen TCP.
Window size (16 bit) - Menunjukkan jumlah byte yang dapat diterima dalam satu waktu.
Checksum (16 bits) - Digunakan untuk pengecekan error pada header segmen dan data.
Urgent (16 bit) - Menunjukkan jika data mendesak.
UDP Features
User Datagram Protocol (UDP) dianggap sebagai protokol transport dengan upaya terbaik. UDP adalah protokol transport ringan yang menawarkan segmentasi dan perakitan ulang data yang sama seperti TCP, tetapi tanpa keandalan dan kontrol aliran TCP. UDP adalah protokol sederhana yang biasanya dideskripsikan dalam hal apa yang tidak dilakukannya dibandingkan dengan TCP.
Header UDP
UDP adalah protokol tanpa negara, yang berarti baik klien, maupun server, wajib untuk melacak keadaan sesi komunikasi. Jika keandalan diperlukan saat menggunakan UDP sebagai protokol transport, itu harus ditangani oleh aplikasi.
Salah satu persyaratan terpenting untuk mengirimkan video langsung dan suara melalui jaringan adalah bahwa data terus mengalir dengan cepat. Aplikasi video dan suara langsung dapat mentoleransi hilangnya beberapa data dengan sedikit atau tanpa efek yang nyata, dan sangat cocok untuk UDP.
Nomor Port
Nomor port sumber terkait dengan aplikasi asal pada host lokal. Nomor port tujuan dikaitkan dengan aplikasi tujuan pada host jarak jauh
.
Sumber Port
Nomor port sumber dihasilkan secara dinamis oleh perangkat pengirim untuk mengidentifikasi percakapan antara dua perangkat. Proses ini memungkinkan beberapa percakapan terjadi secara bersamaan. Merupakan hal yang umum bagi perangkat untuk mengirim beberapa permintaan layanan HTTP ke server web pada saat yang bersamaan. Setiap percakapan HTTP terpisah dilacak berdasarkan port sumber.
Port Tujuan
Klien menempatkan nomor port tujuan di segmen untuk memberi tahu server tujuan layanan apa yang diminta, seperti yang ditunjukkan pada gambar. Sebagai contoh, ketika klien menentukan port 80 di port tujuan, server yang menerima pesan mengetahui bahwa layanan web sedang diminta. Sebuah server dapat menawarkan lebih dari satu layanan secara bersamaan seperti layanan web pada port 80 pada saat yang sama yang menawarkan pembentukan koneksi File Transfer Protocol (FTP) pada port 21.
.Pasangan Socket
Sumber dan port tujuan ditempatkan di dalam segmen. Segmen tersebut kemudian dikemas dalam paket IP. Paket IP berisi alamat IP sumber dan tujuan. Kombinasi sumber alamat IP dan nomor port sumber, atau alamat IP tujuan dan nomor port tujuan dikenal sebagai soket. Soket digunakan untuk mengidentifikasi server dan layanan yang diminta oleh klien. Soket klien mungkin terlihat seperti ini, dengan 1099 mewakili nomor port sumber: 192.168.1.5:1099
Soket pada server web mungkin: 192.168.1.7:80
Bersama-sama, kedua soket ini digabungkan untuk membentuk pasangan soket: 192.168.1.5:1099, 192.168.1.7:80
Soket memungkinkan beberapa proses, berjalan pada klien, untuk membedakan diri dari satu sama lain, dan beberapa koneksi ke proses server untuk dibedakan satu sama lain.
Nomor port sumber berfungsi sebagai alamat pengirim untuk aplikasi yang meminta. Lapisan transport melacak port ini dan aplikasi yang memulai permintaan sehingga ketika respon dikembalikan, itu dapat diteruskan ke aplikasi yang benar.
Kelompok Nomor Port
Ada berbagai jenis nomor port :
Well-known Ports (Angka 0 hingga 1023) - Angka-angka ini dicadangkan untuk layanan dan aplikasi. Mereka biasanya digunakan untuk aplikasi seperti browser web, klien email, dan klien akses jarak jauh. Dengan mendefinisikan port terkenal ini untuk aplikasi server, aplikasi klien dapat diprogram untuk meminta koneksi ke port spesifik tersebut dan layanan terkaitnya.
Registered Ports (Nomor 1024 hingga 49151) - Nomor port ini ditetapkan oleh IANA ke entitas yang meminta untuk digunakan dengan proses atau aplikasi tertentu.
Dynamic or Private Ports (Bilangan 49152 hingga 65535) - Juga dikenal sebagai port sementara, ini biasanya ditetapkan secara dinamis oleh OS klien saat koneksi ke layanan dimulai. Port dinamis kemudian digunakan untuk mengidentifikasi aplikasi klien selama komunikasi.
The netstat Command
Koneksi TCP yang tidak dapat dijelaskan dapat menimbulkan ancaman keamanan utama. Mereka dapat menunjukkan bahwa sesuatu atau seseorang terhubung ke host lokal. Terkadang perlu diketahui koneksi TCP aktif mana yang terbuka dan berjalan pada host jaringan. Netstat adalah utilitas jaringan penting yang dapat digunakan untuk memverifikasi koneksi tersebut.
Secara default, perintah netstat akan mencoba menyelesaikan alamat IP ke nama domain dan nomor port untuk aplikasi terkenal. Opsi -n dapat digunakan untuk menampilkan alamat IP dan nomor port dalam bentuk numeriknya.
TCP and UDP
TCP communication Proccess
TCP Server Processes
Setiap proses aplikasi yang berjalan di server dikonfigurasi untuk menggunakan nomor port, baik secara default atau manual, oleh administrator sistem. Server individu tidak dapat memiliki dua layanan yang ditetapkan ke nomor port yang sama dalam layanan lapisan transport yang sama.
Misalnya, host yang menjalankan aplikasi server web dan aplikasi transfer file tidak dapat mengkonfigurasi keduanya untuk menggunakan port yang sama (misalnya, port TCP 80). Aplikasi server aktif yang ditetapkan ke port tertentu dianggap terbuka, yang berarti lapisan transport menerima dan memproses segmen yang dialamatkan ke port tersebut. Setiap permintaan klien yang masuk yang dialamatkan ke soket yang benar diterima, dan data diteruskan ke aplikasi server. Ada banyak port yang terbuka secara bersamaan di server, satu untuk setiap aplikasi server yang aktif.
TCP Connection Establishment
Aksi berjabat tangan dipahami kedua belah pihak sebagai isyarat sapaan akrab. Koneksi di jaringan serupa. Dalam koneksi TCP, klien host membuat koneksi dengan server.
Langkah 1 - Ketika klien tidak memiliki lebih banyak data untuk dikirim dalam aliran, ia mengirimkan segmen dengan set bendera FIN.
Langkah 2 - Server mengirimkan ACK untuk mengakui penerimaan FIN untuk mengakhiri sesi dari klien ke server.
Langkah 3 - Server mengirimkan FIN ke klien untuk mengakhiri sesi server-ke-klien.
Langkah 4 - Klien merespons dengan ACK untuk mengakui FIN dari server.
Ketika semua segmen telah diakui, sesi ditutup.
TCP Three-Way Handshake Analysis
Jabat tangan tiga arah :
Menetapkan bahwa perangkat tujuan ada di jaringan
Memverifikasi bahwa perangkat tujuan memiliki layanan aktif dan menerima permintaan pada nomor port tujuan yang ingin digunakan oleh klien yang memulai
Memberi tahu perangkat tujuan bahwa klien sumber bermaksud untuk membuat sesi komunikasi pada nomor port tersebut
Setelah komunikasi selesai, sesi ditutup, dan koneksi diakhiri. Mekanisme koneksi dan sesi mengaktifkan fungsi keandalan TCP.
Reability and Flow Control
Segmen TCP dapat tiba di tempat tujuan mereka rusak. Agar pesan asli dipahami oleh penerima, data dalam segmen ini disusun kembali ke dalam urutan asli. Nomor urut ditugaskan di header setiap paket untuk mencapai tujuan ini. Nomor urut mewakili byte data pertama dari segmen TCP.
Selama pengaturan sesi, nomor urut awal (ISN) diatur. ISN ini mewakili nilai awal dari byte untuk sesi ini yang ditransmisikan ke aplikasi penerima. Karena data ditransmisikan selama sesi, nomor urut bertambah dengan jumlah byte yang telah ditransmisikan. Pelacakan byte data ini memungkinkan setiap segmen diidentifikasi dan diakui secara unik. Segmen yang hilang dapat diidentifikasi.
Proses TCP yang menerima menempatkan data dari segmen ke buffer penerima. Segmen ditempatkan dalam urutan urutan yang tepat dan diteruskan ke lapisan aplikasi saat dipasang kembali. Segmen apa pun yang tiba dengan nomor urut yang tidak sesuai disimpan untuk diproses nanti. Kemudian, ketika segmen dengan bit yang hilang tiba, segmen ini diproses secara berurutan.
TCP Flow Control - Window Size and Acknowledgments
TCP juga menyediakan mekanisme untuk flow control, jumlah data yang dapat diterima dan diproses oleh tujuan dengan andal. flow control membantu menjaga keandalan transmisi TCP dengan menyesuaikan laju aliran data antara sumber dan tujuan untuk sesi tertentu. Untuk melakukannya, header TCP menyertakan bidang 16-bit yang disebut window size.
UDP Communication
UDP Low Overhead Versus Reability
Overhead UDP yang rendah membuatnya sangat diinginkan untuk protokol yang membuat transaksi balasan dan permintaan sederhana. Misalnya, menggunakan TCP untuk DHCP akan menyebabkan lalu lintas jaringan yang tidak perlu. Jika ada masalah dengan permintaan atau balasan, perangkat hanya mengirim permintaan lagi jika tidak ada tanggapan yang diterima.
UDP Datagram Reassembly
Seperti segmen dengan TCP, ketika datagram UDP dikirim ke tujuan, mereka sering mengambil jalur yang berbeda dan tiba dalam urutan yang salah. UDP tidak melacak nomor urut seperti yang dilakukan TCP. UDP tidak memiliki cara untuk menyusun ulang datagram menjadi urutan transmisi mereka, seperti yang ditunjukkan pada gambar.
Oleh karena itu, UDP hanya memasang kembali data sesuai urutan penerimaannya dan meneruskannya ke aplikasi. Jika urutan data penting untuk aplikasi, aplikasi harus mengidentifikasi urutan yang tepat dan menentukan bagaimana data harus diproses.
UDP Server Processes and Requests
Seperti aplikasi berbasis TCP, aplikasi server berbasis UDP diberikan nomor port yang terkenal atau terdaftar, seperti yang ditunjukkan pada gambar. Ketika aplikasi atau proses ini berjalan di server, mereka menerima data yang cocok dengan nomor port yang ditetapkan. Ketika UDP menerima datagram yang ditujukan untuk salah satu port ini, UDP meneruskan data aplikasi ke aplikasi yang sesuai berdasarkan nomor portnya.
UDP Client Processes
Seperti TCP, komunikasi klien-server dimulai oleh aplikasi klien yang meminta data dari proses server. Proses klien UDP secara dinamis memilih nomor port dari kisaran nomor port dan menggunakan ini sebagai port sumber untuk percakapan. Port tujuan biasanya nomor port terkenal atau terdaftar yang ditetapkan ke proses server.
Setelah klien memilih port sumber dan tujuan, pasangan port yang sama digunakan di header semua datagram yang digunakan dalam transaksi. Untuk data yang dikembalikan ke klien dari server, nomor port sumber dan tujuan di header datagram dibalik.
TCP or UDP
Applications that use TCP
TCP adalah contoh yang bagus tentang bagaimana berbagai lapisan rangkaian protokol TCP / IP memiliki peran khusus. TCP menangani semua tugas yang terkait dengan membagi aliran data menjadi beberapa segmen, menyediakan keandalan, mengontrol aliran data, dan menyusun ulang segmen. TCP membebaskan aplikasi dari keharusan untuk mengelola salah satu tugas ini. Aplikasi, seperti yang ditunjukkan pada gambar, dapat dengan mudah mengirim aliran data ke lapisan transport dan menggunakan layanan TCP.
Applications that use UDP
Ada tiga jenis aplikasi yang paling cocok untuk UDP :
Live video dan aplikasi multimedia - Dapat mentolerir beberapa kehilangan data, tetapi memerlukan sedikit atau tanpa penundaan. Contohnya termasuk VoIP dan video streaming langsung.
Simple request and reply applications - Aplikasi dengan transaksi sederhana di mana tuan rumah mengirim permintaan dan mungkin atau mungkin tidak menerima balasan. Contohnya termasuk DNS dan DHCP.
Aplikasi yang menangani sendiri keandalannya - Komunikasi searah di mana kontrol aliran, deteksi kesalahan, pengakuan, dan pemulihan kesalahan tidak diperlukan atau dapat ditangani oleh aplikasi. Contohnya termasuk SNMP dan TFTP.
Meskipun DNS dan SNMP menggunakan UDP secara default, keduanya juga dapat menggunakan TCP. DNS akan menggunakan TCP jika permintaan DNS atau tanggapan DNS lebih dari 512 byte, seperti ketika tanggapan DNS menyertakan resolusi nama dalam jumlah besar. Demikian pula, dalam beberapa situasi, administrator jaringan mungkin ingin mengkonfigurasi SNMP untuk menggunakan TCP.
Tidak ada komentar:
Posting Komentar