Kamis, 29 September 2011

DWISNITA


INTERFACE ETHERNET



Ethernet merupakan jenis skenario perkabelan dan pemrosesan sinyal untuk data jaringan komputer yang dikembangkan oleh Robert Metcalfe dan David Boggs di Xerox Palo Alto Research Center (PARC) pada tahun 1972.
Versi awal Xerox Ethernet dikeluarkan pada tahun 1975 dan di desain untuk menyambungkan 100 komputer pada kecepatan 2,94 megabit per detik melalui kabel sepanjang satu kilometer.
Disain tersebut menjadi sedemikian sukses di masa itu sehingga Xerox, Intel dan Digital Equipment Corporation (DEC) mengeluarkan standar Ethernet 10Mbps yang banyak digunakan pada jaringan komputer saat ini. Selain itu, terdepat standar Ethernet dengan kecepatan 100Mbps yang dikenal sebagai Fast Ethernet.
Asal Ethernet bermula dari sebuah pengembangan WAN di University of Hawaii pada akhir tahun 1960 yang dikenal dengan naman "ALOHA". Universitas tersebut memiliki daerah geografis kampus yang luas dan berkeinginan untuk menghubungkan komputer-komputer yang tersebar di kampus tersebut menjadi sebuah jaringan komputer kampus.
Proses standardisasi teknologi Ethernet akhirnya disetujui pada tahun 1985 oleh Institute of Electrical and Electronics Engineers (IEEE), dengan sebuah standar yang dikenal dengan Project 802. Standar IEEE selanjutnya diadopsi oleh International Organization for Standardization (ISO), sehingga menjadikannya sebuah standar internasional dan mendunia yang ditujukan untuk membentuk jaringan komputer. Karena kesederhanaan dan keandalannya, Ethernet pun dapat bertahan hingga saat ini, dan bahkan menjadi arsitektur jaringan yang paling banyak digunakan.


Spesifikasi Ethernet mendefinisikan fungsi-fungsi yang terjadi pada lapisan fisik dan lapisan data-link dalam model referensi jaringan tujuh lapis OSI, dan cara pembuatan paket data ke dalam frame sebelum ditransmisikan di atas kabel.
Ethernet merupakan sebuah teknologi jaringan yang menggunakan metode transmisi Baseband yang mengirim sinyalnya secara serial 1 bit pada satu waktu. Ethernet beroperasi dalam modus half-duplex, yang berarti setiap station dapat menerima atau mengirim data tapi tidak dapat melakukan keduanya secara sekaligus. Fast Ethernet serta Gigabit Ethernet dapat bekerja dalam modus full-duplex (topologi star) atau half-duplex (topologi bus).
Ethernet menggunakan metode kontrol akses media Carrier Sense Multiple Access with Collision Detection untuk menentukan station mana yang dapat mentransmisikan data pada waktu tertentu melalui media yang digunakan. Dalam jaringan yang menggunakan teknologi Ethernet, setiap komputer akan "mendengar" terlebih dahulu sebelum "berbicara", artinya mereka akan melihat kondisi jaringan apakah tidak ada komputer lain yang sedang mentransmisikan data. Jika tidak ada komputer yang sedang mentransmisikan data, maka setiap komputer yang mau mengirimkan data dapat mencoba untuk mengambil alih jaringan untuk mentransmisikan sinyal. Sehingga, dapat dikatakan bahwa jaringan yang menggunakan teknologi Ethernet adalah jaringan yang dibuat berdasrkan basis First-Come, First-Served, daripada melimpahkan kontrol sinyal kepada Master Station seperti dalam teknologi jaringan lainnya.
Jika dua station hendak mencoba untuk mentransmisikan data pada waktu yang sama, maka kemungkinan akan terjadi collision (kolisi/tabrakan), yang akan mengakibatkan dua station tersebut menghentikan transmisi data, sebelum akhirnya mencoba untuk mengirimkannya lagi pada interval waktu yang acak (yang diukur dengan satuan milidetik). Semakin banyak station dalam sebuah jaringan Ethernet, akan mengakibatkan jumlah kolisi yang semakin besar pula dan kinerja jaringan pun akan menjadi buruk. Kinerja Ethernet yang seharusnya 10 Mbit/detik, jika dalam jaringan terpasang 100 node, umumnya hanya menghasilkan kinerja yang berkisar antara 40% hingga 55% dari bandwidth yang diharapkan (10 Mbit/detik). Salah satu cara untuk menghadapi masalah ini adalah dengan menggunakan Switch Ethernet untuk melakukan segmentasi terhadap jaringan Ethernet ke dalam beberapa collision domain.
Jenis-jenis Ethernet
Jika dilihat dari kecepatannya, Ethernet terbagi menjadi empat jenis, yakni sebagai berikut:
Kecepatan
Standar
Spesifikasi IEEE
Nama
10 Mbit/detik
Ethernet
100 Mbit/detik
1000 Mbit/detik
10000 Mbit/detik
11mm/.ll


[1]





Konektor
Yang digunakan untuk menghubungkan perangkat computer yang biasa dihubungkan oleh jaringan switch , hub atau router adalah kabel Ethernet crossover.
Pada dasarnya kita perlu menghubungkan jalur TX (trasmit) dari satu ujung ke RX (receive) pada proses pengiriman data. Jika ada hub, proses penghubungan jalur TX dengan RX ini telah diselesaikan oleh hardware hub. Namun jika kita tidak memakai jaringan dengan hub, koneksi harus bisa diselesaikan dengan mengatur kabel pada setting seperti dalam ilustrasi di bawah ini:



Kabel cross-over dibuat dengan aturan pin tipe 568A di salah satu sisi dan tipe 568B di sisi yang lain. Seperti disebutkan sebelumnya, sebuah kabel Cross menghubungkan titik TX komputer satu ke RX komputer yang lain dan sebaliknya.
Cermati urutan pin Cross kabel CAT5 sebagai berikut:

