דיון מעניין. נקודת מבט נוספת לגבי מימוש ה-Tunnel על TCP: אני מגיע מתחום ה-VOIP, ספציפית - SIP. הקמת השיחה מתבצעת על TCP, ואילו המדיה- קול ווידאו ממומש על RTP מעל UDP. הבחירה בUDP איננה מקרית, משום שבמדיה זורמת בזמן אמיתי אי אפשר לשדר מחדש Packet שהלך לעיבוד כי זה יגרום ל-Delay של כל ה-Packets העוקבים.3. ההעדפה שלך ל-TCP מול UDP בכלל לא ברורה: להפך, TCP בתוך TCP נותן ביצועים מזעזעים, וממש לא מומלץ. השימוש של Wireguard ב-UDP נועד באופן ספציפי כדי להימנע מהבעיות האלה. הפרוטוקול בנוי כדי להסתדר עם packet loss, וכמובן שהאחריות על ה-data מנוהלת ע״י הפרוטוקולים הפנימיים. מהבחינה הזו wireguard לא שונה מ-IPSec, שעובד ב-layer 2, גם מעל האינטרנט הציבורי....
כעת, הרצת שיחת קול או ווידאו על גבי תווך הממומש ב-TCP היא די בעייתית כאשר קיים Packet loss והרשת איננה אמינה. מה שקורה שמנגנון ה-Retransmission של ה-TCP ידאג לשידור מחדש של Packets, ובכך יגרם Delay מצטבר בשיחה, אובדן סינכרון בין הקול והווידאו (lipsync). TCP ישבש לגמרי את ה-Packet timing. בהיבט הזה UDP עדיף, ובכל שכבות הרשת - צריך שתהיה שכבה אחת שתטפל ב-Retransmission - TCP ולא שתיים.

