Minggu, 30 September 2012

TCP IP





A.                TCP/IP

Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat kerasperangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Protokol perlu diutamakan pada penggunaan standar teknis, untuk menspesifikasi bagaimana membangun komputer atau menghubungkan peralatan perangkat keras. Protokol secara umum digunakan pada komunikasi real-time dimana standar digunakan untuk mengatur struktur dari informasi untuk penyimpanan jangka panjang.
Sangat susah untuk menggeneralisir protokol dikarenakan protokol memiliki banyak variasi di dalam tujuan penggunaanya. Kebanyakan protokol memiliki salah satu atau beberapa dari hal berikut:
§  Melakukan deteksi adanya koneksi fisik atau ada tidaknya komputer atau mesin lainnya.
§  Melakukan metode "jabat-tangan" (handshaking).
§  Negosiasi berbagai macam karakteristik hubungan.
§  Bagaimana mengawali dan mengakhiri suatu pesan.
§  Bagaimana format pesan yang digunakan.
§  Yang harus dilakukan saat terjadi kerusakan pesan atau pesan yang tidak sempurna.
§  Mendeteksi rugi-rugi pada hubungan jaringan dan langkah-langkah yang dilakukan selanjutnya
§  Mengakhiri suatu koneksi.
Untuk memudahkan memahami Protokol, kita mesti mengerti Model OSI. Dalam Model OSI terdapat 7 layer dimana masing-masing layer mempunyai jenis protokol sesuai dengan peruntukannya.

Format Protokol meliputi :
·         Format informasi
·         Pewaktuan (timing)
·         Urutan (sequencing)
·         Kontrol kesalahan (error control )

TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack

Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen.

Protokol TCP/IP selalu berevolusi seiring dengan waktu, mengingat semakin banyaknya kebutuhan terhadap jaringan komputer dan Internet. Pengembangan ini dilakukan oleh beberapa badan, seperti halnya Internet Society (ISOC), Internet Architecture Board (IAB), dan Internet Engineering Task Force (IETF). Macam-macam protokol yang berjalan di atas TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen yang disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.

Karakteristik TCP/IP
·         Bersifat standar, terbuka dan tidak bergantung pada perangkat  keras atau sistem informasi tertentu.
·         Bebas dari jaringan fisik tertentu, memungkinkan integrasi berbagai jenis jaringan (ethernet, token ring, dial-up).
·         Mempunyai skema pengalamatan yang umum bagi setiap device yang berhubungan dengan jaringan.
·         Menyediakan berbagai layanan bagi user.

Berikut ini penjelasan singkat masing-masing layer protokol TCP/IP beserta fungsinya.
1.      Lapisan pertama adalah Network Acceess Layer ( identik dengan lapisan Physical dan Data Link layer pada OSI). Pada lapisan ini didefenisikan bagaimana penyaluran data dalam bentuk frame-frame data pada media fisik yang digunakan secara andal. Lapisan ini biasanya memberikan servis untuk mendeteksi dan koreksi kesalahan dari data yang ditransmisikan. Beberapa contoh protokol yang digunakan pada lapisan ini adalah X.25 untuk jaringan publik, Ethernet untuk jaringan Ethernet, dan sebagainya.

2.      Lapisan kedua adalah Internet layer ( identik dengan network layer pada OSI). Lapisan ini bertugas  untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya. Lapisan ini memliki peranan penting terutama dalam mewujudkan internetworking yang meliputi wilayah luas (worlwide Internet). Beberapa tugas penting lapisan ini adalah :

a.       Addressing , yakni melengkapi setiap paket data dengan alamat Internet  ata Internet Protokol Addressing (IP address). Karena pengalamatannya berada pada level ini, maka jaringan TCP/IP  independent dari jenis media, sistem operasi, dan komputer yang digunakan.
b.      Routing , yakni menentukan rute kemana paket data akan dikirim agar mencapai tujuan yang diinginkan. Routing merupakan fungsi penting dari Internet protokol (IP). Proses routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki kendali terhadap paket yang dikirimkannya. Router-router pada jaringan TCP/IP lah yang menentukan penyampaian paket data dari pengirim ke penerima.

3.      Lapisan ketiga adalah Transport layer (identik dengan Transport layer pada OSI). Pada lapisan ini didefenisikan cara-cara untuk melakukan pengiriman data antara end to end host. Lapisan ini menjamin bahwa informasi yang diterima  pada sisi penerima akan sama dengan informasi yang dikirim oleh pengirim. Lapisan ini memiliki beberapa fungsi antara lain :
a.       Flow control. Pengiriman data yang telah dipecah menjadi paket-paket data harus diatur sedemikian rupa agar pengirim tidak sampai mengirimkan data dengan kecepatan yang melebihi kemampuan penerima dalam menerima data. 
b.      Error detection. Pengirim dan penerima juga melengkapi data dengan sejumlah informasi yang bisa digunakan untuk memeriksa apakah data yang dikirimkan telah bebas dari kesalahan. Jika ditemukan kesalahan pada paket data yang diterima, maka penerima tidak akan menerima data tersebut. Pengirim akan mengirim ulang paket data yang mengandung kesalahan tadi. Dengan demikian, data dijamin bebas dari kesalahan (eror free) pada saat diteruskan ke lapisan aplikasi. 
Konsekuensi dari mekanisme ini adalah timbulnya delay yang cukup berarti. Namun, selama aplikasi tidak bersifat real time, delay ini tidak menjadi masalah, karena yang lebih diuatamakan adalah data yang bebas dari kesalahan.

Ada dua protokol yang digunakan pada layer ini, yaitu:  Transmission Control Protokol (TCP) dan User Datagram Protokol (UDP).

TCP digunakan oleh aplikasi-aplikasi yang  membutuhkan keandalan data. Sedangkan UDP digunakan untuk aplikasi yang tidak menuntut keandalan tinggi. Beberapa aplikais lebih sesuai menggunakan UDP sebagai protokol transport. Contohnya adalah aplikasi data base yang  hanya bersifat query dan response, atau aplikasi lain yang sangat sensitif terhadap delay seperti video conference.  Aplikasi seperti ini dapat mentolerir sedikit kesalahan karena gambar atau suara masih bisa tetap dimengerti.

TCP memiliki fungsi flow control dan eror detection dan bersifat conection oriented. Sebaliknya UDP bersifat conectionles, tidak ada mekanisme pemeriksaan data dan flow control, sehingga UDP diebut juga unreliabel protokol.

4.      Lapisan keempat adalah Application layer ( identik dengan  Application,Presentation, Session Layer pada OSI)

 Application layer adalah lapisan yang menyediakan interface antara aplikasi yang digunakan untuk berkomunikasi dan jaringan yang mendasarinya di mana pesan akan dikirim. Protokol Application Layer digunakan untuk pertukaran data antara program yang berjalan pada source dan host tujuan. Ada banyak protokol Application Layer dan protokol terus dikembangkan. Application layer berada pada ujung protocol stack TCP/IP. Application layer pada TCP/IP adalah kumpulan dari beberapa komponen software yang mengirim dan menerima informasi dari port TCP dan UDP. Beberapa komponen pada application layer hanya sebagai alat untuk pengumpul informasi konfigurasi network dan beberapa lainnyaboleh jadi adalah sebuah user interface atau Application Program Interface (API) yang mendukung desktop operating environment.