Hanya 4 pin diperlukan untuk koneksi kabel cross-over. Bila membeli kabel Cross yang sudah jadi  mungkin menemukan bahwa kedelapan pin digunakan. Kabel ini sama saja dengan yang ditampilkan di atas, beberapa pin sengaja dipasang meskipun tidak digunakan.
Hal ini tidak akan berakibat apa-apa, hanya agar kabel tampak lebih rapi. 

 
Berikut adalah urutan pin kabel cross-over dengan posisi semua pasang kabel tetap dihubungkan (meski tidak digunakan):







Kabel Cross tidak hanya digunakan untuk menghubungkan komputer, tetapi juga berbagai perangkat lain. Koneksi lain yang dikenal paling sering dengan menggunakan kabel Cross adalah switch dan hub. Jika Anda memiliki dua hub dan Anda harus menghubungkan keduanya, Anda bisa menggunakan port uplink yang secara khusus ketika diaktifkan akan mem-by pass proses cross Tx dan RX sehingga seakan-akan kita tetap menggunakan kabel Straight.
Kabel cross akan memecahkan masalah Anda dan menghubungkan kedua hub dengan baik. Perhatikan ilustrasi berikut untuk mendapatkan gambaran yang lebih jelas.


Berkat adanya uplink port, Anda tidak memerlukan kabel Cross.
Jika kita tidak memiliki sisa port uplink, harus membuat sebuah kabel cross-over untuk menghubungkan kedua hub:




Perbandingan kabel Cross dengan kabel Straight :

[8]

Pengkabelan pinout Ethernet dengan kabel 100Mbps Crossover – 10baseT/100baseTX crossover ( ditunjukkan sebagai T568A )







Pengkabelan pinout Ethernet dengan kabel Gigabit Crossover – 10base-T/100base-TX/1000base-TX/T4 crossover (ditunjukkan sebagai T568B)
 
Dalam prakteknya, tidak masalah jika kabel Ethernet dirangkai sebagai T568A atau T568B, selama kedua ujungnya memiliki format pengkabelan yang sama. Sah-sah saja menggunakan 4 pasang crossover menggunakan T568 atau 2 pasang T568B dan cara pengkabelan seperti di atas. [2]
Contoh penggunaan :

Antarmuka Ethernet digunakan sebagai antarmuka untuk LAN. Sedangkan pengembangan Ethernet berkecepatan tinggi seperti fast Ethernet dan gigabit Ethernet digunakan untuk antarmuka MAN dan WAN.
Diagram Cabling - Jaringan Ethernet
Selain itu gigabit Ethernet dapat digunakan untuk :
  • Interkoneksi Server Farm (peternakan server).
  • Sambungan intra-POP menggunakan Multi Mode Fiber (MMF) untuk jarak < 300 meter.
  • POP uplink untuk Inter-POP untuk jarak < 40 km.
  • Akses Metropolitan Area Access (MAN) melalui Wavelength Division Multiplexing (WDM).
·         Menggunakan media dark fiber, SONET, TDM dll.  [3]

Metode pengiriman dengan antarmuka Ethernet :
Ethernet mentransmisikan data melalui kabel jaringan dalam bentuk paket-paket data yang disebut dengan Ethernet Frame. Sebuah Ethernet frame memiliki ukuran minimum 64 byte, dan maksimum 1518 byte dengan 18 byte di antaranya digunakan sebagai informasi mengenai alamat sumber, alamat tujuan, protokol jaringan yang digunakan, dan beberapa informasi lainnya yang disimpan dalam header serta trailer (footer). Dengan kata lain, maksimum jumlah data yang dapat ditransmisikan (payload) dalam satu buah frame adalah 1500 byte.
Ethernet menggunakan beberapa metode untuk melakukan enkapsulasi paket data menjadi Ethernet frame, yakni sebagai berikut:
Ethernet II adalah sebuah standar enkapsulasi paket data jaringan berbasis teknologi Ethernet yang digunakan oleh protokol TCP/IP. Standar ini dikembangkan oleh Digital Equipment Corporation (DEC), Intel Corporation, dan Xerox sebelum akhirnya diserahkan kepada komite IEEE 802 untuk menjadi standar IEEE 802.3. Ethernet II juga disebut sebagai Ethernet II frame format atau DIX frame format (mengingat pihak-pihak yang mengembangkannya adalah DEC, Intel dan Xerox).

Struktur data

 

Struktur data sebuah frame Ethernet II
Sebuah frame Ethernet II terdiri atas beberapa field, yakni sebagai berikut:
  • Preamble
  • Destination Address
  • Source Address
  • EtherType
  • Payload, dan
  • Frame Check Sequence (FCS).

 Preamble

Field Preamble adalah sebuah field yang memiliki panjang 8 byte. 7 byte dari field ini merupakan susunan angka 0 dan 1 (setiap byte berisi urutan bit 10101010) yang digunakan untuk melakukan sinkronisasi dengan pihak penerima, sedangkan 1 byte terakhir yang berisi 10101011 mengindikasikan bahwa frame tersebut adalah frame pertama. Sehingga, field ini berfungsi untuk melakukan sinkronisasi dengan pihak penerima dan menandai setiap frame Ethernet.

 Destination Address

Field Destination Address adalah sebuah field yang memiliki panjang 6 byte yang menandakan alamat tujuan ke mana frame yang bersangkutan akan dikirimkan. Alamat tujuan ini bisa berupa alamat unicast Ethernet, alamat multicast Ethernet, atau alamat broadcast Ethernet. Alamat unicast Ethernet merupakan alamat fisik Ethernet yang bersangkutan, yang berupa MAC address, sedangkan alamat broadcast Ethernet merupakan sebuah alamat yang memiliki semua bitnya diset ke angka 1, sehingga membentuk pola alamat FF:FF:FF:FF:FF:FF.

 Source Address

Field Source address adalah sebuah field yang memiliki panjang 6 byte dan menunjukkan alamat sumber dari mana frame yang bersangkutan berasal. Alamat ini umumnya adalah alamat unicast Ethernet.

EtherType

