Ethernet çerçevesi - Ethernet frame

Olarak bilgisayar ağı , bir Ethernet çerçevesi a, veri bağlantı katmanı protokol veri ünitesi ile altta kullanan Ethernet fiziksel katman nakil mekanizmalarını. Başka bir deyişle, bir Ethernet bağlantısındaki bir veri birimi , yükü olarak bir Ethernet çerçevesini taşır.

Bir Ethernet çerçevesinin önünde , her ikisi de fiziksel katmandaki Ethernet paketinin bir parçası olan bir giriş ve başlangıç ​​çerçevesi sınırlayıcısı (SFD) bulunur . Her Ethernet çerçevesi , ilk iki alanı olarak hedef ve kaynak MAC adreslerini içeren bir Ethernet başlığı ile başlar . Çerçevenin orta bölümü, çerçevede taşınan diğer protokoller (örneğin, İnternet Protokolü ) için herhangi bir başlığı içeren yük verileridir . Çerçeve , herhangi bir aktarım sırasındaki veri bozulmasını algılamak için kullanılan 32 bitlik bir döngüsel artıklık denetimi olan bir çerçeve denetimi dizisi (FCS) ile sona erer .

Yapı

Tel üzerindeki bir veri paketi ve yükü olarak çerçeve ikili verilerden oluşur. Ethernet, verileri önce en anlamlı sekizli (bayt) ile iletir ; bununla birlikte, her sekizli içinde en az anlamlı olan bit önce iletilir.

Bir Ethernet çerçevesinin iç yapısı IEEE 802.3'te belirtilmiştir. Aşağıdaki tabloda, Ethernet paket ve çerçeve içinde tamamlanmasını veri yükü büyüklüğü kadar için, iletilen MTU 1500 oktet arasında. Bazı Gigabit Ethernet uygulamaları ve diğer yüksek hızlı Ethernet varyantları, jumbo çerçeveler olarak bilinen daha büyük çerçeveleri destekler .

802.3 Ethernet paketi ve çerçeve yapısı
Katman önsöz Çerçeve sınırlayıcıyı başlat MAC hedefi MAC kaynağı 802.1Q etiketi (isteğe bağlı) Ethertype ( Ethernet II ) veya uzunluk ( IEEE 802.3 ) yük Çerçeve kontrol sırası (32-bit CRC ) paketler arası boşluk
7 sekizli 1 sekizli 6 sekizli 6 sekizli (4 sekizli) 2 sekizli 46-1500 sekizli 4 sekizli 12 sekizli
Katman 2 Ethernet çerçevesi ← 64–1522 sekizli →
Katman 1 Ethernet paketi ve IPG ← 72–1530 sekizli → ← 12 sekizli →

İsteğe bağlı 802.1Q etiketi, çerçevede ek alan tüketir. Bu seçenek için alan boyutları yukarıdaki tabloda parantez içinde gösterilmiştir. IEEE 802.1ad (Q-in-Q), her çerçevede birden çok etikete izin verir. Bu seçenek burada gösterilmemiştir.

Ethernet paketi – fiziksel katman

Başlangıç ​​ve çerçeve sınırlayıcıyı başlat

Paket giriş bölümünün sonunu işaretleyen ve çerçevenin başlangıcını gösteren SFD'ye sahip bir Ethernet paketi içindeki bir Ethernet çerçevesi.

Bir Ethernet paketi, yedi sekizli bir giriş ve bir sekizli başlangıç ​​çerçeve sınırlayıcısı (SFD) ile başlar.

Başlangıç, ağdaki cihazların alıcı saatlerini kolayca senkronize etmelerini sağlayan, bit düzeyinde senkronizasyon sağlayan, değişen 1 ve 0 bitlik 56 bitlik (yedi baytlık) bir modelden oluşur. Bunu bayt düzeyinde senkronizasyon sağlamak ve yeni bir gelen çerçeveyi işaretlemek için SFD takip eder. Daha büyük semboller yerine seri bitleri ileten Ethernet varyantları için, çerçevenin SFD kısmı ile birlikte giriş için (kodsuz) kablo üzerinde bit modeli 10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011'dir; Bitler sırayla soldan sağa iletilir.

SFD, bir Ethernet paketinin ilk alanı olan giriş bölümünün sonunu ve Ethernet çerçevesinin başlangıcını belirten sekiz bitlik (bir baytlık) değerdir. SFD, giriş bölümünün bit modelini kırmak ve gerçek çerçevenin başlangıcını bildirmek için tasarlanmıştır. SFD'yi hemen , bir Ethernet çerçevesindeki ilk alan olan hedef MAC adresi takip eder . SFD, 10101011 ikili dizisidir (Ethernet LSB ilk bit sıralamasında 0xD5, ondalık 213).

