pengenalan TCP/IP dasar dan lanjutan socket

Setelah saya membaca ebook nya saya merangkum yang menurut saya intinya :
TCP / IP menyediakan cukup detail dari perspektif pemrograman jaringan untuk memahami bagaimana menggunakan protokol dan memberikan referensi untuk deskripsi yang lebih rinci dari mereka yang sebenarnya desain, implementasi, dan sejarah.
aplikasi client / server menggunakan baik TCP atau UDP. SCTP adalah protokol baru, awalnya dirancang untuk transportasi dari telepon sinyal di Internet. Protokol transportasi ini menggunakan protokol lapisan jaringan IP, baik IPv4 atau IPv6. Meskipun dimungkinkan untuk menggunakan IPv4 atau IPv6 langsung, melewati lapisan transport, teknik ini, sering disebut soket mentah, digunakan lebih jarang. Oleh karena itu, kami memiliki penjelasan yang lebih rinci dari IPv4 dan IPv6, bersama dengan ICMPv4 dan ICMPv6, dalam Lampiran A.

UDP adalah sederhana, protokol datagram tidak dapat diandalkan, sementara TCP adalah, protokol byte-stream terpercaya canggih. SCTP mirip dengan TCP sebagai protokol transport yang handal, tetapi juga menyediakan batas pesan, dukungan transportasi-level untuk multihoming, dan cara untuk meminimalkan kepala-of-line blocking. Kita perlu memahami layanan yang diberikan oleh protokol transport ini untuk aplikasi, sehingga kita tahu apa yang ditangani oleh protokol dan apa yang kita harus menangani dalam aplikasi.

Fitur TCP membuat lebih mudah untuk menulis klien yang kuat dan server. Juga, ketika kita memahami fitur-fitur ini, menjadi lebih mudah untuk debug klien kami dan server menggunakan alat yang biasa disediakan seperti netstat.



IPv4
 Internet Protocol versi 4. IPv4, protokol pekerja keras dari IP Suite sejak awal 1980-an. Menggunakan alamat 32-bit (Bagian A.4). IPv4 menyediakan layanan pengiriman paket untuk TCP, UDP, SCTP, ICMP, IGMP dan.

IPv6
 Internet Protocol versi 6. IPv6 dirancang pada pertengahan 1990-an sebagai pengganti IPv4. Perubahan utama adalah alamat yang lebih besar yang terdiri dari 128 bit (Bagian A.5), untuk menangani ledakan pertumbuhan internet pada 1990-an. IPv6 menyediakan layanan pengiriman paket untuk TCP, UDP, SCTP, dan ICMPv6.

TCP
 Transmission Control Protocol. TCP merupakan protokol berorientasi koneksi yang menyediakan handal, aliran byte full-duplex para penggunanya. Soket TCP adalah contoh dari aliran soket. TCP menangani rincian seperti pengakuan, timeout, transmisi ulang, dan sejenisnya. Kebanyakan program aplikasi Internet menggunakan TCP. Perhatikan bahwa TCP dapat menggunakan IPv4 atau IPv6.

UDP
 User Datagram Protocol. UDP adalah protokol connectionless, dan UDP soket adalah contoh dari soket datagram. Tidak ada jaminan bahwa UDP datagram pernah mencapai tujuan mereka dimaksudkan. Seperti TCP, UDP dapat menggunakan IPv4 atau IPv6.
UDP adalah transportasi-lapisan protokol sederhana. Hal ini dijelaskan dalam RFC 768 [Postel 1980]. Aplikasi menulis pesan ke soket UDP, yang kemudian dikemas dalam datagram UDP, yang kemudian lebih dikemas sebagai datagram IP, yang kemudian dikirim ke tujuan. Tidak ada jaminan bahwa datagram UDP akan pernah mencapai tujuan akhir, agar akan dipertahankan di seluruh jaringan, atau yang datagrams tiba hanya sekali.


SCTP
 Streaming Transmission Control Protocol. SCTP adalah protokol berorientasi koneksi yang menyediakan hubungan full-duplex terpercaya. Kata "asosiasi" digunakan ketika mengacu pada koneksi di SCTP karena SCTP multihoming, melibatkan satu set alamat IP dan port tunggal untuk setiap sisi asosiasi. SCTP menyediakan layanan pesan, yang mempertahankan batas-batas rekor. Seperti TCP dan UDP, SCTP dapat menggunakan IPv4 atau IPv6, tetapi juga dapat menggunakan IPv4 dan IPv6 secara bersamaan pada asosiasi yang sama.

ICMP
 Internet Control Message Protocol. ICMP menangani kesalahan dan kontrol informasi antara router dan host. Pesan-pesan ini biasanya dihasilkan oleh dan diproses oleh TCP / IP perangkat lunak jaringan itu sendiri, bukan proses pengguna, meskipun kami menunjukkan ping dan traceroute program, yang menggunakan ICMP. Kita kadang-kadang menyebut protokol ini sebagai ICMPv4 untuk membedakannya dari ICMPv6.