Protocol Dalam Aplication Layer
DNS Protocol

Dalam jaringan data, peralatan diberi label dengan alamat IP numerik, sehingga mereka dapat berpartisipasi dalam mengirim dan menerima pesan melalui jaringan. Namun, kebanyakan orang sulit mengingat alamat numerik. Oleh karena itu, nama domain diciptakan untuk mengkonversi alamat numerik menjadi nama, sederhana dikenali. Di internet nama domain ini, seperti www.cisco.com, jauh lebih mudah bagi orang untuk diingat daripada 198.133.219.25, yang adalah alamat numerik sebenarnya untuk server ini. Juga, jika Cisco memutuskan untuk mengubah alamat numerik, adalah transparan kepada pengguna, karena nama domain akan tetap www.cisco.com. Alamat baru hanya akan dihubungkan ke nama domain yang ada dan konektivitas dipertahankan. Ketika jaringan masih kecil, itu adalah tugas sederhana untuk menjaga pemetaan antara nama domain dan alamat mereka mewakili. Namun, karena jaringan mulai tumbuh dan jumlah perangkat meningkat, ini sistem manual menjadi tidak bisa dijalankan.
Domain Name System (DNS) adalah diciptakan untuk nama domain untuk alamat resolusi jaringan ini. DNS didistribusikan menggunakan satu set server untuk menyelesaikan nama-nama yang terkait dengan alamat nomor. Protokol DNS mendefinisikan sebuah layanan otomatis yang cocok dengan nama sumber daya dengan alamat jaringan yang dibutuhkan numerik. Hal ini termasuk format untuk pertanyaan, tanggapan, dan format data. Komunikasi protokol DNS menggunakan format tunggal yang disebut pesan. Format pesan ini digunakan untuk semua jenis permintaan klien dan respon server, pesan kesalahan, dan transfer informasi sumber daya catatan antara server.

Sistem operasi komputer juga memiliki utilitas yang disebut nslookup yang memungkinkan pengguna untuk secara manual query server nama untuk menyelesaikan nama host yang diberikan. Utilitas ini juga dapat digunakan untuk memecahkan masalah resolusi nama dan untuk memastikan status saat ini dari server nama.



HTTP Protocol
Ketika sebuah alamat web (atau URL) yang diketik ke dalam web browser, web browser melakukan koneksi ke web service yang berjalan pada server menggunakan protokol HTTP. URL (atau Uniform Resource Locator) dan URI (Uniform Resource Identifier) adalah nama kebanyakan orang mengasosiasikan dengan alamat web. Web browser adalah aplikasi klien komputer kita gunakan untuk terhubung ke World Wide Web dan sumber daya akses disimpan pada server web. Sebagaimana dengan proses server yang paling, web server berjalan sebagai sebuah layanan latar belakang dan membuat berbagai jenis file yang tersedia.
Browser dapat menafsirkan dan menyajikan berbagai jenis data, seperti teks biasa atau Hypertext Markup Language (HTML, bahasa di mana halaman web dibangun). Data jenis lain, bagaimanapun, mungkin memerlukan layanan lain atau program, biasanya disebut sebagai plug-in atau add-ons. Untuk membantu browser menentukan jenis file itu adalah menerima, server menentukan jenis data yang berisi file.

Hypertext Transfer Protocol (HTTP), salah satu protokol dalam suite TCP / IP, pada awalnya dikembangkan untuk mempublikasikan dan mengambil halaman HTML dan sekarang digunakan terdistribusi, sistem informasi kolaboratif. HTTP digunakan di World Wide Web untuk transfer data dan merupakan salah satu protokol aplikasi yang paling sering digunakan. GET permintaan klien untuk data. Sebuah web browser mengirimkan pesan GET untuk meminta halaman dari server web. Seperti ditunjukkan dalam gambar, setelah server menerima permintaan GET, akan meresponnya dengan baris status, seperti HTTP/1.1 200 OK, dan pesan sendiri, tubuh yang mungkin merupakan file yang diminta, pesan kesalahan, atau beberapa informasi lainnya.
POST dan PUT digunakan untuk mengirim pesan yang meng-upload data ke web server. Sebagai contoh, ketika pengguna memasukkan data ke dalam bentuk tertanam dalam suatu halaman web, POST meliputi data dalam pesan yang dikirim ke server.

SMTP /POP Protocol
E-mail, layanan jaringan yang paling populer, telah merevolusi cara orang berkomunikasi melalui kesederhanaan dan kecepatan. Namun untuk dijalankan pada komputer atau perangkat ujung yang lain, e-mail memerlukan beberapa aplikasi dan layanan. Dua contoh aplikasi protokol lapisan adalah Post Office Protocol (POP) dan Simple Mail Transfer Protocol (SMTP).

Ketika orang menulis pesan e-mail, mereka biasanya menggunakan aplikasi yang disebut Mail User Agent (MUA), atau klien e-mail. The MUA memungkinkan pesan yang akan dikirim dan tempat-tempat pesan yang diterima ke kotak surat klien, yang keduanya adalah proses yang berbeda. Untuk menerima pesan e-mail dari server e-mail, klien e-mail dapat menggunakan POP. Mengirim e-mail baik dari klien atau server menggunakan format pesan dan string perintah yang didefinisikan oleh protokol SMTP. Biasanya klien e-mail menyediakan fungsionalitas dari kedua protokol dalam satu aplikasi.


E-mail Server Proses - MTA dan MDA Server e-mail mengoperasikan dua proses terpisah:
·         Mail Transfer Agent (MTA)
·         Mail Delivery Agent (MDA)
Mail Transfer Agent (MTA) proses digunakan untuk meneruskan e-mail. Seperti ditunjukkan dalam gambar, MTA menerima pesan dari MUA atau dari MTA lain pada server lainnya e-mail. Berdasarkan header pesan, ini akan menentukan bagaimana pesan harus diteruskan untuk mencapai tujuannya. Jika surat ditujukan kepada pengguna yang mailbox pada server lokal, surat akan diteruskan ke MDA. Jika surat tersebut adalah untuk pengguna bukan pada server lokal, rute MTA e-mail ke MTA pada server yang tepat.


FTP (File Transfer Protocol) Protocol
File Transfer Protocol (FTP) adalah protokol lain Application Layer umum digunakan. FTP dikembangkan untuk memungkinkan untuk transfer file antara klien dan server. Sebuah klien FTP adalah sebuah aplikasi yang berjalan pada komputer yang digunakan untuk mendorong dan menarik file dari dari server yang menjalankan daemon FTP (ftpd).
Untuk berhasil mentransfer file, FTP membutuhkan dua koneksi antara klien dan server: satu untuk perintah dan jawaban, yang lain untuk transfer file yang sebenarnya. Klien menetapkan koneksi pertama ke server pada port TCP 21. Koneksi ini digunakan untuk lalu lintas, yang terdiri dari perintah client dan server balasan. Klien menetapkan kedua sambungan ke server melalui port TCP 20. Koneksi ini adalah untuk transfer file aktual dan dibuat setiap kali ada file yang ditransfer. Transfer file dapat terjadi dalam arah baik. Klien dapat men-download (tarik) file dari server atau client dapat meng-upload (push) file ke server.