Field EtherType adalah sebuah field yang memiliki panjang 2 byte yang mendndakan protokol lapisan tinggi yang terkandung di dalam frame Ethernet yang bersangkutan. Setelah sebuah kartu jaringan meneruskan frame yang bersangkutan kepada sistem operasi host tersebut, nilai dari field ini akan digunakan untuk meneruskan muatan Ethernet kepada protokol lapisan tinggi yang cocok. Jika tidak ada protokol lapisan tinggi yang cocok, maka nilai dari field ini akan diabaikan.
Field ini bertindak sebagai tanda pengenal protokol dalam format frame Ethernet II. Untuk sebuah datagram IP, nilai dari field ini diset ke nilai 0x0800, sementara untuk sebuah pesan ARP, nilainya adalah 0x086. untuk selengkapnya, lihat di website IANA.

 Payload

Field Payload untuk sebuah frame Ethernet II berisi sebuah protocol data unit (PDU) yang dimiliki oleh sebuah protokol lapisan yang lebih tinggi. Ethernet II dapat mengirimkan data dengan ukuran maksimum 1500 byte. Karena Ethernet memiliki fasilitas untuk mendeteksi adanya kolisi dalam jaringan, maka dalam frame-frame Ethernet II harus terdapat payload paling tidak 46 byte. Jika memang payload yang dimiliki oleh protokol lapisan yang lebih tinggi kurang dari 46 byte, maka data tersebut harus diisi dengan beberapa bit kosong, agar tetap memiliki panjang 46 byte.

Frame Check Sequence

Field Frame Check Sequence (FCS) adalah sebuah field yang ukurannya 4 byte yang menyediakan verifikasi integritas bit terhadap keseluruhan frame Ethernet II yang bersangkutan. Field FCS ini juga disebut dengan Cyclic Redundancy Check (CRC). Pihak peneirim akan menghitung nilai dari FCS dan menempatikan hasilnya di dalam field ini. Ketika pihak penerima mendapatkan frame yang bersangkutan, pihak penerima tersebut akan melakukan penghitungan ulang terhadap FCS dengan menggunakan algoritma yang sama, dan membandingkannya dengan yang terdapat di dalam FCS. Jika kedua nilai tersebut sama, maka frame yang bersangkutan dianggap valid dan akan diproses oleh pihak penerima. Jika tidak sama, maka frame tersebut diabaikan, seolah-olah tidak ada frame yang dikirimkan.
Kalkulasi yang terjadi pada Ethernet II yang disimpan di dalam field ini hanya menyediakan layanan integritas level bit saja, bukannya layanan integritas terhadap data keseluruhan atau bahkan layanan autentikasi. Sebuah nilai FCS yang valid tidak menjamin bahwa frame yang bersangkutan tidak dimodifikasi oleh orang yang tidak berhak selama transit di node lainnya. Kalkulasi terhadap FCS telah diketahui secara umum dan sebuah node yang terletak di antara dua buah node yang saling berhubungan dapat saja mengintersepsi frame yang sedang dipertukarkan, memodifikasi frame tersebut, menghitung kembali nilai FCS dan meletakannya ke dalam field ini sebelum meneruskaan frame tersebut. Si node penerima pun tidak dapat mendeteksi bahwa frame yang diterimanya telah dimodifikasi hanya dengan field FCS. Karenanya, untuk mencegah hal ini terjadi, gunakan protokol level tinggi yang menawarkan fitur keamanan, seperti halnya IPSec.
Selain itu, field ini hanya menyediakan deteksi terhadap kesalahan pada level bit saja, dan tidak dilengkapi dengan fitur pemulihan dari kesalahan tersebut (error recovery). Ketika nilai FCS yang dihitung oleh pihak penerima tidak sama dengan nilai FCS yang disimpan di dalam frame, maka satu-satunya kesimpulan yang dapat diambil dari hal itu adalah bahwa sebuah bit atau beberpa bit telah berubah. Penghitungan FCS juga tidak menyediakan informasi tentang di mana letak kesalahan tersebut atau bagaimana cara mengoreksinya, tapi beberapa jenis mekanisme CRC lainnya (yang digunakan dalam teknologi framing lainnya) dapat melakukan hal ini. Contoh dari hal ini adalah field 1-byte Header Checksum dalam header sebuah sel Asynchronous Transfer Mode (ATM), yang dapat menyediakan layanan pendeteksian kesalahan seperti halnya Ethernet II serta juga mampu melakukan pemulihan terhadap kesalahan tersebut, meski terbatas.

  • Ethernet 802.3 (atau dikenal sebagai Raw 802.3 dalam sistem jaringan Novell, dan digunakan untuk berkomunikasi dengan Novell NetWare versi 3.11 atau yang sebelumnya)
IEEE 802.3 adalah sebuah kumpulan standar IEEE yang mendefinisikan lapisan fisik dan sublapisan media access control dari lapisan data-link dari standar Ethernet berkabel. IEEE 802.3 mayoritas merupakan teknologi Local Area Network (LAN), tapi beberapa di antaranya adalah teknologi Wide Area Network (WAN).
IEEE 802.3 juga merupakan sebuah teknologi yang mendukung arsitektur jaringan IEEE 802.1.

DIX Ethernet dan IEEE 802.3

Spesifikasi Ethernet yang asli (yang disebut sebagai "Experimental Ethernet") dikembangkan oleh Robert Metcalfe pada tahun 1972 dan dipatenkan pada tahun 1978 dan dibuat berbasiskan bagian dari protokol nirkabel ALOHAnet. Memang, Experimental Ethernet sudah tidak digunakan lagi saat ini, tapi dapat dianggap sebagai protokol Ethernet oleh sebagian kalangan. Ethernet yang dikenal sekarang yang digunakan di luar Xerox adalah DIX Ethernet. Tetapi, karena DIX Ethernet juga dikembangkan dari Experimental Ethernet, dan semakin banyak standar yang juga dikembangkan berbasiskan teknologi DIX Ethernet, komunitas teknis telah menganggap bahwa semuanya adalah Ethernet. Karenanya, penggunaan istilah Ethernet juga dapat digunakan untuk menyebutkan semua jaringan yang menggunakan fungsi dan media yang telah distandarisasi sebagai berikut:

