Ana içeriğe atla

Bilgisayar Ağlarında Adreslemeler

Hepimizin bildiği gibi, bilgisayarların birbiri ile haberleşmesi için adreslerinin olması gerekir. Bu adreslemeler belli kurallara göre yapılır. 4 tip adresleme yapılır.

1) Fiziksel adresleme
2) Mantıksal adresleme
3) Port adresleme
4) Özel adresleme

Şimdi sırayla bunları inceleyelim


 1) Fiziksel Adresleme

Fiziksel adresler ağ cihazlarının kimliğidir. Bu adreslere MAC(Media Access Control) denir. Bu adres bilgisi Veri Bağı katmanında frame(çerçeve) başlığında bulunur. Daha çok yerel ağlarda kullanılır. Eğer bir bilgisayar, kendisiyle aynı ağda bulunan bir bilgisayara bir mesaj göndermek isterse öncelikle onun MAC adresini bilmelidir. Bunun için bilgisayarlarda ARP tablosu vardır ve bu tablo, gönderici bilgisayarla aynı ağda bulunan bilgisayarların IP ve MAC adresini tutar. Eğer gönderilecek bilgisayarın MAC adresi tabloda yoksa ARP protokolü ile MAC adresi öğrenilir ve tabloya kaydedilir. Yerel ağlarda MAC adresi kullanıldığı için IP adresini yazmaya gerek olmayabilir. Ancak dışarıdaki bir ağa mesaj gönderilecekse IP adresi girilmek zorundadır.

Bir bilgisayar dış ağa mesaj gönderirken öncelikle Gateway(Ağ geçidi) denilen bilgisayara, yani kendi bulunduğu ağın dışarıdaki ağla haberleşmesini sağlayan bilgisayara frame'i göndermelidir. Bu durumda iç ağda MAC adresini Gateway bilgisayarın MAC adresi olarak ayarlamalıdır. Böylece gönderilen frame Gateway üzerine geldiğinde, MAC adresi bilgisi değiştirilir ve bu sefer dış ağdaki iletimi sağlayacak olan başka bir bilgisayarın MAC adresi yazılır. Dikkat edin, buraya kadar sadece MAC adresi değişmiştir, hedef IP adresine dokunulmamıştır. Yani bir iletim hattı boyunca frame içindeki MAC adresleri değiştirilebilir ama asla IP adresine dokunulmaz. 


Resimde de görüldüğü gibi, hedef IP adresi hiç değiştirilmeden hedefe ulaştırılmıştır. 

2) Mantıksal Adresleme

Fiziksel adreslemede gördüğümüz gibi, dış ağdaki bir bilgisayara ulaşmak için bir IP adresine ihtiyaç vardır. Yani, ağlar arası iletişim için IP adresi gereklidir. TCP/IP protokolünde her ağın ve ağdaki her bilgisayarın mutlaka bir IP adresi vardır. IP adresleri, paketlerin içerisinde taşınır.

İki tip IP adresi bulunmaktadır. IPv4 ve IPv6. Günümüzde IPv4 kullanılsa da, yakın bir zamanda IPv6 kullanımı yaygınlaşacaktır. Çünkü IPv4 adresleri 32 bittir, ancak günümüzde çok fazla cihaz internete bağlandığı için 32 bit adresleme yeterli gelmemektedir. Bunun için IPv6 geliştirilmiştir. IPv6 128 bittir ve 2^128 bilgisayar adreslemesi yapılabilir. 

3) Port Adresleme

Bir bilgisayar kendisine gelen paketi aldıktan sonra, bu paketin hangi protokolle iletişime geçeceğini bilmesi gerekir. Bunun için port numarasına bakar. TCP/IP modelinde her protokolün port numarası bellidir. Örneğin HTTP protokolü 80. portta çalışır, FTP protokolü 21. portta çalışır vs. Port adresleri 16 bit uzunluğundadır, bu yüzden 65535 adet port numarası tanımlanabilir(2^16) .

4) Özel Adreslemeler

Biz bir kullanıcı olarak IP ve MAC adreslerini aklımızda tutamayız. Bu yüzden daha akılda kalıcı olan domain isimlerini kullanırız. Örneğin google.com, yahoo.com gibi. Bu domainlere karşılık gelen IP adresleri vardır ve bu eşleştirmeler DNS denilen server'larda tutulur. Bir bilgisayar önce DNS yardımıyla bağlantı kuracağı domain'in IP adresini öğrenir, sonra da bu domain'in bulunduğu bilgisayar ile iletişime geçer. 

Adreslemeler genel olarak bu şekilde yapılıyor. Bilgisayarlar arası iletişimi anlamak için bu konuları okuyup anlamak gerekir. Ben de elimden geldiği kadar anlaşılır yazmaya çalıştım. Sorularınız veya diğer türlü fikriniz varsa yorumlarda belirtebilirsiniz. 

Görüşmek dileğiyle :)

Yorumlar

Bu blogdaki popüler yayınlar

Python Soket Programlama

Merhaba arkadaşlar. Bugün sizlerle birlikte Python'da socket programlama yapacağız. Bunun için Python da socket kütüphanesini kullanacağız. Peki nedir bu socket programlama? Soket programlama, sizin iki program arası yada iki bilgisayar arası iletişim kurmanızı sağlar. İşte bizde bugün iki programımızı birbiri ile haberleştireceğiz. Bunun için elimizde iki program olacak. Birinci program,mesaj bekleyen program olacak, diğeri ise mesaj gönderen program.

Infix to postfix dönüşümü

Infix to postfix dönüşümü, operatorün ortada olduğu a+b yazım şeklini operatorün sonda olduğu ab+ yazım şekline dönüştürme işlemidir.  Infix gösterimi, bizler için kolay bir gösterim olsa da makineler için öyle değildir. İfadeyi soldan sağa doğru okurken a + b * c işleminde önce b ile c yi çarpıp sonra da a ile toplamayı kolay bir şekilde yapabiliriz çünkü bizim ifadeyi sıra ile soldan sağa adım adım giderek okuma zorunluluğumuz yok. Önce b*c nin öncelikle olduğunu görerek oradan başlar, sonra a ile kolayca toplarız.

Python Subprocess

subprocess modülü, yeni bir process oluşturmayı sağlayan, bunların girdi-çıktılarını ele alma imkânı veren ve dönüş kodlarını almayı sağlayan bir modüldür. Yani daha basit bir şekilde, program içinde program çalıştırmaya imkan veren bir modüldür. Subprocess Modülünün Kullanımı subprocess basit bazı process'leri kullanmak için birkaç tane fonksiyon sunuyor. Daha karmaşık bir process çalıştırmak isterseniz, Popen sınıfını kullanabilirsiniz. Bunlara detaylı bir şekilde değinmeye çalışacağız. Şimdi basit fonksiyonları inceleyelim