4. Generating the Initial ICE Description (生成初始ICE描述)
🇨🇳 中文
ICE代理可以在有通信即将发生的指示(例如,用户界面提示或明确请求发起通信会话)时立即开始收集候选地址。与常规ICE不同,Trickle ICE实现不需要以阻塞方式收集候选地址。因此,除非使用半渐进式,否则如果发起代理尽早生成并传输其初始ICE描述(从而使远程方能够开始收集和渐进式交换候选地址),用户体验将得到改善。
发起方在传递初始ICE描述时可以 (MAY) 包含任何候选地址组合。这包括传递发起方计划使用的所有候选地址(如在半渐进式中)、仅传递公开可达的IP地址(例如,已知不在防火墙后面的数据中继候选地址)或根本不传递候选地址(在这种情况下,发起方可以更快地获得响应方的初始候选地址列表,响应方可以更快地开始候选地址收集)。
对于初始ICE描述中包含的候选地址,计算优先级和基础 (Foundations)、确定候选地址冗余等方法与常规ICE [RFC8445] 中的方法相同。
🇬🇧 English
An ICE agent can start gathering candidates as soon as it has an indication that communication is imminent (e.g., a user-interface cue or an explicit request to initiate a communication session). Unlike in regular ICE, in Trickle ICE implementations do not need to gather candidates in a blocking manner. Therefore, unless half trickle is being used, the user experience is improved if the initiating agent generates and transmits its initial ICE description as early as possible (thus enabling the remote party to start gathering and trickling candidates).
An initiator MAY include any mix of candidates when conveying the initial ICE description. This includes the possibility of conveying all the candidates the initiator plans to use (as in half trickle), conveying only a publicly reachable IP address (e.g., a candidate at a data relay that is known to not be behind a firewall), or conveying no candidates at all (in which case the initiator can obtain the responder's initial candidate list sooner, and the responder can begin candidate gathering more quickly).
For candidates included in the initial ICE description, the methods for calculating priorities and foundations, determining redundancy of candidates, and the like work just as in regular ICE [RFC8445].
🇯🇵 日本語
ICEエージェントは、通信が差し迫っていることを示す指示(たとえば、ユーザーインターフェースの合図または通信セッションを開始する明示的な要求)があれば、すぐに候補の収集を開始できます。通常のICEとは異なり、Trickle ICE実装では、ブロッキング方式で候補を収集する必要はありません。したがって、ハーフトリクルが使用されていない限り、開始エージェントができるだけ早く初期ICE記述を生成して送信すると(これにより、リモート側が候補の収集とトリクルを開始できるようになります)、ユーザーエクスペリエンスが向上します。
開始者は、初期ICE記述を伝達するときに任意の候補の組み合わせを含めることができます (MAY)。これには、開始者が使用する予定のすべての候補を伝達する可能性(ハーフトリクルのように)、公開到達可能なIPアドレスのみを伝達する可能性(たとえば、ファイアウォールの背後にないことがわかっているデータリレーの候補)、または候補をまったく伝達しない可能性が含まれます(この場合、開始者はレスポンダの初期候補リストをより早く取得でき、レスポンダはより迅速に候補の収集を開始できます)。
初期ICE記述に含まれる候補については、優先順位と基礎 (Foundations) の計算、候補の冗長性の判定などの方法は、通常のICE [RFC8445] と同じように機能します。
🇫🇷 Français
Un agent ICE peut commencer à collecter des candidats dès qu'il a une indication que la communication est imminente (par exemple, un signal d'interface utilisateur ou une demande explicite d'initier une session de communication). Contrairement à l'ICE régulier, dans les implémentations Trickle ICE, il n'est pas nécessaire de collecter les candidats de manière bloquante. Par conséquent, à moins que le half trickle ne soit utilisé, l'expérience utilisateur est améliorée si l'agent initiateur génère et transmet sa description ICE initiale le plus tôt possible (permettant ainsi à la partie distante de commencer à collecter et à trickle les candidats).
Un initiateur peut (MAY) inclure n'importe quelle combinaison de candidats lors de la transmission de la description ICE initiale. Cela inclut la possibilité de transmettre tous les candidats que l'initiateur prévoit d'utiliser (comme dans le half trickle), de transmettre uniquement une adresse IP publiquement accessible (par exemple, un candidat sur un relais de données dont on sait qu'il n'est pas derrière un pare-feu), ou de ne transmettre aucun candidat (auquel cas l'initiateur peut obtenir la liste de candidats initiale du répondeur plus tôt, et le répondeur peut commencer la collecte de candidats plus rapidement).
Pour les candidats inclus dans la description ICE initiale, les méthodes de calcul des priorités et des fondations (Foundations), de détermination de la redondance des candidats, et similaires fonctionnent exactement comme dans l'ICE régulier [RFC8445].
🇩🇪 Deutsch
Ein ICE-Agent kann mit dem Sammeln von Kandidaten beginnen, sobald er eine Anzeige hat, dass Kommunikation bevorsteht (z. B. ein Benutzeroberflächenhinweis oder eine explizite Anforderung zum Initiieren einer Kommunikationssitzung). Im Gegensatz zu regulärem ICE müssen Trickle-ICE-Implementierungen Kandidaten nicht blockierend sammeln. Daher wird, sofern nicht Half Trickle verwendet wird, die Benutzererfahrung verbessert, wenn der initiierende Agent seine anfängliche ICE-Beschreibung so früh wie möglich generiert und überträgt (wodurch die entfernte Partei mit dem Sammeln und Tricklen von Kandidaten beginnen kann).
Ein Initiator kann (MAY) beim Übermitteln der anfänglichen ICE-Beschreibung eine beliebige Mischung von Kandidaten einbeziehen. Dies umfasst die Möglichkeit, alle Kandidaten zu übermitteln, die der Initiator zu verwenden plant (wie beim Half Trickle), nur eine öffentlich erreichbare IP-Adresse zu übermitteln (z. B. einen Kandidaten an einem Datenrelais, von dem bekannt ist, dass es sich nicht hinter einer Firewall befindet), oder überhaupt keine Kandidaten zu übermitteln (in diesem Fall kann der Initiator die anfängliche Kandidatenliste des Responders früher erhalten, und der Responder kann schneller mit dem Sammeln von Kandidaten beginnen).
Für Kandidaten, die in der anfänglichen ICE-Beschreibung enthalten sind, funktionieren die Methoden zur Berechnung von Prioritäten und Foundations, zur Bestimmung der Redundanz von Kandidaten und dergleichen genauso wie bei regulärem ICE [RFC8445].
🇮🇹 Italiano
Un agente ICE può iniziare a raccogliere candidati non appena ha un'indicazione che la comunicazione è imminente (ad esempio, un segnale dell'interfaccia utente o una richiesta esplicita di avviare una sessione di comunicazione). A differenza dell'ICE regolare, nelle implementazioni Trickle ICE non è necessario raccogliere candidati in modo bloccante. Pertanto, a meno che non venga utilizzato il half trickle, l'esperienza utente migliora se l'agente iniziatore genera e trasmette la sua descrizione ICE iniziale il prima possibile (consentendo così alla parte remota di iniziare a raccogliere e trickle i candidati).
Un iniziatore può (MAY) includere qualsiasi combinazione di candidati quando trasmette la descrizione ICE iniziale. Ciò include la possibilità di trasmettere tutti i candidati che l'iniziatore prevede di utilizzare (come nel half trickle), trasmettere solo un indirizzo IP pubblicamente raggiungibile (ad esempio, un candidato presso un relay di dati che si sa non essere dietro un firewall), o non trasmettere alcun candidato (nel qual caso l'iniziatore può ottenere l'elenco di candidati iniziale del risponditore prima, e il risponditore può iniziare la raccolta di candidati più rapidamente).
Per i candidati inclusi nella descrizione ICE iniziale, i metodi per calcolare le priorità e le fondazioni (Foundations), determinare la ridondanza dei candidati e simili funzionano proprio come nell'ICE regolare [RFC8445].