DHCP Protocol
Dynamic Host Configuration Protocol (DHCP) layanan memungkinkan perangkat pada jaringan untuk memperoleh alamat IP dan informasi lainnya dari server DHCP. Layanan ini secara otomatis penugasan alamat IP, subnet mask, gateway dan lain parameter jaringan IP. DHCP memungkinkan sebuah host untuk mendapatkan alamat IP secara dinamis ketika terhubung ke jaringan. Server DHCP dihubungi dan alamat diminta. Server DHCP memilih alamat dari berbagai dikonfigurasi alamat.
Pada jaringan lokal yang lebih besar, atau di mana perubahan populasi pengguna sering, DHCP lebih disukai. Pengguna baru mungkin datang dengan laptop dan memerlukan suatu koneksi. Orang lain telah workstation baru yang perlu dihubungkan. Daripada memiliki administrator jaringan memberikan alamat IP untuk setiap workstation, lebih efisien untuk memiliki alamat IP yang ditetapkan secara otomatis menggunakan DHCP. Alamat DHCP didistribusikan tidak secara permanen ditugaskan untuk host tetapi hanya disewa untuk jangka waktu tertentu.

DHCP bisa menimbulkan risiko keamanan karena setiap alat yang terhubung ke jaringan dapat menerima alamat. Risiko ini membuat keamanan fisik merupakan faktor penting ketika menentukan apakah akan menggunakan alamat dinamis atau manual. Tanpa DHCP, pengguna harus secara manual memasukkan alamat IP, subnet mask dan pengaturan jaringan lain untuk bergabung dengan jaringan.


Telnet Protocol
Setelah jaringan yang tersedia, orang membutuhkan cara akses jarak jauh ke sistem komputer dengan cara yang sama yang mereka lakukan dengan terminal langsung terpasang. Telnet dikembangkan untuk memenuhi kebutuhan itu. Telnet tanggal kembali ke awal 1970-an dan merupakan salah satu yang tertua dari protokol Application Layer dan layanan di TCP / IP suite. Telnet menyediakan metode standar meniru perangkat terminal berbasis teks melalui jaringan data. Kedua protokol itu sendiri dan perangkat lunak client yang mengimplementasikan protokol yang sering disebut sebagai Telnet. oneksi menggunakan Telnet disebut Virtual Terminal (vty) sesi, atau koneksi. Alih-alih menggunakan perangkat fisik untuk terhubung ke server, Telnet menggunakan perangkat lunak untuk membuat perangkat virtual yang menyediakan fitur yang sama dari sesi terminal dengan akses ke server antarmuka baris perintah (CLI).


Telnet adalah klien / server dan protokol ini menetapkan bagaimana sesi vty didirikan dan diberhentikan. Hal ini juga menyediakan sintaks dan urutan perintah yang digunakan untuk memulai sesi Telnet, serta perintah kontrol yang dapat ditempatkan selama sesi. Setiap perintah Telnet terdiri dari setidaknya dua byte. Byte pertama adalah karakter khusus yang disebut Tafsirkan sebagai Command (IAC) karakter. Seperti namanya, IAC mendefinisikan byte berikutnya sebagai perintah daripada teks.

Gambar hubungan berbagai protokol TCP/IP
tcp/ip stack

TCP dan UDP
TCP memiliki karakteristik sebagai berikut:
§  Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
§  Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
§  Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
§  Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
§  Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
§  Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
§  Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.

Segmen TCP
Segmen-segmen TCP akan dikirimkan sebagai datagram-datagram IP (datagram merupakan satuan protocol data unit pada lapisan internetwork). Sebuah segmen TCP terdiri atas sebuah header dan segmen data (payload), yang dienkapsulasi dengan menggunakan header IP dari protokol IP.
Sebuah segmen dapat berukuran hingga 65495 byte: 216-(ukuran header IP terkecil (20 byte)+ukuran header TCP terkecil (20 byte)).Datagram IP tersebut akan dienkapsulasi lagi dengan menggunakan header protokol network interface (lapisan pertama dalam DARPA Reference Model) menjadi frame lapisan Network Interface. Gambar berikut mengilustrasikan data yang dikirimkan ke sebuah host.
Di dalam header IP dari sebuah segmen TCP, field Source IP Address diatur menjadi alamat unicast dari sebuah antarmuka host yang mengirimkan segmen TCP yang bersangkutan. Sementara itu, field Destination IP Address juga akan diatur menjadi alamat unicast dari sebuah antarmuka host tertentu yang dituju. Hal ini dikarenakan, protokol TCP hanya mendukung transmisi one-to-one.
Gambar bagan segmen TCP
http://t2.gstatic.com/images?q=tbn:ANd9GcRAc3kK_tLSdDkL422tk1o5czvRUiS1OB-nQyd4IKIu-MqeMngEdw


Header TCP
Ukuran dari header TCP adalah bervariasi, yang terdiri atas beberapa field yang ditunjukkan dalam gambar dan tabel berikut. Ukuran TCP header paling kecil (ketika tidak ada tambahan opsi TCP) adalah 20 byte.
Format header TCP, dilengkapi dengan ukuran setiap field-nya