Ethernet MAC'i fiziksel ortama bağlamak için fiziksel katman alıcı-verici devresi (kısaca PHY) gereklidir. Bir PHY ve MAC arasındaki bağlantı, fiziksel ortamdan bağımsızdır ve ortamdan bağımsız arayüz ailesinden ( MII , GMII , RGMII , SGMII , XGMII ) bir veriyolu kullanır . Hızlı Ethernet alıcı-verici yongaları, dört bit (bir yarım yama ) genişliğinde bir veri yolu olan MII veri yolunu kullanır , bu nedenle giriş, 14 0xA örneği olarak temsil edilir ve SFD, 0xA 0xB'dir (parçalar olarak). Gigabit Ethernet alıcı-verici yongaları, sekiz bit genişliğinde bir arabirim olan GMII veri yolunu kullanır, bu nedenle SFD tarafından takip edilen giriş dizisi 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xD5 (bayt olarak) olur.

Çerçeve – veri bağlantı katmanı

başlık

Başlık, hedef ve kaynak MAC adresleri (her biri altı sekizli uzunluğunda), EtherType alanı ve isteğe bağlı olarak bir IEEE 802.1Q etiketi veya IEEE 802.1ad etiketi içerir.

EtherType alanı iki oktet uzunluğundadır ve iki farklı amaç için kullanılabilir. 1500 ve altı değerler, yükün sekizli olarak boyutunu belirtmek için kullanıldığı anlamına gelirken, 1536 ve üzeri değerler, çerçevenin yükünde hangi protokolün kapsüllendiğini belirtmek için bir EtherType olarak kullanıldığını gösterir. EtherType olarak kullanıldığında, çerçevenin uzunluğu, paketler arası boşluğun konumu ve geçerli çerçeve kontrol sırası (FCS) tarafından belirlenir.

IEEE 802.1Q etiketi veya IEEE 802.1ad etiketi görülse bile, işaret dört sekizli alandır sanal LAN (VLAN) üyelik ve IEEE 802.1 p öncelik. Etiketin ilk iki sekizli adlandırılır T ag P rotocol İD entifier (TPID) ve çerçeve ya 802.1Q veya 802.1ad etiketli olduğunu gösteren EtherType alanı olarak iki katına çıkmaktadır. 802.1Q, 0x8100 TPID'sini kullanır. 802.1ad, 0x88a8 TPID'sini kullanır.

yük

Minimum yük, bir 802.1Q etiketi mevcut olduğunda 42 sekizli ve olmadığında 46 sekizli olur. Gerçek yük daha az olduğunda, doldurma baytları buna göre eklenir. Maksimum yük 1500 sekizli. Standart olmayan jumbo çerçeveler , daha büyük maksimum yük boyutuna izin verir.

Çerçeve kontrol sırası

Çerçeve denetim dizisi (FCS) dört sekizli döngüsel artıklık denetimi alıcı tarafında alınan tüm çerçeve içinde bozuk veri tespitini sağlar (CRC). Standarda göre, FCS değeri, korunan MAC çerçeve alanlarının bir fonksiyonu olarak hesaplanır: kaynak ve hedef adres, uzunluk/tip alanı, MAC istemci verileri ve dolgu (yani, FCS dışındaki tüm alanlar).

Standart uyarınca, bu hesaplama sola kaydırmalı CRC32 BZIP2 (poli = 0x4C11DB7, ilk CRC = 0xFFFFFFFF, CRC sonradan tamamlanır, değeri doğrula = 0x38FB2284) algoritması kullanılarak yapılır. Standart, verilerin önce en az anlamlı bit (bit 0) iletilirken, FCS'nin en önemli bit (bit 31) önce iletildiğini belirtir. Bir alternatif, sağa kaydırmalı CRC32'yi (poli = 0xEDB88320, ilk CRC = 0xFFFFFFFF, CRC sonradan tamamlanır, değeri doğrulayın = 0x2144DF1C) kullanarak bir CRC hesaplamaktır; bu, FCS'nin biraz tersi olan bir CRC ile sonuçlanır ve iletir önce hem veri hem de CRC en az anlamlı bit, aynı aktarımlarla sonuçlanır.

