Sabtu, 29 Ogos 2009

Teknologi Selular


2G

2G (atau 2-G) adalah singkatan dari teknologi generasi kedua telefon selular. Teknologi selular ini hadir menggantikan teknologi selular pertama, 1G yang menggunakan sistem analog seperti AMPS (Advanced Mobile Phone System). 2G merupakan jaringan telekomunikasi selular yang dilancarkan secara komersial pada jaringan GSM standard di Finlandia oleh Radiolinja pada tahun 1991. Berbeza dengan 1G, 2G menggunakan sistem digital. Selain melayani komunikasi suara, 2G juga dapat melayani komunikasi teks, iaitu SMS.

Teknologi 2G

Time Division Multiple Access (TDMA)

Cara kerja teknologi ini adalah dengan membahagikan lokasi frekuensi radio berdasarkan satuan waktu. Teknologi TDMA dapat melayani tiga sesi penelefonan sekaligus dengan melakukan pengulangan pada irisan-irisan satuan waktu dalam satu channel radio. Jadi, sebuah channel frekuensi dapat melayani tiga sesi penelefonan pada satu-satu waktu yang berbeza, tetapi tetap berpola dan berkesinambungan. Dengan merangkaikan seluruh bagian waktu tersebut, maka akan terbentuk sebuah sesi komunikasi.

Personal Digital Cellular (PDC)

PDC memiliki cara kerja yang relatif sama dengan TDMA. Perbezaannya adalah area implementasinya. TDMA lebih banyak digunakan di Amerika Syarikat , sedangkan PDC banyak diimplementasikan di Jepun.


iDEN

iDEN merupakan teknologi yang hanya digunakan di perangkat dengan merk tertentu (proprietary technology FBR). Teknologi ini merupakan milik perusahaan teknologi komunikasi terbesar di Amerika, Motorola, yang kemudian dipopularkan oleh perusahaan Nextel. iDEN berasaskan teknologi TDMA dengan arsitektur GSM yang bekerja pada frekuensi 800 MHz. Umumnya digunakan untuk aplikasi Private Mobile Radio (PMR) dan “Push-to-Talk”.

Digital European Cordless Telephone (DECT)

DECT yang berasaskan teknologi TDMA difokuskan untuk keperluan bisnes dengan skala enterprise, bukan skala service provider yang melayani pengguna dalam jumlah yang sangat banyak. Contoh dari aplikasi teknologi ini adalah wireless PBX, dan interkom antara telefon wireless. Ukuran sell radio yang tidak terlalu besar menyebabkan teknologi ini hanya digunakan dalam kawasan yang terbatas. Meskipun demikian, teknologi DECT menglokasikan bandwidth frekuensi yang lebar, iaitu sekitar 32 Kbps per channel. Penglokasian bandwidth frekuensi yang lebar ini menghasilkan kualiti suara atau data yang lebih baik dalam format standar ISDN.

Personal Handphone Service (PHPS)

PHS merupakan teknologi yang dikembangkan dan diimplementasikan di Jepun. Teknologi ini tidak berbeza jauh dari DECT yang juga menglokasikan 32 Kbps channel untuk menjaga kualitinya. Teknologi ini difokuskan untuk kepentingan di dalam lingkungan populasi tinggi sehingga coverage area FBR tidak terlalu luas. Biasanya teknologi PHS menempatkan BTS di lokasi sekitar area keramaian, seperti shopping mall, dan pejabat.

IS-95 CDMA (CDMAone)

CDMAone berbeza dengan teknologi 2G lainnya kerana teknologi ini berasas Code Division Multiple Access (CDMA). Teknologi ini meningkatkan kapasiti sesi penelefonan dengan menggunakan sebuah metode pengkodian yang unik untuk setiap frekuensi yang digunakannya. Dengan adanya sistem pengkodian ini, maka lalu-lintas dan lokasi waktu masing-masing sesi dapat diatur. Frekuensi yang digunakan pada teknologi ini adalah 800 MHz. Namun, terdapat varian lain yang berada di frekuensi 1900 MHz.

Global System for Mobile (GSM)