Standar Ethernet
Tahun/tanggal
Keterangan
Experimental Ethernet
Protokol Ethernet yang pertama, yang mampu mentransmisikan data melalui kabel koaksial dan topologi bus dengan kecepatan 2,94 megabit per detik.
Ethernet II (DIX 2.0)
Protokol Ethernet hasil pengembangan selanjutnya, yang mampu mentransmisikan data melalui kabel koaksial tipis (thinnet), dengan kecepatan 10 megabit per detik. Pada standar ini juga diperkenalkan field EtherType. Format frame ini juga yang digunakan oleh protokol-protokol di dalam protokol Internet (TCP/IP).
IEEE 802.3
Protokol Ethernet standar 10BASE5 yang mampu mentransmisikan data dengan kecepatan 10 Megabit per detik melalui kabel koaksial tebal (thicknet). Protokol ini sama seperti halnya DIX, kecuali pada field EtherType diganti oleh Length, dan sebuah header IEEE 802.2 yang menyertai header IEEE 802.3. Lebih jelasnya lihat di bagian bawah.
IEEE 802.3a
1985
Protokol Ethernet standar 10BASE2 yang mampu mentransmisikan data dengan kecepatan 10 Megabit per detik melalui kabel koaksial tipis (thinnet).
IEEE 802.3b
1985
10Broad36
IEEE 802.3c
1985
Spesifikasi repeater jaringan dengan kecepatan 10 megabit per detik.
IEEE 802.3d
1987
Fiber-Optic Inter-Repeater Link (FOIRL)
IEEE 802.3e
1987
10Base5 atau StarLAN
IEEE 802.3i
1990
Standar Ethernet 10BaseT, yang mampu mentransmisikan data dengan kecepatan 10 megabit per detik melalui kabel tembaga yang dipilin (twisted pair).
IEEE 802.3j
1993
Standar Ethernet 10BaseF, yang mampu mentransmisikan data dengan kecepatan 10 megabit per detik melalui kabel serat optik (Fiber-optic).
IEEE 802.3u
1995
Standar Fast Ethernet 100BaseTX, 100BaseT4, 100BaseFX, yang mampu mentransmisikan data dengan kecepatan 100 megabit per detik melalui kabel tembaga yang dipilin (twisted pair) dan juga menawarkan fungsi autonegotiation.
IEEE 802.3x
1997
Full duplex dan flow control
IEEE 802.3y
1998
Standar Fast Ethernet 100BaseT2, yang mampu mentransmisikan data dengan kecepatan 100 megabit per detik melalui kabel tembaga yang dipilin (twisted pair) kualitas rendah.
IEEE 802.3z
1998
Standar Gigabit Ethernet 1000Base-X, yang mampu mentransmisikan data dengan kecepatan 1000 megabit per detik (1 gigabit per detik) melalui kabel serat optik (fiber-optic).
IEEE 802.3-1998
1998
Revisi standar dasar yang menggabungkan semua amandemen dan ralat di atas.
IEEE 802.3ab
1999
Standar Gigabit Ethernet 1000BaseT, yang mampu mentransmisikan data dengan kecepatan 1000 megabit per detik (1 gigabit) melalui kabel tembaga yang dipilin (twisted pair).
IEEE 802.3ac
1998
Ukuran frame maksimum diperluas hingga 1522 byte (untuk mengizinkan "Q-tag"). Q-tag mencakup informasi Virtual Local Area Network (VLAN) IEEE 802.1Q dan informasi prioritas IEEE 802.1p.
IEEE 802.3ad
2000
Link aggregation untuk saluran-saluran paralel.
IEEE 802.3-2002
2002
Sebuah revisi yang menggabungkan tiga amandemen terakhir dan ralat.
IEEE 802.3ae
2003
Standar 10 Gigabit Ethernet 10GBase-SR,10GBase-LR, 10GBase-ER, 10GBase-SW, 10GBase-LW, dan 10GBase-EW yang mampu mentransmisikan data dengan kecepatan 10000 megabit per detik (10 gigabit).
IEEE 802.3af
2003
Power over Ethernet (PoE)
802.3ah
2004
Ethernet in the First Mile
IEEE 802.3ak
2004
Standar 10 Gigabit Ethernet 10GBase-CX4, yang mampu mentransmisikan data dengan kecepatan 10000 megabit per detik (10 gigabit) melalui kabel twin-axial.
IEEE 802.3-2005
2005
Revisi standar dasar yang menggabungkan empat amandemen dan ralat di atas.

 

Format Frame IEEE 802.3

IEEE 802.3 adalah sebuah format frame yang merupakan hasil penggabungan dari spesifikasi IEEE 802.2 dan IEEE 802.3, dan terdiri atas header dan trailer IEEE 802.3 dan sebuah header IEEE 802.2.

Struktur data

 

Struktur data sebuah frame IEEE 802.3
Sebuah frame IEEE 802.3 terdiri atas beberapa field sebagai berikut:
  • Header IEEE 802.3:
    • Preamble
    • Start Delimiter
    • Destination Address
    • Source Address
    • Length
  • Header IEEE 802.2 Logical Link Control:
    • Destination Service Access Point (DSAP)
    • Source Service Access Point (SSAP)
    • Control
  • Payload
  • Trailer IEEE 802.3:
    • Frame Check Sequence (FCS)

Preamble

Field Preamble adalah sebuah field berukuran 7 byte yang terdiri atas beberapa bit angka 0 dan 1 yang dapat melakukan sinkronisasi dengan perangkat penerima. Setiap byte dalam field ini berisi 10101010.

Start Delimiter

Field Start Delimiter adalah sebuah field berukuran 1 byte yang terdiri atas urutan bit 10101011, yang mengindikasikan permulaan frame Ethernet yang bersangkutan. Kombinasi antara field Preamble dalam IEEE 802.3 dan Start Delimiter adalah sama dengan field Preamble dalam Ethernet II, baik itu ukurannya maupun urutan bit yang dikandungnya.