Standart, veri alındığında alıcının yeni bir FCS hesaplaması gerektiğini ve ardından alınan FCS'yi alıcının hesapladığı FCS ile karşılaştırması gerektiğini belirtir. Bir alternatif, hem alınan veriler hem de FCS üzerinde bir CRC hesaplamaktır; bu, sıfır olmayan sabit bir "doğrulama" değeri ile sonuçlanacaktır. (Sonuç sıfır değildir çünkü CRC, CRC üretimi sırasında sonradan tamamlanır). Veriler önce en az anlamlı bit alındığından ve verilerin sekizlilerini ara belleğe almak zorunda kalmamak için alıcı tipik olarak sağa kaydırmalı CRC32'yi kullanır. Bu, "doğrulama" değerini (bazen "sihirli denetim" olarak adlandırılır) 0x2144DF1C yapar.

Bununla birlikte, mantıksal olarak sağa kayan bir CRC'nin donanım uygulaması, CRC'yi hesaplamak, bitleri tersine çevirmek ve 0x38FB2284'lük bir doğrulama değeri ile sonuçlanmak için temel olarak sola kayan bir Doğrusal Geri Besleme Kaydırma Kaydı kullanabilir. CRC'nin tamamlayıcısı hesaplama sonrası ve iletim sırasında gerçekleştirilebileceğinden, donanım kaydında kalan tamamlanmamış bir sonuçtur, bu nedenle sağa kaydırma uygulaması için kalıntı 0x2144DF1C = 0xDEBB20E3 ve sola kaydırma için tamamlayıcı olacaktır. uygulama, 0x38FB2284 = 0xC704DD7B'nin tamamlayıcısıdır.

Çerçevenin sonu – fiziksel katman

Bir çerçevesinin sonu genellikle fiziksel katmanda veya taşıyıcı sinyal kaybı ile sonu Veri akımı sembolü ile gösterilir, yani; bir örnek 10BASE-T'dir , burada alıcı istasyon, taşıyıcının kaybıyla iletilen bir çerçevenin sonunu tespit eder. Daha sonraki fiziksel katmanlar , özellikle taşıyıcının sürekli olarak çerçeveler arasında gönderildiği durumlarda, belirsizliği önlemek için açık bir veri sonu veya akış sonu sembolü veya dizisi kullanır; bir örnek, bir çerçeve iletilmeden önce ve sonra iletilen özel sembolleri kullanan 8b/10b kodlama şemasına sahip Gigabit Ethernet'tir .

Paketler arası boşluk – fiziksel katman

Paketler arası boşluk (IPG), paketler arasındaki boşta kalma süresidir. Bir paket gönderildikten sonra, vericilerin bir sonraki paketi iletmeden önce minimum 96 bit (12 sekizli) boş hat durumunu iletmeleri gerekir.

Türler

Ethernet çerçevesi farklılaşması
Çerçeve tipi Etertipi veya uzunluğu Yük başlangıç ​​iki bayt
Ethernet II ≥ 1536 Herhangi
Novell ham IEEE 802.3 ≤ 1500 0xFFFF
IEEE 802.2 LLC ≤ 1500 Başka
IEEE 802.2 SNAP ≤ 1500 0xAAAA

Birkaç tür Ethernet çerçevesi vardır:

Farklı çerçeve türleri farklı biçimlere ve MTU değerlerine sahiptir, ancak aynı fiziksel ortamda bir arada var olabilir. Sağdaki tabloya göre çerçeve tipleri arasında ayrım yapmak mümkündür.

Ek olarak, dört Ethernet çerçeve türünün tümü, hangi VLAN'a ait olduğunu ve önceliğini ( hizmet kalitesi ) belirlemek için isteğe bağlı olarak bir IEEE 802.1Q etiketi içerebilir . Bu kapsülleme, IEEE 802.3ac belirtiminde tanımlanmıştır ve maksimum çerçeveyi 4 sekizli artırır.

Varsa IEEE 802.1Q etiketi, Kaynak Adresi ile EtherType veya Uzunluk alanları arasına yerleştirilir. Etiketin ilk iki sekizlisi, 0x8100 Etiket Protokolü Tanımlayıcı (TPID) değeridir. Bu, etiketlenmemiş çerçevelerdeki EtherType/Length alanıyla aynı yerde bulunur, bu nedenle 0x8100 EtherType değeri, çerçevenin etiketlendiği ve gerçek EtherType/Length'in Q etiketinden sonra bulunduğu anlamına gelir. TPID'yi, Etiket Kontrol Bilgisini (TCI) (IEEE 802.1p önceliği ( hizmet kalitesi ) ve VLAN kimliği) içeren iki sekizli takip eder . Q etiketini, yukarıda açıklanan türlerden biri kullanılarak çerçevenin geri kalanı takip eder.

