← rfc/
╔══════════════════════════════════════════════════════════════════════════╗
RFC 20 · data

Ağ Değişimi İçin ASCII Formatı

Yazar
Vint Cerf
Kurum
UCLA
Tarih
16 Ekim 1969
Durum
Network Working Group Yorum Talebi
Kanal
data/

Genel Bakış

Konu: Ağ iletişimleri için ASCII karakter kodlamasının standardizasyonu.

Problem: Erken ARPANET host'ları farklı karakter kodlama şemaları kullanıyordu, bu da metin değişimini sorunlu hale getiriyordu.

Öneri: Tüm ağ iletişimi için evrensel karakter formatı olarak ASCII (American Standard Code for Information Interchange) oluşturma.

Önem: Bu standardizasyon tüm ağ protokolleri için temel oldu ve bugün hala standarttır.


İçindekiler

  1. Karakter Kodlama Problemi
  2. ASCII Standart Genel Bakışı
  3. ASCII Karakter Seti
  4. Ağ Uygulaması
  5. Dönüşüm Yönergeleri
  6. Kontrol Karakteri Kullanımı
  7. İletim Formatları
  8. Önem

Karakter Kodlama Problemi

Mevcut Durum

ARPANET host'ları uyumsuz karakter kodları kullanıyordu:

Host Sistemi Kodlama Sorun
IBM 360/370 EBCDIC Metin sistemleriyle uyumsuz
PDP-10 (Tenex) ASCII varyantı 9-bit varyant standart dışı
Unix 7-bit ASCII Diğerlerinden biraz farklı
Diğer Çeşitli Standardizasyon yok

Örnek Problem:

UCLA'dan mesaj (ASCII):     H e l l o
IBM'de alınan (EBCDIC):     ¿ È ô ô ø   [okunamaz]

Sonuçlar

  1. Metin Değişimi: Dosyalar ağ genelinde okunamaz
  2. E-posta: Mesajlar iletimde bozuluyor
  3. Hata Ayıklama: Günlük dosyaları bozuk
  4. Taşınabilirlik: Yazılımı sistemler arasında taşımak zor
  5. Kullanıcı Hayal Kırıklığı: Temel metin iletişimi güvenilir değil

Standardizasyon İhtiyacı

Standardizasyon olmadan:


ASCII Standart Genel Bakışı

ASCII Nedir?

ASCII = American Standard Code for Information Interchange (Bilgi Değişimi İçin Amerikan Standardı Kodu)

Ana Özellikler:

Özellik Değer
Karakter başına bit 7 (artı isteğe bağlı 8. eşlik biti)
Toplam kod 128 (7-bit) veya 256 (eşlikle 8-bit)
Yazdırılabilir karakterler 95 (kodlar 32-126)
Kontrol karakterleri 33 (kodlar 0-31)
Standart ANSI X3.4 (Amerikan Standardı)
Köken 1963'te yayınlandı
Benimseme Bilişim endüstrisinde yaygın

Neden ASCII?

Avantajlar:

  1. Standartlaştırılmış: Birçok üretici tarafından zaten benimsenmiş
  2. Basit: 7-bit kodlama, uygulaması kolay
  3. Uyumlu: Çeşitli donanım platformlarında çalışır
  4. Verimli: Metin için kompakt temsil
  5. Yazdırılabilir: Okunabilir alfanumerik karakterler
  6. Yerleşik: 1963'ten beri endüstri standardı

ASCII Karakter Seti

ASCII Karakter Tablosu

Yazdırılabilir Karakterler (32-126)

