facebook

Pages

Kamis, 13 Oktober 2011

PENEGRTIAN MODEL GRAFIK

Grafika komputer (Inggris: Computer graphics) adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.

Sejarah grafika komputer :

Istilah ”Grafik Komputer”ditemukan tahun 1960 oleh William Fetter : pembentukan disain model cockpit (Boeing) dengan menggunakan pen plotter dan referensi model tubuh manusia 3 Dimensi.

Sejarah Perkembangan Komputer Grafik:

  • Awal tahun 60-an dimulainya model animasi dengan menampilkan simulasi efek fisik.
  • 1961: Edward Zajac menyajikan suatu model simulasi satelit dengan menggunakan teknologi Grafik Komputer.
  • 1963 : -ditemukan Sutherland (MIT)
    -Sketchpad (manipulasi langsung, CAD)
    -Alat untuk menampilkan Calligraphic (vector)
    -Mouse oleh Douglas Englebert
  • 1968 : ditemukan Evans & Sutherland.
  • 1970: Pierre B´eezier mengembangkan kurva B´eezier.
  • 1972: ditayangkannya filmWestworld, sebagai film pertama yang menggunakan animasi komputer.
  • 1974: Ed Catmull mengembangkan z-buffer (Utah). Komputer animasi pendek, Hunger:Keyframe animation and morphing.
  • 1976: Jim Blinn mengembangkan texture dan bump mapping.
  • 1977: Film terkenal Star Wars menggunakan grafik komputer.
  • 1979: Turner Whitted mengembangkan algoritma ray tracing,untuk pesawat Death Star.
  • Pertengahan tahun 70-an hingga 80-an: Pengembangan Quest for realism radiosity sebagai main-stream aplikasi realtime.
  • 1982: Pengembangan teknologi grafik komputer untuk menampilkan partikel.
  • 1984: Grafik Komputer digunakan untuk menggantikan model fisik pada film The Last Star Fighter.
  • 1986: Pertama kalinya Film hasil produksi grafik komputer dijadikan sebagai nominasi dalam Academy Award: Luxo Jr. (Pixar).
  • 1989: Film Tin Toy (Pixar) memenangkan Academy Award.
  • 1995: Diproduksi fillm Toy Story (Pixar dan Disney) sebagai film3D animasi panjang pertama.
  • Akhir tahun 90-an, ditemukannya teknologi visualisasi interaktif untuk ilmu pengetahuan dan kedokteran, artistic rendering, image based rendering, path tracing, photon maps, dll.
  • Tahun 2000 ditemukannya teknologi perangkat keras untuk real-time photorealistic rendering

Kemajuan dalam komputer grafis adalah berasal dari seorang mahasiswa MIT, Ivan Sutherland. Pada tahun 1961 Sutherland menciptakan program komputer untuk menggambar yang disebut Sketchpad. Dengan menggunakan Light Pen, Sketchpad dapat menggambar bentuk sederhana pada layar komputer, menyimpan mereka dan bahkan bisa memanggil mereka lagi nanti. Light pen itu sendiri memiliki sel fotolistrik kecil di ujungnya. Sel ini dipancarkan pulsa elektronik setiap kali ditempatkan di depan layar komputer dan pistol elektron layar itu ditembakkan langsung dalam. Dengan waktu yang singkat pulsa elektronik ini tahu dimana lokasi electron gun, ini mudah untuk menentukan persis di mana pena ini di layar pada saat tertentu. Begitu yang ditentukan, komputer kemudian bisa menggambar kursor di lokasi itu.

Sutherland tampaknya terus mencari solusi yang sempurna untuk banyak masalah grafis yang dihadapinya. Bahkan saat ini, banyak standar grafis komputer interface mulai mendapatkan masalah dengan program Sketchpad awal. Salah satu contoh dari hal ini adalah dalam batasan menggambar. Jika seseorang ingin menggambar persegi misalnya, ia tidak perlu khawatir tentang menggambar empat baris sempurna untuk membentuk tepi kotak. Satu hanya dapat menentukan bahwa ia ingin menggambar kotak, dan kemudian tentukan lokasi dan ukuran kotak. Perangkat lunak kemudian akan membangun sebuah kotak yang sempurna, dengan dimensi yang tepat dan di lokasi yang tepat. Contoh lain adalah bahwa perangkat lunak Sutherland model objek - tidak hanya gambar objek. Dengan kata lain, dengan model mobil, orang bisa mengubah ukuran ban tanpa mempengaruhi sisa mobil. Itu bisa meregangkan tubuh mobil tanpa deformasi ban.