IGMP
 Internet Group Management Protocol. IGMP digunakan dengan multicasting (Bab 21), yang merupakan opsional dengan IPv4.

ARP
 Address Resolution Protocol. Peta ARP alamat IPv4 ke alamat hardware (seperti alamat Ethernet). ARP biasanya digunakan pada jaringan broadcast seperti Ethernet, token ring, dan FDDI, dan tidak diperlukan pada jaringan point-to-point.

RARP
 Reverse Address Resolution Protocol. Peta RARP alamat perangkat keras ke alamat IPv4. Hal ini kadang-kadang digunakan ketika sebuah node diskless boot.

ICMPv6
 Internet Control Message Protocol versi 6. ICMPv6 menggabungkan fungsi ICMPv4, IGMP, ARP dan.

BPF
 BSD filter paket. Interface ini menyediakan akses ke lapisan datalink. Hal ini biasanya ditemukan pada kernel Berkeley diturunkan.

DLPI
 Datalink antarmuka penyedia. Antarmuka ini juga menyediakan akses ke lapisan datalink. Hal ini biasanya disediakan dengan SVR4.



Setiap protokol Internet didefinisikan oleh satu atau lebih dokumen disebut Request for Comments (RFC), yang spesifikasi formal mereka. Solusi untuk Latihan 2.1 menunjukkan cara mendapatkan RFC.

Kami menggunakan istilah "host IPv4 / IPv6" dan "dual-stack tuan rumah" untuk menunjukkan host yang mendukung IPv4 dan IPv6.

Rincian tambahan pada protokol TCP / IP sendiri di TCPv1. Pelaksanaan 4.4BSD dari TCP / IP dijelaskan di TCPv2.



SOCKET

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin. Gaya pemrograman socket sendiri berawal dari sistem Unix BSD yang terkenal dengan kepeloporannya pada bidang penanganan jaringan, sehingga sering disebut BSD Socket. Socket pertama kali diperkenalkan di sistem Unix BSD versi 4.2 tahun 1983 sebagai kelanjutan dari implementasi protokol TCP/IP yang muncul pertama kali pada sistem Unix BSD 4.1 pada akhir 1981. Hampir setiap variant Unix dan Linux mengadopsi BSD Socket. Pada lingkungan Unix, socket memberikan keleluasaan pemrograman gaya Unix yang terkenal dengan ideologinya, Semua di Unix/Linux adalah file. Komunikasi antar program dapat berlangsung lewat penggunaan deskriptor file standar Unix dengan bantuan socket.
Keunggulan dari penggunaan socket adalah anda dapat melakukan komunikasi antar proses/program melalui jaringan berbasis yang TCP/IP tentunya, bahkan dengan program lain yang berjalan pada platform non-unix seperti Microsoft Windows, sepanjang program tersebut berbicara dalam protokol transfer yang sama. Fasilitas-fasilitas yang disediakan oleh mesin unix seperti rlogin, ssh, ftp, dan lain-lain menggunakan socket sebagai sarana komunikasi mereka. Socket dibentuk dan digunakan dengan cara yang berbeda. Komunikasi socket terutama diciptakan untuk tujuan menjembatani komunikasi antara dua buah program yang dijalankan pada mesin yang berbeda. Jangan khawatir, ini tentu saja berarti dua program pada mesin yang sama dapat juga saling berkomunikasi. Kelebihan lain dari komunikasi socket adalah mampu menangani banyak klien sekaligus (multiple clients).


Socket Networking atau AF_INET
Socket Networking ditujukan untuk komunikasi antar aplikasi antar mesin dalam lingkungan jaringan TCP/IP. Identifikasi socket dilakukan dengan sebuah service identifier yaitu berupa nomor port TCP/IP yang dapat di sambung oleh client.
 Socket Networking memiliki beberapa jenis, yang paling umum digunakan yaitu:
a.   Socket Stream atau SOCK_STREAM
 Socket Stream adalah socket komunikasi full-duplex berbasis aliran (stream) data. Pada model komunikasi Socket Stream, koneksi dua aplikasi harus dalam kondisi tersambung dengan benar untuk dapat bertukar data. Ini dapat dianalogikan seperti komunikasi telepon. Jika sambungan telepon di salah satu titik putus, maka komunikasi tidak dapat terjadi. Koneksi model seperti ini akan menjamin data dapat dipertukarkan dengan baik, namun memiliki kelemahan dalam hal penggunaan jalur data yang relatif besar dan tidak boleh terputus.