Tabel Format Header TCP
Nama field
Ukuran
Keterangan
Source Port
2 byte (16 bit)
Mengindikasikan sumber protokol lapisan aplikasi yang mengirimkan segmen TCP yang bersangkutan. Gabungan antara field Source IP Address dalam header IP dan field Source Port dalam field header TCPdisebut juga sebagai socket sumber, yang berarti sebuah alamat global dari mana segmen dikirimkan. Lihat juga Port TCP.
Destination Port
2 byte (16 bit)
Mengindikasikan tujuan protokol lapisan aplikasi yang menerima segmen TCP yang bersangkutan. Gabungan antara field Destination IP Address dalam header IP dan field Destination Port dalam field header TCP disebut juga sebagai socket tujuan, yang berarti sebuah alamat global ke mana segmen akan dikirimkan.
Sequence Number
4 byte (32 bit)
Mengindikasikan nomor urut dari oktet pertama dari data di dalam sebuah segmen TCP yang hendak dikirimkan. Field ini harus selalu diset, meskipun tidak ada data (payload) dalam segmen.
Ketika memulai sebuah sesi koneksi TCP, segmen dengan flag SYN (Synchronization) diset ke nilai 1, field ini akan berisi nilai Initial Sequence Number (ISN). Hal ini berarti, oktet pertama dalam aliran byte (byte stream) dalam koneksi adalah ISN+1.
Acknowledgment Number
4 byte (32 bit)
Mengindikasikan nomor urut dari oktet selanjutnya dalam aliran byte yang diharapkan oleh untuk diterima oleh pengirim dari si penerima pada pengiriman selanjutnya. Acknowledgment number sangat dipentingkan bagi segmen-segmen TCP dengan flag ACK diset ke nilai 1.
Data Offset
4 bit
Mengindikasikan di mana data dalam segmen TCP dimulai. Field ini juga dapat berarti ukuran dari header TCP. Seperti halnya field Header Length dalam header IP, field ini merupakan angka dari word 32-bit dalam header TCP. Untuk sebuah segmen TCP terkecil (di mana tidak ada opsi TCP tambahan), field ini diatur ke nilai 0x5, yang berarti data dalam segmen TCP dimulai dari oktet ke 20 dilihat dari permulaan segmen TCP. Jika field Data Offset diset ke nilai maksimumnya (24=16) yakni 15, header TCP dengan ukuran terbesar dapat memiliki panjang hingga 60 byte.
Reserved
6 bit
Direservasikan untuk digunakan pada masa depan. Pengirim segmen TCP akan mengeset bit-bit ini ke dalam nilai 0.
Flags
6 bit
Mengindikasikan flag-flag TCP yang memang ada enam jumlahnya, yang terdiri atas: URG (Urgent), ACK (Acknowledgment), PSH (Push), RST (Reset), SYN (Synchronize), dan FIN (Finish).
Window
2 byte (16 bit)
Mengindikasikan jumlah byte yang tersedia yang dimiliki oleh buffer host penerima segmen yang bersangkutan. Buffer ini disebut sebagai Receive Buffer, digunakan untuk menyimpan byte stream yang datang. Dengan mengimbuhkan ukuran window ke setiap segmen, penerima segmen TCP memberitahukan kepada pengirim segmen berapa banyak data yang dapat dikirimkan dan disangga dengan sukses. Hal ini dilakukan agar si pengirim segmen tidak mengirimkan data lebih banyak dibandingkan ukuran Receive Buffer. Jika tidak ada tempat lagi di dalam Receive buffer, nilai dari field ini adalah 0. Dengan nilai 0, maka si pengirim tidak akan dapat mengirimkan segmen lagi ke penerima hingga nilai field ini berubah (bukan 0). Tujuan hal ini adalah untuk mengatur lalu lintas data atau flow control.
Checksum
2 byte (16 bit)
Mampu melakukan pengecekan integritas segmen TCP (header-nya dan payload-nya). Nilai field Checksum akan diatur ke nilai 0 selama proses kalkulasi checksum.
Urgent Pointer
2 byte (16 bit)
Menandakan lokasi data yang dianggap "urgent" dalam segmen.
Options
4 byte (32 bit)
Berfungsi sebagai penampung beberapa opsi tambahan TCP. Setiap opsi TCP akan memakan ruangan 32 bit, sehingga ukuran header TCP dapat diindikasikan dengan menggunakan field Data offset.

TCP flag
Sebuah segmen TCP dapat memiliki flag (tanda-tanda) khusus yang mengindikasikan segmen yang bersangkutan, seperti yang disebutkan dalam tabel berikut:

Nama flag
Keterangan
URG
Mengindikasikan bahwa beberapa bagian dari segmen TCP mengandung data yang sangat penting, dan field Urgent Pointer dalam header TCP harus digunakan untuk menentukan lokasi di mana data penting tersebut berada dalam segmen.
ACK
Mengindikasikan field Acknowledgment mengandung oktet selanjutnya yang diharapkan dalam koneksi. Flag ini selalu diset, kecuali pada segmen pertama pada pembuatan sesi koneksi TCP.
PSH
Mengindikasikan bahwa isi dari TCP Receive buffer harus diserahkan kepada protokol lapisan aplikasi. Data dalam receive buffer harus berisi sebuah blok data yang berurutan (kontigu), dilihat dari ujung paling kiri dari buffer. Dengan kata lain, sebuah segmen yang memiliki flag PSH diset ke nilai 1, tidak bolah ada satu byte pun data yang hilang dari aliran byte segmen tersebut; data tidak dapat diberikan kepada protokol lapisan aplikasi hingga segmen yang hilang tersebut datang. Normalnya, TCP Receive buffer akan dikosongkan (dengan kata lain, isi dari buffer akan diteruskan kepada protokol lapisan aplikasi) ketika buffer tersebut berisi data yang kontigu atau ketika dalam "proses perawatan". Flag PSH ini dapat mengubah hal seperti itu, dan membuat akan TCP segera mengosongkan TCP Receive buffer. Flag PSH umumnya digunakan dalam protokol lapisan aplikasi yang bersifat interaktif, seperti halnya Telnet, karena setiap penekanan tombol dalam sesi terminal virtual akan dikirimkan dengan sebuah flag PSH diset ke nilai 1. Contoh dari penggunaan lainnya dari flag ini adalah pada segmen terakhir dari berkas yang ditransfer dengan menggunakan protokol FTP. Segmen yang dikirimkan dengan flag PSH aktif tidak harus segera di-acknowledge oleh penerima.
RST
Mengindikasikan bahwa koneksi yang dibuat akan digagalkan. Untuk sebuah koneksi TCP yang sedang berjalan (aktif), sebuah segmen dengan flag RST diset ke nilai 1 akan dikirimkan sebagai respons terhadap sebuah segmen TCP yang diterima yang ternyata segmen tersebut bukan yang diminta, sehingga koneksi pun menjadi gagal. Pengiriman segmen dengan flag RST diset ke nilai 1 untuk sebuah koneksi aktif akan menutup koneksi secara paksa, sehingga data yang disimpan dalam buffer akan dibuang (dihilangkan). Untuk sebuah koneksi TCP yang sedang dibuat, segmen dengan flag RST aktif akan dikirimkan sebagai respons terhadap request pembuatan koneksi untuk mencegah percobaan pembuatan koneksi.
SYN
Mengindikasikan bahwa segmen TCP yang bersangkutan mengandung Initial Sequence Number (ISN). Selama proses pembuatan sesi koneksi TCP, TCP akan mengirimkan sebuah segmen dengan flag SYN diset ke nilai 1. Setiap host TCP lainnya akan memberikan jawaban (acknowledgment) dari segmen dengan flag SYN tersebut dengan menganggap bahwa segmen tersebut merupakan sekumpulan byte dari data. Field Acknowledgment Number dari sebuah segmen SYN diatur ke nilai ISN + 1.
FIN
Menandakan bahwa pengirim segmen TCP telah selesai dalam mengirimkan data dalam sebuah koneksi TCP. Ketika sebuah koneksi TCP akhirnya dihentikan (akibat sudah tidak ada data yang dikirimkan lagi), setiap host TCP akan mengirimkan sebuah segmen TCP dengan flag FIN diset ke nilai 1. Sebuah host TCP tidak akan mengirimkan segmen dengan flag FIN hingga semua data yang dikirimkannya telah diterima dengan baik (menerima paket acknowledgment) oleh penerima. Setiap host akan menganggap sebuah segmen TCP dengan flag FIN sebagai sekumpulan byte dari data. Ketika dua host TCP telah mengirimkan segmen TCP dengan flag FIN dan menerima acknowledgment dari segmen tersebut, maka koneksi TCP pun akan dihentikan.

Struktur flag-flag TCP ditunjukkan oleh gambar berikut ini.

TCP Three-way handshake


