העברה אל anycast ואל RFC 8484 DoH

כחלק מההשקה של DoH בדומיין dns.google וכתובות ה-IP הידועות של anycast ל-Google Public DNS, שירות ה-Beta של DoH בדומיין dns.google.com באמצעות כתובות IP אחרות הוצא משימוש ויושבת.

גם הגרסה הניסיונית של RFC 8484 API הוצאה משימוש. אין תמיכה ב-dns.google/monthal, והכתובת dns.google/experimentsal תועבר אל dns.google/dns-query.

ציר הזמן

תאריך שלב ההוצאה משימוש
2019-07-23 2019-08-01 הכתובת dns.google.com/experimental מפנה אוטומטית אל dns.google/dns-queryDONE
2019-08-05 2019-08-21 dns.google.com מקודד כתובות IP ציבוריות של Google anycastDONE
2019-09-24 כתובות IP ישנות של dns.google.com להפניה אוטומטית אל dns.googleDONE
2020-06-23 dns.google.com מפנה מחדש אל dns.google בכל מקום

השינויים בציר הזמן הזה מתעדכנים כאן ומפורסמות ב-public-dns-announce. להירשם לרשימת התפוצה הנמוכה הזו כדי לקבל עדכונים.

יום חמישי, 1 באוגוסט 2019

הבקשות של https://dns.google.com/experimental מקבלות הפניה מסוג HTTP 301 אל https://dns.google/dns-query.

אפליקציות DoH שמשתמשות ב-JSON API בכתובת /resolve לא יושפעו.

יום רביעי, 21 באוגוסט 2019

dns.google.com מקודדת לכתובות ה-IP של Google Public DNS ב-Anycast.

ההתנהלות הזו שקופה לרוב האפליקציות של DoH, ללא צורך בשינויים.

יום שלישי, 24 בספטמבר 2019

שאילתות DoH לכתובות IP קודמות של dns.google.com מקבלות הפניה מסוג HTTP 301 אל https://dns.google/.

הפעולה הזו עשויה להשפיע על אפליקציות DoH שמשתמשות ב-RFC 8484 או ב-JSON API.

אפליקציות ששולחות בקשות DoH לכתובות IP שמקודדות בתוך הקוד, שניתן להגדיר או שנשמרו במטמון באופן קבוע חייבות לתמוך באחת מהפלטפורמות הבאות או בשתיהן:

יום שלישי, 23 ביוני 2020

שאילתות DoH שנשלחות אל dns.google.com בכתובות IP מסוג anycast מקבלות הפניה אוטומטית מסוג HTTP 301 אל dns.google.

הפעולה הזו עשויה להשפיע על אפליקציות DoH שמשתמשות ב-RFC 8484 או ב-JSON API.

כדי לעבוד עם Google DoH, האפליקציות צריכות לתמוך לפחות באחת מהאפשרויות הבאות:

שינויים לגבי לקוחות DoH

מעקב אחר הפניות אוטומטיות מסוג HTTP

שרתי DoH הם רק שרתי HTTP שמטפלים בשאילתות DNS. לכן הן עשויות להחזיר הפניות HTTP (קודים 301, 302, 307 או 308), ולקוחות DoH צריכים לעקוב אחרי ההפניות האלה בדיוק כמו כל לקוח HTTP אחר.

המפתחים יכולים לבדוק את התמיכה בהפניות HTTP באמצעות https://8.8.8.8/experimental או https://8.8.8.8/resolve כבסיס לכתובות ה-URL שלהם מסוג DoH, ולהחזיר את ההפניות מסוג HTTP 301 אל https://dns.google/dns-query ו-https://dns.google/resolve (תוך שמירה של כל הפרמטרים של GET).

שימוש בדומיין dns.google ל-Google DoH

באפליקציות DoH צריך להשתמש ב-dns.google במקום ב-dns.google.com. לא משנה אם אתם משתמשים ב-RFC 8484 או ב-JSON API, כל אפליקציית DoH עם רשימה של מקודדי DoH בקוד קשיח או מוגדרת חייבת להחליף את dns.google.com ב-dns.google בכל כתובת URL או בתבנית URI.

שימוש בכתובות IP של Google Public DNS ב-Anycast

באפליקציות DoH ששולחות בקשות DoH לרשימה של כתובות IP בתוך קוד קשיח או מוגדר (גם לאתחול) צריך להחליף את הכתובות הקודמות של dns.google.com בכתובות IP ציבוריות של Google מסוג anycast.

תבניות URI להגדרה

באפליקציות DoH צריך לאפשר יכולת הגדרה של נקודות קצה. הדרך המועדפת והסטנדרטית לעשות זאת היא באמצעות תבניות URI. מפתחי אפליקציות DoH עם יכולת הגדרה מלאה צריכים להודיע למשתמשים על כתובת ה-URL החדשה (תבנית URI: https://dns.google/dns-query{?dns}).

שימוש ב-https://dns.google/dns-query עבור RFC 8484 DoH

באפליקציות DoH שיש להן רשימה של מקודדי DoH בתוך הקוד או שהוגדרו מראש, צריך להחליף את כתובת ה-URL https://dns.google.com/experimental של טיוטת האינטרנט DoH API ב-https://dns.google/dns-query, ולאשר תאימות מלאה ל-RFC 8484.

ה-API /experimental (זמין רק ב-dns.google.com) קיבל שאילתות עם קידוד Base64 שאינו websafe וסוג תוכן application/dns-udpwireformat שנדחו על ידי ה-API /dns-query (זמין רק ב-dns.google). הבדלים אלה מתוארים בשני הקטעים הבאים.

שימוש בקידוד Base64Url לפרמטר GET של dns

כדאי להשתמש בקידוד Base64Url של websafe עבור הפרמטר dns בבקשות GET, מחליף את Base64 (+ /) ב-(- _) ומסיר את תווי המרווח הפנימי (=).

אישור ושליחה של application/dns-message

משתמשים ב-application/dns-message בכותרת Accept (וב-RFC 8484 POST, בכותרת Content-Type) ומקבלים את התגובות בתור Content-Type.

שימוש ב-Content-Type הישן עבור POST ייכשל עקב 'סוג מדיה לא נתמך' 415.

אפליקציות שמשתמשות ב-Content-Type הישן בכותרת Accept יקבלו תגובות באמצעות Content-Type application/dns-message. אפליקציות DoH שמקבלות את ההודעות האלה ולא מתעלמות מהן בגלל Content-Type בלתי צפוי, ימשיכו לפעול.