Internet Relay Chat
İnternet iletişim kuralları dizisi | ||
Katman | İletişim kuralları | |
7. | Uygulama katmanı | HTTP, DNS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ... |
6. | Sunum katmanı | ISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ... |
5. | Oturum katmanı | NFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ... |
4. | Ulaşım katmanı | TCP, UDP, SCTP, DCCP, ... |
3. | Ağ katmanı | IP, IPv4, IPv6, ICMP, ARP, İnternet Grup Yönetim Protokolü, IPX,... |
2. | Veri bağlantısı katmanı | Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP... |
1. | Donanım katmanı | ISDN, RS-232, EIA-422, RS-449, EIA-485, ... |
Internet Relay Chat veya IRC (Türkçe: İnternet Aktarmalı Sohbet), İnternette en çok kullanılan protokollerden bir tanesidir. 1988 yılında Finlandiya'da Oulu Üniversitesi öğrencisi olan Jarkko Oikarinen tarafından yazılmıştır. Günümüzde IRC dünyanın hemen her yerindeki insanların kullandığı bir platform haline gelmiştir.
Microsoft, 1998'de tescilli IRCX aracılığıyla IRC için bir uzatma gerçekleştirdi. Daha sonra IRCX'i destekleyen yazılımları dağıtmayı durdurdu, bunun yerine tescilli MSNP'yi geliştirdiler.
İletişim
İki kişi arasında
IRC, asıl olarak bir sunucu ve istemciler ağıdır. ÖrnekNET isminde bir IRC sunucusuna bağlanan kişiler, her türlü iletişimi bu ÖrnekNET ağı üzerinden gerçekleştirirler. Kişi1, Kişi2'ye mesaj yolladığında:
- Kişi1'in mesajı → ÖrnekNET sunucusu → Kişi2
şeklinde bir yol izler. Günümüzde kullanılan MSN Messenger veya Yahoo Messenger gibi üstün özelliklere sahip programlar gibi görüntülü ve/veya sesli sohbet yerine, yukarıda açıklandığı gibi, düz-metin tabanlı bir iletişim söz konusudur, IRC'de. İletişimi sağlarken arada sunucunun bulunması, eğer Kişi1 Kişi2'yi rahatsız ediyorsa, Kişi2'nin dileğine göre Kişi1'in mesajlarının daha Kişi2'ye ulaşmadan engellenebilmesini sağlar.
İkiden fazla kişi arasında
Tabii ki, IRC'nin bu kadar popüler olmasının sebebi iki kişi arasındaki sağlamasından çok kişiler arası iletişimi aynı anda sağlamasıdır. Bu iletişim, IRC'de #kanal olarak adlandırılmıştır. Kullanıcı birçoklu konuşmaya katılmak istediğinde, yüzlerce kanal arasından dilediğini seçer ve o kanaldaki konuşmalara dahil olur. O zaman durum şöyle olur:
- Kişi1'in mesajı → ÖrnekNET sunucusu / #kanal138 (örnek ad) → #kanal138'deki tüm kişiler
Kanal yöneticileri
İki kişi arasındaki sohbet, sohbetten hoşlanmayan taraf tarafından sonlandırılabileceği gibi, ikiden fazla kişinin sohbet ettiği ortamları kanal yöneticileri yönlendirir. Kanal yöneticileri (kanal opları olarak da bilinir) kanaldaki kişi listesinin en üstünde, takma adlarının (takma adlar ileride anlatılacaktır) yanında @ simgesine sahiptirler (@Kişi1 gibi). Bu kişiler kanalda seviyesizlik yapanları kanaldan uzaklaştırabilir, kanalda konuşabilecek kişileri belirleyebilir ya da konuyu tümden değiştirebilirler. Ancak, IRC keyfi bir protokol olduğundan dolayı, bir kanal yöneticisi hiçbir sebebi olmadan, sırf canı istediği için kanaldan atabilir veya kanalda konuşma hakkınızı elinizden alabilir. Bu durumda yapabileceğiniz tek şey başka bir kanala katılmaktır.
Sunucu yöneticileri
Kanal yöneticileri, kişileri kanaldan uzaklaştırabilmekle birlikte kişileri sunucudan uzaklaştıramamaktadırlar. Bu yetki sunucu yöneticilerine verilmiştir. Bir sunucu yetkilisi, teknik, mali, ağ yöneticisi gibi farklı kademelerde görev alır. Bu yetki sıralamasında en üstte tüm yetkilere sahip sunucu sahibi (root admin, kök yönetici) yer alır. Bir sunucu yöneticisi kişileri sunucudan uzaklaştırabilir, onların sunucuya girmelerini engelleyebilir ve kanal yöneticilerini, bu durum pek yaşanmasa da gerekli olduğunda, değiştirebilir, takma adlara veya kanallara el koyabilir. Kanal yöneticilerinin kişileri kanaldan atmak gibi keyfi kararlarını uygulayabilmeleri gibi, sunucu yöneticileri de, bu yöneticiler genellikle uzman ve meşgul olmalarına rağmen, kanal yöneticilerini veya sıradan kullanıcıları sunucudan atabilir, kanallara el koyabilir ve bunun için hiçbir şekilde hesap vermeyebilir.
Takma ad, nickname
Tüm bu yaptırımlar takma adlar denilen (nickname), kişilerin IRC üzerinde diğer kişilere görünen yansımalarıdır. Örneğin gerçek adı Ahmet olan bir kişi takma ad olarak isterse Ahmeti, Mehmeti, Deryayı, Melisayı veya cilgin_adam, deli_dolu gibi takma adları kullanabilir. Fakat küfür, örf ve adetlere aykırı takma adlara sahip olan kişiler genellikle duyarlı sunucu ve kanal yöneticileri tarafından ortamdan uzaklaştırılır.
Botlar
Günümüzde IRC oldukça fazla kişi tarafından kullanıldığından birçok sorunun üstesinden gelinmesini sağlayan otomatik-insansız yansımalar hazırlanmıştır. Bu yansımalar, İngilizce ROBOT (otomatik işlev gören cihaz)'un kısaltılmışı olan BOT olarak IRC sözlüğünde yer alır. Bu botların en özelleşmişleri, ChanServ (kanal işlerinden sorumlu bot), NickServ (takma ad işlerinden sorumlu bot), MemoServ (çevrimdışı kişiler arasında iletişimden sorumlu bot), OperServ (sunucu yönetiminden sorumlu bot) olmak üzere ayrıca X ve Q adında iki ünlü bot dünya çapında kullanılmaktadır. İki farklı sunucudaki botlar da, takma adları aynı olsalar dahi birbirleri ile alakasızdırlar.
Bouncer (BNC, Fedai)
Bunun yanında IRC sözlüğünde bouncer ya da kısaca bnc olarak bilinen bir kullanım daha vardır. Güvenlik ve gizliliğine çok fazla önem veren veya aslında bilgisayar başında olmasa bile IRC'ye bağlı olarak kalmak isteyen kullanıcılar tarafından kullanılan bir sistemdir. Bir bouncer, Türkçe olarak fedai olarak çevrilmiştir. Fedai anlamını ise şuradan alır: Bir kullanıcı fedai kullanarak IRC'ye giriyorsa, IRC sunucusu kişiyi Fedai'nin bilgisayarından bağlanan birisi olarak tanır. Yani aslında kendi bilgisayarından fedaisine bağlanan kullanıcı, fedaisine IRC'ye bağlanmasını söyler ve fedai onun yerine IRC'ye bağlanarak bir Proxy sunucusu hizmeti görür (→ Proxy).
Güvenlik ve Dosya Alış-verişi
Günümüz IRC'si genişletilmiş güvenlik ve dosya alış-veriş hizmetleri sağlar. Bu genişletilmiş güvenlik hizmeti içinde SSL bağlantısı ve karmaşık şifreleme (encryption) bulunur. Ayrıca dosya alış-veriş hizmeti, yarı sunucu yarı kullanıcı arası tabanlı bir hizmet olup çalışma yapısı şu şekilde açıklanabilir:
- Kişi1, Kişi2'ye dosya yollamak ister
- Kişi1 → ÖrnekNET / dosya yollama isteği → Kişi2
- |___________> dosya alış-verişi >___________|
Görüldüğü üzere, sadece dosya yollama isteği sunucu üzerinden gerçekleşmekle beraber dosya alış-verişi iki kullanıcının birbirlerine doğrudan bağlanması ile gerçekleşir.