Teknologi GSM menggunakan sistem TDMA dengan lokasi kurang lebih sekitar lapan pengguna di dalam satu channel frekuensi sebesar 200 KHz per satuan waktu. Awalnya, frekuensi yang digunakan adalah 900 MHz. Pada perkembangannya frekuensi yang digunakan adalah 1800 MHz dan 1900 MHz. Kelebihan dari GSM adalah interface yang lebih bagi para provider mahupun para penggunanya. Selain itu, kemampuan roaming antara sesama provider membuat pengguna dapat bebas berkomunikasi.



2.5G

Setelah 2G, lahirlah generasi 2.5G yang merupakan pengembangan dari 2G. 2.5G mengaktifkan layanan kecepatan tinggi transfer data melalui jaringan 2G yang ada ditingkatkan. 2.5G adalah layanan komunikasi suara, sms dan data 153 kbps. Teknologi 2.5 G yang terkenal adalah GPRS(General Packet Radio Service) dan EDGE (Enhanced Data for GSM Evolution).

Beberapa teknologi data yang berada pada posisi transisi telah dikembangkan dalam rangka mendapatkan kecepatan transfer data yang lebih tinggi segera yang mungkin dengan implementasi yang lebih murah. Hal ini kerana implementasi teknologi 3G memerlukan waktu yang cukup lama dan kos yang sangat besar. Teknologi-teknologi ini pada umumnya dikembangkan untuk meningkatkan kemampuan dari sistem standard pada 2G di mana implementasinya diperlakukan sebagai proses upgrade terhadap jaringan 2G. Hal ini menyebabkan teknologi-teknologi ini dikelompokkan sebagai teknologi 2.5G.Sistem berasaskan teknologi TDMA pada generasi 2.5G meliputi teknologi IS-96 yang telah memberikan kecepatan lebih tinggi. Sistem berteknologi TDMA pada generasi 2G meliputi High Speed Circuit Swithed Digital (HSCSD), lxEV dan General Packet Radio Service (GPRS). Teknologi-teknologi tersebut awalnya dikembangkan untuk GSM, tetapi kemudian digunakan juga oleh badan standard IS-136. Selain GPRS, teknologi lainnya adalah IS-95B dan 1S-95C yang merupakan pengembangan dari CDMA.



3G

3G adalah singkatan dari istilah dalam bahasa Inggeris; third-generation technology. Istilah ini umumnya mengacu kepada perkembangan teknologi telefon nirkabel (wireless). 3G juga berguna untuk menelefon, tetapi dengan 3G, penelefon dan penerima boleh saling bertatap muka. Generasi 3 atau 3G merupakan teknologi terbaru dalam dunia selular. Generasi ini lebih dikenal dengan sebutan WCDMA (Wideband - Coded Division Multiple Access). Kelebihan terletak pada kecepatan transfer data yang mencapai 384 kbps di luar ruangan dan 2 Mbps untuk aplikasi dalam ruangan. 3G menyediakan layanan multimedia seperti internet, video streaming, dan lain-lain.

Secara umum, ITU-T, sebagaimana dikutip oleh FCC mendefinisikan 3G sebagai sebuah solusi nirkabel yang boleh memberikan kecepatan akses:
· Sebesar 144 Kbps untuk keadaan bergerak cepat (mobile).
· Sebesar 384 Kbps untuk keadaan berjalan (pedestrian).
· Sebesar 2 Mbps untuk keadaan statik di suatu tempat.

Teknologi 3G

Pada saat ini ada dua cabang dari pengembangan 3G, iaitu dari sisi GSM (Global System for Mobile Communication) yang dipelopori oleh 3G Partnership Project dan CDMA (Code Division Multiple Access) yang dipelopori oleh 3G Partnership Project 2 (3GPP2). Kedua teknologi tidak kompatibel.

Salah satu alasan mengapa layanan 3G dapat memberikan throughput yang lebih besar adalah kerana penggunaan teknologi spektrum tersebar yang memungkinkan data masukkan yang hendak ditransmisikan disebar di seluruh spektrum frekuensi. Selain mendapatkan pita lebar yang lebih besar, layanan berasas spektrum tersebar jauh lebih aman daripada timeslot atau frequency slot.