Destination Address

Field Destination Address adalah field berukuran 6 byte yang sama dengan field Destination Address dalam Ethernet II, kecuali dalam IEEE 802.3 mengizinkan ukuran alamat 6 byte dan juga 2 byte. Meskipun demikian, alamat 2 byte tidak sering digunakan.

Source Address

Field Source Address adalah field berukuran 6 byte yang sama dengan field Source Address dalam Ethernet II, kecuali dalam IEEE 802.3 mengizinkan ukuran alamat 6 byte dan juga 2 byte. Meskipun demikian, alamat 2 byte tidak sering digunakan.

 Length

Field Length adalah sebuah field yang berukuran 2 byte yang mengindikasikan jumlah byte dimulai dari byte pertama dalam header LLC hingga byte terakhir field Payload. Field ini tidak memasukkan header IEEE 802.3 atau field Frame Check Sequence. Ukuran minimumnya adalah 46 (0x002E), dan nilai maksimumnya adalah 1500 (0x05DC).

Destination Service Access Point

Field Destination Service Access Point (DSAP) adalah sebuah field berukuran 1 byte yang mengindikasikan protokol lapisan tinggi yang digunakan oleh frame pada node tujuan. Field ini adalah salah satu dari field-field IEEE 802.2 Logical Link Control (LLC). Field ini bertindak sebagai tanda pengenal protokol (protocol identifier) yang digunakan di dalam format frame IEEE 802.3. Nilai-nilainya ditetapkan oleh IANA.

 Source Service Access Point

Field Source Service Access Point (SSAP) adalah sebuah field berukuran 1 byte yang mengindikasikan protokol lapisan tinggi yang digunakan oleh frame pada node sumber. Field ini adalah salah satu dari field-field IEEE 802.2 Logical Link Control (LLC). Field ini bertindak sebagai tanda pengenal protokol (protocol identifier) yang digunakan di dalam format frame IEEE 802.3. Nilai-nilainya ditetapkan oleh IANA.

Contoh interface dengan device :
Papan Arduino+perisai Ethernet




Perisai Ethernet Arduino memungkinkan sebuah papan Arduino untuk terhubung ke internet. Hal ini didasarkan pada Wiznet W5100 ethernet chip (datasheet). Wiznet W5100 menyediakan jaringan (IP) stack yang dapat menggunakan TCP dan UDP. Ini mendukung hingga empat koneksi soket simultan. [4] 

Pengalamatan Port Ethernet berbasis TCP/IP stack

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 menggunakan dua buah skema pengalamatan yang dapat digunakan untuk mengidentifikasikan sebuah komputer dalam sebuah jaringan atau jaringan dalam sebuah internetwork, yakni sebagai berikut:
  • Pengalamatan IP: yang berupa alamat logis yang terdiri atas 32-bit (empat oktet berukuran 8-bit) yang umumnya ditulis dalam format www.xxx.yyy.zzz. Dengan menggunakan subnet mask yang diasosiasikan dengannya, sebuah alamat IP pun dapat dibagi menjadi dua bagian, yakni Network Identifier (NetID) yang dapat mengidentifikasikan jaringan lokal dalam sebuah internetwork dan Host identifier (HostID) yang dapat mengidentifikasikan host dalam jaringan tersebut. Sebagai contoh, alamat 205.116.008.044 dapat dibagi dengan menggunakan subnet mask 255.255.255.000 ke dalam Network ID 205.116.008.000 dan Host ID 44. Alamat IP merupakan kewajiban yang harus ditetapkan untuk sebuah host, yang dapat dilakukan secara manual (statis) atau menggunakan Dynamic Host Configuration Protocol (DHCP) (dinamis).
  • Fully qualified domain name (FQDN): Alamat ini merupakan alamat yang direpresentasikan dalam nama alfanumerik yang diekspresikan dalam bentuk <nama_host>.<nama_domain>, di mana <nama_domain> mengindentifikasikan jaringan di mana sebuah komputer berada, dan <nama_host> mengidentifikasikan sebuah komputer dalam jaringan. Pengalamatan FQDN digunakan oleh skema penamaan domain Domain Name System (DNS). Sebagai contoh, alamat FQDN id.wikipedia.org merepresentasikan sebuah host dengan nama "id" yang terdapat di dalam domain jaringan "wikipedia.org". Nama domain wikipedia.org merupakan second-level domain yang terdaftar di dalam top-level domain .org, yang terdaftar dalam root DNS, yang memiliki nama "." (titik). Penggunaan FQDN lebih bersahabat dan lebih mudah diingat ketimbang dengan menggunakan alamat IP. Akan tetapi, dalam TCP/IP, agar komunikasi dapat berjalan, FQDN harus diterjemahkan terlebih dahulu (proses penerjemahan ini disebut sebagai resolusi nama) ke dalam alamat IP dengan menggunakan server yang menjalankan DNS, yang disebut dengan Name Server atau dengan menggunakan berkas hosts (/etc/hosts atau %systemroot%\system32\drivers\etc\hosts) yang disimpan di dalam mesin yang bersangkutan. [1]
TCP memungkinkan klien untuk menjalankan aplikasi secara bersamaam  menggunakan nomor port yang berbeda  pada full-duplex sehingga memberikan kemampuan multiplexing. TCP melabeli setiap oktet data dengan nomer urut dan serangkaian oktet dari sebuah segmen, nomor urutan dari octet pertama sebuah segmen disebut nomer urut segmen. TCP menyediakan kehandalan dengan paket ACK dan Flow Control menggunakan teknik Sliding Window. Selama pengaturan awal  koneksi TCP, ukuran segmen maksimum ditentukan berdasarkan MTU terendah di seluruh jaringan.
Header TCP terlihat seperti ini:

