;

;
Senin, 27 Oktober 2008

tentang tcp/ip

Apa Itu TCP/IP???


TCP/IP merupakan dasar dari segalanya, tanpa mempelajari TCP/PI
kemungkinan kita tidak dapat melakah maju di dunia pehackingan. Dengan
kata lain, TCP/IP merupakan awal dari segalanya. Banyak orang yg
menyepelekan pentingnya mempelajari TCP/IP, mereka mengaku dirinya
“hacker” tetapi tidak mengerti sama sekali apa itu TCP/IP. Merasa hacker
hanya apabila bisa mencrash ataupun menjebol server, tetapi sebetulnya
bukan itulah maksud dari segala itu. Hacker itu adalah orang yg haus
akan pengetahuan, bukan haus akan penghancuran. Untuk menjadi hacker
dibutuhkan kerja keras, semangat, motivasi yg tinggi serta pemahaman
seluk-beluk internet itu sendiri, tanpa hal-hal tersebut mustahil anda
dapat menjadi seorang hacker yang tangguh.
Tulisan ini didedikasikan terutama untuk member Kecoak Elektronik dan
siapa saja yang ingin mempelajari TCP/IP, bukan untuk mereka yang hanya
ingin mencari jalan pintas menjadi hacker sejati. Bagi anda yg memang
udah profhacking mungkin tulisan ini tidak penting, karena memang
tulisan ini hanyalah pengantar belaka dan bukan merupakan referensi yg
sempurna (dan jauh dari sempurna) oleh karenanya hanya dikhususkan bagi
mereka yg pendatang baru (newbies).

TCP/IP adalah salah satu jenis protokol yg memungkinkan kumpulan
komputer untuk berkomunikasi dan bertukar data didalam suatu network
(jaringan). Merupakan himpunan aturan yg memungkinkan komputer untuk berhubungan antara satu dengan yg lain, biasanya berupa bentuk / waktu / barisan / pemeriksaan error saat transmisi data.
Karena TCP/IP merupakan protokol yg telah diterapkan pada hampir semua
perangkat keras dan sistem operasi. Tidak ada rangkaian protokol lain yg
tersedia pada semua sistem berikut ini :


a. Novel Netware.
b. Mainframe IBM.
c. Sistem digital VMS.
d. Server Microsoft Windows NT
e. Workstation UNIX, LinuX, FreeBSD
f. Personal komputer DOS.

Konsep TCP/IP berawal dari kebutuhan DoD (Departement of Defense) AS
akan suatu komunikasi di antara berbagai variasi komputer yg telah ada.
Komputer-komputer DoD ini seringkali harus berhubungan antara satu
organisasi peneliti dg organisasi peneliti lainnya, dan harus tetap
berhubungan sehingga pertahanan negara tetap berjalan selama terjadi
bencana, seperti ledakan nuklir. Oleh karenanya pada tahun 1969
dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di antara
tujuan-tujuan penelitian ini adalah sebagai berikut :
1. Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg
dapat ditentukan untuk semua jaringan.
2. Meningkatkan efisiensi komunikasi data.
3. Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah
ada.
4. Mudah dikonfigurasikan.
Tahun 1968 DoD ARPAnet (Advanced Reseach Project Agency) memulai
penelitian yg kemudian menjadi cikal bakal packet switching . Packet
switching inilah yg memungkinkan komunikasi antara lapisan network
(dibahas nanti) dimana data dijalankan dan disalurkan melalui jaringan
dalam bentuk unit-unit kecil yg disebut packet*. Tiap-tiap packet ini
membawa informasi alamatnya masing-masing yg ditangani dengan khusus
oleh jaringan tersebut dan tidak tergantung dengan paket-paket lain.
Jaringan yg dikembangkan ini, yg menggunakan ARPAnet sebagai tulang
punggungnya, menjadi terkenal sebagai internet.
Protokol-protokol TCP/IP dikembangkan lebih lanjut pada awal 1980 dan
menjadi protokol-protokol standar untuk ARPAnet pada tahun 1983.
Protokol-protokol ini mengalami peningkatan popularitas di komunitas
pemakai ketika TCP/IP digabungkan menjadi versi 4.2 dari BSD (Berkeley
Standard Distribution) UNIX. Versi ini digunakan secara luas pada
institusi penelitian dan pendidikan dan digunakan sebagai dasar dari
beberapa penerapan UNIX komersial, termasuk SunOS dari Sun dan Ultrix
dari Digital. Karena BSD UNIX mendirikan hubungan antara TCP/IP dan
sistem operasi UNIX, banyak implementasi UNIX sekarang menggabungkan
TCP/IP.