Ethernet II

Ethernet II çerçeveleme ( tasarımının ana katılımcıları olan DEC , Intel ve Xerox'tan sonra adlandırılan DIX Ethernet olarak da bilinir ), bir Ethernet çerçevesinde iki sekizli EtherType alanını tanımlar , öncesinde hedef ve kaynak MAC adresleri, üst çerçeve verileri tarafından kapsüllenen katman protokolü . Örneğin, 0x0800 EtherType değeri, çerçevenin bir IPv4 datagramı içerdiğini bildirir . Benzer şekilde, 0x0806 EtherType bir ARP çerçevesini, 0x86DD bir IPv6 çerçevesini ve 0x8100 bir IEEE 802.1Q etiketinin varlığını gösterir (yukarıda açıklandığı gibi).

En yaygın Ethernet Çerçeve formatı, tip II

Endüstri tarafından geliştirilen bu standart, resmi bir IEEE standardizasyon sürecinden geçtiğinden, EtherType alanı, yeni 802.3 standardında (veri) uzunluk alanı olarak değiştirildi. Alıcının hala çerçeveyi nasıl yorumlayacağını bilmesi gerektiğinden, standart , uzunluğu takip etmek ve türü belirtmek için bir IEEE 802.2 başlığı gerektiriyordu . Yıllar sonra, 802.3x-1997 standardı ve 802.3 standardının sonraki sürümleri, her iki çerçeveleme türünü de resmen onayladı. Ethernet II çerçevesi, basitliği ve düşük ek yükü nedeniyle Ethernet yerel alan ağlarında en yaygın olanıdır.

Ethernet v2 çerçeveleme kullanan bazı çerçevelerin ve 802.3 çerçevelemenin orijinal sürümünü kullanan bazı çerçevelerin aynı Ethernet segmentinde kullanılmasına izin vermek için, EtherType değerlerinin 1536'ya (0x0600) eşit veya daha büyük olması gerekir. Bu değer, bir Ethernet 802.3 çerçevesinin yük alanının maksimum uzunluğu 1500 sekizli (0x05DC) olduğu için seçilmiştir. Bu nedenle, alanın değeri 1536'dan büyük veya buna eşitse, çerçeve bir Ethernet v2 çerçevesi olmalıdır ve bu alan bir tür alanıdır. 1500'den küçük veya eşitse, bu alan bir uzunluk alanı olmak üzere bir IEEE 802.3 çerçevesi olmalıdır. 1500 ile 1536 arasındaki değerler, özel, tanımsızdır. Bu kural, yazılımın bir çerçevenin bir Ethernet II çerçevesi mi yoksa bir IEEE 802.3 çerçevesi mi olduğunu belirlemesine ve her iki standardın aynı fiziksel ortamda bir arada bulunmasına izin verir.

Novell ham IEEE 802.3

Novell'in "ham" 802.3 çerçeve formatı, erken IEEE 802.3 çalışmasına dayanıyordu. Novell , Ethernet üzerinden kendi IPX Ağ Protokolünün ilk uygulamasını oluşturmak için bunu bir başlangıç ​​noktası olarak kullandı . Herhangi bir LLC başlığı kullanmadılar, ancak IPX paketini doğrudan uzunluk alanından sonra başlattılar. Bu, IEEE 802.3 standardına uymaz, ancak IPX her zaman ilk iki sekizli olarak FF'ye sahip olduğundan (IEEE 802.2 LLC'de bu model teorik olarak mümkündür ancak son derece olası değildir), pratikte bu genellikle kablo üzerinde diğer Ethernet uygulamalarıyla birlikte bulunur, Bununla karıştırılan DECnet'in bazı erken biçimlerinin dikkate değer istisnası .

Novell NetWare bu çerçeve tipini doksanların ortalarına kadar varsayılan olarak kullandı ve o zamanlar NetWare çok yaygın olduğu için IP yaygın değildi, bir noktada dünyanın Ethernet trafiğinin çoğu IPX taşıyan "ham" 802.3 üzerinden geçti. NetWare 4.10'dan beri, NetWare, IPX kullanılırken varsayılan olarak LLC ile IEEE 802.2'ye (NetWare Çerçeve Tipi Ethernet_802.2) geçer.

IEEE 802.2 LLC

OSI yığını için tasarlananlar gibi bazı protokoller, doğrudan hem bağlantı yönelimli hem de bağlantısız ağ hizmetleri sağlayan IEEE 802.2 LLC kapsüllemesinin üzerinde çalışır.

IEEE 802.2 LLC kapsülleme, henüz IP üzerinden NetWare'e taşınmamış büyük kurumsal NetWare kurulumları dışında, şu anda ortak ağlarda yaygın olarak kullanılmamaktadır . Geçmişte, birçok kurumsal ağ, Ethernet ve Token Ring veya FDDI ağları arasında şeffaf çeviri köprülerini desteklemek için IEEE 802.2'yi kullandı .

IEEE 802.2 LLC SAP/SNAP çerçevelerinde IPv4 trafiğini kapsüllemek için bir İnternet standardı vardır . FDDI, Token Ring, IEEE 802.11 ( EtherType'ı kullandığı 5.9 GHz bandı hariç) ve diğer IEEE 802 LAN'larında kullanılmasına rağmen, Ethernet üzerinde neredeyse hiç uygulanmaz . IPv6, IEEE 802.2 LLC SAP/SNAP kullanılarak Ethernet üzerinden de iletilebilir, ancak yine, bu neredeyse hiç kullanılmaz.

IEEE 802.2 SNAP

802.2 LLC başlığını inceleyerek, onu bir SNAP başlığının takip edip etmediğini belirlemek mümkündür. LLC başlığı, OSI terminolojisinde hizmet erişim noktaları (SAP'ler) olarak adlandırılan iki adet sekiz bitlik adres alanı içerir ; hem kaynak hem de hedef SAP 0xAA değerine ayarlandığında, LLC başlığını bir SNAP başlığı takip eder. SNAP başlığı, EtherType değerlerinin tüm IEEE 802 protokolleriyle kullanılmasına ve ayrıca özel protokol kimlik alanlarını desteklemesine izin verir.

IEEE 802.3x-1997'de, IEEE Ethernet standardı, uzunluk alanı veya tür alanı olarak kullanılacak MAC adreslerinden sonra 16 bitlik alanın kullanımına açıkça izin verecek şekilde değiştirildi.

AppleTalk Ethernet ( "konulu v2 protokol takımı EtherTalk'ın "), IEEE 802.2 LLC + SNAP kapsüllemesini kullanır.

Maksimum verim

Ethernet için protokol ek yükünü yüzde olarak hesaplayabiliriz (IPG dahil paket boyutu)

Ethernet için protokol verimliliğini hesaplayabiliriz

İzin verilen en büyük yük boyutuyla maksimum verimlilik elde edilir ve:

etiketlenmemiş çerçeveler için, paket boyutu maksimum 1500 sekizli yük + 8 sekizli giriş + 14 sekizli başlık + 4 sekizli römork + 12 sekizliye karşılık gelen minimum paketler arası boşluk = 1538 sekizli. Maksimum verimlilik:

802.1Q VLAN etiketlemesi kullanıldığında.

Verim verimliliği hesaplanabilir

,

burada fiziksel katman net bit hızı (kablo bit hızı) Ethernet fiziksel katman standardına bağlıdır ve 10 Mbit/s, 100 Mbit/s, 1 Gbit/s veya 10 Gbit/s olabilir. 100BASE-TX Ethernet için maksimum verim , sonuç olarak 802.1Q olmadan 97.53 Mbit/s ve 802.1Q ile 97.28 Mbit/s'dir.

Kanal kullanımı , genellikle protokol verimliliği ile karıştırılan bir kavramdır. Aktarılan verinin niteliğini dikkate almadan yalnızca kanalın kullanımını dikkate alır - yük veya ek yük. Fiziksel katmanda, bağlantı kanalı ve ekipman, veri ve kontrol çerçeveleri arasındaki farkı bilmez. Kanal kullanımını hesaplayabiliriz :

Toplam süre, kanal boyunca gidiş-dönüş süresini, ana bilgisayarlardaki işlem süresini ve veri ve onayları iletme süresini dikkate alır. Verileri iletmek için harcanan zaman, verileri ve onayları içerir.

Runt çerçeveleri

Runt çerçevesi, IEEE 802.3'ün minimum 64 sekizli uzunluğundan daha az olan bir Ethernet çerçevesidir. Runt çerçeveleri en yaygın olarak çarpışmalardan kaynaklanır ; diğer olası nedenler, hatalı çalışan bir ağ kartı , arabellek yetersizliği , çift ​​yönlü uyumsuzluk veya yazılım sorunlarıdır.

Notlar

Referanslar

daha fazla okuma