Jaringan 3G tidak merupakan upgrade dari 2G; operator 2G yang beroperasi dengan 3GPP perlu untuk mengganti banyak komponen untuk boleh memberikan layanan 3G. Sedangkan operator 2G yang beroperasi dengan teknologi 3GPP2 lebih mudah dalam upgrade ke 3G kerana pelbagai network element nya sudah diisi untuk ke arah layanan nirkabel pita lebar (broadband wireless).

Evolusi Menuju 3G

Jaringan Telefon Telekomunikasi selular telah meningkat menuju penggunaan layanan 3G dari 1999 hingga 2010. Jepun adalah negara pertama yang memperkenalkan 3G secara nasional dan transisi menuju 3G di Jepun sudah dicapai pada tahun 2006. Setelah itu Korea menjadi pengadopsi jaringan 3G pertama dan transisi telah dicapai pada awal tahun 2004, memimpin dunia dalam bidang telekomunikasi.

Operator dan jaringan UMTS, pada tahun 2005, evolusi jaringan 3G sedang dijalankan untuk beberapa tahun. Ini kerana kapasiti yang terbatas dari jaringan 2G yang ada. Jaringan 2G diciptakan dengan tujuan utama iaitu untuk data suara dan transmisi yang lambat. Disebabkan cepatnya arus perubahan pada permintaan pengguna, keperluan nirkabel mereka tidak penuhi.

"2.5G" (dan juga 2.75G) adalah teknologi seperti pelayanan data i-mode, telepon berkamera, pertukaran rangkaian data berkecepatan tinggi (atau disebut juga High-Speed Circuit-Switched Data atau disingkat HSCSD) dan Pelayanan paket radio umum (atau dikenal dengan General Packet Radio Service atau GPRS) diciptakan untuk menyediakan beberapa fungsi utama seperti jaringan 3G, tapi tanpa transisi penuh ke jaringan 3G. Pelayanan-pelayanan ini diciptakan untuk memperkenalkan kemungkinan dari penerapan teknologi nirkabel untuk pengguna dan penigkatan permintaan untuk pelayanan 3G.



3.5G

3.5G atau dikenal juga sebagai super 3G merupakan peningkatan dari teknologi 3G, terutama dalam peningkatan kecepatan transfer data yang lebih dari teknologi 3G (>2Mbps) sehingga dapat melayani komunikasi multimedia seperti akses internet dan bertukar data video (video sharing).

Teknologi ini merupakan penyempurnaan teknologi sebelumnya dengan menutupi semua keterbatasan 3G. Contohnya layanan panggilan video 3.5G mengalami penyempurnaan dengan menidakkan penundaan suara mahupun penundaan pada tayangan wajah untuk bercakap di skrin (yang sering terjadi pada 3G), sehingga melakukan panggilan video (video call) melalui jaringan 3.5G jauh lebih berkesan.

Teknologi 3.5G

Teknologi 3.5G ini merupakan teknologi transmisi data pita lebar yang dapat digunakan secara berpindah-pindah (mobile broadband) yang berasaskan HSDPA (High-Speed Downlink Packet Access). Teknologi ini mampu mengirimkan data awal (initial data transmission speed) dengan kecepatan hampir sepuluh kali dari kecepatan teknologi 3G. Teknologi 3.5G berasas HSDPA dikembangkan dari W-CDMA (Wideband CDMA) dan memberikan jalur evolusi untuk jaringan Universal Mobile Telecommunications System (UMTS). Ini karena melalui HSDPA terbentuklah saluran W-CDMA yang baru, iaitu high-speed downlink shared channel ( HS-DSCH) yang hanya digunakan untuk trasmisi informasi.

Beberapa penggunaan teknologi 3.5G
  1. HSDPA (High Speed Downlink Packet Access). HSDPA merupakan Evolusi WCDMA dari Ericsson di mana teknologi ini merupakan protokol tambahan pada sistem WCDMA (wideband CDMA) yang mampu mentransmisikan data berkecepatan tinggi.
  2. WiBro(Wireless Broadband). WiBro merupakan bahagian daripada kebijakan bidang teknologi informasi Korea Selatan yang dikenal dengan kebijakan 839. WinBro mampu mengirimkan data dengan kecepatan hingga 50 Mbps.