Boşluk'tan DEL'e (127)
0 1 2 3 4 5 6 7 8 9
0   SP ! " # $ % & ' ( )
1   * + , - . / 0 1 2 3
2   4 5 6 7 8 9 : ;  ? @ A B C D E F G
4   H I J K L M N O P Q
5   R S T U V W X Y Z [
6   \ ] ^ _ ` a b c d e
7   f g h i j k l m n o
8   p q r s t u v w x y
9   z { | } ~ DEL

Kontrol Karakterleri (0-31)

Kod Kısaltma Ad Amaç
0 NUL Null Dolgu, hiçbir şey
7 BEL Bell Uyarı/dikkat sinyali
8 BS Backspace Önceki karakteri sil
9 HT Horizontal Tab Sonraki sekme durağına git
10 LF Line Feed Sonraki satıra geç
11 VT Vertical Tab Sütunlarda aşağı in
12 FF Form Feed Sonraki sayfaya geç
13 CR Carriage Return Satırın başına git
27 ESC Escape Özel dizi sinyali
28-31 FS,GS,RS,US Ayırıcılar Kayıt/alan/grup/birim ayırıcıları

Detaylı Karakter Haritası

Büyük Harfler (65-90)

A(65) B(66) C(67) ... X(88) Y(89) Z(90)

Küçük Harfler (97-122)

a(97) b(98) c(99) ... x(120) y(121) z(122)

Rakamlar (48-57)

0(48) 1(49) 2(50) ... 8(56) 9(57)

Noktalama ve Semboller

SP(32)  !(33) "(34) #(35) $(36) %(37) &(38) '(39)
((40)   )(41) *(42) +(43) ,(44) -(45) .(46) /(47)
:(58)   ;(59) (62) ?(63) @(64)
[(91)   \(92) ](93) ^(94) _(95) `(96)
{(123)  |(124) }(125) ~(126) DEL(127)

Ağ Uygulaması

Standart Ağ Metin Formatı

Kural 1: İletim Formatı

Ağda iletilen tüm metinler şunları kullanır:

Kural 2: Mesaj Başlığı

[Satır 1] Başlık bilgisi
[Satır 2] Konu/başlık
[Satır 3] (boş satır)
[Satırlar 4+] Mesaj gövdesi
[Son Satır] İmza/kapanış

Örnek E-posta Formatı:

From: kullanıcı@host
To: alıcı@host
Date: 1969-10-16 14:30:00
Subject: Ağ testi
Bu, ASCII iletimini gösteren bir test mesajıdır.
Saygılarımla,
Vint Cerf

Kural 3: Dosya Transfer Formatı

