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
Posting Komentar