Bingkai Ethernet

**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

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

## Contoh dari frame Ethernet II
Berikut ini merupakan contoh dari *frame* Ethernet II yang diambil dengan menggunakan Microsoft Network Monitor untuk sebuah *datagram* IP:
 +   Frame: Base frame properties    ETHERNET: ETYPE = 0x0800: Protocol = IP:  DOD Internet Protocol       + ETHERNET: Destination address: 001054CAE140       + ETHERNET: Source address: 00600852F9D8       ETHERNET: Frame Length: 74 (0x004A)       ETHERNET: Ethernet Type: 0x0800 (IP:  DOD Internet Protocol)       ETHERNET: Ethernet Data: Number of data bytes remaining = 60 (0x003C)+   IP: ID = 0xAE09; Proto = ICMP; Len: 60+ ICMP: Echo: From 192.168.160.186 To 192.168.160.01
## Ukuran Frame Ethernet
Semua frame Ethernet harus membawa payload paling tidak 46 bita. Ukuran minimum frame Ethernet tersebut adalah hasil dari pengaplikasian skema *[[media access control|media access]]* yang digunakan oleh Ethernet, yakni CSMA/CD (*carier sense multiple access with collision detection*), sehingga mengakibatkan ukuran minimalnya yang harus 46 bita.