Proses pembuatan koneksi (TCP Three way handshake)
Proses pembuatan koneksi TCP disebut juga dengan "Three-way Handshake". Tujuan metode ini adalah agar dapat melakukan sinkronisasi terhadap nomor urut dan nomor acknowledgement yang dikirimkan oleh kedua pihak dan saling bertukar ukuran TCP Window. Prosesnya dapat digambarkan sebagai berikut:
§  Host pertama (yang ingin membuat koneksi) akan mengirimkan sebuah segmen TCP dengan flag SYN diaktifkan kepada host kedua (yang hendak diajak untuk berkomunikasi).
§  Host kedua akan meresponsnya dengan mengirimkan segmen dengan acknowledgment dan juga SYN kepada host pertama.
§  Host pertama selanjutnya akan mulai saling bertukar data dengan host kedua.
TCP menggunakan proses jabat tangan yang sama untuk mengakhiri koneksi yang dibuat. Hal ini menjamin dua host yang sedang terkoneksi tersebut telah menyelesaikan proses transmisi data dan semua data yang ditransmisikan telah diterima dengan baik. Itulah sebabnya, mengapa TCP disebut dengan koneksi yang reliable.

UDP
UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP
Karakteristik UDP
UDP memiliki karakteristik-karakteristik berikut:
§  Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
§  Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
§  UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification.
§  UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
UDP tidak menyediakan layanan-layanan antar-host berikut:
§  UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
§  UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
§  UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.


Penggunaan UDP
UDP sering digunakan dalam beberapa tugas berikut:
§  Protokol yang "ringan" (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
§  Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
§  Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
§  Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

Pesan-pesan UDP
UDP, berbeda dengan TCP yang memiliki satuan paket data yang disebut dengan segmen, melakukan pengepakan terhadap data ke dalam pesan-pesan UDP (UDP Messages). Sebuah pesan UDP berisi header UDP dan akan dikirimkan ke protokol lapisan selanjutnya (lapisan internetwork) setelah mengepaknya menjadi datagram IP. Enkapsulasi terhadap pesan-pesan UDP oleh protokol IP dilakukan dengan menambahkan header IP dengan protokol IP nomor 17 (0x11). Pesan UDP dapat memiliki besar maksimum 65507 byte: 65535 (216)-20 (ukuran terkecil dari header IP)-8 (ukuran dari header UDP) byte. Datagram IP yang dihasilkan dari proses enkapsulasi tersebut, akan dienkapsulasi kembali dengan menggunakan header dan trailer protokol lapisan Network Interface yang digunakan oleh host tersebut.
Dalam header IP dari sebuah pesan UDP, field Source IP Address akan diset ke antarmuka host yang mengirimkan pesan UDP yang bersangkutan; sementara field Destination IP Address akan diset ke alamat IP unicast dari sebuah host tertentu, alamat IP broadcast, atau alamat IP multicast.

Ilsutrasi mengenai pesan –pesan UDP.
Berkas:Pesan UDP.png

Header UDP
Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap, seperti tersebutkan dalam tabel berikut
Field
Panjang
Keterangan
Source Port
16 bit (2 byte)
Digunakan untuk mengidentifikasikan sumber protokol lapisan aplikasi yang mengirimkan pesan UDP yang bersangkutan. Penggunaan field ini adalah opsional, dan jika tidak digunakan, akan diset ke angka 0. Beberapa protokol lapisan aplikasi dapat menggunakan nilai field ini dari pesan UDP yang masuk sebagai nilai field port tujuan (Destination Port, lihat baris selanjutnya) sebagai balasan untuk pesan tersebut.
Destination Port
16 bit (2 byte)
Digunakan untuk mengidentifikasikan tujuan protokol lapisan aplikasi yang menjadi tujuan pesan UDP yang bersangkutan. Dengan menggunakan kombinasi antara alamat IP dengan nilai dari field ini untuk membuat sebuah alamat yang signifikan untuk mengidentifikasikan proses yang berjalan dalam sebuah host tertentu yang dituju oleh pesan UDP yang bersangkutan.
Length
16 bit (2 byte)
Digunakan untuk mengindikasikan panjang pesan UDP (pesan UDP ditambah dengan header UDP) dalam satuan byte. Ukuran paling kecil adalah 8 byte (ukuran header UDP, ketika tidak ada isi pesan UDP), dan ukuran paling besar adalah 65515 bytes (65535 [216] -20 [ukuran header protokol IP]). Panjang maksimum aktual dari pesan UDP akan disesuaikan dengan menggunakan nilai Maximum Transmission Unit (MTU) dari saluran di mana pesan UDP dikirimkan. Field ini bersifat redundan (terulang-ulang). Panjang pesan UDP dapat dihitung dari field Length dalam header UDP dan field IP Header Length dalam header IP.
Checksum
16 bit (2 byte)
Berisi informasi pengecekan integritas dari pesan UDP yang dikirimkan (header UDP dan pesan UDP). Penggunaan field ini adalah opsional. Jika tidak digunakan, field ini akan bernilai 0.

Ilustrasi header UDP
Berkas:Header-UDP.png

Port UDP
Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik, seperti halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal secara luas.

Nomor Port UDP
Digunakan oleh
53
67
68
69
137
138
161
445
520
1812/1813


IP Address dan Domain Name
Pada layer Internet dapat dijumpai sebuah protokol yang populer, yaitu Internet Protokol (IP). IP merupakan protokol yang bersifat conectionless dan unreliabel. Boleh dibilang IP merupakan inti dari protokol TCP/IP. Pada header IP ada field berisi informasi IP address. IP address asal dan tujuan dari paket data dapat ditemukan dibagian ini. Perhatikan diaram header protokol IP berikut.
http://calvinbahal.files.wordpress.com/2012/06/diagram.png  
Akan tetapi, IP address tidak dikenali oleh perangkat keras jaringan. Perangkat keras hanya memahami MAC address. Sehingga diperlukan suatu cara untuk menjembatani kedua jenis address tersebut. Disinilah protokol ARP berperan.
a)                  Address Resolution Protokol (ARP)

Setiap komputer yang terhubung dengan Internet harus memiliki nomor identifikasi yang unik (ID) agar dapat membedakannya dari komputer lain. ID ini disebut IP address. Saat ini yang digunakan dalam dunia internet secara umum adalah Ipv4, sedangkan IP yang lebih baru adalah IPv6.
Kita sudah mengetahui bahwa perangkat keras jaringan, seperti Ethernet card, memiliki alamat fisik yang disebut MAC address. Pada ethernet card , alamat hardware dinyatakan dalam bilangan heksadesimal yang panjagnya 48 bit (jika dikonversikan ke biner). Sedangkan perangkat lain seperti Token Ring card, ARCNET card, dan sebagainya akan menggunkan format Address yang berbeda.

IP address berbeda dengan MAC address. Baik IP address maupun MAC address, kedua-duanya sama-sama diperlukan pada internetworking. Oleh sebab itu, perlu ada aturan yang dapat menjembatani kedua format yang berbeda ini. Disinilah peranan protokol ARP.

ARP terletak pada layer Internet dan bekerja sama dengan protokol IP. ARP digunakan untuk megubah alamat IP menjadi alamat ethernet. Pengubahan almat ini hanya untuk paket IP yang keluar (dikirim).