Spesifikasi


Aplikasi


Teknologi 3.5G ini memungkinkan penggunanya untuk menggunakan multimedia
, seperti streaming video, streaming musik, mobile TV, permainan secara online (online game), animasi, video klip, permainan, video klip olahraga, berita kewangan, memainkan kumpulan lagu secara penuh, dan berkaraoke dengan menggunakan kecepatan tinggi. Seluruhnya dapat dilakukan sambil melakukan telefon video tanpa mengganggu proses transfer data. Kegunaan lain teknologi 3.5G yang paling dimanfaatkan pada saat ini adalah menjadikan internet broadband HSDPA. Dengan teknologi ini, kita dapat mengakses data/internet dengan lebih cepat.


Keunggulan


Berbekal bandwith hingga 3.6 Mbps, kehadiran HSDPA dari jalur teknologi 3.5G ini meninggalkan pendahulunya iaitu GPRS hingga 3G. GPRS hanya sanggup membawa data hingga 50 Kbps. Penerusnya EDGE yang juga dikenal dengan 2.75G hanya mampu sampai 150 Kbps. Sedangkan WCDMA atau 3G boleh membawa data secepat 384 Kbps. Teknologi 3.5G mobile internet access menawarkan berbagai-bagai keuntungan dikalangan bisnes mahupun perseorangan. Keunggulan utama iaitu dengan kecepatan hingga 3.6 Mbps menggunakan teknologi High Speed Downlink Package Access (HSDPA) dan mampu memperlihatkan bahawa teknologi 3.5G sangat super dibandingkan dengan teknologi generasi sebelumnya.

Jenis-jenis 802.11

IEEE 802.11 adalah standard yang diperkenalkan oleh IEEE pada Jun 1997 yang digunakan oleh rangkaian wireless Ethernet. Di bawah ialah senarai jenis wireless IEEE standard pada masa kini.

Spesifikasi 802.11

IEEE 802.11b

  • Merupakan produk pertama
  • Bertujuan meningkatkan cepatan hingga 5.5 Mb/s atau 11 Mb/s tetapi tetap menggunakan frekuensi 2.45 GHz
  • Dikenali juga dengan IEEE 802.11 HR
  • Pada praktiknya, kecepatan maksimum yang dapat diraih oleh standard IEEE 802.11b mencapai 5.9 Mb/s pada protokol TCP dan 7.1 Mb/s pada protokol UDP
  • metode transmisi yang digunakan adalah DSSS

IEEE 802.11a

  • Sebuah teknologi jaringan nirkabel yang merupakan pengembangan lebih lanjut dari standard IEEE 802.11 yang asli
  • Bekerja pada bandwidth 5.8 GHz dengan kecepatan maksimum hingga 54 Mb/s
  • Metode transmisi yang digunakan adalah Orthogonal Frequency Division Multiplexing (OFDM), yang mengizinkan pentransmisian data secara paralel di dalam sub-frekuensi
  • Penggunaan OFDM memiliki keunggulan resistansi terhadap interferensi dengan gelombang lain dan tentunya peningkatan throughput
  • Standard ini selesai diratifikasi pada tahun1999

IEEE 802.11g

  • Sebuah standard jaringan nirkabel yang bekerja pada frekuensi 2.45 GHz
  • Menggunakan metode modulasi OFDM
  • Mampu mencapai kecepatan hingga 54 Mb/s pada pita frekuensi 2.45 GHz, sama seperti IEEE 802.11 biasa dan IEEE 802.11b
  • Standard ini menggunakan modulasi signal OFDM

IEEE 802.11n

  • Standard baru yang berkeupayaan 100 Mbps
  • Menggunakan modulasi MIMO (Multiple Input Multiple Output)
  • Frekuensi 2.4 GHz dan 5.8 GHz

