Teredo tünelleme

Teredo [1] ; yönlendirici ile istemci arasında kurulan bir tüneli kullanan IPv6 Geçiş Yöntemi'dir. Bu yöntemin 6to4 ve ISATAP yöntemlerinin kullanılamadığı senaryolarda son çare olarak kullanılması önerilmektedir. Teredo yönteminin temel amacı NAT veya güvenlik duvarı arkasında kalan istemcilerin IPv6 ağına bağlanmalarını sağlamaktır.

**Önemli:** Teredo arayüzü Windows 7 işletim sisteminde otomatik olarak ayarlanmakta ve çalıştırılmaktadır. Sanal IPv4 adresine sahip bir Windows 7 istemcide Teredo arayüzü otomatik aktif hale gelmekte ve istemci IPv6 ağına bağlanmaya hazır hale gelmektedir.

## Teredo Adres Yapısı

Teredo adres yapısında ilk 32 bit Teredo öneki (2001::/32 ) olarak belirlenmiştir. İkinci 32 bitlik bölümde Teredo sunucu IPv4 adresinin onaltılık tabanda gösterimi yer almaktadır. 16bitlik bayraklar bölümü adres tipini ve NAT yapısını belirtmektedir. Son 48 bit istemciye ulaşacak olan NAT cihazının global IPv4 bilgisini ve istemcinin dinlediği Teredo portuna ulaşacak NAT cihazı portu bilgisini içermektedir. Port bilgisi içeren 16 bitlik bölüm, NAT cihazı port numarasının bitlerinin ters çevrilmiş halidir. Benzer şekilde son 32 bitlik bölüm de NAT cihazının global IPv4 adresinin bitlerinin ters çevrilmiş halidir. Teredo istemci üzerinde, kullanılacak Teredo sunucunun adresini tanımlanır ve Teredo istemci IPv6 adresi almak için tanımlanmış Teredo sunucuyu kullanır. Tablo 1 ‘de bu adres yapısına bir örnek verilmiştir.

**NOT:** NAT cihazının IPv4 adresi ve port numarası, Teredo nakledicinin, istemcinin hangi NAT cihazının arkasında olduğunu bilmesi için IPv6 adresine gömülmüştür. Ancak bazı NAT cihazları paketin UDP verisi içinde geçen tüm NAT cihazı global IPv4 adreslerini, istemcinin yerel IP adresi ile otomatik olarak değiştirmektedir (SIP veya H.323). Bu şekilde bir değiştirme ile nakledici, NAT cihazının global IPv4 adresine erişemeyecektir. Bu kaybı engellemek için global IPv4 adresi ve port numarası IPv6 adresi içine gömülürken bitleri ters çevrilmektedir.

## Teredo Yöntemi Bileşenleri

Teredo geçiş yönteminde Teredo sunucu, Teredo istemci ve Teredo nakledici olmak üzere 3 bileşen bulunmaktadır. Tünel, Teredo nakledici ile Teredo istemci arasında kurulmaktadır. Bu yöntemde IPv6 paketi, IPv4 UDP paketine sarmalanarak gönderilmektedir. Bu sayede NAT veya güvenlik duvarı arkasında kalan istemciler de bu tünelleme yöntemi ile IPv6 ağına bağlanabilmektedir.

### Teredo Nakledici

Teredo nakledici, Teredo istemci ile IPv6 ucu arasındaki bağlantıyı sağlamaktadır. Teredo nakledici IPv6 yönlendirme protokollerini kullanarak Teredo önekini (2001::/32 ) IPv6 ağına duyurur. 2001::/32 ağına gelen trafiği tünelleyerek ilgili Teredo istemcisine (önce ilişkili Teredo sunucu ile iletişim kurarak) gönderir.

### Teredo Sunucu

Teredo sunucu, kendisi ile ilişkilendirilmiş Teredo istemcisinin NAT arkasında olup olmadığını, eğer NAT arkasında ise hangi yapıda bir NAT arkasında olduğunu tespit eder. Buna göre istemciye, içinde kendi IPv4 adresi, NAT cihazının IPv4 adresi ve port bilgisinin olduğu bir adres atar. NAT ve/veya ateş duvarı arkasındaki istemci ile Teredo nakledici arasındaki iletişimin başlamasını da istemciyi durumdan haberdar ederek sağlar. Aynı zamanda istemciye belirli aralıklarla UDP paketi göndererek kendisine bağlı istemciler ile iletişiminin devam ettiğini doğrular.
Ağ yöneticileri, kendi ağlarına Teredo sunucularını kurabilirler. Bunun avantajı Teredo istemcileri her IPv6 bağlantısı gerçekleştirdiğinde ağ dışında başka bir Teredo sunucusunun haberdar edilmemesidir. Dezavantajı ise ağdaki tüm Teredo istemcilere, Teredo sunucu ayarının yapılması gerekliliğidir.

### Teredo İstemci
Teredo istemci, NAT ve/veya güvenlik duvarı arkasında yer alan, global IPv4 bağlantısı bulunmayan bir cihazdır. Teredo istemcinin IPv6 ağına bağlanırken kullanacağı Teredo sunucu ayarlanmalıdır. Teredo istemci, Teredo sunucudan gelen IPv6 adresini kullanarak Teredo nakledici üzerinden IPv6 ağına bağlanır.

## Kaynakça

# Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs), C. Huitema, http://www.rfc-editor.org/rfc/rfc4380.txt 
# Kegel, D., "NAT and Peer-to-Peer Networking", July 1999. https://web.archive.org/web/20040208153540/http://www.alumni.caltech.edu/~dank/peer-nat.html 
# P. Srisuresh, B. Ford, D. Kegel, “State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)”, RFC 5128, Mart 2008
# Miredo: Teredo IPv6 tunneling for Linux and BSD, http://www.remlab.net/miredo/
# The IPv6 Portal, Connectivitiy, Teredo, http://www.ipv6tf.org/index.php?page=using/connectivity/teredo  
# IPv6 Day, Teredo Servers, http://www.ipv6day.org/action.php?n=En.GetConnected-Teredo  
# Dr. James Hoagland, “The Teredo Protocol: Tunneling Past Network Security and Other
# Security Implications”, https://web.archive.org/web/20120227055127/http://www.symantec.com/avcenter/reference/Teredo_Security.pdf