NAT etrafında Röleler Kullanarak Geçiş - Traversal Using Relays around NAT

NAT etrafında Röleler Kullanarak Geçiş (DÖNÜŞ) bir protokol geçişine yardımcı olan ağ adresi çeviricileri (NAT) veya güvenlik duvarları multimedya uygulamaları için. İle kullanılabilir Geçiş kontrol protokolü (TCP) ve Kullanıcı Datagram Protokolü (UDP). Tarafından maskelenen ağlardaki istemciler için en kullanışlıdır. simetrik NAT cihazlar. TURN koşmaya yardımcı olmuyor sunucular bir NAT aracılığıyla özel ağdaki iyi bilinen bağlantı noktalarında; örneğin telefonda olduğu gibi, bir NAT arkasındaki bir kullanıcının yalnızca tek bir eşe bağlantısını destekler.

TURN, tarafından belirtilir RFC  8656. TURN URI şeması şurada belgelenmiştir: RFC  7065.

Giriş

NAT'ler fayda sağlarken aynı zamanda dezavantajlara da sahiptir. Bu dezavantajların en sıkıntısı, mevcut birçok IP uygulamasını kırmaları ve yenilerini yerleştirmeyi zorlaştırmalarıdır. "NAT dostu" protokollerin nasıl oluşturulacağını açıklayan kılavuzlar geliştirilmiştir, ancak birçok protokol bu kılavuzlara göre oluşturulamaz. Bu tür protokollerin örnekleri arasında multimedya uygulamaları ve dosya paylaşımı yer alır.

NAT için Oturum Geçiş Araçları (STUN), bir uygulamanın bir NAT'ı geçmesi için bir yol sağlar. STUN, istemcinin bir eşten paket almak için yararlı olabilecek bir taşıma adresi (bir IP adresi ve bağlantı noktası) almasına izin verir. Bununla birlikte, STUN tarafından alınan adresler tüm eşler tarafından kullanılamayabilir. Bu adresler, ağın topolojik koşullarına bağlı olarak çalışır. Bu nedenle, STUN kendi başına NAT geçişi için tam bir çözüm sağlayamaz.

Eksiksiz bir çözüm, bir müşterinin, kamusal İnternet'e paket gönderebilen herhangi bir eşten medyayı alabileceği bir taşıma adresi alabileceği bir araç gerektirir. Bu, yalnızca verileri halka açık İnternet'te bulunan bir sunucu üzerinden geçirerek gerçekleştirilebilir. Relay NAT (TURN) Kullanarak Geçiş, bir istemcinin böyle bir röleden IP adresleri ve bağlantı noktaları almasına olanak tanıyan bir protokoldür.

TURN neredeyse her zaman bir istemciye bağlantı sağlasa da, TURN sunucusunun sağlayıcısı için yoğun kaynak gerektirir. Bu nedenle TURN'un yalnızca son çare olarak kullanılması ve mümkün olduğunda diğer mekanizmaların (STUN veya doğrudan bağlantı gibi) tercih edilmesi arzu edilir. Bunu başarmak için Etkileşimli Bağlantı Kuruluşu (ICE) metodolojisi, optimum bağlantı araçlarını keşfetmek için kullanılabilir.

Protokol

İşlem, bir istemci bilgisayar bir veri işlemi için bir eş bilgisayarla iletişim kurmak istediğinde başlar, ancak hem istemci hem de eş ilgili NAT'lerin arkasında olduğu için bunu yapamaz. NAT'lardan biri simetrik NAT (STUN uyumlu olmadığı bilinen bir NAT türü) olduğu için STUN bir seçenek değilse, TURN kullanılmalıdır.

İlk olarak, istemci bir "Ayırma" isteği ile bir TURN sunucusuyla bağlantı kurar. Allocate isteği TURN sunucusundan kaynaklarının bir kısmını istemci için bir eşle iletişim kurabilmesi için tahsis etmesini ister. Tahsis etme mümkünse, sunucu, istemcinin bir aktarıcı olarak kullanması için bir adres tahsis eder ve istemciye TURN sunucusunda bulunan bir "tahsis edilmiş aktarılmış taşıma adresi" içeren bir "Tahsis Başarılı" yanıtı gönderir.

İkinci olarak, istemci, eş-sunucu iletişimi için bir izin kontrol sistemi oluşturmak üzere TURN sunucusuna bir CreatePermissions isteği gönderir. Başka bir deyişle, bir eş ile nihayet iletişim kurulduğunda ve istemciye aktarılmak üzere TURN sunucusuna bilgi geri gönderdiğinde, TURN sunucusu, eşler arası sunucu iletişiminin geçerli olduğunu doğrulamak için izinleri kullanır.

İzinler oluşturulduktan sonra, istemcinin gerçek verileri göndermek için iki seçeneği vardır, (1) Gönderme mekanizmasını kullanabilir veya (2) ChannelBind talebini kullanarak bir kanal rezerve edebilir. Gönderme mekanizması daha basittir, ancak bir TURN aktarmalı görüşmede bant genişliğini önemli ölçüde artırabilen 36 baytlık daha büyük bir başlık içerir. Buna karşılık, ChannelBind yöntemi daha hafiftir: başlık yalnızca 4 bayttır, ancak diğer hususların yanı sıra periyodik olarak yenilenmesi gereken bir kanalın ayrılmasını gerektirir.

Gönderme veya kanal bağlama yöntemlerinden herhangi birini kullanarak, TURN sunucusu istemciden verileri alır ve Kaynak Adresi olarak "Tahsis Edilen Aktarım Adresini" içeren UDP datagramlarını kullanarak eşe aktarır. Eş, verileri alır ve yine taşıma protokolü olarak bir UDP datagramı kullanarak yanıt verir, UDP datagramını TURN sunucusundaki röle adresine gönderir.

TURN sunucusu eş UDP datagramını alır, izinleri kontrol eder ve geçerliyse istemciye iletir.

Bu süreç simetrik NAT'leri bile aşar çünkü hem istemci hem de eş en azından iletişim için bir röle IP adresi tahsis eden TURN sunucusuyla konuşabilir.

TURN, daha fazla NAT türünün geçişine yardımcı olması açısından STUN'dan daha sağlam olsa da, bir TURN iletişimi sunucu üzerinden tüm iletişimi aktarır, bu da tipik olarak yalnızca genel olarak görünen IP adresini ve röleleri çözen STUN protokolünden çok daha fazla sunucu bant genişliği gerektirir. doğrudan iletişimde kullanmaları için müşteriye ve meslektaşlara bilgi. Bu nedenle, ICE protokolü, STUN kullanımını ilk çare olarak zorunlu kılar ve TURN kullanımını yalnızca simetrik NAT'ler veya STUN'un kullanılamadığı diğer durumlar.

Ayrıca bakınız

Dış bağlantılar