Perlu dicatat istilah-istilah berikut:
Source and Destination ports : mengidentifikasi aplikasi lapisan atas menggunakan koneksi.
Sequence Number : angka 32-bit memastikan bahwa data benar diurutkan. Setiap byte data diberi nomor urut. Byte pertama dari data dengan sebuah stasiun di header TCP tertentu akan memiliki nomor urut di bagian ini, katakanlah 58000. Jika paket ini memiliki 700 byte data di dalamnya maka paket berikutnya dikirim oleh stasiun ini akan memiliki nomor urutan 58000 + 700 + 1 = 58701.

Acknowledgment Number : angka 32-bit menunjukkan nomor urut berikutnya yang diharapkan perangkat pengirim dari stasiun lain.
 HLEN - memberikan kata 32 bit dalam header. Kadang-kadang disebut bagian Data Offset.
 Reserved - selalu diset ke 0.
   Kode bit - ini adalah bendera yang menunjukkan sifat header. Mereka adalah:
        URG
: Urgent Pointer
        ACK
: Acknowledgement
 
       PSH :  fungsi pendorong, menyebabkan pengirim TCP untuk mendorong semua data tidak terkirim ke penerima daripada mengirimkan segmen ketika ada di sekitar mereka yaitu ketika buffer penuh. buffer penuh.
        RST
: Reset koneksi
        SYN
: nomor urut Mensinkronisasi
        FIN
: Akhir data
    Jendela
: menunjukkan kisaran angka urutan yang dapat diterima diluar segmen terakhir yang berhasil diterima. Ini adalah jumlah oktet yang diizinkan pengirim ACK bersedia menerima sebelum pengakuan.
    Urgent Pointer - menunjukkan akhir
dari data yang mendesak sehingga aliran data yang  terputus dapat dilanjutkan. Apabila bit URG diatur, data diberikan prioritas di atas data stream lainnya.
    Opsi - terutama hanya TCP Segmen Ukuran Maksimum (MSS) kadang-kadang disebut Window Ukuran maksimum atau Kirim Segmen Ukuran Maksimum (SMS). Segmen adalah serangkaian byte data dalam header TCP.
3. Nomor Port

Aplikasi
pembuka nomor Port, yang digunakan oleh TCP dan UDP untuk mengawasi komunikasi berbeda yang terjadi di sekitar jaringan. Umumnya, nomor port di bawah 255 awalnya untuk aplikasi umum (Nomor protokol yang ditentukan ); 255 dipesan.
Nomor port 256-1023 adalah untuk aplikasi yang dijual oleh berbagai produsen dan dianggap sebagai 'istimewa', Dikenal' atau pengembangan nomor port yang ditentukan.
Nomor port di atas 1024 (1024 dipesan) tidak diatur, dianggap sebagai biasa, atau terdaftar, dan port ini umumnya bebas untuk digunakan digunakan oleh klien ke nomor port yang dikenal.
Aplikasi membuka nomor port (model TCP / IP berbeda dari model OSI dalam hal lapisan Aplikasi berada di puncak  lapisan 4) dan berkomunikasi satu sama lain melalui nomor port ini. Sebuah server telnet dengan alamat IP 10.1.1.1 menggunakan nomor port 23, namun jika dua klien operasi dari alamat IP 10.1.1.2 menempel ke server, server perlu membedakan antara dua percakapan. Hal ini dicapai dengan cara klien memilih secara acak dua nomor port diatas nomor 1023,misalnya 1024 dan 1025. Koneksi klien dirujuk sebagai Socket dan didefinisikan sebagai alamat IP ditambah nomor port, misalnya 10.1.1.1.TCP.1025 dan 10.1.1.1.TCP.1026. Soket server 10.1.1.1.TCP.23. Ini adalah bagaimana TCP memilih masukan dari koneksi yang berbeda.
Tabel berikut ini berisi beberapa nomor port yang umum digunakan:
TCP
Application
Port Number

FTP
20 (Data), 21 (Control, or Program)

Telnet
23

SMTP
25

HTTP
80
UDP



DNS
53

Bootp
67/68

TFTP
69

NTP
123

SNMP
161
RFC 793 (TCP) dan RFC 1323 (Ekstensi TCP) menjelaskan secara rinci sementara TCP baik RFC 1500 dan RFC 1700 mendefinisikan nomor port yang dikenal untuk TCP dan UDP. [5] 

ERROR CHECKING
Handshaking 3 arah
Jika sebuah host sumber ingin menggunakan aplikasi IP seperti FTP aktif, host memilih nomor port yang lebih besar dari 1023 dan terhubung ke stasiun tujuan pada port 21. Koneksi TCP diatur melalui handshaking tiga arah:
Ini dimulai dengan segmen SYN (Sinkronisasi) seperti ditunjukkan oleh bit kode yang berisi nomor urut 32-bit A yang disebut  Initial Send Sequence (ISS) yang dipilih oleh, dan dikirim dari, host 1. Nomor urut 32-bit ini adalah nomor urut mulai dari data dalam paket dan dengan penambahan 1 untuk setiap byte data yang dikirim dalam segmen, yaitu nomor urut untuk setiap oktet yang  dikirim. Segmen SYN juga menempatkan nilai A +1 dalam oktet pertama dari data.
Host 2 menerima SYN dengan nomor urutan A dan mengirimkan sebuah segmen SYN dengan nomor  ISS B yang benar-benar  berbeda pada bagian sequence number. Selain itu, mengirimkan increment (penambahan 1)  pada jumlah urutan segmen yang diterima terakhir (yaitu A + x dimana x adalah jumlah octet yang membentuk data dalam segmen ini) di bagian acknowledgement-nya. Nomor acknowledgement  ini menginformasikan penerima bahwa data telah diterima di ujung lain dan engharapkan segmen data berikutnya untuk dikirim, dimulai di urutan nomor A + x. Tahap  ini sering disebut  SYN-ACK. Disinilah MSS disepakati.
 Host 1 menerima segmen SYN-ACK dan mengirimkan segmen ACK berisi nomor urut berikutnya (B + y dimana y adalah jumlah oktet dalam segmen tertentu), ini disebut Forward acknowledgement  dan diterima oleh host 2. Segmen ACK diidentifikasi oleh kenyataan bahwa bidang ACK diset. Segmen yang tidak diterima dalam rentang waktu tertentu, ditransmisikan ulang.