Pendahuluan
Router menggunakan informasi IP address dalam paket header IP untuk
menentukan interface mana yang akan di-switch ke tujuan. Tiap-tiap layer
OSI memiliki fungsi sendiri-sendiri dan tergantung dari layer lainnya. Setiap
layer menerima layanan dari layer di atas dan di bawahnya. Layer application,
presentation dan session pada model OSI sama dengan layer application
pada model TCP/IP, sedangkan akses ke layanan layer transport melalui port.
Modul ini akan menjelaskan konsep dari port dan nomor port di jaringan.
Setelah mengikuti modul ini Anda diharapkan mampu:
- Menggambarkan TCP dan fungsinya
- Menggambarkan sinkronisasi TCP dan flow control
- Menggambarkan operasi UDP
- Mengidentifikasi nomor port yang umum digunakan
- Menggambarkan komunikasi antar host
- Mengidentifikasi port yang digunakan untuk layanan dan klien
- Menggambarkan penomoran port
- Mengerti perbedaan dan hubungan antara MAC address, IP address
dan port number
1. Operasi TCP
1.1 Layer 4 – Transport layer
IP address mengijinkan routing paket antar jaringan. IP menjamin pengiriman
paket data. Layer transport bertanggung jawab untuk menjamin transmisi dan
aliran data dari asal ke tujuan. Hal ini nanti akan berhubungan dengan sliding
window dan sequencing number untuk sinkronisasi aliran data.
Untuk memahami reliability dan flow control, analoginya sama dengan
mahasiswa yang belajar bahasa asing selama satu tahun. Bayangkan kalau
mahasiswa ini pergi ke Negara dimana dia belajar bahasa tersebut.
Mahasiswa harus bertanya ke orang-orang untuk mengulang kata-kata dan
berbicara secara benar (reliability) dan pelan-pelan (sama dengan konsep
flow control).
Gambar 1.1 Layer4: transport layer
1.2 Sinkronisasi dan 3-way handshake
TCP adalah protokol connection-oriented. Komunikasi data antar host terjadi
melalui proses sinkronisasi untuk membentuk virtual connection setiap
amang@eepis-its.edu
135Page 2

session antar host. Proses sinkronisasi ini meyakinkan kedu sisi apakah
sudah siap transmisi data apa belum dan mengijinkan device untuk
menentukan inisial sequence number. Proses ini disebut dengan 3-way
handshake. Untuk membentuk koneksi TCP, klien harus menggunakan
nomor port tertentu dari layanan yang ada di server.
Tahap satu, klien mengirimkan paket sinkronisasi (SYN flag set) untuk
inisialisasi koneksi. Paket dianggap valid kalau niali sequence numbernya
misalnya x. bit SYN menunjukkan permintaan koneksi. Bit SYN panjangnya
satu bit dari segmen header TCP. Dan sequence number panjangnya 32 bit.
Tahap dua, host yang lain menerima paket dan mencatat sequence number x
dari klien dan membalas dengan acknowledgement (ACK flag set). Bit control
ACK menunjukkan bahwa acknowledgement
number berisi nilai
acknowledgement yang valid. ACK flag panjangnya satu bit dan Ack number
32 bit dalam segmen TCP header. Sekali koneksi terbentuk, ACK flag diset
untuk semua segmen. ACK number nilainya menjadi x + 1 artinya host telah
menerima semua byte termasuk x dan menambahkan penerimaan berikutnya
x + 1.
Tahap tiga, klien meresponnya dengan Ack Number y + 1 yang berarti ia
menerima ack sebelumnya dan mengakhiri proses koneksi untuk session ini.
Gambar 1.2 Format segmen TCP
Gambar 1.3 Format segmen TCP
1.3 Serangan Denial of Service (DoS)
Serangan DoS didisain untuk mencegah layanan ke host yang mencoba
untuk membentuk koneksi. DoS umutmnya digunakan oleh hacker untuk
mematikan sistem. DoS dikenal dengan nama SYN flooding artinya
membanjiri dan merusak 3-way handshake.
amang@eepis-its.edu
136Page 3

