Tasarım incelemelerinin çoğu ilk soruda tıkanır, çünkü talep bir ürünü anlatır, kararı değil. Akışları, sahipleri ve hata davranışını adlandıran bir özet bir toplantıda yanıtlanabilir. Güvenli bir VPN kurun diyen bir özet hiç yanıtlanamaz. Bir şey göndermeden önce aşağıdaki altı kontrolü tamamlayın, inceleme tartışma yerine karşılaştırmaya dönüşür.

Birincisi, soru bir karar mı yoksa dilek mi

Bir kararın alternatifleri ve aralarında seçim yapacak bir gözlemi vardır. Birini seçmek için neye bakacağınızı adlandıramıyorsanız, soru hâlâ bir dilektir. Önce alternatifleri yazın, liste yalnızca iki maddeden oluşsa bile. Sonra onları ayıran ödünleşimi yazın.

Dilek ayrıca izleyiciyi gizleme eğilimindedir. Tasarımı kimin onaylaması gerektiğini söyleyin, çünkü aynı özet bir ağ sahibi, bir güvenlik inceleyicisi ve bir finans onaylayıcısı tarafından farklı okunur.

Yanıt kimse değilse burada durun, çünkü sahipsiz bir karar en yüksek sesle şikâyet eden tarafından yeniden yapılır. Bu bir yönetişim sorunudur, tasarım sorunu değil.

İkincisi, akışları ve retleri adlandırın

Çalışması gereken her akış için kaynağı, hedefi ve uygulamayı listeleyin. Sonra başarısız olmaya devam etmesi gereken akışları listeleyin, çünkü onlara sessizce izin veren bir tasarım gereksinimi söylemeden değiştirmiştir. Adres çakışması ve yukarı akış erişilebilirliği bu listede sürpriz değil, kısıt olarak yer alır.

Yön konusunda net olun. Merkeze bağlantı başlatabilen bir site, bunları yalnızca kabul edebilen bir siteden farklı bir tasarımdır ve fark sonradan yazdığınız her kuralda görünür.

İstemcileri ve yönetim durumlarını da not edin, çünkü aracısı olan yönetilen bir cihaz, kendi getirdiğiniz dizüstü bilgisayarın yapamadığını yapabilir.

Listeyi test edilebilecek kadar kısa tutun. Doğrulayabildiğiniz on akış, doğrulayamadığınız kırktan daha iyidir.

Kontrol 3: olguları varsayımlardan ayırın

Doğruladığınız her ifadeyi işaretleyin ve doğrulamadıklarınızı da işaretleyin. Genel adresleme, kullanılabilir aktarım hızı ve yönetici erişimi yanıtı en sık değiştiren üç varsayımdır. Biri bilinmiyorsa, hangi yöne çıkarsa çıksın tasarımın nasıl değiştiğini söyleyin.

Örnek bir ağ, etiketlendiği sürece sorun değildir. Sorun, hiç sahip olmadığı ikinci bir yukarı akış bağlantısını ya da genel adres bloğunu sessizce edinen varsayımsal bir şubedir.

Kontrol edebildiğiniz varsayımı incelemeden önce doğrulayın, çünkü ölçülmüş tek bir olgu tartışmanın bütün dalını ortadan kaldırır.

ip route get 10.50.0.10
traceroute -n -m 6 10.50.0.10
nc -vz 10.50.0.10 443

Dördüncüsü, hata sözleşmesini yazın

Tünel çöktüğünde ne olduğunu söyleyin ve iki farklı vaat konusunda açık olun. Yeniden bağlanmadan sonra yeni bağlantıları geri yüklemek vaat etmesi kolaydır. Bir arıza boyunca zaten kurulmuş oturumları korumak çok daha güçlü bir gereksinimdir ve teknoloji seçimini kısıtlar.

Sonra yedek yolu belirleyin: trafiği engelleyin, onaylanmış başka bir yoldan yönlendirin ya da her uygulama için farklı bir şey yapın. Doğrudan yola sessiz bir geri dönüş, kimse yazmasa da bir tasarım kararıdır.

Kurtarma hedefini sade bir dille ekleyin, örneğin bir sitein ne kadar süre bozulmuş durumda çalışabileceği ve olayı kimin ilan ettiği.

Kontrol 5 ve 6: dikişi seçin ve değişikliği kaydedin

Tartışmak için bir dikiş seçin, çünkü her şeyi çözmeye çalışan bir inceleme hiçbir şeyi çözmez. Yönlendirme, yetkilendirme ve şifreleme üç farklı dikiştir ve özet sorunun hangisiyle ilgili olduğunu söylemelidir. RFC 4301 burada yararlı bir hatırlatmadır, çünkü politika kararlarını, korunan trafiği ve güvenlik ilişkilerini tek bir nesne olarak ele almak yerine ayırır.

Sonra karardan sonra neyin değiştiğini kaydedin, gözden geçirilen varsayımlar dahil. O kayıt bir sonraki incelemeyi kısaltan şeydir.

git diff --stat design/vpn-brief.md
grep -n 'assumption' design/vpn-brief.md
ip route get 10.50.0.10

Altı kontrolün tamamını geçen bir özet yanıtı olan bir soru üretir: tasarım belirtilen akışları ve hata sözleşmesini karşılar ya da adlandırılmış bir kısıt bunu engeller. Kısıt sonradan değiştiğinde, kayıt hangi kararın yeniden ele alınması gerektiğini ve hangisinin kalabileceğini gösterir. Bu, alıştırmayı tek seferlik bir tartışma değil, yeniden kullanılabilir kılar.

İlgili makaleler