Revolusi perangkat Hardware

  1. Hukum Moore : “Setiap 12-18 bulan, kemampuan komputer meningkat dua kali lipat dalam hal harga/performance untuk setiap penggandaan jumlah transistor”.
  2. Memory grafik dan kecepatan jaringan meningkat secara eksponensial, Graphics chips meningkat setiap 6-9 bulan (contoh : Sony Playstation 2, nVidia GeForce FX, Nintendo GameCube, Microsoft Xbox).

Sistem Grafika computer dibedakan antara non-interaktif dan interaktif:

  1. Grafika computer non interaktif: dibuat sebagai akhir dari proses dalam bentuk hardcopy.
    • Grafika dengan lineprinter: Sistem computer general purpose dengan perangkat lunak yang sesuai bias digunakan sebagai suatu system grafika (seperti di masa-masa awalnya grafika computer) yaitu dengan mengkombinasikan berbagai karakter dengan cara cetak-tumpuk untuk meniru pola shading (gradasi tingkat keabuan).
    • Grafika dengan plotter dan semcam: terutama untuk grafika “line-drawing”.Grafika dengan hi quality printers: laser, ink-jet, thermal, dsb.
  2. Grafika interaktif dapat dibuat dan dimanipulasi secara interaktif pada layar peranti peraga. Peranti-peranti peraga interaktif yang paling umum digunakan: CRT (tabung sinar katoda). Lain-lain: DVST, plasma-panel, LED/LCD, laser, dsb.
    Komponen Dasar Sistem Grafik Interaktif :

    • Masukan : mouse, tablet dan stylus, peralatan force feedback, scanner, live video stream, dll
    • Proses dan Penyimpanan
    • Keluaran : layar, printer berbasis kertas, perekam video, non-linear editor, dll

Tujuan dari grafika komputer ini adalah untuk memungkinkan manusia berkomunikasi lewat gambar, bagan-bagan, dan diagram.

Bagian dari grafika komputer meliputi:

* Geometri: mempelajari cara menggambarkan permukaan bidang
* Animasi: mempelajari cara menggambarkan dan memanipulasi gerakan
* Rendering: mempelajari algoritma untuk menampilkan efek cahaya
* Citra (Imaging): mempelajari cara pengambilan dan penyuntingan gambar

Beberapa perangkat Lunak Grafis meliputi:

  1. Corel Draw
  2. Auto CAD
  3. 3D Studio MAX
  4. Visio
  5. dll.