Open Shortest Path First (OSPF)

Teknologi link-state dikembangkan dalam APRAnet untuk menghasilkan protocol yang terdistribusi yang jauh lebih baik daripada protocol distance-vector. Saling bertukar jarak (distance) ke tujuan, setiap router dalam jaringan memiliki peta jaringan yang dapat diperbaharui dengan cepat setelah berlakunya perubahan dalam topologi. Peta ini digunakan untuk menghitung route yang lebih baik daripada menggunakan protocol distance-vector. Perkembangan teknologi ini akhirnya menghasilkan protocol Open Shortest Path First (OSPF) yang dikembangkan oleh IETF untuk digunakan di Internet. Bahkan sekarang Internet Architecture Board (IAB) telah merekomenkan OSPF sebagai pengganti RIP.

Prinsip link-state routing sangat sederhan
a. Sebagai pengganti menghitung route “terbaik” dengan cara terdistribusi, semua router mempunyai peta jaringan dan menghitung semua route yang terbaik dari peta ini. Peta jaringan tersebut disimpan dalam sebuah basis data dan setiap rekod dalam basis data tersebut menyatakan sebuah link dalam jaringan. Rekod-rekod tersebut dikirim oleh router yang terhubung langsung dengan link masing-masing.

Oleh kerana setiap router perlu memiliki peta jaringan yang menggambarkan kedudukan terakhir topologi jaringan yang lengkap, setiap perubahan dalam jaringan harus diikuti oleh perubahan dalam basis data link-state yang terletak di setiap router. Perubahan status link yang didedikasikan oleh router akan mengubah basis data link-state router tersebut, kemudian router mengirimkan perubahan tersebut ke router yang lain.

Protocol yang digunakan untuk mengirimkan perubahan ini harus cepat dan dapat diandaikan. Ini dapat dicapai oleh protocol flooding. Dalam protocol flooding, pesanan yang dikirim adalah perubahan dari basis data serta nombor urutan pesanan tersebut. Dengan hanya mengirimkan perubahan basis data, waktu yang diperlukan untuk pengiriman dan pemprosesan pesanan tersebut lebih sedikit dibandingkan dengan mengirim seluruh isi basis data tersebut. Nombor urutan pesanan diperlukan untuk mengetahui apakah pesanan yang diterima lebih baru daripada yang terdapat dalam basis data. Nombor urutan ini berguna kepada link yang putus untuk menjadikan ianya bersambung kembali.

Pada saat terdapat link yang putus dan jaringan menjadi terpisah, basis data bahagian kedua jaringan tersebut menjadi berbeza. Ketika link yang putus tersebut hidup kembali, basis data di semua router haruslah disamakan. Basis data ini tidak akan kembali sama dengan mengirimkan satu pesanan link-state sahaja. Proses penyamaan basis data pada router yang bertetangga disebut sebagai menghidupkan adjacency. Dua buah router bertetangga disebut sebagai adjacent bila basis data link-state keduanya telah sama. Dalam proses ini kedua-dua router tersebut tidak saling bertukar basis data kerana akan memerlukan waktu yang lama.

Proses menghidupkan adjacency terdiri daripada dua fasa. Fasa pertama, kedua router saling bertukar deskripsi basis data yang merupakan ringkasan dari basis data yang dimiliki setiap router. Setiap router kemudian membandingkan deskripsi basis data yang diterima dengan basis data yang dimilikinya. Pada fasa kedua, setiap router meminta tetangganya untuk mengirimkan rekod-rekod basis data yang berbeza, iaitu bila router tidak memiliki rekod tersebut, atau nombor urutan rekod yang dimiliki lebih kecil daripada yang dikirimkan oleh deskripsi basis data. Setelah proses ini, router memperbaharui beberapa rekod dan ini kemudian dikirimkan ke router lain melalui protocol flooding.

