Ev yönlendiricilerimizde çoğunlukla kullandığımız NAT (Ağ adresi çevirisi) ve PAT (Bağlantı Noktası Adresi Çevirisi) arasında genel bir yanlış anlama vardır .
NAT
Aşağıdaki topolojiye sahip bir ağımız olduğunu varsayalım:
Private_Network <-------> Yönlendirici <-------> The_Internet
Arayüz Router bağlı olan Private_Network sahip özel bir IP adresi yani benzersiz olmayan birinin The_Internet . Öte yandan, NAT durumunda , Yönlendiricinin The_Internet'e bağlı birden fazla arayüzü vardır . Her arabirimin The_Internet'te benzersiz bir IP adresi vardır . Şimdi gelelim varsayalım Host_A ve Host_B içindedir Private_Network ve erişim için her ikisi de Talep Website_X içinde The_Internet aynı anda. IP'ler ve Host_A portlarıadlı kullanıcının paketi:
Kaynak IP: Host_A'nın özel IP
Kaynak Bağlantı Noktası: Host_A
Hedef IP üzerindeki bir bağlantı noktası : Website_X'in genel / benzersiz IP
Hedef Bağlantı Noktası: Website_X sunucusunun dinlediği bir bağlantı noktası
ve aynı şekilde Host_B'den gelen bir paket için .
Kaynak IP değişmeden bırakılırsa, Website_X özel, yani benzersiz olmayan bir IP adresine yanıt verir ve bu nedenle paket asla geri dönüş yolunu bulamaz. Bu sorunu çözmek için Yönlendirici , The_Internet'e bağlı benzersiz IP adreslerinden birinin kullanılmadığını kontrol eder. Bu durumda, aşağıdaki eşlemeyi yapar:
Host_A'nın özel IP'si ======= Yönlendiricinin_unique_IP_K
ve şu andan itibaren başladığı paket Host_A olacak Website_X ve şimdi arayüzünü ayrılıyor Router bağlı The_Internet formu sahip olacaktır:
Kaynak IP: Router's_unique_IP_K
Kaynak Bağlantı Noktası: Host_A
Hedef IP'sindeki bir bağlantı noktası : Website_X'in genel / benzersiz IP
Hedef Bağlantı Noktası: Website_X sunucusunun dinlediği bir bağlantı noktası
Böylece, özel IP'lerden genel IP'lere bire bir ilişki olduğunu anlayabilirsiniz. Bir paket itibaren gelen nedenle Website_X için Router , bu ilişkinin kontrol edilir ve hedef IP adresi, özel birine arkasını değiştirdi ve sağ ana bilgisayara başarıyla teslim edilir.
Gördüğünüz gibi, bu yöntem oldukça basittir, ancak büyük bir dezavantajı vardır: her özel ana makinenin ayrılmış benzersiz bir IP adresine sahip olması gerekir, bu da pahalıdır, bu nedenle özel ağdaki ana bilgisayarlardan daha az benzersiz IP adresine sahip olmayı seçeriz. Bu nedenle, tüm özel ana bilgisayarlar aynı anda The_Internet'e erişmeye çalışırsa , bunların yalnızca bir alt kümesi, Yönlendiricinin kullandığı genel IP adreslerinin sayısına eşittir, erişimi olacak ve gerisi reddedilecek.
Karşı koymak için PAT yarattık .
PAT
PAT , ev yönlendiricilerimizin büyük çoğunluğunu kullanıyor. Temel sınırlama, Yönlendiricinin The_Internet'e bağlandığı tek bir benzersiz IP adresine sahip olmasıdır , ancak yine de özel ağdaki birden çok ana bilgisayarın The_Internet'e aynı anda erişmesine izin vermek istiyoruz .
Bunu yapma yöntemimiz, NAT'ın bunu önemli bir farkla yapma şekline "benzer" dir : IP adresi havuzu tutan Yönlendirici yerine , bağlantı noktası numaralarının bulunduğu bir havuz tutar. Daha açık bir şekilde, gelen bir paket Yönlendirici gelen Host_A içinde Private_Network kaderinde Website_X içindeİnternetin biçimi şu şekildedir:
Kaynak IP: Host_A'nın özel IP
Kaynak Bağlantı Noktası: Host_A
Hedef IP üzerindeki bir bağlantı noktası : Website_X'in genel / benzersiz IP
Hedef Bağlantı Noktası: Website_X sunucusunun dinlediği bir bağlantı noktası
Şimdi Yönlendirici iki görev yapacak:
- Kaynak IP'yi Yönlendiricinin benzersiz genel IP'si olarak değiştirecek VE
- Kaynak Bağlantı Noktasını, Yönlendiricinin sürdürdüğü ve henüz kullanılmadığı bir havuzdaki bağlantı noktasına değiştirir , örneğin Port_Z
ve şu andan itibaren başladığı paket Host_A olacak Website_X ve şimdi arayüzünü ayrılıyor Router bağlı The_Internet formu sahip olacaktır:
Kaynak IP: Router's_unique_IP_K
Kaynak Bağlantı Noktası: Port_Z
Hedef IP: Website_X'in genel / benzersiz IP
Hedef Bağlantı Noktası: Website_X sunucusunun dinlediği bir bağlantı noktası
ve Yönlendirici aşağıdaki eşlemeyi tutacaktır:
Host_A'nın özel IP adresi ve Host_A üzerindeki bir bağlantı noktası ======= Port_Z
Bu neden işe yarıyor?
Şimdi bir paket geri geldiğinde, Yönlendirici hedef port numarasını kontrol eder ve hedef IP adresini ve hedef port numarasını önceden belirtilen eşlemeye göre değiştirir ve paket başarıyla teslim edilir.
Aynı Ana Bilgisayarda birden fazla uygulama çalıştırırsam ne olur?
Farklı uygulamaların tanımı gereği farklı bağlantı noktaları olacaktır, böylece Yönlendiriciden farklı bir bağlantı noktasına eşlenirler .
Birden fazla Ana Bilgisayar aynı anda The_Internet'e erişmeye çalışırsa ve hepsi aynı uygulamayı kullanırsa ne olur?
Farklı Ana Makinelerin tanımı gereği farklı özel IP adresleri olacaktır, bu nedenle Yönlendiriciden farklı bir bağlantı noktasına eşlenirler .
PAT , çapraz katman gri bir alanda tehlikeli bir şekilde dengeleniyor. Bağlantı noktası numaraları Aktarım Protokolü'nün bir parçası iken Yönlendiricilerin İnternet Protokolü'ne kadar çalışmasına izin verilir. Teknik olarak konuşmak, protokoller tarafından izin verilmeyen bir şeydir. Bu nedenle, en azından teorik olarak potansiyel tehlikeler vardır: liman havuzu sınırlıdır. Bu nedenle özel ağım 1000 Ana Bilgisayardan oluşuyorsa ve her biri port_pool / 10 uygulamaları çalıştırıyorsa, yönlendiricideki eşleme tablosunda kullanılabilir girdiler tükenecek ve uygulamalara erişim reddedilecektir.
Bu cevap, hedeflenen uzunluğumu büyük ölçüde aştı, ancak umarım yardımcı oldu.