b.   Socket Datagram atau SOCK_DGRAM
Socket Datagram berkomunikasi dengan cara yang berbeda. Socket ini tidak membutuhkan koneksi yang tersambung dengan benar untuk mengirimkan dan menerima data. Model koneksi semacam ini tidak dapat menjamin data dapat dipertukarkan dengan baik, namun memiliki keunggulan dalam hal penggunaan jalur data yang minimal. Socket Datagram dapat dianalogikan dengan komunikasi yang terjadi pada kelas, misalnya pada saat guru melakukan broadcasting materi pelajaran untuk diterima oleh setiap murid. Tidak ada yang dapat menjamin materi pelajaran dapat diterima oleh semua murid dengan baik, kecuali diterapkan metoda rechecking. Rechecking ini dapat dilakukan baik oleh guru maupun murid. Guru bertanya untuk memastikan jawaban dari murid benar, atau murid bertanya untuk memastikan kebenaran materi yang diterimanya. Socket Datagram pun menggunakan metoda ini untuk menjamin pengiriman data dapat dilakukan dengan baik.



IPV4
Alamat IP versi 4 (sering disebut dengan Alamat IPv4) adalah sebuah jenis pengalamatan jaringan yang digunakan di dalam protokol jaringan TCP/IP yang menggunakan protokol IP versi 4. Panjang totalnya adalah 32-bit, dan secara teoritis dapat mengalamati hingga 4 miliar host komputer atau lebih tepatnya 4.294.967.296 host di seluruh dunia, jumlah host tersebut didapatkan dari 256 (didapatkan dari 8 bit) dipangkat 4(karena terdapat 4 oktet) sehingga nilai maksimal dari alamt IP versi 4 tersebut adalah 255.255.255.255 dimana nilai dihitung dari nol sehingga nilai nilai host yang dapat ditampung adalah 256x256x256x256=4.294.967.296 host, bila host yang ada di seluruh dunia melebihi kuota tersebut maka dibuatlah IP versi 6 atau IPv6. Contoh alamat IP versi 4 adalah 192.168.0.3.


Alamat IPv4 terbagi menjadi beberapa jenis, yakni sebagai berikut:

-          Alamat Unicast, merupakan alamat IPv4 yang ditentukan untuk sebuah antarmuka jaringan yang dihubungkan ke sebuah Internetwork IP. Alamat unicast digunakan dalam komunikasi point-to-point atau one-to-one.
-          Alamat Broadcast, merupakan alamat IPv4 yang didesain agar diproses oleh setiap node IP dalam segmen jaringan yang sama. Alamat broadcast digunakan dalam komunikasi one-to-everyone.
-          Alamat Multicast, merupakan alamat IPv4 yang didesain agar diproses oleh satu atau beberapa node dalam segmen jaringan yang sama atau berbeda. Alamat multicast digunakan dalam komunikasi one-to-many.





IPV6
Alamat IP versi 6 (sering disebut sebagai alamat IPv6) adalah sebuah jenis pengalamatan jaringan yang digunakan di dalam protokol jaringan TCP/IP yang menggunakan protokol Internet versi 6. Panjang totalnya adalah 128-bit, dan secara teoritis dapat mengalamati hingga 2128=3,4 x 1038 host komputer di seluruh dunia. Contoh alamat IPv6 adalah 21da:00d3:0000:2f3b:02aa:00ff:fe28:9c5a.


Berbeda dengan IPv4 yang hanya memiliki panjang 32-bit (jumlah total alamat yang dapat dicapainya mencapai 4,294,967,296 alamat), alamat IPv6 memiliki panjang 128-bit. IPv4, meskipun total alamatnya mencapai 4 miliar, pada kenyataannya tidak sampai 4 miliar alamat, karena ada beberapa limitasi, sehingga implementasinya saat ini hanya mencapai beberapa ratus juta saja. IPv6, yang memiliki panjang 128-bit, memiliki total alamat yang mungkin hingga 2128=3,4 x 1038 alamat. Total alamat yang sangat besar ini bertujuan untuk menyediakan ruang alamat yang tidak akan habis (hingga beberapa masa ke depan), dan membentuk infrastruktur routing yang disusun secara hierarkis, sehingga mengurangi kompleksitas proses routing dan tabel routing.

Sama seperti halnya IPv4, IPv6 juga mengizinkan adanya DHCPv6 Server sebagai pengelola alamat. Jika dalam IPv4 terdapat dynamic address dan static address, maka dalam IPv6, konfigurasi alamat dengan menggunakan DHCP Server dinamakan dengan stateful address configuration, sementara jika konfigurasi alamat IPv6 tanpa DHCP Server dinamakan dengan stateless address configuration.


Seperti halnya IPv4 yang menggunakan bit-bit pada tingkat tinggi (high-order bit) sebagai alamat jaringan sementara bit-bit pada tingkat rendah (low-order bit) sebagai alamat host, dalam IPv6 juga terjadi hal serupa. Dalam IPv6, bit-bit pada tingkat tinggi akan digunakan sebagai tanda pengenal jenis alamat IPv6, yang disebut dengan Format Prefix (FP). Dalam IPv6, tidak ada subnet mask, yang ada hanyalah Format Prefix.

Komentar

Postingan Populer