momoka0122y.hatenablog.com
Open in
urlscan Pro
35.75.255.9
Public Scan
URL:
https://momoka0122y.hatenablog.com/entry/2022/09/12/024202
Submission: On January 18 via manual from US — Scanned from US
Submission: On January 18 via manual from US — Scanned from US
Form analysis
1 forms found in the DOMGET https://momoka0122y.hatenablog.com/search
<form class="search-form" role="search" action="https://momoka0122y.hatenablog.com/search" method="get">
<input type="text" name="q" class="search-module-input" value="" placeholder="記事を検索" required="">
<input type="submit" value="検索" class="search-module-button">
</form>
Text Content
読者になる MOMOKAのブログ 2022-09-12 GSOC CHROMIUM: IP ADDRESS SYNTHESIS FOR AN IPV6 ONLY NETWORK TO CONNECT TO AN IPV4 ADDRESS LITERAL. Written in English GSoC chromium TLDR; When a client is in an IPv6 only environment it utilises the NAT64 and DNS64 in the network to connect to IPv4 only servers. However, when chrome tries to connect to an IPv4 literal (such as when an IPv4 address is directly written in the search bar) it doesn't use the DNS64 and fails to connect to the address. With this change Chrome will now append the IPv4 to IPv6 translation prefix (Pref64::/n) to the IPv4 address, in order for the packet to use the NAT64 in the network. Code: chromium.googlesource.com HOW THE NAT64 AND DNS64 WORKS There is a translation technology called NAT64/DNS64 which enables IPv6-only clients to access IPv4-only servers. This is great but it does not work for IP address literals because DNS will not be used. HOW MY IMPLEMENTATION WORKS First, when chrome tries to access a IPv4 literal it checks if it is on an IPv6-only network. If it is, it resolves the AAAA record of domain ipv4-only.arpa. This is a special domain that only contains an A record. If this name is resolved inside an IPv6-only network that has a DNS64, the DNS64 will return an answer to the AAAA request that contains the synthesized IPv6 address(in many cases 64:ff9b::192.0.0.170). (Step1) With this answer received chrome now knows that there is a DNS64 in the network, which means by using the translation prefix we can utilize the NAT64. Chrome will now synthesise an IPv6 address by combining the translation prefix obtained in Step 1 and the original IPv4 address literal. (Step 2) chrome will now be able to utilize the NAT64 and access the server via a IPv4 address literal even on a IPv6-only network. CODEBASE Made changes in the below files in chromium. > * net/base/ip_address.c > > net/base/ip_address.h > > net/base/ip_address_unittest.cc > > net/dns/host_resolver_manager.cc > > net/dns/host_resolver_manager.h > > net/dns/host_resolver_manager_unittest.cc > > net/dns/host_resolver_nat64_task.cc [Added] > > net/dns/host_resolver_nat64_task.h [Added] In host_resolver_manager, when an IP literal is passed it checks if the network is IPv6 only, and if so calls the HostResolverNat64Task that I have created. In the HostResolverNat64Task it does 3 things. * Resolve the IPv6 address of ipv4only.arpa * Extract the IPv4 to IPv6 translation prefix (Pref64::/n) from the returned address * Synthesise the IPv4 literal address to IPv6 using the Pref64::/n Actual Code: https://chromium-review.googlesource.com/c/chromium/src/+/3691238 Releases from chrome 108. (Tue, Nov 29, 2022) Before, accessing 1.1.1.1 from an IPv6-only network. Can't access server when using IPv4 address literal. after Can successfully access the server by using IPv4 address literal. momokamy6 128日前 広告を非表示にする 関連記事 * 2023-01-04 IETF115現地参加記 〜 一週間の全て 〜 IETF115 London 現地参加記 備忘録を込めてわかりやすさより、… * 2022-10-09 internet draft の書き方。テンプレートを使ってマークダウンで TLDR; Internet DraftをIETFへ提出してみました。提出が楽だっ… * 2022-07-21 IETF-114, Philadelphia 見たいやつ 気になったやつ 気になったやつ 23:00-01:00 Tuesday Session I… * 2022-05-26 GSoC (Google Summer of Code)で chromiumに採択された。 GSoC (Google Summer of Code) は 参加しているoraganization … * 2022-05-09 rfc826 An Ethernet Address Resolution Protocol (AR… rfc826 An Ethernet Address Resolution Protocol (ARP) リンク… * もっと読む コメントを書く « chromium DNSTask めも (overriding the D… QUIC の initial鍵生成に使用する initial… » プロフィール momokamy6 読者です 読者をやめる 読者になる 読者になる 13 このブログについて 検索 注目記事 * 2023-01-04 IETF115現地参加記 〜 一週間の全て 〜 * 2023-01-06 2022年振り返り * 2022-05-20 東京大学 情報理工学系研究科 創造情報学専攻 院試 プログラミング問題 2022年 * 2022-09-12 GSoC chromium: IP address synthesis for an IPv6 only network to connect to an IPv4 address literal. * 2022-05-26 GSoC (Google Summer of Code)で chromiumに採択された。 * 2022-06-09 RFC9218: Extensible Prioritization Scheme for HTTP をまとめてみた。 * 2022-10-09 internet draft の書き方。テンプレートを使ってマークダウンで * 2022-03-15 ネットワーク系で最近調べたこと * 2022-08-06 HTTPS DNS レコードのalpn情報からHTTP/3に繋げに行くchromiumのUseDnsHttpsSvcbAlpn feature * 2022-06-24 マルチパスQUICのdraft-ma-quic-mpqoe とその論文 XLINK: QoE-Driven Multi-Path QUIC Transport in Large-scale Video Services を読んだ。 カテゴリー * network (13) * internet-draft (7) * DNS (6) * chromium (5) * QUIC (5) * IETF (4) * RFC (4) * not 技術 (3) * GSoC (2) * Written in English (2) * 論文読んだ (2) * WebSockets (1) 最新記事 * 2023-01-06 2022年振り返り * 2023-01-04 IETF115現地参加記 〜 一週間の全て 〜 * 2022-12-25 SETTINGS_ENABLE_WEBSOCKETS settings parameter がwebsockets over HTTP/2, HTTP/3 にほしいからinternet draft 書いて提案する * 2022-12-16 10/23 にDNS-OARC39 に参加してIPv6 only recursive resolvers という題で発表してきた。 * 2022-10-09 internet draft の書き方。テンプレートを使ってマークダウンで 月別アーカイブ * ▼ ▶ 2023 (2) * 2023 / 1 (2) * ▼ ▶ 2022 (18) * 2022 / 12 (2) * 2022 / 10 (1) * 2022 / 9 (3) * 2022 / 8 (2) * 2022 / 7 (1) * 2022 / 6 (3) * 2022 / 5 (4) * 2022 / 4 (1) * 2022 / 3 (1) はてなブログをはじめよう! momokamy6さんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか? はてなブログをはじめる(無料) はてなブログとは momokaのブログ Powered by Hatena Blog | ブログを報告する 引用をストックしました ストック一覧を見る 閉じる 引用するにはまずログインしてください ログイン 閉じる 引用をストックできませんでした。再度お試しください 閉じる 限定公開記事のため引用できません。 読者です 読者をやめる 読者になる 読者になる 13