Pasangan TCP tidak hanya harus melacak nomor urut awal mereka sendiri tetapi juga nomor acknowledgement  parapasangan TCP yang lain.
Penutupan koneksi TCP dicapai saat inisiator mengirimkan paket FIN. Koneksi hanya menutup ketika ACK telah dikirim oleh ujung yang lain dan diterima oleh pemrakarsa.
Mempertahankan sebuah koneksi TCP memerlukan stasiun untuk mengingat sejumlah parameter yang berbeda seperti nomor port dan nomor urutan. Masing-masing koneksi memiliki set variabel yang terletak di  Transmission Control Block (TCB).
Analisis Rangkaian Buffer
Disini akan diperbandingkan antara hasil perhitungan dengan pengukuran
kondisi cutoff dan saturation pada transistor yang dipergunakan pada sistem mini web server berbasis ethernet :
Tabel 4.1. Perbandingan Perhitungan dan Pengukuran Transistor
Perhitungan Pengukuran

 
Dari hasil di atas terlihat, antara perhitungan dengan pengukuran tidak
terlihat adanya perbedaan yang menonjol, sehingga bisa dikatakan transistor
sebagai satu-satunya komponen aktif pada rangkaian dP-Buffer bekerja dengan
kondisi normal. Rangkaian bias basis yang dirancang adalah sebagai berikut :


Gambar 4.1. Rangkaian bias basis dP-Buffer
Ketika tansistor dalam kondisi cut off, nilai VCE sebesar VCC sehingga relay
mendapat tegangan 12 V pada kedua pin catu dayanya dan akibatnya relay tidak
bekerja. Ketika transistor dalam kondisi saturation, VCE hampir sama dengan 0
sehingga relay mendapat tegangan 0 V dan 12 V pada kedua pin catu dayanya dan
akibatnya relay bekerja. Hasil dari kerja relay inilah yang meneruskan tegangan 220 V pada obyek yang dikendalikan. Seperti yang bisa dilihat pada rangkaian,
obyek membutuhkan tegangan 220 V AC. Netral-nya di by-Pass sedangkan
phase-nya menunggu dari relay aktif. Dengan kata lain, begitu transistor dalam
kondisi saturation, relay akan aktif dan obyek bisa bekerja. Dan ketika transistor
dalam kondisi cutoff, relay tidak aktif dan obyek tidak bekerja. Penentuan
saturation dan cutoff transistor tergantung dari keluaran PPI 8255 yang dirancang
oleh dikendalikan oleh komputer yang terhubung ke jaringan. Led1 berfungsi
sebagai indikator input dan diseri dengan R1 sebagai tahanan muka Led. Fungsi
D1 sebagai pembatas arus pada transistor, sehingga arus dari VCC maksimal hanya
sebesar arus yang melalui D1. Sedang fungsi F1 sebagai pengaman untuk obyek yang dikendalikan apabila terjadi hubungan singkat. [6] 



Contoh aplikasi pemrograman dengan interface Ethernet

Membuat Aplikasi Chat via Ethernet/Sockets Programming dengan Visual Studio C# 2010

Program yang akan dibahas terdiri dari dua bagian, yaitu:
1.       Server, sebagai server yang mana semua client akan mengirim pesan ke computer yang ada aplikasi ini dan mem-broadcast semua pesan ke client.
2.       Client, aplikasi yang dipakai oleh user untuk melakukan chat yang akan terhubung ke server.
Membuat Server
Pertama bukalah aplikasi Visual Studio C# 2010. Lalu pilih new project. Kemudian pilih Console Application dan berilah nama project chat_server pada bagian bawah form, lalu klik OK.

Setelah itu cobalah masukan kode di bawah ini.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
namespace ConsoleApplication1
{
class Program
{
const int portNo = 500;
static void Main(string[] args)
{
//==================================================================
//Mendapatkan Local Machine’s Host Name & IPAddress
//==================================================================
String strHostName = “”;
if (args.Length == 0)
{
// Mendapatkan Ip address dari local machine…
// Pertama cari host name dari local machine.
strHostName = Dns.GetHostName();
Console.WriteLine(“Local Machine’s Host Name: ” + strHostName);
}
else
{
strHostName = args[0];
}
IPHostEntry ipEntry = Dns.GetHostByName(strHostName);
IPAddress[] addr = ipEntry.AddressList;
for (int i = 0; i < addr.Length; i++)
{
Console.WriteLine(“IP Address {0}: {1} “, i, addr[i].ToString());
}
//===================================================================
System.Net.IPAddress localAdd = System.Net.IPAddress.Parse(addr[0].ToString());
TcpListener listener = new TcpListener(localAdd, portNo);
listener.Start();
while (true)
{
ChatClient user = new
ChatClient(listener.AcceptTcpClient());
}
}
}
}
Setelah itu, buat class baru dengan nama “ChatClient” dengan cara klik kanan pada nama project seperti di bawah ini.

Setelah itu, akan muncul form berikut.