Aplikasi-aplikasi computer grafik :

  1. Computer-Aided Design (CAD)
    CAD adalah alat bantu berbasis komputer yang digunakan dalam proses analisis dam desain, khusunya untuk sistem arsitektural dan engineering. CAD banyak digunakan dalam mendesain bagunan, mobil, pesawat, komputer, alat-alat elektronik, peralatan rumah tangga, dan berbagai produk lainnya. Contoh aplikasinya: AutoCAD.

  2. Computer-Aided Sofware Engineering (CASE)
    CASE mirip dengan CAD tetapi digunakan dalam bidang sofware engineering. CASE digunakan dalam memodelkan user requirement, pemodelan basisdata, workflow dalam proses bisnis, struktur program, dan sebagainya. Contoh aplikasi: Rational Rose, SyBase Power Designer

  3. Virtual Reality
    Virtual Reality adalah lingkungan virtual yang seakan-akan begitu nyata di mana user dapat berinteraksi dengan objek-objek dalam suasana atau lingkungan 3 dimensi. Perangkat keras khusus digunakan untuk memberikan efek pemadangan 3 dimensi dan memampukan user beriteraksi dengan objek-objek yang ada dalam lingkungan. Aplikasi ini dapat memberikan keutungan berupa mengurangi resiko cedera selama latihan, mengurangi biaya penerbangan, melatih perwira sebelum melakukan terjun payung sesungguhnya.

  4. Visualisasi Data
    Visualisasi Data adalah teknik-teknik membuat image, diagram, atau animasi untuk mengkomunikasikan pesan. Visualisasi telah menjadi cara yang efektif dalam mengkomunikasikan baik data atau ide abstrak maupun nyata sejak permulaan manusia.

  5. Pendidikan dan Pelatihan
    Model-model yang dihasilkan melalui komputer yang tentunya menggunakan grafis biasa digunakan sebagai alat bantu pendidikan. Model-model seperti proses-proses fisika dan kimia, fungsi-fungsi psikologi, simulasi, dan sebagainya dapat membantu sesorang memahami bagaimana operasi atau proses yang terjadi dalam suatu sistem.

  6. Computer Art
    Computer art adalah penggunaan komputer grafis untuk menghasilkan karya-karya seni. Hasil dapat berupa kartun, potret, foto, layout media cetak, logo, lukisan abstrak, desain interior atau eksterior, dan lain sebagainya.

  7. Hiburan
    Komputer grafis juga digunakan secara luas pada bidang entertainment khususnya pertelevisian, motion pictures, animasi, video clips, dan sebagainya. Film-film animasi yagn berdar di pasaran seperti Shrek, Monster Inc., anime-anime Jepang, menggunakan komputer grafis.

  8. Video Game
    Video game adalah permainan yang melibatkan interaksi dengan user interface untuk menghasilkan umpan balik berupa visualisasi pada perangkat video. Aplikasi banyak beredar di pasaran mulai yang sederhana 2 dimensi, seperti tetris, hingga yang rumit, 3 dimensi, dan memerlukan resource banyak, seperti game sepakbola Winning Eleven. Dari yang yang standalone hingga online network, seperti Ragnarok. Dari PC, console, hingga mobile devices.

  9. Pengolahan Citra
    Pengolahan citra berkaitan dengan teknik-teknik untuk modifikasi dna intepretasi citra, meningkatkan kualitas citra, analisis citra, dan mengenali pola-pola visual yang ada dalam suatu citra. Contoh: perbaikan citra sehingga menjadi lebih jelas.

  10. Computer Vision
    Compute Vision adalah ilmu pengetahuan dan teknologi dari mesin-mesin yang dapat melihat. Sebagai disiplin ilmu, computer vision berkaitan dengan teori untuk membangun sistem buatan yang dapat menarik informasi dari citra-citra. Informasi tersebut kemudian dapat digunakan sebagai input dalam mengambil keputusan atau tindakan. Data citra yang diambil dapat berupa video, citra dari berbagai kamera, dan sebagainya.


    Gambar di atas adalah contoh penggunaan perangkat lunak computer vision pada Reactable.

  11. Graphical User Interface
    Graphical User Inteface adalah antarmuka grafis yang mempermudah interaksi manusia dengan komputer dan alat-alat yang dikendalikan oleh komputer. GUI sudah sering kita lihat berupa window-window yang digunakan pada sistem operasi Windows, Mac, maupun Linux.

Jumat, 18 Maret 2011

HISTORY OF THE WEB



  • DARPA

Model Referensi DARPA atau DARPA Reference Mode adalah sebuah referensi protokol jaringan yang digunakan oleh protokol TCP/IP yang dibuat oleh DARPA. Model referensi ini mirip dengan OSI Reference Model, di mana setiap lapisan yang ada di bawah menyediakan layanan untuk lapisan yang berada di atasnya, dan lapisan yang ada di atas menggunakan layanan untuk lapisan yang ada di bawahnya.

Berbeda dengan model referensi OSI yang memiliki tujuh lapisan, model referensi ini hanya memiliki empat lapisan, yakni lapisan aplikasi (application layer), lapisan antar host (host-to-host layer), lapisan internetwork (internetworking layer), dan lapisan antarmuka jaringan (network interface layer). Keempat lapisan tersebut secara umum kompatibel dengan model referensi OSI, meski tidak dapat dipetakan dengan sempurna.Lapisan sesi (session layer) dalam model referensi OSI, sebagai contoh, tidak dapat dipetakan secara langsung dengan DARPA Model. Selain itu, beberapa protokol juga "keluar jalur" dengan menggunakan lebih dari satu lapis.