Cara kerja ARP.
Ketika sebuah host hendak mengirim data ke host lain, maka host tersebut akan mengirimkan (mem-broadcast) sebuah paket ARP yang berisi alamat IP tujuan ke semua host pada network. Isi paket ARP kira-kira sebagai berikut : “hai siapa yang memiliki alamat IP ini, mohon segera berikan alamat ethernetnya kepadaku.”

Jika ada host yang memiliki IP tersebut,maka dia akan memberikan alamat ethernetnya kepada host yang meminta. Setelah alamat ethernet diketahui, maka komunikasi dapat dilakukan.
Agar proses pencarian alamat ethernet dapat dilakukan dengan cepat maka setiap host boleh menyimpan informasi alamat hardware pada ARP tabel. ARP tabel akan digunakan sebelum host pengirim mencari informasi ke luar. Jika informasi yang dibutuhkan tidak adapat ditemukan di ARP tabel , barulah pesan ARP broadcast dikirimkan keseluruh host.

Jika kondisi sebaliknya, misalkan saja diperlukan informasi alamat IP dari perangkat yang sudah diketahui alamat hardwarenya, maka dapat digunakan protokol Reverse Address Resolution Protokol (RARP). RARP banyak digunakan pada layanan internet yang mengalokasikan IP Address secara dinamis.

b)                  IP Address
IP Address merupakan pengenal yang digunakan umtuk memberi alamat pada tiap-tiap komputer dalam jaringan. Format IP address adalah bilangan 32 bit yang tiap 8 bitnya dipisahkan oleh tanda titik. Adapun format IP Address dapat berupa bentuk ‘biner’ (xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx dengan x merupakan bilangan biner). Atau dengan bentuk empat bilangan desimal yang masing-masing dipisahkan oleh titik  bentuk ini dikenal dengan ‘dotted decimal’ (xxx.xxx.xxx.xxx adapun xxx merupakan nilai dari satu oktet/delapan bit).
Sebelumnya dikenal cara-cara pembagian IP Address, dimana IP address (yang berjumlah sekitar 4 milyar) dibagi kedalam lima kelas yakni:
            
Kelas A
Format             : 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
Bit pertama     : 0
Panjang NetID              : 8  bit
Panjang HostID : 24 bit
Byte pertama   : 0-127
Jumlah : 126 Kelas A (0 dan 127 dicadangkan)
Range IP         : 1.xxx.xxx.xxx sampai 126.xxx.xxx.xxx
Jumlah IP        : 16.777.214 IP Address pada setiap Kelas A
Dekripsi           : Diberikan untuk jaringan dengan jumlah host yang besar

Kelas B
Format             : 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
Bit pertama     : 10
Panjang NetID            : 16 bit
Panjang HostID           : 16 bit
Byte pertama   : 128-191
Jumlah : 16.384 Kelas B
Range IP         : 128.0.xxx.xxx sampai 191.155.xxx.xxx
Jumlah IP        : 65.532 IP Address pada setiap Kelas B
Deskripsi         : Dialokasikan untuk jaringan besar dan sedang


Kelas C
Format             : 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
Bit pertama     : 110
Panjang NetID   : 24 bit
Panjang HostID : 8 bit
Byte pertama   : 192-223
Jumlah : 2.097.152 Kelas C       
Range IP         : 1.xxx.xxx.xxx sampai 223.255.255.xxx
Jumlah IP        : 254 IP Address pada setiap Kelas C
Deskripsi         : Digunakan untuk jaringan berukuran kecil

Kelas A,B,C disebut addess unicast dan dipakai untuk keperluan umum.

Kelas D
Format             : 1110mmmm.mmmmmmm. mmmmmmm. mmmmmmm
Bit pertama     : 1110
Bit multicast    : 28 bit         
Byte inisial      : 224-247
Deskripsi         : Kelas D digunakan untuk keperluan IP multicasting (RFC 1112)
Kelas ini disebut IP Address multicast digunakan untuk keperluan khusus.

Kelas E
Format             : 1111rrrr.rrrrrrrr. rrrrrrrr. rrrrrrrr
Bit pertama     : 1111
Bit cadangan   : 28 bit
Byte inisial      : 248-255
Deskripsi         : Kelas E dicadangkan untuk keperluan eksperimental.
Kelas ini digunakan untuk keperluan riset.
IP Address yang berjumlah sekitar 4 milyar ini tidak semuanya dapat digunakan sebagai IP Address untuk host. Ada yang digunakan untuk keperluan khusus. Menurut Internet Assigned Number Authority (IANA) , IP address berikut dicadangkan untuk keperluan intranet atau  LAN.
·         Begin with 10. (i.e. 10.0.0.0 sampai 10.255.255.255)
·         Begin with 127
·         Begin with 169.154
·         Begin with 172.16 sampai 172.31
·         Begin with 192.168
Sedangkan IP address selain yang dicantumkan di atas dapat digunakan untuk Internet. IP address yang digunakan untuk keperluan LAN/intranet disebut sebagai IP address private. Sedangkan IP address yang digunakan untuk keperluan Intermet disebut IP address public. Berikut ini adalah tabel daftar IP address private.
Kelas
IP Address private
A
10.0.0.0 – 10. 255.255.255
B
172.16.0.0 – 172.31.255.255
C
192.168.0.0- 192.168.255.255

Umunya kita bisa memperoleh IP address dengan cara berlanggananIntrenet Ke ISP.

Netmask
Untuk pengelompokan pengalamatan, selain nomor IP dikenal juga netmask atau subnetmask. Yang besarnya sama dengan nomor IP yaitu 32 bit. Ada tiga pengelompokan besar subnet mask yaitu dengan dikenal, yaitu 255.0.0.0 , 255.255.0.0 dan 255.0.0.0.
Pada dunia jaringan, subnetmask tersebut dikelompokkan yang disebut class dikenal tiga class yaitu :
1. Class A, adalah semua nomor IP yang mempunyai subnetmask 255.0.0.0
2. Class B, adalah semua nomor IP yang mempunyai subnetmask 255.255.0.0
3. Class C, adalah semua nomor IP yang mempunyai subnetmask 255.255.255.0

Gabungan antara IP dan Netmask inilah pengalamatan komputer dipakai. Kedua hal ini tidak bisa lepas. Jadi penulisan biasanya sbb :

IP : 202.95.151.129
Netmask : 255.255.255.0

Suatu nomor IP kita dengan nomor IP tetangga dianggap satu kelompok (satu jaringan) bila IP dan Netmask kita dikonversi jadi biner dan diANDkan, begitu juga nomor IP tetangga dan Netmask dikonversi jadi biner dan diANDkan, jika kedua hasilnya sama maka satu jaringan. Dan kita bisa berhubungan secara langsung.