Protocol link-state lebih baik daripada protocol distance-vector disebabkan oleh beberapa perkara; waktu yang diperlukan untuk konvergen lebih cepat dan yang lebih penting lagi protocol ini tidak menghasilkan routing loop. Protocol ini memerlukan penggunaan metrik sekaligus. Throughput, delay, biaya, dan keandalan adalah metrik yang umum dalam jaringan. Di samping itu protocol ini juga dapat menghasilkan banyak jalur ke sebuah tujuan. Misalnya router A memiliki dua buah jalur dengan metrik yang sama ke host B. Protocol dapat memasukkan kedua jalur tersebut ke dalam forwarding table sehingga router mampu mambahagikan beban di antara kedua jalur tersebut.

Rancangan OSPF menggunakan protocol link-state dengan penambahan beberapa fungsi. Fungsi-fungsi yang ditambahkan antara lainnya adalah jaringan multi-access seperti X.25 dan Ethernet dan membahagikan jaringan yang besar menjadi beberapa area.

Setelah dijelaskan bahawa setiap router dalam protocol link-state perlu membentuk adjacency dengan router tetangganya. Pada jaringan multi-access, tetangga setiap router dapat lebih dari satu. Dalam situasi seperti ini, setiap router dalam jaringan perlu membentuk adjacency dengan semua router yang lain dan ini tidak efisien. OSPF mengefisienkan adjacency ini dengan memperkenalkan konsep designated router dan designated router cadangan. Semua router hanya perlu adjacent dengan designated router tersebut, sehingga hanya designated router adjacent dengan router yang lain. Designated router cadangan akan mengambil alih fungsi designated router yang gagal berfungsi.

Langkah pertama dalam jaringan multi-access adalah memilih designated router dan cadangannya. Pemilihan ini dimasukkan ke dalam protocol Hello, protocol dalam OSPF untuk mengetahui tetangga-tetangga router dalam setiap link. Setelah pemilihan, barulah router-router membentuk adjacency dengan designated router dan cadangannya. Setiap terjadi perubahan jaringan, router mengirimkan pesanan menggunakan protocol flooding ke designated router dan designated router mengirimkan pesanan tersebut ke router yang lain dalam link.

Designated router cadangan juga memperdengarkan pesanan-pesanan yang dikirim ke designated router. Jika designated router gagal, cadangannya kemudian menjadi designated router yang baru serta dipilih designated router cadangan yang baru. Ini kerana designated router yang baru telah adjacent dengan router-router lain, tidak perlu dilakukan lagi proses penyamaan basis data yang memerlukan waktu yang lama.

Dalam jaringan yang besar tentu memerlukan basis data yang besar untuk menyimpan topologi jaringan. Ini termasuklah keperluan memori router yang lebih besar serta waktu perhitungan route yang lebih lama. Hal ini, OSPF menggunakan konsep area dan backbone. Jaringan dibahagikan kepada beberapa area yang menghubungkan ke backbone. Setiap area dianggap sebagai jaringan tersendiri dan router-router di dalamnya hanya perlu memiliki peta topologi jaringan dalam area tersebut. Router-router yang terletak diperbatasan antara area hanya mengirimkan ringkasan dari link yang terdapt dalam area dan tidak mengirimkan topologi area satu ke area lain. Dengan demikian, perhitungan route menjadi lebih sederhana.



RIP vs OSPF


Protocol RIP sangat sederhana dan mudah diimplementasikan tetapi dapat menimbulkan routing loop. Manakala protocol OSPF merupakan protocol yang lebih rumit dan lebih baik daripada RIP tetapi memerlukan memori dan waktu CPU yang besar.

Selasa, 11 Ogos 2009

Mengenali Socket

Socket adalah antaramuka pada jaringan yang menjadi titik komunikasi antara mesin dan Internet Protocol (IP), dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data dan informasi jaringan. Socket juga merupakan sebuah class yang disediakan oleh beberapa bahasa pemprograman. Dengan socket, sebuah aplikasi di sesuatu komputer dapat membuka sambungan (connection) untuk menghubungi aplikasi lain di komputer yang lain. Tentu saja aplikasi di komputer yang dihubungi menerima sambungan (connection) itu juga menggunakan socket.

Socket terdiri daripada elemen-elemen yang berikut:

1. Protokol
2. Local IP
3. Local Port
4. Remote IP
5. Remote Port

