RFC 20 · Veri
Ağ Değişimi İçin ASCII Formatı
ASIL METİN 16 Ekim 1969·Vint Cerf, UCLA
ÇEVİRİ tarih kayıtlı değil·ASLINI GÖR
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
- Karakter Kodlama Problemi
- ASCII Standart Genel Bakışı
- ASCII Karakter Seti
- Ağ Uygulaması
- Dönüşüm Yönergeleri
- Kontrol Karakteri Kullanımı
- İletim Formatları
- Ö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
- Metin Değişimi: Dosyalar ağ genelinde okunamaz
- E-posta: Mesajlar iletimde bozuluyor
- Hata Ayıklama: Günlük dosyaları bozuk
- Taşınabilirlik: Yazılımı sistemler arasında taşımak zor
- Kullanıcı Hayal Kırıklığı: Temel metin iletişimi güvenilir değil
Standardizasyon İhtiyacı
Standardizasyon olmadan:
- Ağ metin için kullanılamaz hale gelir
- Geçici çözümler ve hileler çoğalır
- Kullanıcı güveni erozyona uğrar
- Her yeni host özel dönüştürme rutinleri gerektirir
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:
- Standartlaştırılmış: Birçok üretici tarafından zaten benimsenmiş
- Basit: 7-bit kodlama, uygulaması kolay
- Uyumlu: Çeşitli donanım platformlarında çalışır
- Verimli: Metin için kompakt temsil
- Yazdırılabilir: Okunabilir alfanumerik karakterler
- 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:
- 7-bit ASCII (bitler 0-6)
- İsteğe bağlı 8. bit: Eşlik veya uzantı
- Satır sonlandırma: CRLF (Carriage Return + Line Feed)
- Kod: CR(13) LF(10)
- Dizi:
\r\n
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:
- ASCII'de dosya meta verisi (ad, boyut, tarih)
- ASCII veya ikili dosya içeriği
- İkili ise: 7-bit kodlama kullan (örn., base64 benzeri)
- 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ı:
- Host'ta dönüşüm arama tablosu oluştur
- Tüm giden mesajlar: EBCDIC → ASCII
- Tüm gelen mesajlar: ASCII → EBCDIC
- Host yazılımı şeffaf şekilde işler
PDP-10 9-bit ASCII İçin
Dönüşüm Prosedürü:
- Tenex'ten 9-bit karakter kabul et
- 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:
- 0-6 bitlerinde ASCII kullan
- Bit 7 seçenekleri:
- Hata kontrolü için çift/tek eşlik
- Sıfır (kullanılmıyor)
- Ö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:
- CR imleci satırın başına taşır (daktilo semantiği)
- LF sonraki satıra ilerler
- Birleşik: sonraki satırın başına taşır
- Çoğu sistemle uyumlu
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
- Birlikte Çalışabilirlik: Tüm host'larda okunabilir metin
- Hata Ayıklanabilirlik: Günlük dosyaları insan tarafından okunabilir
- Basitlik: Tüm sistemler için tek kodlama
- Verimlilik: 7-bit kodlama bant genişliğini azaltır
- Uyumluluk: Mevcut yazılımla çalışır
Uzun Vadeli Etki
- Protokol Geliştirme: Tüm protokoller ASCII kullanır
- E-posta Sistemleri: Standart kodlamayla mümkün
- Uzaktan Erişim: TTY iletişimleri standartlaştırıldı
- Dosya Transferi: İkili dosyalar kodlanabilir
- 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:
- Metin tabanlı protokoller: HTTP, SMTP, FTP hepsi ASCII kullanır
- Mesaj standartları: E-posta, haber protokolleri
- Uzaktan erişim: Telnet ASCII'de standartlaştı
- Veri değişimi: İkili için Base64, hex kodlama
- Sistem yönetimi: Günlük dosyaları, yapılandırma dosyaları
Tarihsel Önem
- Ağlar için bir karakter kodlamasının ilk açık standardizasyonu
- Sonraki tüm metin tabanlı ağ protokollerini mümkün kıldı
- Onlarca yıl boyunca karakter kodlama standartlarını etkiledi
- Erken standardizasyon kararlarının değerini gösterdi
- ASCII'yi 50+ yıldır ağ lingua franca'sı olarak kurdu
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:
- Ağ değişimi için bir kodlama
- Net spesifikasyon belirsizliği önler
- Evrensel benimseme birlikte çalışabilirliği sağlar
- Geriye dönük uyumluluk evrim için önemli
Öneri
Yürürlük Tarihi: Hemen
Tüm ARPANET host'ları şunları yapmalıdır:
- ASCII'yi standart metin kodlaması olarak benimse
- Gerektiğinde EBCDIC/ASCII dönüşümünü uygula
- Hata tespiti için 8-bit eşlik uygula
- Satır sonlandırıcı olarak CRLF kullan
- Tüm mevcut iletişim protokollerini güncelle
- 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:
- Ağ gerçek insan iletişimi için kullanılabilirdi
- Metin dosyaları güvenilir şekilde transfer edilebilirdi
- Farklı host sistemleri birlikte çalışabilirdi
- Protokoller metin tabanlı mesajlaşma kullanabilirdi
- Uzaktan erişim pratik hale geldi
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
SERİDE KOMŞULARI
AYNI DALDAN — VERİ
BU SAYFA HAKKINDA
- İngilizce aslırfc-editor.org
- Çeviri hatası bildire-posta