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

Önerilen Tek Tip Gün ve Saat Belirtimi

Yazar
Jon Postel
Kurum
UCLA
Tarih
27 Ağustos 1969
Durum
Network Working Group Yorum Talebi
Kanal
data/

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

  1. Problem Tanımı
  2. Gereksinim Analizi
  3. Önerilen Format
  4. Kullanım Örnekleri
  5. Uygulama Yönergeleri
  6. Benimseme Stratejisi
  7. Ö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

  1. Günlük Korelasyon: Host'lar arasında olayları eşleştirmek imkansız
  2. Zamanlama: Zamana bağlı işlemleri koordine etmek zor
  3. Saat Senkronizasyonu: Zaman doğrulaması için standart yok
  4. Dosya Zaman Damgaları: Ağ genelinde tutarsız değişiklik zamanları
  5. 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


Ö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:

Seçenek 2: Sayısal Format

YYYY-AA-GG SS:DD:SS

Örnek: 1969-08-27 14:30:45

Avantajlar:

Önerilen Seçim: Seçenek 2

Sayısal format için gerekçe:

  1. Belirsiz olmayan tarih yorumlama
  2. Basit dize karşılaştırmasıyla sıralanabilir
  3. Çeviri gereksinimlerini minimize eder
  4. 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:

  1. Her zaman UTC/Zulu zaman referanslarını kullan
  2. Yerel zaman kullanılırsa mesaja saat dilimini dahil et
  3. Alıcının dönüştürmesine izin vermek için saat dilimi alanı ekle

Gelecek Uyumluluk İçin


Benimseme Stratejisi

Aşamalı Uygulama

Faz 1: Ağ Koordinasyon Merkezi tarafından Benimseme

Faz 2: Host Uygulayıcıları tarafından Benimseme

Faz 3: Protokol Entegrasyonu

Faz 4: İzleme ve Doğrulama


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

  1. Zaman Protokolleri: NTP'nin (Network Time Protocol) geliştirilmesine yol açtı
  2. Standartlar: ISO 8601 (uluslararası tarih/saat standardı)
  3. Günlük Kaydı: Syslog ve yapılandırılmış günlük formatları
  4. API'ler: HTTP zaman damgası başlıkları benzer ilkeleri takip eder
  5. Koordinasyon: Ağ genelinde dağıtık sistemler koordinasyonu

Öğrenilen Dersler

  1. Standardizasyon önemlidir: Ortak formatlar ağ ölçeğinde sistemleri mümkün kılar
  2. Basit kazanır: Açıkça tanımlanmış bir format uygulama karışıklığını önler
  3. Birlikte çalışabilirlik: Paylaşılan standartlar heterojen sistemlerin birlikte çalışmasını sağlar
  4. Ö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:

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