Dalam komunikasi antara dua pihak, seharusnya menggunakan kesepakatan aturan dan format yang sama agar komunikasi dapat digunakan. Contohnya, dua orang yang menggunakan bahasa yang sama, maka bahasa di sini berfungsi sebagai protokol. Protokol yang digunakan dalam socket dapat menggunakan TCP ataupun UDP. Komunikasi sederhana adalah komunikasi antara komputer A dan komputer B, di mana komputer A mahupun komputer B harus memiliki identiti yang unik, yang direpresentasikan oleh IP masing-masing.

Gaya pemprograman socket terawal adalah daripada sistem Unix BSD yang terkenal dengan bidang jaringan, sehingga sering disebut BSD Socket. Socket pertama kali diperkenalkan di sistem Unix BSD versi 4.2 tahun 1983 sebagai lanjutan dari implementasi protokol TCP/IP yang muncul pertama kali pada sistem Unix BSD 4.1 pada akhir 1981. Hampir setiap varian Unix dan Linux menggunakan BSD Socket.

Untuk membangunkan sesuatu aplikasi, perkara pertama yang perlu dilakukan adalah menganalisa jenis aplikasi yang ingin dibangunkan, memerlukan bandwidth, memerlukan ketersampaian data dan sensitifiti terhadap delay (kelewatan). Berdasarkan perkara-perkara ini, kita boleh menentukan protokol apa yang kita perlu gunakan, TCP atau UDP.

Stream Socket / TCP (Transmission Control Protocol)

Stream socket digunakan untuk sistem komunikasi 2 arah dan menggunakan protokol TCP (Transmission Control Protocol). Contoh aplikasi yang menggunakan stream socket adalah telnet dan HTTP (web browser). TCP menjamin data terkirim secara urutan dan bebas daripada kesalahan (error), sedangkan IP (Internet Protocol) bertugas untuk mengatur lalu-lintas routing.


Proses dalam TCP adalah:
1. Untuk melakukan sambungan client server, program server seharusnya berjalan terlebih dahulu.
2. Di sisi server disediakan sebuah socket, yang disebut welcoming socket yang fungsinya untuk mengesan adanya permintaan sambungan daripada client.
3. Di sisi client terdapatnya client socket. Jika ingin menghubungi server, maka melalui client socket-nya, client membuat sambungan ke welcoming socket milik server, dengan mode three-way handshake.
4. Setelah welcoming socket menerima sambungan daripada client socket, aplikasi server akan membuat sambungan socket di sisi server. Dengan connection socket ini, client socket dan connection socket berinteraksi antara satu sama lain untuk mengirim dan menerima data.


Berikut adalah contoh aplikasi TCP dengan senarionya:
1.Client membaca input daripada keyboard, kemudian mengirimkan hasilnya ke server melalui socket-nya.
2.Server membaca data yang dikirim oleh client di sambungan (connection) socket.
3.Server mengubah data menjadi huruf besar.
4.Server mengirimkan data yang telah diubah kepada client melalui connection socket-nya.
5.Client membaca data yang dikirim oleh server daripada client socket-nya. Kemudian memaparkan data tersebut di monitor.


Pada stream socket dalam melakukan connection, salah satu prosedur yang penting adalah accept(), yang digunakan untuk menerima connection daripada client. Pada server dikenalpasti beberapa tip penerimaan connection iaitu :
1. Iterating Server
2. Concurrent Server



Iterating Server

Pada iterating server hanya dimungkinkan satu socket yang dibuka pada satu waktu. Setelah proses connection selesai, socket ditutup dan connection yang lain baru boleh diterima.





Iterating Server



Meskipun terjadi connection dua client tapi yang dilayani adalah client yang pertama connect , setelah connection client1 selesai, baru client2 boleh dilayani.



Sementara server melayani connection client1 maka connection yang lain diblok. Dasar flow pada iterating server boleh dilihat pada gambar yang berikutnya.




Dasar flow pada Iterating Server



Concurrence Server


Berbeza dengan iterating server yang hanya boleh menerima connection pada satu waktu, concurrence server boleh melakukan beberapa connection dalam satu waktu.






