OSI'nin ne tür bir canavar olduğunu ve buna kimin ihtiyacı olduğunu mümkün olan en basit şekilde açıklamaya çalışacağım. Hayatınızı bilgi teknolojisi ile bağlamak istiyorsanız ve yolculuğun en başındaysanız, OSI çalışmasını anlamak hayati önem taşır, herhangi bir profesyonel size bunu söyleyecektir.
Nasıl alışılmış olduğunu tanımlayarak başlayacağım. OSI modeli, bir ağ üzerinden veri iletmek için teorik ideal bir modeldir. Bu, pratikte bu modelle hiçbir zaman tam bir eşleşme bulamayacağınız anlamına gelir; bu, ağ geliştiricilerinin ve ağ ekipmanı üreticilerinin ürünlerinin uyumluluğunu korumak için uydukları bir kriterdir. Bunu, insanların ideal insan hakkındaki fikirleriyle karşılaştırabilirsiniz - onu hiçbir yerde bulamazsınız, ancak herkes ne için çaba göstereceğini bilir.
Hemen bir nüansı özetlemek istiyorum - OSI modelinde ağ üzerinden iletilenleri, tamamen doğru olmayan verileri arayacağım, ancak acemi okuyucuyu terimlerle karıştırmamak için vicdanımla bir uzlaşma yaptım.
Aşağıdaki, en iyi bilinen ve en iyi anlaşılan OSI model diyagramıdır. Makalede daha fazla çizim olacak, ancak ilkini ana olarak düşünmeyi öneriyorum:
Tablo iki sütundan oluşuyor, ilk aşamada sadece doğru olanla ilgileniyoruz. Tabloyu aşağıdan yukarıya okuyacağız (aksi takdirde:)). Aslında bu benim hevesim değil, ama bunu bilgiyi özümseme kolaylığı için yapıyorum - basitten karmaşığa. Git!
Yukarıdaki tablonun sağ tarafında, aşağıdan yukarıya, ağ üzerinden iletilen verilerin yolu (örneğin, ev yönlendiricinizden bilgisayarınıza) gösterilir. Açıklama - OSI katmanlarını aşağıdan yukarıya okursanız, bu, alıcı taraftaki veri yolu, yukarıdan aşağıya ise, tam tersi - gönderen taraf olacaktır. Umarım buraya kadar açıktır. Şüpheleri tamamen ortadan kaldırmak için, netlik için başka bir şema:
Seviyeler boyunca verilerin yolunu ve bunlarla meydana gelen değişiklikleri izlemek için, ilk bilgisayardan OSI seviyeleri boyunca yukarıdan aşağıya doğru hareket ederek, diyagramdaki mavi çizgi boyunca nasıl hareket ettiklerini hayal etmek yeterlidir. aşağıdan yukarıya ikinci. Şimdi seviyelerin her birine daha yakından bakalım.
1) Fiziksel (fiziksel) - sözde "veri aktarım ortamı" anlamına gelir, yani. teller, optik kablo, radyo dalgaları (kablosuz bağlantı durumunda) ve benzerleri. Örneğin, bilgisayarınız bir kablo ile İnternete bağlıysa, kablolar, kablonun ucundaki kontaklar, bilgisayarınızın ağ kartı konektörünün kontakları ve ayrıca bilgisayar kartlarındaki dahili elektrik devreleri sorumludur. ilk, fiziksel düzeyde veri aktarımının kalitesi. Ağ mühendisleri "fizikle ilgili bir sorun" kavramına sahiptir - bu, uzmanın fiziksel bir katman cihazını verilerin "aktarılmaması" için suçlu olarak gördüğü anlamına gelir, örneğin, bir ağ kablosu bir yerde kopmuştur veya düşük sinyal seviye.
2) Kanal (veri bağlantısı) - bu çok daha ilginç. Veri bağlantı katmanını anlamak için öncelikle MAC adresi kavramını kavramamız gerekiyor, çünkü bu bölümde ana karakter o olacak:). MAC adresine "fiziksel adres", "donanım adresi" de denir. Sayı sisteminde 6 tire veya iki nokta üst üste ile ayrılmış 12 karakterlik bir dizidir, örneğin 08: 00: 27: b4: 88: c1. Ağdaki bir ağ cihazını benzersiz bir şekilde tanımlamak için gereklidir. Teoride, MAC adresi global olarak benzersizdir, yani. Dünyanın hiçbir yerinde böyle bir adres olamaz ve üretim aşamasında bir ağ cihazına "dikilir". Bununla birlikte, onu keyfi bir şekilde değiştirmenin basit yolları vardır ve ayrıca, bazı vicdansız ve az bilinen üreticiler, örneğin, tamamen aynı MAC'a sahip 5000 ağ kartı grubunu perçinlemekten çekinmezler. Buna göre, aynı yerel ağda en az iki "kardeş-akrobat" ortaya çıkarsa, çatışmalar ve sorunlar başlayacaktır.
Bu nedenle, veri bağlantısı katmanında, veriler ağ cihazı tarafından işlenir, bu da yalnızca bir şeyle - kötü şöhretli MAC adresimizle, yani. teslimatın muhatabı ile ilgileniyor. Örneğin, bağlantı katmanı aygıtları anahtarları içerir (aynı zamanda anahtarlardır) - doğrudan, doğrudan bağlantıya sahip oldukları ağ aygıtlarının MAC adreslerini belleklerinde tutarlar ve alıcı bağlantı noktalarında veri aldıklarında MAC'yi kontrol ederler. bellekte bulunan MAC adreslerine sahip verilerdeki adresler. Bir eşleşme varsa, veriler muhataba gönderilir, gerisi basitçe yok sayılır.
3) Ağ (ağ) - "kutsal" seviye, çalışma prensibinin anlaşılması, çoğunlukla ağ mühendisini böyle yapar. Burada "IP adresi" demir yumrukla kurallar, işte temellerin temeli. Bir IP adresinin varlığı nedeniyle, aynı yerel ağın parçası olmayan bilgisayarlar arasında veri aktarımı mümkün hale gelir. Farklı yerel ağlar arasında veri aktarımına yönlendirme denir ve bunun yapılmasına izin veren cihazlar yönlendiricilerdir (son yıllarda yönlendirici kavramı büyük ölçüde saptırılsa da bunlar da yönlendiricidir).
Bu nedenle, IP adresi - ayrıntılara girmezseniz, bu, ondalık ("normal") hesap sisteminde, bir ağa atanan bir nokta ile ayrılmış 4 sekizliye bölünmüş 12 basamak kümesidir. bir ağa bağlandığında cihaz. Burada biraz daha derine inmek gerekiyor: örneğin, birçok kişi 192.168.1.23 serisinden bir adres biliyor. Burada 12 hane olmadığı çok açık. Ancak adresi tam formatta yazarsanız, her şey yerine oturur - 192.168.001.023. IP adresleme hikaye ve görüntüleme için ayrı bir konu olduğu için bu aşamada daha derine inmeyeceğiz.
4) Taşıma katmanı (taşıma) - adından da anlaşılacağı gibi, verilerin alıcıya teslimi ve gönderilmesi için tam olarak gereklidir. Acı çeken postamızla bir benzetme yaparak, IP adresi aslında teslimat veya alındı adresidir ve taşıma protokolü, mektubu okuyabilen ve nasıl teslim edeceğini bilen postacıdır. Farklı amaçlar için farklı protokoller vardır, ancak aynı anlama sahiptirler - teslimat.
Taşıma katmanı, ağ mühendisleri ve sistem yöneticilerinin genel olarak ilgisini çeken son katmandır. 4 alt düzeyin tümü gerektiği gibi çalıştıysa, ancak veriler hedefe ulaşmadıysa, sorun belirli bir bilgisayarın yazılımında aranmalıdır. Üst düzeyler olarak adlandırılan protokoller, programcılar ve bazen hala sistem yöneticileri (örneğin, sunucu bakımıyla uğraşıyorsa) için büyük endişe kaynağıdır. Bu nedenle, bu seviyelerin amacını daha fazla anlatacağım. Ek olarak, duruma nesnel olarak bakarsanız, çoğu zaman pratikte, OSI modelinin birkaç üst katmanının işlevleri bir uygulama veya hizmet tarafından üstlenilir ve bunun nereye atanacağını kesin olarak söylemek imkansızdır.
5) Oturum - bir veri aktarım oturumunun açılmasını ve kapanmasını kontrol eder, erişim haklarını kontrol eder, aktarımın başlangıcı ve bitişinin senkronizasyonunu kontrol eder. Örneğin, İnternetten bir dosya indirirseniz, tarayıcınız (veya oradan indirdiğiniz şey aracılığıyla) dosyanın bulunduğu sunucuya bir istek gönderir. Bu noktada, dosyanın başarılı bir şekilde indirilmesini sağlayan oturum protokolleri açılır ve ardından teorik olarak seçenekler olmasına rağmen otomatik olarak kapatılır.
6) Temsilci (sunum) - verileri nihai uygulama tarafından işlenmek üzere hazırlar. Örneğin, bu bir metin dosyasıysa, kodlamayı kontrol etmeniz gerekir ("kryakozyabrov" çalışmaz), onu arşivden çıkarmak mümkündür…. ama burada, bir kez daha, daha önce hakkında yazdığım şey açıkça izleniyor - temsili seviyenin nerede bittiğini ve bir sonrakinin nerede başladığını ayırmak çok zor:
7) Uygulama (Uygulama) - Adından da anlaşılacağı gibi, alınan verileri kullanan uygulamaların seviyesi ve OSI modelinin tüm seviyelerinin emeklerinin sonucunu görüyoruz. Örneğin, bu metni doğru kodlama, doğru yazı tipi vb. ile açtığınız için okuyorsunuz. senin tarayıcın.
Ve şimdi, süreç teknolojisi hakkında en azından genel bir anlayışa sahip olduğumuzda, bitlerin, çerçevelerin, paketlerin, blokların ve verilerin ne olduğunu söylemenin gerekli olduğunu düşünüyorum. Hatırlarsanız bu yazının başında ana tablodaki sol sütuna dikkat etmemenizi istemiştim. Yani, onun zamanı geldi! Şimdi OSI modelinin tüm katmanlarını tekrar inceleyeceğiz ve basit bitlerin (sıfırlar ve birler) nasıl veriye dönüştürüldüğünü göreceğiz. Malzemeye hakim olma sırasını bozmamak için aşağıdan yukarıya aynı yolu izleyeceğiz.
Fiziksel düzeyde bir sinyalimiz var. Elektriksel, optik, radyo dalgası vb. olabilir. Şimdiye kadar bunlar bit bile değil, ancak ağ cihazı alınan sinyali analiz eder ve onu sıfırlara ve birlere dönüştürür. Bu işleme "donanım dönüştürme" denir. Ayrıca, zaten ağ cihazının içinde, bitler baytlar halinde birleştirilir (bir baytta sekiz bit vardır), işlenir ve veri bağlantı katmanına iletilir.
Veri bağlantısı düzeyinde, kabaca If olarak adlandırılan şeye sahibiz, o zaman bu, anahtarın alıcının ve gönderenin MAC adreslerini içeren başlığı okuduğu bir pakette 64'ten 1518'e kadar bir bayt paketidir. teknik bilgilerin yanı sıra. MAC adresinin başlıktaki ve (belleğindeki) eşleşmelerini gören anahtar, bu tür eşleşmelere sahip çerçeveleri hedef cihaza iletir.
Ağ düzeyinde, tüm bu iyiliğe, aynı başlıktan çıkarılan alıcı ve göndericinin IP adresleri de eklenir ve buna paket denir.
Taşıma düzeyinde, paket, kodu başlığın hizmet bilgilerinde belirtilen ilgili protokole yönlendirilir ve bunun zaten tam veri olduğu üst düzey protokollerin hizmetlerine verilir, yani. uygulamalar için sindirilebilir, kullanılabilir bir biçimde bilgi.
Aşağıdaki şemada bu daha açık bir şekilde görülecektir:
Bu, OSI modelinin ilkesinin çok kaba bir açıklamasıdır, yalnızca şu anda alakalı olanı ve sıradan bir acemi BT uzmanının karşılaşma olasılığının düşük olduğunu göstermeye çalıştım - örneğin, ağın eski veya egzotik protokolleri veya taşıma katmanları Yani Yandex size yardımcı olacaktır:).