Model ini dinamai begitu mengingat badan yang mengembangkan TCP/IP adalah DARPA (United States Defense Advanced Research Project Agency) pada kisaran dekade1970adan 1980-an. Disebut juga sebagai TCP/IP Model, atau Internet Model.

Lapisan ke-Nama lapisanKeterangan
4Application LayerLapisan ini bertanggung jawab dalam rangka menyediakan akses kepada aplikasi terhadap jaringanTCP/IP. Protokol-protokol yang berjalan pada lapisan ini adalah protokol Dynamic Host Configuration Protocol(DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol(FTP), Telnet,Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), dan lain-lain.
3Host-to-Host LayerLapisan ini bertanggung jawab dalam rangka membuat komunikasi antar dua host, dengan menggunakan cara membuat sebuah sesi connection-orientedatau menyebarkan sebuah connectionless broadcast. Protokol-protokol yang berjalan pada lapisan ini adalah protokolTransmission Control Protocol (TCP) dan User Datagram Protocol (UDP).
2Internetworking LayerLapisan ini bertanggung jawab dalam melakukan routing dan pembuatan paket IP (dengan menggunakan teknikencapsulation). Protokol-protokol yang berjalan pada lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), serta Internet Group Management Protocol (IGMP).
1Network interface layerLapisan ini bertanggung jawab dalam meletakkan frame-frame data di atas media jaringan. Protokol yang berjalan dalam lapisan ini adalah beberapa arsitektur jaringan lokal (seperti halnya Ethernet atau Token Ring), serta layanan teknologi WAN (seperti Plain Old Telephone Service (POTS), Integrated Services Digital Network (ISDN),Frame Relay, dan Asynchronous Transfer Mode (ATM).)

  • IP

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 (untukIPv4 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.

Sistem pengalamatan IP ini terbagi menjadi dua, yakni:


PERBANDINGAN ALAMAT IPV6 DAN IPV4

Tabel berikut menjelaskan perbandingan karakteristik antara alamat IP versi 4 dan alamat IP versi 6.

KriteriaAlamat IP versi 4Alamat IP versi 6
Panjang alamat32 bit128 bit
Jumlah total host (teoritis)232=±4 miliar host2128
Menggunakan kelas alamatYa, kelas A, B, C, D, dan E.
Belakangan tidak digunakan lagi, mengingat telah tidak relevan dengan perkembangan jaringan Internet yang pesat.
Tidak
Alamat multicastKelas D, yaitu 224.0.0.0/4Alamat multicast IPv6, yaituFF00:/8
AlamatbroadcastAdaTidak ada
Alamat yang belum ditentukan0.0.0.0::
Alamatloopback127.0.0.1::1
Alamat IP publikAlamat IP publik IPv4, yang ditetapkan oleh otoritas Internet (IANA)Alamat IPv6unicast global
Alamat IP pribadiAlamat IP pribadi IPv4, yang ditetapkan oleh otoritas InternetAlamat IPv6unicast site-local(FEC0::/48)
Konfigurasi alamat otomatisYa (APIPA)Alamat IPv6unicast link-local(FE80::/64)
Representasi tekstualDotted decimal format notationColon hexadecimal format notation
Fungsi PrefiksSubnet mask atau panjang prefiksPanjang prefiks
Resolusi alamat DNSA Resource Record (Single A)AAAA Resource Record (Quad A)

  • TCP
Transmission Control Protocol (TCP)
adalah suatu protokol yang berada di lapisan transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable). TCP dispesifikasikan dalam RFC 793.

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 acknowledgmentdari 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 TCPChecksum.
  • 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 controldalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
  • Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalamDARPA 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 secaraone-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 HTTPdan FTP.

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.