Dosyalar şu şekilde transfer edilir:

  1. ASCII'de dosya meta verisi (ad, boyut, tarih)
  2. ASCII veya ikili dosya içeriği
  3. İkili ise: 7-bit kodlama kullan (örn., base64 benzeri)
  4. Bitiş işaretçisi: açık EOF sinyali (RFC 13'e göre)

Dönüşüm Yönergeleri

IBM EBCDIC Sistemleri İçin

Dönüşüm Tablosu (EBCDIC → ASCII):

EBCDIC 'A' (0xC1) → ASCII 'A' (0x41)
EBCDIC 'a' (0x81) → ASCII 'a' (0x61)
EBCDIC '0' (0xF0) → ASCII '0' (0x30)
EBCDIC ' ' (0x40) → ASCII ' ' (0x20)

Uygulama Yaklaşımı:

  1. Host'ta dönüşüm arama tablosu oluştur
  2. Tüm giden mesajlar: EBCDIC → ASCII
  3. Tüm gelen mesajlar: ASCII → EBCDIC
  4. Host yazılımı şeffaf şekilde işler

PDP-10 9-bit ASCII İçin

Dönüşüm Prosedürü:

  1. Tenex'ten 9-bit karakter kabul et
  2. biti çıkar (yüksek seviyeli bit)

7-bit ASCII karakterini ilet Alıcı host 8. biti 0'a ayarlar (veya eşlik kullanır)

Yeni 8-bit Sistemler İçin

Öneri:

  1. 0-6 bitlerinde ASCII kullan
  2. Bit 7 seçenekleri:
  3. Hata kontrolü için çift/tek eşlik
  4. Sıfır (kullanılmıyor)
  5. Özel karakterler için uzantı

Kontrol Karakteri Kullanımı

Ağ Açısından Önemli Kontrol Karakterleri

Kritik Sinyaller

Karakter Kod Ağ Amacı Örnek
CR 13 Satır sonu Mesaj satır sınırını işaretle
LF 10 Satır besleme Sonraki satıra ilerle
ESC 27 Kaçış dizisi Özel işleme
EOF Özel Dosya sonu Dosya iletim sonunu işaretle

TTY Kontrolleri (Uzaktan Oturum Açma İçin)

Karakter Kod Etki
^C 3 Kesinti (Ctrl+C)
^D 4 Dosya sonu
^S 19 Çıkışı durdur/duraklat
^Q 17 Çıkışı devam ettir
^Z 26 Askıya al (gelecek)

Satır Sonlandırma Standardı

Ağ Standardı: CRLF (CR + LF)

Gerekçe:

Tel Formatı:

Metin ... [CR=13] [LF=10] ... Sonraki satır

İletim Formatları

Format 1: Satır Odaklı Metin

||CR|LF|
"Merhaba ARPANET"          13 10
||CR|LF|
"Bu bir testtir"           13 10
||CR|LF|
""                         13 10

Format 2: İkili Veri (Base64 Benzeri Kodlama)

ASCII olmayan veriler için, ASCII yazdırılabilir karakterler olarak kodla:

[İKİLİ VERİ BAŞLANGIÇ]
SGVsbG8gPT0gPHdvcmxk   (base64 kodlama)
[İKİLİ VERİ BİTİŞ]

Format 3: Yapılandırılmış Mesajlar

[MESAJ BAŞLANGIÇ]
FROM[TAB]kullanıcı@UCLA[CR][LF]
TO[TAB]kullanıcı@SRI[CR][LF]
DATE[TAB]1969-10-16[CR][LF]
[CR][LF]
[ASCII'de mesaj gövdesi]
[CR][LF]
[MESAJ BİTİŞ]

ASCII Standardizasyonunun Faydaları

Anında Faydalar

  1. Birlikte Çalışabilirlik: Tüm host'larda okunabilir metin
  2. Hata Ayıklanabilirlik: Günlük dosyaları insan tarafından okunabilir
  3. Basitlik: Tüm sistemler için tek kodlama
  4. Verimlilik: 7-bit kodlama bant genişliğini azaltır
  5. Uyumluluk: Mevcut yazılımla çalışır

Uzun Vadeli Etki

  1. Protokol Geliştirme: Tüm protokoller ASCII kullanır
  2. E-posta Sistemleri: Standart kodlamayla mümkün
  3. Uzaktan Erişim: TTY iletişimleri standartlaştırıldı
  4. Dosya Transferi: İkili dosyalar kodlanabilir
  5. Ağ Hizmetleri: Tüm hizmetler için ortak temel

Önem

RFC 20, tüm ağ protokollerini şekillendirecek temel bir ilke oluşturur: tek bir karakter kodlamasında standardizasyon.

Ağ Geliştirmesi Üzerindeki Etki

ASCII ağın evrensel dili oldu:

  1. Metin tabanlı protokoller: HTTP, SMTP, FTP hepsi ASCII kullanır
  2. Mesaj standartları: E-posta, haber protokolleri
  3. Uzaktan erişim: Telnet ASCII'de standartlaştı
  4. Veri değişimi: İkili için Base64, hex kodlama
  5. Sistem yönetimi: Günlük dosyaları, yapılandırma dosyaları

Tarihsel Önem

Modern İlgililik

UTF-8 modern internet protokolleri için büyük ölçüde ASCII'nin yerini almış olsa da, ilke geçerli kalır:


Öneri

Yürürlük Tarihi: Hemen

Tüm ARPANET host'ları şunları yapmalıdır:

  1. ASCII'yi standart metin kodlaması olarak benimse
  2. Gerektiğinde EBCDIC/ASCII dönüşümünü uygula
  3. Hata tespiti için 8-bit eşlik uygula
  4. Satır sonlandırıcı olarak CRLF kullan
  5. Tüm mevcut iletişim protokollerini güncelle
  6. Kullanıcılar için dönüşüm prosedürlerini belgele

Sonuç

RFC 20'nin ASCII'de standardizasyonu teknik olarak devrimci değildi ancak idari olarak kritikti. Bu basit standardizasyon şu anlama geliyordu:

Bu standardizasyonun başarısı, ağ büyümesini ve işlevselliğini sağlamada erken, net teknik kararların gücünü gösterir.


University of California, Los Angeles (UCLA)

Network Working Group

Ekim 1969