Broadcast
Broadcast address adalah alamat ip terakhir dari sebuah network dan tidak bisa digunakan sesuai dengan namanya broadcast address, ip ini digunakan untuk melakukan broadcasting ke semua host didalam jaringan. contoh ip address 192.168.57.0 subnet-mask 255.255.255.0, kemudian lakukan ping ke 192.168.57.255 maka host yang hidup dalam network akan melakukan reply.  Alamat network broadcast digunakan untuk mengirimkan sebuah paket untuk semua host yang terdapat di dalam sebuah jaringan yang berbasis kelas. Router tidak dapat meneruskan paket-paket yang ditujukan dengan alamat network broadcast.
IP Broadcast : Alamat network broadcast IPv4 adalah alamat yang dibentuk dengan cara mengeset semua bit host menjadi 1 dalam sebuah alamat yang menggunakan kelas (classful). Contohnya adalah, dalam NetID 131.107.0.0/16, alamat broadcast-nya adalah 131.107.255.255.

IP Network : Segmen jaringan, dengan kata lain bisa disebut juga sebagai pengelompokan suatu jaringan dengan batasan yang dibuat dan didefinisikan oleh router. Dalam satu jaringan LAN maka IP Network tentu akan sama.
Gateway : sebuah perangkat yang digunakan untuk menghubungkan satu jaringan komputer dengan satu atau lebih jaringan komputer yang menggunakan protokol komunikasi yang berbeda sehingga informasi dari satu jaringan computer dapat diberikan kepada jaringan komputer lain yang protokolnya berbeda
IP Address :Alamat IP (Internet Protocol Address atau sering disingkat IP) adalah deretan angka biner antar 32-bit sampai 128-bit yang dipakai sebagai alamat identifikasi untuk tiap komputer host dalam jaringan Internet. Panjang dari angka ini adalah 32-bit (untuk IPv4 atau IP versi 4), dan 128-bit (untuk IPv6 atau IP versi 6) yang menunjukkan alamat dari komputer tersebut pada jaringan Internet berbasis TCP/IP.
Subnet Mask : igunakan untuk membedakan Network ID dengan host ID.Setiap host di dalam sebuah jaringan yang menggunakan TCP/IP membutuhkan sebuah subnet mask meskipun berada di dalam sebuah jaringan dengan satu segmen saja. Entah itu subnet mask default (yang digunakan ketika memakai network identifier berbasis kelas) ataupun subnet mask yang dikustomisasi (yang digunakan ketika membuat sebuah subnet atau supernet) harus dikonfigurasikan di dalam setiap node TCP/IP.
Untuk Subnet mask yang di kustomisasi/di set secara manual maka terdapat aturan yang disebut dengan subnetting. Apa itu subnetting? pengertian singkatnya ialah, menentukan nilai subnet mask sesuai dengan jumlah host ID yang kita butuhkan.


Subnetting
Subnetting merupakan pembagian network yang besar ke network yang kecil. Penghitungan subnetting bisa dilakukan dengan dua cara, cara binary yang relatif lambat dan cara khusus yang lebih cepat. Pada hakekatnya semua pertanyaan tentang subnetting akan berkisar di empat masalah: Jumlah Subnet, Jumlah Host per Subnet, Blok Subnet, dan Alamat Host- Broadcast.
Keuntungan :
  1. menyederhanakan administrasi
  2. perubahan stuktur jaringan tidak tampak dari luar
  3. keamanan jaringan lebih baik
  4. pembatasan lalu lintas jaringan

Sebenarnya subnetting itu apa dan kenapa harus dilakukan? Pertanyaan ini bisa dijawab dengan analogi sebuah jalan. Jalan bernama Gatot Subroto terdiri dari beberapa rumah bernomor 01-08, dengan rumah nomor 08 adalah rumah Ketua RT yang memiliki tugas mengumumkan informasi apapun kepada seluruh rumah di wilayah Jl. Gatot Subroto.
alan.jpg
Ketika rumah di wilayah itu makin banyak, tentu kemungkinan menimbulkan keruwetan dan kemacetan. Karena itulah kemudian diadakan pengaturan lagi, dibuat gang-gang, rumah yang masuk ke gang diberi nomor rumah baru, masing-masing gang ada Ketua RTnya sendiri-sendiri. Sehingga ini akan memecahkan kemacetan, efiesiensi dan optimalisasi transportasi, serta setiap gang memiliki previledge sendiri-sendiri dalam mengelola wilayahnya. Jadilah gambar wilayah baru seperti di bawah:
ang.jpg

Konsep seperti inilah sebenarnya konsep subnetting itu. Disatu sisi ingin mempermudah pengelolaan, misalnya suatu kantor ingin membagi kerja menjadi 3 divisi dengan masing-masing divisi memiliki 15 komputer (host). Disisi lain juga untuk optimalisasi dan efisiensi kerja jaringan, karena jalur lalu lintas tidak terpusat di satu network besar, tapi terbagi ke beberapa ruas-ruas gang. Yang pertama analogi Jl Gatot Subroto dengan rumah disekitarnya dapat diterapkan untuk jaringan adalah seperti NETWORK ADDRESS (nama jalan) dan HOST ADDRESS (nomer rumah). Sedangkan Ketua RT diperankan oleh BROADCAST ADDRESS (192.168.1.255), yang bertugas mengirimkan message ke semua host yang ada di network tersebut.

etwork.jpg

Masih mengikuti analogi jalan diatas, kita terapkan ke subnetting jaringan adalah seperti gambar di bawah. Gang adalah SUBNET, masing-masing subnet memiliki HOST ADDRESS dan BROADCAST ADDRESS.
ubnet.jpg

Subnetmask digunakan untuk membaca bagaimana kita membagi jalan dan gang, atau membagi network dan hostnya. Address mana saja yang berfungsi sebagai SUBNET, mana yang HOST dan mana yang BROADCAST. Semua itu bisa kita ketahui dari SUBNET MASKnya. Jl Gatot Subroto tanpa gang yang saya tampilkan di awal bisa dipahami sebagai menggunakan SUBNET MASK DEFAULT, atau dengan kata lain bisa disebut juga bahwa Network tersebut tidak memiliki subnet (Jalan tanpa Gang). SUBNET MASK DEFAULT ini untuk masing-masing Class IP Address adalah sbb:
CLASS
OKTET PERTAMA
SUBNET MAS DEFAULT
PRIVATE ADDRESS
A
1-127
255.0.0.0
10.0.0.0-10.255.255.255
B
128-191
255.255.0.0
172.16.0.0-172.31.255.255
C
192-223
255.255.255.0
192.168.0.0-192.168.255.255




CIDR
Classless Inter-Domain Routing (disingkat menjadi CIDR)  atau yang biasa disebut juga dengan supernetting adalah sebuah cara alternatif untuk mengklasifikasikan alamat-alamat IP berbeda dengan sistem klasifikasi ke dalam kelas A, kelas B, kelas C, kelas D, dan kelas E.
Supernetting menyebabkan informasi yang disimpan di router (yang dipertukarkan dengan router lain) akan sangat besar

·                     CIDR dikembangkan sebagai sebuah cara untuk menggunakan alamat-alamat IP yang tidak terpakai tersebut untuk digunakan di mana saja. Pada CIDR, satu blok alamat dinyatakan oleh satu entry dengan format (network address, count)
·                     Network address adalah alamat terkecil dari suatu blok
·                     Count menyatakan jumlah total network address di dalam suatu blok
·                     Contoh : pasangan (192.5.48.0,3) menyatakan tiga network address yaitu 192.5.48.0, 192.5.49.0, 192.5.50.0
·                     Dalam kenyataan, CIDR tidak hanya berlaku untuk kelas C.
·                     CIDR mensyaratkan ukuran setiap blok alamat merupakan kelipatan dua dan menggunakan bit masks untuk mengidentifikasi ukuran blok
Misalnya suatu organisasi diberi 2048 alamat yang berurutan mulai dari 128.211.168.0, maka range alamatnya adalah :
128.211.168.0 (10000000 11010011 10101000 00000000) : the lowest
128.211.175.0  (10000000 11010011 10101111 00000000) : the highest

CIDR memerlukan dua item untuk menyatakan suatu blok alamat 32 bit lowest address dan32-bit masksUntuk contoh di atas, mask CIDR terdiri dari 21 bit “1”, yang artinya pemisahan anatra prefix dan suffix terjadi setelah bit ke-21.
-   Mask : 11111111 11111111 11111000 00000000
Maka, Slash notation untuk contoh sebelumnya adalah 128.211.168.0/21 dimana 21 menyatakan 21-bit masks


Sebagai contoh, alamat IP kelas A secara teoritis mendukung hingga 16 juta host komputer yang dapat terhubung, sebuah jumlah yang sangat besar. Dalam kenyataannya, para pengguna alamat IP kelas A ini jarang yang memiliki jumlah host sebanyak itu, sehingga menyisakan banyak sekali ruangan kosong di dalam ruang alamat IP yang telah disediakan.

CIDR dikembangkan sebagai sebuah cara untuk menggunakan alamat-alamat IP yang tidak terpakai tersebut untuk digunakan di mana saja. Dengan cara yang sama, kelas C yang secara teoritis hanya mendukung 254 alamat tiap jaringan, dapat menggunakan hingga 32766 alamat IP, yang seharusnya hanya tersedia untuk alamat IP kelas B.

SUBNETTING PADA IP ADDRESS CLASS C

Subnetting seperti apa yang terjadi dengan sebuah NETWORK ADDRESS 192.168.1.0/26 ?
Analisa: 192.168.1.0 berarti kelas C dengan Subnet Mask /26 berarti 11111111.11111111.11111111.11000000 (255.255.255.192).
Penghitungan: Seperti sudah saya sebutkan sebelumnya semua pertanyaan tentang subnetting akan berpusat di 4 hal, jumlah subnet, jumlah host per subnet, blok subnet, alamat host dan broadcast yang valid. Jadi kita selesaikan dengan urutan seperti itu:
1.      Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untuk kelas B, dan 3 oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22 = 4 subnet
2.      Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir subnet. Jadi jumlah host per subnet adalah
26 – 2 = 62 host
1.      Blok Subnet = 256 – 192 (nilai oktet terakhir subnet mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
2.      Bagaimana dengan alamat host dan broadcast yang valid? Kita langsung buat tabelnya. Sebagai catatan, host pertama adalah 1 angka setelah subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya.


Kita sudah selesaikan subnetting untuk IP address Class C. Dan kita bisa melanjutkan lagi untuk subnet mask yang lain, dengan konsep dan teknik yang sama. Subnet mask yang bisa digunakan untuk subnetting class C adalah seperti di bawah. Silakan anda coba menghitung seperti cara diatas untuk subnetmask lainnya.


SUBNETTING PADA IP ADDRESS CLASS B
Berikutnya kita akan mencoba melakukan subnetting untuk IP address class B. Pertama, subnet mask yang bisa digunakan untuk subnetting class B adalah seperti dibawah. Sengaja saya pisahkan jadi dua, blok sebelah kiri dan kanan karena masing-masing berbeda teknik terutama untuk oktet yang “dimainkan” berdasarkan blok subnetnya. CIDR /17 sampai /24 caranya sama persis dengan subnetting Class C, hanya blok subnetnya kita masukkan langsung ke oktet ketiga, bukan seperti Class C yang “dimainkan” di oktet keempat. Sedangkan CIDR /25 sampai /30 (kelipatan) blok subnet kita “mainkan” di oktet keempat, tapi setelah selesai oktet ketiga berjalan maju (coeunter) dari 0, 1, 2, 3, dst.



Untuk teknik subnetting untuk Class B. Kita mulai dari yang menggunakan subnetmask dengan CIDR /17 sampai /24. Contoh network address 172.16.0.0/18.
Analisa: 172.16.0.0 berarti kelas B, dengan Subnet Mask /18 berarti 11111111.11111111.11000000.00000000 (255.255.192.0).
Penghitungan:
1.      Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada 2 oktet terakhir. Jadi Jumlah Subnet adalah 22 = 4 subnet
2.      Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada 2 oktet terakhir. Jadi jumlah host per subnet adalah 214 – 2 = 16.382 host
3.      Blok Subnet = 256 – 192 = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.


Berikutnya kita coba satu lagi untuk Class B khususnya untuk yang menggunakan subnetmask CIDR /25 sampai /30. Contoh network address 172.16.0.0/25.
Analisa: 172.16.0.0 berarti kelas B, dengan Subnet Mask /25 berarti 11111111.11111111.11111111.10000000 (255.255.255.128).
Penghitungan:
1.  Jumlah Subnet = 29 = 512 subnet
2.  Jumlah Host per Subnet = 27 – 2 = 126 host
3.  Blok Subnet = 256 – 128 = 128. Jadi lengkapnya adalah (0, 128)





SUBNETTING PADA IP ADDRESS CLASS A
Kalau sudah mantab dan paham, kita lanjut ke Class A. Konsepnya semua sama saja. Perbedaannya adalah di OKTET mana kita mainkan blok subnet. Kalau Class C di oktet ke 4 (terakhir), kelas B di Oktet 3 dan 4 (2 oktet terakhir), kalau Class A di oktet 2, 3 dan 4 (3 oktet terakhir). Kemudian subnet mask yang bisa digunakan untuk subnetting class A adalah semua subnet mask dari CIDR /8 sampai /30.
Kita coba latihan untuk network address 10.0.0.0/16.Analisa: 10.0.0.0 berarti kelas A, dengan Subnet Mask /16 berarti
11111111.11111111.00000000.00000000 (255.255.0.0). Penghitungan:
1.  Jumlah Subnet = 28 = 256 subnet
2.  Jumlah Host per Subnet = 216 – 2 = 65534 host
3.  Blok Subnet = 256 – 255 = 1. Jadi subnet lengkapnya: 0,1,2,3,4, etc.


Catatan: Semua penghitungan subnet diatas berasumsikan bahwa IP Subnet-Zeroes (dan IP Subnet-Ones) dihitung secara default.

c)                  Domain Name

Pada  tahun 1981 diusulkan sebuah metode konversi IP address menjadi hostname, dan sebaliknya, karena manusia lebih mudah menghapal nama dibandingkan IP Address. Metode ini disebut Domain Name System (DNS). Sebagai contoh hostname www.yahoo.com digunakan untuk menggantikan IP address 209.131.36.158. hostname www.google.com untuk IP address 216.239.61.104.