Proses enkapsulasi data protokol TCP/IP: Data aplikasi + header TCP + header IP + header network interface (Ethernet, Token Ring, dll) + trailer network interface

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.

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
Nama fieldUkuranKeterangan
Source Port2 byte (16 bit)Mengindikasikan sumber protokol lapisan aplikasi yang mengirimkan segmen TCP yang bersangkutan. Gabungan antarafield Source IP Address dalamheader IP dan fieldSource Portdalam field header TCP disebut juga sebagai socketsumber, yang berarti sebuah alamat global dari mana segmen dikirimkan. Lihat juga Port TCP.
Destination Port2 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 sockettujuan, yang berarti sebuah alamat global ke mana segmen akan dikirimkan.
Sequence Number4 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 Number4 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 Offset4 bitMengindikasikan di mana data dalam segmen TCP dimulai. Field ini juga dapat berarti ukuran dari header TCP. Seperti halnya fieldHeader Lengthdalam 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.
Reserved6 bitDireservasikan untuk digunakan pada masa depan. Pengirim segmen TCP akan mengeset bit-bit ini ke dalam nilai 0.
Flags6 bitMengindikasikan flag-flag TCP yang memang ada enam jumlahnya, yang terdiri atas: URG (Urgent), ACK (Acknowledgment), PSH (Push), RST (Reset), SYN (Synchronize), dan FIN (Finish).
Window2 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 atauflow control.
Checksum2 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 Pointer2 byte (16 bit)Menandakan lokasi data yang dianggap "urgent" dalam segmen.
Options4 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.


ort TCP mampu mengindikasikan sebuah lokasi tertentu untuk menyampaikan segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP Port Number. Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan ditetapkan oleh IANA (Internet Assigned Number Authority). Tabel berikut ini menyebutkan beberapa port TCP yang telah umum digunakan.

Nomor port TCPKeterangan
20File Transfer Protocol/FTP (digunakan untuk saluran data)
21File Transfer Protocol/FTP (digunakan untuk saluran kontrol)
25Simple Mail Transfer Protocol/SMTP yang digunakan untuk mengirim e-mail
23Telnet
80Hypertext Transfer Protocol/HTTP yang digunakan untuk World Wide Web.
110Post Office Protocol 3/POP3 yang digunakan untuk menerima e-mail.
139NetBIOS over TCP session service

Port TCP merupakan hal yang berbeda dibandingkan dengan port UDP, meskipun mereka memiliki nomor port yang sama. Port TCP merepresentasikan satu sisi dari sebuah koneksi TCP untuk protokol lapisan aplikasi, sementara port UDP merepresentasikan sebuah antrean pesan UDP untuk protokol lapisan aplikasi. Selain itu, protokol lapisan aplikasi yang menggunakan port TCP dan port UDP dalam nomor yang sama juga tidak harus sama. Sebagai contoh protokol Extended Filename Server (EFS) menggunakan port TCP dengan nomor 520, dan protokol Routing Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520. Jelas, dua protokol tersebut sangatlah berbeda! Karenanya, untuk menyebutkan sebuah nomor port, sebutkan juga jenis port yang digunakannya, karena hal tersebut mampu membingungkan (ambigu).

Lihat juga Port TCP dan UDP


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

Struktur flag-flag TCP
Nama flagKeterangan
URGMengindikasikan 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.
ACKMengindikasikan field Acknowledgment mengandung oktet selanjutnya yang diharapkan dalam koneksi. Flag ini selalu diset, kecuali pada segmen pertama pada pembuatan sesi koneksi TCP.
PSHMengindikasikan 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.
RSTMengindikasikan 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.
SYNMengindikasikan 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.
FINMenandakan 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.

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 denganacknowledgment 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.

FTP

FTP (singkatan dari File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferanberkas (file) komputerantar mesin-mesin dalam sebuah internetwork.

FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan pengunduhan (download) danpenggugahan (upload)berkas-berkas komputer antara klien FTP dan server FTP. Sebuah Klien FTP merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah sebuah Windows Service atau daemon yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari sebuah klien FTP. Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus transfer antara biner dan ASCII, menggugah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP.

Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.

Cara kerja protokol FTP

FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga di antara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai. Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.

FTP hanya menggunakan metode autentikasi standar, yakni menggunakan usernamedan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuatberkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail.