CGNAT nedir? Paylaşılan IP adresinde kullanıcı tespiti

CGNAT (Carrier-Grade NAT), internet servis sağlayıcısının bir genel IPv4 adresini port aralıklarına bölerek aynı anda birden fazla aboneye kullandırdığı adres çevirisidir. Bu yüzden CGNAT arkasındaki bir bağlantıyı aboneye bağlamak için IP adresi yetmez: kaynak port ve saniye hassasiyetinde, saat dilimi belli bir zaman gerekir.

Güncellendi: Okuma süresi: 11 dkHazırlayan: md9

Kısaca

  • Operatör ile abone arasındaki bağlantıda 100.64.0.0/10 "paylaşılan adres alanı" kullanılabilir (RFC 6598); internette görünen ise operatörün genel IP adresidir.
  • Aynı genel IP'yi aynı saniyede birden fazla abone kullanır ve operatör onları kaynak portla ayırır. RFC 6302, sunucuların kaynak portu ve UTC'ye göre saniye hassasiyetinde zamanı kaydetmesini önerir.
  • 5651 sayılı Kanun'daki trafik bilgisi tanımı IP adresinin yanında kaynak ve hedef portu, hizmetin başlama ve bitiş zamanını da sayar (m.2/1-j).
  • Doğru eşleştirilmiş bir CGNAT kaydı bir aboneliği gösterir; bağlantıyı o abonelikte kimin kurduğu ayrı bir sorudur.
Bu sayfada
  1. CGNAT neden kullanılıyor?
  2. Bir bağlantı CGNAT'tan geçerken adres nasıl değişir?
  3. 100.64.0.0/10 adresi ne demek, özel IP'den farkı ne?
  4. Operatör portları abonelere nasıl paylaştırır?
  5. Kullanıcı tespiti için neden port ve saniye hassasiyetinde zaman gerekir?
  6. Operatörün CGNAT kaydında hangi alanlar bulunur?
  7. CGNAT kayıtlarını kim tutar, ne kadar süre saklanır?
  8. IPv6'da CGNAT var mı?
  9. Bağlantınızın CGNAT arkasında olup olmadığını nasıl anlarsınız?
  10. CGNAT kaydı bağlantıyı kimin kurduğunu gösterir mi?

CGNAT (Carrier-Grade NAT, taşıyıcı sınıfı adres çevirisi), bir internet servis sağlayıcısının genel IPv4 adreslerini abonelerine tek tek dağıtmak yerine her genel adresi port numaralarına bölerek aynı anda birden fazla aboneye kullandırdığı sistemdir. Evdeki modemin yaptığı adres çevirisinin (NAT) operatör ölçeğindeki karşılığıdır. Ev bağlantısı CGNAT arkasındaysa çeviri iki kez yapılır: önce modemde, sonra operatörün CGN cihazında (NAT444).

Bu yazı mekanizmayı ve operatör kayıtlarını anlatıyor. Bir IP kaydının dosyada bir kişiye ne ölçüde bağlanabileceğini IP adresi tek başına delil mi yazısında ayrıca ele aldık.

CGNAT neden kullanılıyor?

Çünkü dağıtılacak IPv4 adresi kalmadı. Avrupa, Orta Doğu ve Orta Asya'da adres tahsis eden RIPE NCC, 25 Kasım 2019'da IPv4 havuzunun tükendiğini duyurdu. IPv4'te toplam 2³², yani yaklaşık 4,3 milyar adres var. Yeni aboneye adres bulamayan operatörün önünde iki yol kalıyor: IPv6'ya geçmek ya da mevcut IPv4 adreslerini paylaştırmak. Hangi hatların CGNAT arkasında olduğu operatöre, hizmet türüne ve tarifeye göre değişir; olay tarihindeki durumu operatörün kendi kaydı gösterir.

Bir bağlantı CGNAT'tan geçerken adres nasıl değişir?

Bir bağlantının yolunda birbirini izleyen üç adres–port çifti oluşur ve her biri başka birinin kaydında durur. Örnek (kurgusal adresler):

  1. Evdeki dizüstü bilgisayar modemden 192.168.1.23 adresini almıştır. Bir web sitesine bağlanırken kaynak port olarak 51544 seçer.
  2. Modem bağlantıyı kendi WAN adresine çevirir. Modem CGNAT arkasındaysa bu adres genel değil, operatörün iç ağındaki 100.72.14.9 gibi bir adrestir; port da değişebilir, örneğin 40211.
  3. Operatörün CGN cihazı bağlantıyı genel adrese ve abonenin port aralığından bir porta çevirir: 198.51.100.40:30517. Web sitesinin sunucusu bağlantıyı bu adresten gelmiş görür.
KayıtKimin elindeGörünen
Cihazın ağ ayarları, tarayıcı ve uygulama izleriKullanıcı192.168.1.23:51544
Modemin NAT ve DHCP tablosuAbone (modem)İç adres ↔ 100.72.14.9:40211, cihazın MAC adresi
CGN kaydıOperatör100.72.14.9 ↔ 198.51.100.40, port aralığı, başlangıç ve bitiş zamanı, abonelik
Web sunucusu erişim loguSitenin işletmecisi198.51.100.40, loglanıyorsa port 30517, zaman

Geriye doğru eşleştirme bu tabloyu aşağıdan yukarı okumaktır. Her satır bir üstündekinin anahtarını taşır; bir satırda port ya da doğru zaman eksikse zincir orada dağılır.

100.64.0.0/10 adresi ne demek, özel IP'den farkı ne?

100.64.0.0/10, IETF'in CGNAT için ayırdığı paylaşılan adres alanıdır (Shared Address Space, RFC 6598, Nisan 2012). 100.64.0.0 ile 100.127.255.255 arasındaki 4.194.304 adresi kapsar, internette yönlendirilmez ve operatörün CGN cihazı ile abonenin modemi ya da telefonu arasındaki bağlantı için ayrılmıştır.

Ev ve ofis ağlarındaki 10/8, 172.16/12 ve 192.168/16 özel aralıklarından (RFC 1918) farkı kullanım yeridir. Ayrı bir aralığa gerek duyulmasının sebebi çakışmadır: abonenin modemi içeride 192.168.1.0/24 kullanırken operatör aynı aralığı modemin dış tarafında da kullanırsa adresler karışır. RFC 6598, operatörün abone ağında hangi RFC 1918 bloğunun kullanıldığını bilemediği durumlarda paylaşılan adres alanına başvurması gerektiğini söyler.

Modeminizin arayüzünde 100.64 ile 100.127 arasında başlayan bir WAN adresi görüyorsanız bağlantınız büyük olasılıkla CGNAT arkasındadır. Tersi her zaman doğru değildir; koşulları sağlayan bir operatör bu bağlantıda RFC 1918 adresleri de kullanabilir. Ters yönde bir tuzak da var: Tailscale gibi bazı VPN ağları cihazlara bu aralıktan adres verir. Bir adresin hangi aralığa düştüğünü IP adresi kontrol aracında görebilirsiniz.

Operatör portları abonelere nasıl paylaştırır?

Bir IPv4 adresinde 65.536 port vardır ve CGN bu portları aboneler arasında bölüştürür. Yöntem, operatörün neyi kaydettiğini ve bir bağlantıyı sonradan aboneye ne kadar güvenle bağlayabileceğini belirler.

YöntemNasıl çalışırNe kaydedilirEşleştirmede dikkat
Bağlantı başına dinamik portHer yeni bağlantıya o anda boştaki bir port verilir.Her bağlantı için ayrı satır: iç adres, genel adres, port, zaman.Log hacmi çok büyüktür. Port kısa sürede başka aboneye geçebildiği için saniye belirleyicidir.
Port bloğuAboneye bir port aralığı, örneğin 1.000 port, tahsis edilir; aralık bırakılana kadar abonede kalır.Bloğun tahsisi ve bırakılması: iç adres, genel adres, blok başlangıç ve bitiş portu, zaman.Port bloğa düşüyorsa tek abone çıkar. Blok el değiştirdiği anlara yakın sorgularda zaman sonucu değiştirir.
Deterministik eşleme (RFC 7422)İç adres ile genel adres ve port aralığı arasındaki ilişki bir formülle önceden sabitlenir.Algoritmanın parametreleri ve değiştikleri zamanlar; aralık taşarsa taşma tahsisleri.Eşleme hesaplanabilir, ama parametrelerin olay tarihindeki değerleri bilinmelidir.

Blok ve deterministik yöntemin neden tercih edildiği sayılarda görülür. RFC 7422, ABD'li operatörlerin raporlarına dayanarak hane başına günde ortalama 33.000 civarında bağlantı olduğunu ve bağlantı başına loglamanın bir milyon aboneli bir operatörde yılda yaklaşık 1,8 petabayt log üreteceğini hesaplar.

CGN cihazları için IETF'in ortak gereksinimleri (RFC 6888, Nisan 2013) de eşleştirmeyi etkiler:

  • Bir abonenin bağlantıları varsayılan olarak aynı genel adresten çıkmalıdır ("paired" havuz davranışı, REQ-2).
  • Abone başına port sayısı sınırlanabilmelidir (REQ-4).
  • Serbest kalan bir port, istisnalar dışında, en az 120 saniye geçmeden yeni bir eşlemeye verilmemelidir (REQ-8).

BTK'nın 2020 tarihli İSS trafik logu teknik dokümanı daha temkinlidir: her kullanıcıya bölünmemiş sabit bir port aralığı atanmasını (dokümandaki örnek 10001:11000) ve boşalan aralığın başka kullanıcıya verilmeden önce en az bir saat bekletilmesini tavsiye eder.

Kullanıcı tespiti için neden port ve saniye hassasiyetinde zaman gerekir?

Çünkü CGNAT'ta genel IP adresi tek bir aboneyi değil, o anda o adresi paylaşan abone grubunu gösterir. Gruptan aboneye inmenin anahtarı kaynak porttur; portun hangi abonede olduğu ise zamana göre değişir. RFC 6302 (Haziran 2011, BCP 162) bu yüzden internete açık sunucuların kaynak portu ve UTC'ye göre, saniye hassasiyetinde, NTP gibi izlenebilir bir kaynaktan alınmış zamanı kaydetmesini önerir; bu iki bilgi olmadan adres paylaşan operatörün müşteriyi tek başına belirleyemeyeceğini de yazar.

Örnek (kurgusal): Bir e-ticaret sitesinin logunda sahte bir siparişin 03.11.2025 tarihinde 198.51.100.40 adresinden verildiği görülüyor. Operatör o gün bu adresi 1.000 portluk bloklarla paylaştırıyor ve abonelerden birinin bloğu 30001–31000. Logda ne bulunduğuna göre sonuç değişir:

Sitenin logunda olanOperatör kaydından çıkabilecek sonuç
IP ve dakika: 18:42O dakikada adresi kullanan bütün aboneler. Aralarından biri seçilemez.
IP, port 30517, saniye ve saat dilimi: 18:42:17 UTC30001–31000 bloğunun o saniyedeki sahibi: tek abonelik.
IP, port ve saniye var, ama UTC değer Türkiye saati sanılarak sorulmuşSorgu üç saat öncesine yapılır. Blok o arada el değiştirmişse başka bir abone döner; cevapta tek abone olduğu için hata göze de çarpmaz.

Üçüncü satırda kayıt eksiksizdir, sonuç yine yanlıştır. BTK dokümanına göre İSS trafik loglarındaki tarihler Türkiye yerel saatiyle yazılır; platform ve sunucu kayıtları ise sıklıkla UTC ile gelir. Bu tür hataların diğer biçimlerini zaman damgaları ve saat dilimi yazısında örnekledik.

Port sunucu tarafında kendiliğinden loglanmaz. Apache ve Nginx'in varsayılan combined biçimi istemci portunu yazmaz; Apache'de %{remote}p, Nginx'te $remote_port alanı ayrıca eklenmelidir. Site bir CDN ya da ters vekil sunucunun (reverse proxy) arkasındaysa logdaki adres ve port o sunucuya aittir.

Operatörün CGNAT kaydında hangi alanlar bulunur?

Kaydın biçimi operatörden operatöre değişir. Kamuya açık en ayrıntılı tarif, BTK'nın İSS'lerden aldığı trafik logunu anlatan 2020 tarihli dokümandır (belge BTK sitesinde değil, basında yayımlanan kopyasıyla erişilebilir). Eşleştirme açısından önemli alanlar:

OZEL_IP, OZEL_PORT
Abonenin operatör ağındaki iç adresi ve portu.
GERCEK_IP, GERCEK_PORT_BASLANGIC, GERCEK_PORT_BITIS
İnternette görünen genel adres ve aboneye verilen port aralığı.
TRAFIK_BASLAMA_TARIH, TRAFIK_SURE
Başlangıç YYYYMMDDHH24MISS biçiminde ve Türkiye yerel saatiyle; süre saniye cinsinden, küsuratı yukarı yuvarlanarak.
HEDEF_IP, HEDEF_PORT
Bağlanılan sunucunun adresi ve portu. RFC 6888 gizlilik gerekçesiyle hedefin gerekmedikçe loglanmamasını önerir (REQ-12), BTK dokümanı ise bu alanları ister. Hedef adres varsa sorgu tek bir siteye yapılan bağlantıya daraltılabilir; Yargıtay 11. Ceza Dairesi'nin incelediği bir dosyadaki operatör yazısında da NAT'lı IP'lerde hat tespiti için kaynak IP ve port, zaman aralığı ve erişilen sitenin IP adresi istenmiştir (E.2021/31653, K.2024/2780).
KULLANICI_ADI@DOMAIN, OTURUM_ID
Kaydı abonelik ve oturum dosyalarıyla birleştiren anahtarlar. Mobil hatlara ait kayıtlarda uygulamada hat numarası ve cihaz kimliği (IMEI) de görülebilir.
PACKET_TYPE
Aynı oturumun başlangıç, ara güncelleme ve bitiş satırları ayrı gelir. Satır saymak bağlantı saymak değildir; tekilleştirme oturum kimliğiyle yapılır.

CGNAT kayıtlarını kim tutar, ne kadar süre saklanır?

Kayıtları operatör tutar; taraflar bunları doğrudan operatörden alamaz, çünkü trafik verisinin gizliliği esastır (5809 m.51/2). Kayıtlar mahkeme ya da savcılık yazısıyla istenir. Yargıtay kararlarında CGNAT verilerinin BTK'dan getirtilmesinden söz edilir (ör. 17. CD, E.2018/5732, K.2019/7785); 5651 sayılı Kanun'daki "Kurum" atıfları ise 7590 sayılı Kanunla büyük ölçüde Siber Güvenlik Başkanlığı olarak değiştirildi (yürürlük 31.07.2026).

Kanundaki tanım port ve zamanı açıkça sayar: trafik bilgisi "taraflara ilişkin IP adresi, kaynak ve hedef port bilgisi, verilen hizmetin başlama ve bitiş zamanı, yararlanılan hizmetin türü, aktarılan veri miktarı ve varsa abone kimlik bilgileri"dir (5651 m.2/1-j). Port bilgisi tanıma 2020'de 7253 sayılı Kanunla, "kaynak ve hedef" ibaresi 2026'da 7590 sayılı Kanunla eklendi. Saklama süresi ise tek bir sayıya bağlanmış değil:

  • Erişim sağlayıcılar trafik bilgisini altı ay ile iki yıl arasında, yönetmelikte belirlenecek süre kadar saklar (5651 m.6/1-b). Uygulama yönetmeliğindeki bir yıllık süre Danıştay 13. Dairesi'nin kararıyla iptal edildi (E.2013/239, K.2019/4266; İDDK, E.2020/1851, K.2022/649 ile kesinleşti); bugün uygulanan somut süre bu yüzden tartışmalıdır.
  • Elektronik haberleşme mevzuatı trafik verisinin saklama süresini bir ile iki yıl arasında olmak üzere yönetmeliğe bırakır (5809 m.51/10).
  • İnternet toplu kullanım sağlayıcıları (kafe, otel, kurum ağı) erişim kayıtlarını iki yıl saklar; NAT'lı erişimde kullanıcıya tahsis edilen gerçek IP ve port da bu kayda dahildir (Toplu Kullanım Yönetmeliği m.3/1-e, m.4/1-b).

Eski olaylarda bir soru daha var: port o tarihte kaydediliyor muydu? Yargıtay 8. Ceza Dairesi 2014'te port bilgisinin önemini vurgularken bunun tutulmasının o tarihte yasal zorunluluk olmadığını da not etmişti (E.2013/4668, K.2014/9860). Hangi IP'nin, hangi port, zaman aralığı ve saat dilimiyle sorulacağı olayın hemen ardından netleştirilmelidir.

IPv6'da CGNAT var mı?

IPv6'da adres sıkıntısı olmadığı için paylaştırmaya gerek yoktur. Operatör aboneye bir önek (prefix) verir; ev bağlantılarında bu önek genellikle DHCPv6 önek delegasyonuyla (RFC 8415) atanır ve modemin arkasındaki her cihaz adresini bu önekten üretir. Eşleştirme bu yüzden önek düzeyinde yapılır. Cihaz tarafındaki son 64 bit ise gizlilik için çoğu zaman sık değişir; RFC 8981'e göre geçici adresler varsayılan olarak bir gün tercih edilir, iki gün geçerli kalır.

Yine de IPv6 kullanmak IPv4 paylaşımını ortadan kaldırmaz. IPv6 desteği olmayan bir sunucuya bağlanmak için IPv4 gerekir ve yalnızca IPv6 ile çalışan şebekeler bu trafiği operatör tarafında çevirir:

  • 464XLAT (RFC 6877): yalnızca IPv6 kullanan 3GPP mobil şebekeleri için tanımlanmıştır. Operatör tarafındaki çevirici (PLAT), durum tutan NAT64 (RFC 6146) ile çok sayıda aboneyi az sayıda genel IPv4 adresinde toplar. IPv4 sunucusunun logunda görünen yine paylaşılan bir adrestir.
  • DS-Lite (RFC 6333): abonenin IPv4 trafiği IPv6 tüneliyle operatörün AFTR cihazına taşınır ve orada çevrilir. AFTR aboneleri tünelin IPv6 kaynak adresiyle ayırır; abonenin kayıttaki anahtarı bu IPv6 adresidir.

Çift yığınlı (dual-stack) bir cihaz aynı dakikada bir hizmete IPv6, diğerine IPv4 ile bağlanabilir. İki platformun aynı hesap için farklı türde adres bildirmesi kendi başına çelişki sayılmaz.

Bağlantınızın CGNAT arkasında olup olmadığını nasıl anlarsınız?

  1. Modemin yönetim arayüzünde WAN ya da "İnternet" adresine bakın.
  2. Aynı anda bir "IP adresim ne" sayfasında görünen genel adresle karşılaştırın. İkisi farklıysa modem ile internet arasında bir çeviri daha vardır.
  3. WAN adresi 100.64 ile 100.127 arasındaysa bu çeviri büyük olasılıkla operatörün CGNAT'ıdır. Aralığı IP adresi kontrol aracında doğrulayabilirsiniz; araç hiçbir sorguyu dışarı göndermez.
  4. Sonuç bir dosyada kullanılacaksa tarih ve saatiyle kaydedin. Modem yeniden başlayınca WAN adresi değişebilir; bugünkü kontrol olay tarihindeki durumu göstermez.

CGNAT kaydı bağlantıyı kimin kurduğunu gösterir mi?

Hayır, en iyi hâlde hangi aboneliğin kurduğunu gösterir. O aboneliğin ağını kimlerin kullandığı ve bağlantının hangi cihazdan kurulduğu ayrı kayıtlar ister. Kanun da bu ayrımı tanır: iletişimin tespiti talebine hattın ya da iletişim aracının sahibini "ve biliniyorsa kullanıcısını" gösteren belge eklenir (CMK m.135/2). Yargıtay 17. Ceza Dairesi, IP adreslerinin hangi cihazlardan kullanıldığı araştırılmadan ve suç tarihine ait CGNAT verileri getirtilmeden kurulan mahkûmiyeti bozmuştur (E.2018/5732, K.2019/7785).

Bu eşleştirmeyi bir dosya üzerinde nasıl incelediğimizi IP ve CGNAT analizi sayfasında anlattık; bulguların hukuki değerlendirmesi avukata ve mahkemeye aittir.

Sık sorulan sorular

CGNAT'ta kullanıcı nasıl tespit edilir?

Sunucu logundaki genel IP adresi, kaynak port ve saniye hassasiyetinde zaman, saat dilimiyle birlikte operatörün CGN kaydında aranır. Kayıt, o saniyede o portu kullanan iç adrese, oradan da aboneliğe götürür. Port ya da doğru zaman yoksa operatör aynı adresi paylaşan birden fazla abone döndürebilir. Ulaşılan yer kişi değil aboneliktir; bağlantıyı kimin kurduğu ayrıca araştırılır.

Port bilgisi neden gerekli?

CGNAT'ta aynı genel IPv4 adresini aynı anda birden fazla abone kullanır ve operatör onları port numarasıyla ayırır. RFC 6302 internete açık sunucuların kaynak portu ve UTC'ye göre saniye hassasiyetinde zamanı kaydetmesini önerir; 5651 sayılı Kanun'daki trafik bilgisi tanımı da kaynak ve hedef portu sayar. Apache ve Nginx'in varsayılan log biçimi portu yazmaz, bu alan ayrıca eklenmelidir.

100.64 ile başlayan IP adresi ne demek?

100.64.0.0/10 aralığı (100.64.0.0–100.127.255.255), RFC 6598 ile operatörlerin CGNAT kullanımı için ayrılmış paylaşılan adres alanıdır. Modeminizin ya da telefonunuzun WAN adresi bu aralıktaysa bağlantınız büyük olasılıkla operatörün CGNAT'ı arkasındadır. Bu adresler internette yönlendirilmez, web sitelerinin loglarında görünmez. Bazı VPN ağları da aynı aralığı kullanır.

CGNAT arkasındayken port yönlendirme neden çalışmaz?

Modemde açtığınız port yalnızca modemin kendi adres çevirisinde geçerlidir. Dışarıdan gelen bağlantı önce operatörün CGN cihazına ulaşır; orada sizin için bir eşleme yoksa paket modeme hiç iletilmez. Oyun sunucusu, uzaktan masaüstü ya da kamera kaydedici gibi dışarıdan bağlantı bekleyen hizmetler bu yüzden çalışmaz. Çözüm operatörün seçeneklerine bağlıdır: genel IPv4 adresi tahsisi ya da IPv6 üzerinden erişim.

CGNAT kayıtları ne kadar süre saklanır?

Tek bir süre yoktur. 5651 sayılı Kanun erişim sağlayıcılar için altı ay ile iki yıl, 5809 sayılı Kanun trafik verileri için bir ile iki yıl arasında bir süreyi yönetmeliğe bırakır; internet toplu kullanım sağlayıcıları erişim kayıtlarını iki yıl saklar. Somut süre kayıt türüne ve döneme göre değişebildiği için talebin olaydan hemen sonra netleştirilmesi gerekir.

Aynı IP adresini kaç abone paylaşır?

Operatörün port paylaştırma yöntemine bağlıdır. Kullanılabilir 1024–65535 aralığı 1.000 portluk bloklara bölünürse bir genel adresi aynı anda en fazla 64 abone, 256 portluk bloklarda 252 abone kullanabilir. Bağlantı başına dinamik port veren sistemlerde sayı anlık kullanıma göre değişir. Gerçek sayıyı yalnızca operatörün olay tarihindeki kaydı gösterir.

Kaynaklar

  1. RFC 6598: IANA-Reserved IPv4 Prefix for Shared Address Space (BCP 153) — IETF
  2. RFC 6888: Common Requirements for Carrier-Grade NATs (BCP 127) — IETF
  3. RFC 6302: Logging Recommendations for Internet-Facing Servers (BCP 162) — IETF
  4. RFC 7422: Deterministic Address Mapping to Reduce Logging in Carrier-Grade NAT Deployments — IETF
  5. 5651 sayılı İnternet Ortamında Yapılan Yayınların Düzenlenmesi ve Bu Yayınlar Yoluyla İşlenen Suçlarla Mücadele Edilmesi Hakkında Kanun (m.2/1-j, m.6/1-b) — mevzuat.gov.tr
  6. 5809 sayılı Elektronik Haberleşme Kanunu (m.51) — mevzuat.gov.tr
  7. İnternet Toplu Kullanım Sağlayıcıları Hakkında Yönetmelik (m.3/1-e, m.4) — mevzuat.gov.tr
  8. İSS Trafik Logu Teknik Detay Dokümanı v2.1 (Aralık 2020; basında yayımlanan kopya) — Bilgi Teknolojileri ve İletişim Kurumu