Pilih Class dan jangan lupa beri nama “ChatClient” pada bagian bawah form dan klik Add. Setelah itu coba masukan kode seperti di bawah ini.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Collections;
namespace ConsoleApplication1
{
class ChatClient
{
//—berisi daftar semua client—
public static Hashtable AllClients = new Hashtable();
//—informasi tentang client—
private TcpClient _client;
private string _clientIP;
private string _clientNick;
//—digunakan untuk mengirim/menerima data—
private byte[] data;
//—apakah nickname sudah dikirim—
private bool ReceiveNick = true;
public ChatClient(TcpClient client)
{
_client = client;
//—mendapatkan client IP address—
_clientIP = client.Client.RemoteEndPoint.ToString();
//—menambahkan client saat ini ke hash table—
AllClients.Add(_clientIP, this);
//—memulai membaca data dari client pada
// thread terpisah—
data = new byte[_client.ReceiveBufferSize];
client.GetStream().BeginRead(data, 0,
System.Convert.ToInt32(_client.ReceiveBufferSize), ReceiveMessage, null);
}
public void ReceiveMessage(IAsyncResult ar)
{
//—membaca dari client—
int bytesRead;
try
{
lock (_client.GetStream())
{
bytesRead = _client.GetStream().EndRead(ar);
}
//—client tidak tersambung—
if (bytesRead < 1)
{
AllClients.Remove(_clientIP);
Broadcast(_clientNick + ” has left the chat.”);
return;
}
else
{
//—mendapat pesan yang telah dikirim—
string messageReceived = System.Text.Encoding.ASCII.GetString(data, 0, bytesRead);
//—client mengirimkan nicknamenya—
if (ReceiveNick)
{
_clientNick = messageReceived;
//—memberitahu semua client memasuki
// chat—
Broadcast(_clientNick + ” has joined the chat.”);
ReceiveNick = false;
}
else
{
//—memberikan pesan pada semuanya—
Broadcast(_clientNick + “>” + messageReceived);
}
}
//—melanjutkan membaca dari client—
lock (_client.GetStream())
{
_client.GetStream().BeginRead(data, 0,
System.Convert.ToInt32(_client.ReceiveBufferSize),ReceiveMessage,null);
}
}
catch (Exception ex)
{
AllClients.Remove(_clientIP);
Broadcast(_clientNick + ” has left the chat.”);
}
}
public void SendMessage(string message)
{
try
{
//—mengirim text—
System.Net.Sockets.NetworkStream ns;
lock (_client.GetStream())
{
ns = _client.GetStream();
}
byte[] bytesToSend =
System.Text.Encoding.ASCII.GetBytes(message);
ns.Write(bytesToSend, 0, bytesToSend.Length);
ns.Flush();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
public void Broadcast(string message)
{
//—log secara lokal—
Console.WriteLine(message);
foreach (DictionaryEntry c in AllClients)
{
//—memberi pesan pada semua user—
((ChatClient)(c.Value)).SendMessage(
message + Environment.NewLine);
}
}
}
}
Membuat Client
Buatlah project baru dan pilih template Windows Form Application dan berilah nama project tersebut dengan nama “chat” pada bagian bawah form lalu klik OK. Setelah itu, buatlah form seperti pada gambar di bawah ini.

Setelah itu coba buatlah kode seperti di bawah ini.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
const int portNo = 500;
TcpClient client;
byte[] data;
public Form1()
{
InitializeComponent();
}
private void btnSignIn_Click(object sender, EventArgs e)
{
if (btnSignIn.Text == “Sign In”)
{
try
{
//—menghubungkan ke server—
client = new TcpClient();
client.Connect(IPServer.Text, portNo);
data = new byte[client.ReceiveBufferSize];
//—membaca dari server—
SendMessage(txtNick.Text);
client.GetStream().BeginRead(data, 0,
System.Convert.ToInt32(
client.ReceiveBufferSize),
ReceiveMessage, null);
btnSignIn.Text = “Sign Out”;
btnSend.Enabled = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
else
{
//—disconnect dari server—
Disconnect();
btnSignIn.Text = “Sign In”;
btnSend.Enabled = false;
}
}
private void btnSend_Click(object sender, EventArgs e)
{
SendMessage(txtMessage.Text);
txtMessage.Clear();
}
public void SendMessage(string message)
{
try
{
//—mengirim pesan ke server—
NetworkStream ns = client.GetStream();
byte[] data =
System.Text.Encoding.ASCII.GetBytes(message);
//—mengirim text—
ns.Write(data, 0, data.Length);
ns.Flush();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
public void ReceiveMessage(IAsyncResult ar)
{
try
{
int bytesRead;
//—membaca data dari server—
bytesRead = client.GetStream().EndRead(ar);
if (bytesRead < 1)
{
return;
}
else
{
//—memanggil delegate untuk menampilkan
// data yang diterima—
object[] para = {System.Text.Encoding.ASCII.GetString(data, 0, bytesRead) };
this.Invoke(new delUpdateHistory(UpdateHistory),
para);
}
//—melanjutkan membaca…—
client.GetStream().BeginRead(data, 0,
System.Convert.ToInt32(client.ReceiveBufferSize),
ReceiveMessage, null);
}
catch (Exception ex)
{
//—abaikan error, dibuang ketika pengguna sign off—
}
}
//—delegate dan subroutine untuk mengupdate TextBox control—
public delegate void delUpdateHistory(string str);
public void UpdateHistory(string str)
{
txtMessageHistory.AppendText(str);
}
public void Disconnect()
{
try
{
//—Disconnect dari server—
client.GetStream().Close();
client.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void Form_Closing(object sender,FormClosingEventArgs e)
{
Disconnect();
}
}
}
Setelah itu, double clik pada Form1.Designer.cs dan tambahkan kode seperti di bawah ini.
private void InitializeComponent()
{
this.FormClosing += new
System.Windows.Forms.FormClosingEventHandler(this.Form_Closing);
}
Setelah kedua aplikasi diatas (chat server dan client) sudah selesai dibuat, maka program bisa langsung dites pada komputer yang berbeda atau pada satu komputer. Akan tetapi, jika menggunakan satu komputer, aturlah IP address yang diakses oleh client adalah “127.0.0.1″ (computer’s loopback address). [7]

Daftar Pustaka:
[1] wikipedia.org
[2] wlanbook.com
[3] bebas.ui.ac.id/v09/...1/.../1gbps-10gbps-ethernet-untuk-lan-wan-05-2001.rt...
[4]  http://www.chipkin.com/articles/arduino-ethernet-shield-a-better-webserver
[5]  http://www.rhyshaden.com/
[6]  nixerco.tripod.com/ta/teleoprasi_pp12855/Ta.../Bab_IV_-_Analisa.pdf
[8] guntingbatukertas.com

Tidak ada komentar:

Posting Komentar