RFC 16 · Veri
Önerilen Tek Tip Gün ve Saat Belirtimi
ASIL METİN 27 Ağustos 1969·Jon Postel, UCLA
ÇEVİRİ tarih kayıtlı değil·ASLINI GÖR
Genel Bakış
Konu: ARPANET host'ları arasında tarih ve saat temsilinin standardizasyonu.
Problem: Farklı host'lar farklı tarih/saat formatları kullanıyor, bu da zamanlama, günlük kaydı ve ağ koordinasyonunu zorlaştırıyor.
Öneri: Tüm ağ host'larının iletişim ve koordinasyon için kullanması gereken tek tip bir gün ve saat belirtimi oluşturma.
İçindekiler
- Problem Tanımı
- Gereksinim Analizi
- Önerilen Format
- Kullanım Örnekleri
- Uygulama Yönergeleri
- Benimseme Stratejisi
- Önem
Problem Tanımı
Mevcut Durum
ARPANET host'ları değişken tarih/saat temsilleriyle çalışıyordu:
| Host | Format | Örnek | Sorunlar |
|---|---|---|---|
| Unix | Dönemden beri saniye | 1234567890 | İkili kodlama, insanlar için zor |
| Tenex | Tarih/Saat tuple'ı | (15-Aug-1969 14:30:00) | Metin, ama farklı sözdizimi |
| IBM | Sıralı format | 69.235.14:30 | Tescilli kodlama |
| Diğerleri | Özel formatlar | Sisteme bağımlı | Standardizasyon yok |
Sonuçlar
- Günlük Korelasyon: Host'lar arasında olayları eşleştirmek imkansız
- Zamanlama: Zamana bağlı işlemleri koordine etmek zor
- Saat Senkronizasyonu: Zaman doğrulaması için standart yok
- Dosya Zaman Damgaları: Ağ genelinde tutarsız değişiklik zamanları
- Hata Ayıklama: Ağ genelinde yürütme sırasını izlemek zor
Gereksinim Analizi
Temel Gereksinimler
Evrensel bir gün ve saat formatı şunlar olmalıdır:
| Gereksinim | Gerekçe |
|---|---|
| İnsan tarafından okunabilir | Yöneticiler ve geliştiriciler zamanları kolayca yorumlayabilmeli |
| Makine tarafından ayrıştırılabilir | Otomatik sistemler belirsizlik olmadan ayrıştırabilmeli |
| Belirsiz olmayan | Tarih formatları arasında karışıklık olmamalı (ABD vs. uluslararası) |
| Tam | Yıl, ay, gün, saat, dakika, saniye içermeli |
| Saat dilimi farkında | Farklı saat dilimlerini hesaba katmalı (veya evrensel referans kullan) |
| Kompakt | İletim bant genişliğini minimize etmeli |
| Tutarlı | Tüm host'lar ve uygulamalar arasında tek format |
Ek Hususlar
- Sıralanabilirlik: Leksikografik sıralamayı desteklemeli
- Uyumluluk: Mevcut günlük sistemleriyle çalışmalı
- Genişletilebilirlik: Gerekirse milisaniye veya mikrosaniyeye izin vermeli
- Uluslararasılaşma: Kültürden bağımsız olmalı
Önerilen Format
Önerilen Spesifikasyon
Seçenek 1: İnsan Tarafından Okunabilir Format
GG-AAA-YYYY SS:DD:SS [Z|+SS:DD|-SS:DD]
Örnek: 27-Ağu-1969 14:30:45 Z
Bileşenler:
- GG: Ayın günü (01-31)
- AAA: Üç harfli ay kısaltması (Oca, Şub, ..., Ara)
- YYYY: Dört haneli yıl (1969, 1970, vb.)
- SS:DD:SS: Saat, dakika, saniye (24 saat formatı)
- Saat Dilimi: UTC için Z, veya +/- fark
Seçenek 2: Sayısal Format
YYYY-AA-GG SS:DD:SS
Örnek: 1969-08-27 14:30:45
Avantajlar:
- Tamamen sayısal
- Leksikografik olarak sıralanabilir
- ISO standart hizalaması
- Uluslararası olarak belirsiz değil
Önerilen Seçim: Seçenek 2
Sayısal format için gerekçe:
- Belirsiz olmayan tarih yorumlama
- Basit dize karşılaştırmasıyla sıralanabilir
- Çeviri gereksinimlerini minimize eder
- Uluslararası standartlarla hizalanır
Kullanım Örnekleri
Ağ Mesajlarında
Mesaj: FILE_MODIFIED
Kaynak: UCLA-Host
Zaman Damgası: 1969-08-27 14:30:45
Dosya: /data/experiment.log
Boyut: 2048 bayt
Günlük Dosyalarında
1969-08-27 08:15:30 - SRI-Host'a bağlantı kuruldu
1969-08-27 08:15:45 - Dosya iletimi başladı
1969-08-27 08:16:02 - 512 bayt iletildi
1969-08-27 08:16:15 - Dosya iletimi tamamlandı
1969-08-27 08:16:20 - Bağlantı kapatıldı
Sistem Olaylarında
Olay Günlüğü:
1969-08-20 10:00:00 - Sistem başlatma
1969-08-20 10:05:30 - Ağ başlatma
1969-08-20 10:06:15 - SRI ile NCP el sıkışması
1969-08-27 14:30:00 - IMP istatistikleri toplandı
Zamanlanmış Görevlerde
Görev Programı:
- Günlük yedekleme: 1969-08-27 19:00:00
- Haftalık rapor: 1969-08-28 08:00:00
- Aylık arşiv: 1969-09-01 00:00:00
Uygulama Yönergeleri
Bireysel Host'lar İçin
Unix Sistemleri
Biçimlendirme için strftime("%Y-%m-%d %H:%M:%S") kullan:
time_t now = time(NULL);
struct tm *tm_info = localtime(&now);
char buffer[32];
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", tm_info);
Tenex Sistemleri
Yerel zaman temsilini standart formata dönüştür:
(CVTIM time-tuple "%Y-%m-%d %H:%M:%S")
Dosya Sistemleri
Zaman damgalarını açık saat dilimiyle sakla:
1969-08-27 14:30:45 UTC
Ağ İletişimi İçin
Ağ üzerinden zaman iletirken:
- Her zaman UTC/Zulu zaman referanslarını kullan
- Yerel zaman kullanılırsa mesaja saat dilimini dahil et
- Alıcının dönüştürmesine izin vermek için saat dilimi alanı ekle
Gelecek Uyumluluk İçin
- İsteğe bağlı mikrosaniyeler için alan ayır (gelecek uzantı)
- Tarih ve saat arasında T veya boşluğa izin ver
- İsteğe bağlı saniye.milisaniye destekle
Benimseme Stratejisi
Aşamalı Uygulama
Faz 1: Ağ Koordinasyon Merkezi tarafından Benimseme
- NCL günlükleri standart format kullanır
- Dosya zaman damgaları standartlaştırılır
- Host yazılımı güncellenir
Faz 2: Host Uygulayıcıları tarafından Benimseme
- Unix/Tenex/diğer sistemler dönüştürme rutinleri ekler
- Dokümantasyon ve yönergeler yayınlanır
- Host'lar arası zaman damgası eşleştirmesi test edilir
Faz 3: Protokol Entegrasyonu
- Ağ Komutları zaman damgalarını içerir
- Mesaj başlıkları standartlaştırılır
- Hata günlüğü formatı kullanır
Faz 4: İzleme ve Doğrulama
- Tüm host'ların standardı kullandığını doğrula
- Eski uyumsuz sistemleri ele al
- Yeni protokol katmanlarına genişlet
Tarihsel Önem
RFC 16, ARPANET gelişimi sırasında standardizasyon ve birlikte çalışabilirlik hakkında önemli düşünceyi belgeler.
Modern Standartlar Üzerindeki Etki
- Zaman Protokolleri: NTP'nin (Network Time Protocol) geliştirilmesine yol açtı
- Standartlar: ISO 8601 (uluslararası tarih/saat standardı)
- Günlük Kaydı: Syslog ve yapılandırılmış günlük formatları
- API'ler: HTTP zaman damgası başlıkları benzer ilkeleri takip eder
- Koordinasyon: Ağ genelinde dağıtık sistemler koordinasyonu
Öğrenilen Dersler
- Standardizasyon önemlidir: Ortak formatlar ağ ölçeğinde sistemleri mümkün kılar
- Basit kazanır: Açıkça tanımlanmış bir format uygulama karışıklığını önler
- Birlikte çalışabilirlik: Paylaşılan standartlar heterojen sistemlerin birlikte çalışmasını sağlar
- Öngörü: Erken standardizasyon daha sonraki yeniden çalışmayı önler
Önem
RFC 16, temel bir dağıtık sistem zorluğunu ele alır: bağımsız sistemler arasında ortak referans noktaları (zaman) oluşturma.
Öneri şunları etkiledi:
- Protokol tasarımı: Zaman damgalarının temel meta veri haline geldiği yer
- Ağ güvenilirliği: Zamana dayalı sıralama ve zaman aşımı işleme
- Sistem yönetimi: Günlük korelasyon ve denetim izleri
- Ağ işlemleri: İzleme ve sorun giderme
Bu görünüşte basit öneri, tüm modern dağıtık sistem altyapısının temelini oluşturacak ilkeleri belirledi.
University of California, Los Angeles (UCLA)
Network Working Group
Ağustos 1969
SERİDE KOMŞULARI
AYNI DALDAN — VERİ
BU SAYFA HAKKINDA
- İngilizce aslırfc-editor.org
- Çeviri hatası bildire-posta