Concurrent Server

















Datagram Socket / UDP (User Datagram Protocol)

Jenis socket yang kedua ialah datagram socket yang disebut juga connectionless socket. Jika client mengirimkan data ke server, data tersebut ada kemungkinan sampai ke server atau tidak. Untuk itu client menunggu isyarat ‘error free’ daripada client. Jika client tidak menerima isyarat ‘error free’ dalam satu jangka waktu, maka client akan mengirimkan lagi data tersebut. Contoh aplikasi yang menggunakan datagram socket adalah tftp dan bootp.


Enkapsulasi data



Data yang dikirimkan melalui datagram socket akan melalui proses yang diberi nama enkapsulasi (data encapsulation). Data yang akan dikirimkan sebelumnya dibungkus dulu dengan sebuah header dari protokol yang pertama (misalnya TFTP), lalu dibungkus lagi dengan protokol berikutnya (misalnya UDP), lalu IP dan yang terakhir dibungkus dengan ethernet protokol pada physical layer.



Algorithma pemprograman datagram socket



Pada socket datagram algoritmanya lebih sederhana, tidak memerlukan sambungan antara server dan client. Sehingga system call/function yang diperlukan, iaitu socket(), bind(), sendto() dan recvfrom(), sendto() dan recvfrom() adalah fungsi khusus yang digunakan untuk mengirim dan menerima data pada socket datagram.

Antara langkah – langkah yang dilakukan pada client dan server, pada socket datagram adalah seperti berikut :

1. Langkah – langkah di client :
a. Membuka connection client ke server, yang di dalamnya adalah :
i. Membuat socket dengan perintah socket().
ii. Melakukan pengalamatan ke server.
b. Melakukan komunikasi (mengirimkan data), dengan menggunakan perintah sendto()
c. Menutup hubungan dengan perintah close();

2. Langkah – langkah di server :
a. Membuat socket dengan perintah socket()
b. Mengikatkan socket kepada sebuah alamat network dengan perintah bind()
c. Melakukan komunikasi (menerima data), dengan menggunakan perintah recvfrom()

Perbezaan antara TCP dan UDP

TCP (Transmission Control Protocol)

Penerima akan menghantar balik pengesahan kepada pengirim, ini seperti kita menggunakan telefon. Mula-mula kita angkat gagang dan mula mendail nombor rakan kita. Apabila ada jawapan dari rakan kita, kita mula berborak sehinggalah salah seorang akan mengatakan bye!. Baru kita meletakkan gagang telefon tersebut.

TCP menjamin kualiti penghantaran tetapi mempunyai kos overhead yang tinggi

TCP dikenali sebagai connection-oriented protocol,

TCP header bersaiz 20 octets.


UDP (User Datagram Protocol)

Pengirim akan menghantar data tanpa perlu menunggu balasan dari pihak penerima. Dengan kata lain, pengirim tidak ambil peduli sama ada data tersebut sampai ke destinasi atau tidak. Ini seperti kita melancong keluar negara, dari situ kita menghantar poskad ke kampung. Kita tidak perlu tahu sama ada poskad yang kita hantar sampai ke destinasi atau tidak.

Pemindahan data menggunakan pembawa UDP mempunyai kurang overhead berbanding dengan TCP kerana header UDP tidak mempunyai data sequencing, acknowledgements atau flow control. Ini membuat UDP sesuai digunakan untuk penghantaran data seperti email.

UDP juga dikenali sebagai
connectionless.

UDP header bersaiz 8
octets.




Kesimpulannya, aplikasi socket yang menggunakan TCP memerlukan pertukaran data dua arah yang valid. Sedangkan, aplikasi socket yang menggunakan UDP lebih mengutamakan pada pengumpulan data.

Oleh itu, aplikasi socket dengan TCP sering diterapkan untuk aplikasi chat, transfer file, ataupun transaksi-transaksi penting. Sedangkan aplikasi socket dengan UDP sesuai diterapkan untuk aplikasi monitoring jaringan, game online, dan aplikasi-aplikasi broadcast.