NAT bir ortak IPv4 adresini birden çok özel IPv4 adresinde nasıl paylaşır [kapalı]


10

Bence bu çok klasik bir soru, ama arka planım olduğunu düşündüm, artık Web'de doğru arama ve anlama için yeterli kelime bilgim yok.

Diyelim ki 192.168.0.1 (IP.1) ve 192.168.0.2 (IP.2) ile bir ev ağım var ve her ikisi de tam olarak aynı dış sunucuya vurarak Counter Strike'da oynuyoruz.

Ev yönlendiricim paketin hangi IP.1'e gideceğini nasıl biliyor? NAT ve xxx.xxx/y adresleriyle sık sık okurum. ** / y kısmı TCP / IP yığınına nerede yazılır?

Bunun için kesinlikle NAT'a ihtiyacımız var mı? Wikipedia makalesinden anladığım şey NAT'ın bazı bilgisayarlar kapatıldığında IP adreslerini optimize etmek için yapıldığıdır. Ayrıca 5 cihazın sadece 1 genel IP ile bağlanmasına izin veriyor mu?


Bir-Çok sorularınızı cevaplamalıdır. Ayrıca, ev ağı ve giriş seviyesi eğitim soruları, bu site için en uygun değildir.
Craig Constantine

Yanıtlar:


14

(Aşağıdakiler için, herhangi bir DNS aramasını veya ikinci katman eylemini yok sayacağım, çünkü bu NAT hikayesinin ilgili kısmı değil.)

Herhangi bir TCP bağlantısı dört bölümden oluşan bir demettir:

<source IP> <source port> <destination IP> <destination port>

Kısacası: hedef IP, paketi doğru makineye almak için kullanılır, hedef port o makinedeki paketi doğru programa / oturuma almak için kullanılır Kaynak IP, herhangi bir cevabın nereye gönderileceğini bilmek için kullanılır. Aynı şey kaynak portu için de geçerli. Bir yanıt gönderildiğinde, kaynak ve hedef kolayca değiştirilir.

NAT olmadan iki bilgisayarla başlayalım:

  • Bilgisayarın IP'si var 1.1.1.1
  • Web sunucusunda IP var 3.3.3.3
  • HTTP için standart bağlantı noktası 80

Bir bilgisayar bir web sayfası istediğinde, önce rasgele aralıktan (1024-65535) kullanılmayan rasgele bir bağlantı noktası numarası seçecektir. Hadi seçelim 2345. Sonra aşağıdaki sıra gerçekleşir: Bilgisayar paketini şu adresle gönderir: kaynak IP 1.1.1.1, kaynak bağlantı noktası 2345, hedef IP 3.3.3.3, hedef bağlantı noktası 80. Paketler web sunucusuna ulaşır, kendi IP ve portunu görür 80, bu yüzden bunun bir web sayfası için bir istek olduğunu bilir. Web sunucusu daha sonra web sayfasını Kaynak IP 3.3.3.3, Kaynak bağlantı noktası 80, hedef IP 1.1.1.1, hedef bağlantı noktası olan paketler halinde geri gönderir 2345. Bilgisayar bu paketleri alır ve port numarası nedeniyle istenen web sayfasının ne olduğunu bilir 2345.

Bu bağlantı noktası kombinasyonları genellikle şu şekilde yazılır: 1.1.1.1:2345ve 3.3.3.3:80.

Artık internetteki bilgisayar sayısı, mevcut IPv4 adreslerinin sayısından çok daha fazla. Adres alanını korumak için, adres paylaşımı için serbestçe kullanılabilen bir dizi özel adres aralığı tanıtıldı. Bu aralıklar RFC1918 olarak adlandırılır ve aşağıdakilerdir:

  • 192.168.0.0 - 192.168.255.255
  • 172.16.0.0 - 172.31.255.255
  • 10.0.0.0 - 10.255.255.255

Bu adresler internet yönlendirme tablolarının hiçbir yerinde değildir, bu yüzden internetin omurgasındaki bu aralıklarda bir hedefe sahip bir paket gönderirseniz, sadece bırakılırlar. Çünkü milyonlarca insan aynı adresleri kullanıyor. Bu adreslerin internet için yararlı bir şeye çevrilmesi gerekir. Ağ Adresi Çevirisi burada devreye girer:

İki bilgisayarımız var:

  • A: 192.168.0.1ve B:192.168.0.2
  • Ağ geçitlerinin genel bir IP adresi vardır 1.1.1.1.
  • Aynı web sunucusunu tutuyoruz.
  • Her iki bilgisayar da aynı web sayfasını aynı sunucudan istiyor.

Her iki bilgisayar da rastgele bir bağlantı noktası seçer: diyelim ki: 192.168.0.1:2345ve 192.168.0.2:5432.

Bilgisayar A kaynak 192.168.0.1:2345ve hedef ile paket göndermek 3.3.3.3:80. Ağ geçidi bu paketi kaynak 1.1.1.1:2345hedefe çevirir 3.3.3.3:80ve bu kombinasyona verilen yanıtların gittiğini hatırlar 192.168.0.1. O kaynağı ile bir cevap recieves zaman, 3.3.3.3:80ve hedefe 1.1.1.1:2345, bu kaynak tercüme ederiz 3.3.3.3:80ve hedefe 192.168.0.1:2345ve üzerinde bir paket gönderir.

B Bilgisayarı paketini kaynak 192.168.0.2:5432ve hedef ile gönderiyor 3.3.3.3:80. Ağ geçidi bu paketi kaynak 1.1.1.1:5432hedefe çevirir 3.3.3.3:80ve bu kombinasyona verilen yanıtların gittiğini hatırlar 192.168.0.2. O kaynağı ile bir cevap recieves zaman, 3.3.3.3:80ve hedefe 1.1.1.1:5432, bu kaynak tercüme ederiz 3.3.3.3:80ve hedefe 192.168.0.2:5432ve üzerinde bir paket gönderir.

Her iki bilgisayar da aynı kaynak bağlantı noktası numarasını seçerse, ağ geçidi başka bir serbest rastgele kaynak bağlantı noktası numarası seçer ve bağlantı noktası numarasını da çevirmeyi unutmayın. Bu bazen PAT (Bağlantı Noktası Adres Çevirisi) olarak adlandırılır. Bu temelde bir NAT alt kümesidir.

Bunların hepsinde birkaç uygulama var. Ağ geçidi sadece "Bilgisayar X kullanılan kaynak bağlantı noktası Y'yi" hatırlayabilir ve Y bağlantı noktasıyla herhangi bir şeyi X bilgisayarına iletebilir. Bilgisayar X'in kaynak bağlantı noktası Y ve hedef Z kullandığını hatırlayabilir ve sadece Z bağlantı noktasından Y bağlantı noktasına bir şey iletebilir. Bilgisayar X. Ya da tüm diziyi hatırlama ve yalnızca X kaynağına tüm kaynak / hedef ip ve bağlantı noktasıyla eşleşen trafiği gönderme seçeneği vardır.


Teşekkürler. Herhangi bir müşterinin 80 numaralı limanı ile başka bir 80 numaralı limana göndereceğini düşündüm. Pek çok uzman olmayan kişinin aynı inanca sahip olduğunu düşünüyorum.
Nicolas Zozol
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.