Gambar 1.4 Serangan DoS
Pada DoS, hacker meginisialisasi SYN tapi disisipi dengan alamat IP tujuan,
artinya hacker memberikan permintaan SYN dengan informasi yang salah,
sehingga proses koneksi akan menunggu lama dan akhirnya gagal. Untuk
mengatasi hal ini, admin harus mengurangi koneksi selama peride tertentu
dan menaikkan jumlah antrian koneksi.
1.4 Windowing dan window size
Window size menetukan jumlah data yang dapat dikirim pada satu waktu
sebelum tujuan meresponnya dengan acknowledgment. Setelah host
mengirim angka window size dalam byte, hist harus menerima ack bahwa
data telah doterima sebelum ia dapat mengirim data berikutnya. Sebagai
contoh, jika window size 1, setiap byte harus ack sebelum byte berikutnya
dikirim.
Gambar 1.5 TCP window size = 1
Windowing untuk menentukan ukuran transmisi secara dinamis. Device
melakukan negosiasi window size untuk mengijinkan angka tertentu dalam
byte yang harus dikirim sebelum ack.
amang@eepis-its.edu
137Page 4

Gambar 1.6 TCP window size = 3
1.5 Sequence number dan ack number
Sequence number bertindak sebagai nomor referensi sehingga penerima
akan mengetahui jika ia telah menerima semua data. Dan juga
mengidentifikasi data-data yang hilang ke pengirim supaya ia mengirimnya
lagi.
Gambar 1.7 TCP sequence number dan ack number
Gambar 1.8 Format segmen TCP
1.6 Operasi UDP
Baik TCP maupun UDP sama menggunakan IP protokol layer 3. TCP dan
UDP diguanakan untuk aplikasi yang bermacam-macam. TCP melayani
aplikasi seperti FTP, HTTP, SMTP dan DNS. Sedangkan UDP adalah
protokol layer 4 yang digunakan oleh DNS, TFTP, SNMP dan DHCP.
amang@eepis-its.edu
138Page 5

Gambar 1.9 Protokol TCP/IP
Gambar 1.10 Format segmen UDP
Gambar 1.11 Nomor port
2. Transport layer port
2.1 Port dan klien
Kapanpun klien terhubung ke layanan suatu server. Port asal dan tujuan pasti
digunakan. Segmen TCP dan UDP berisi field port asal dan tujuan. Port
tujuan, port layanan harus diketahui oleh klien. Secara umum nomor port
secara acak dibangkitkan sendiri oleh klien dengan nomor di atas 1023.
sebagai contoh, klien yang akan konek ke web server menggunakan TCP ke
port tujuan 80 dan port asal 1045. Pada saat paket sampai di server, ia
masuk ke layer transport dan masuk ke layanan HTTP yang beroperasi di
port 80. server HTTP membalas ke klien dengan segmen yang menggunakan
port 80 dan asal ke 1045 sebagai tujuannya.
amang@eepis-its.edu
139Page 6

Gambar 2.1 Format segmen TCP
Gambar 2.2 Format segmen UDP
2.2 Nomor Port
Nomor port diwakili oleh 2 byte dalam header segmen TCP atau UDP. Nilai
16-bit dapat menghasilkan nomor port antara 0 sampai 65535. tiga kategori
nomor port adalah well-known port, registered port dan dynamic atau private
port. Nomor port 1023 ke bawah adalah well-known port, yang digunakan
untuk layanan-layanan umu misalnya FTP, Telnet atau DNS.
Registered port rangenya dari 1024 – 49151. sedangkan port antara 49152 –
65535 untuk dynamic atau private port.
Gambar 2.3 Nomor port
2.3 MAC address, IP address dan port number
Sebagai analogi, pada saat kita membuat surat. Alamat pada surat berisi
nama, jalan, kota dan provinsi. Data-data ini analoginya sama dengan port,
MAC dan IP address untuk jaringan data. Nama di surat sama dengan nomor
port, alamat surat sama dengan MAC address, dan kota serta provinsi sama
dengan IP address. Banyak surat yang ditujukan ke alamat yang sama.
Sebagai contoh ada dua surat yang dialamatkan ke alamat yang sama
katakanlah “John Doe” dan lainnya “Jane Doe”. Hal ini analoginya sama
dengan session banyak tapi nomor portnya lain.
amang@eepis-its.edu
140Page 7

Kesimpulan
- TCP adalah protokol connection-oriented. Dua host yang
berkomunikasi terlebih dulu harus melakukan proses sinkronisasi untuk
membentuk virtual koneksi.
- UDP adalah protokol connectionless, transmisi paket data tidak dijamin
sampai ke tujuan
- Port number digunakan untuk melayani komunikasi yang berbeda
dalam jaringan pada saat yang bersamaan. Port number diperlukan
pada saat host komunikasi dengan server yang menjalankan
bermacam-macam service.
amang@eepis-its.edu
141