[要約] RFC 8135は、IPv6における複雑なアドレッシングに関するガイドラインです。その目的は、IPv6アドレッシングの柔軟性と効率性を向上させるために、複雑なアドレッシング構造の設計と実装に関する指針を提供することです。

Independent Submission                                      M. Danielson
Request for Comments: 8135                                Net Insight AB
Category: Experimental                                        M. Nilsson
ISSN: 2070-1721                                    Besserwisser Networks
                                                            1 April 2017
        

Complex Addressing in IPv6

IPv6での複雑なアドレス指定

Abstract

概要

The 128-bit length of IPv6 addresses (RFC 4291) allows for new and innovative address schemes that can adapt to the challenges of today's complex network world. It also allows for new and improved security measures and supports advanced cloud computing challenges.

128ビット長のIPv6アドレス(RFC 4291)により、今日の複雑なネットワークの世界の課題に対応できる、革新的な新しいアドレススキームが可能になります。また、新しく改善されたセキュリティ対策を可能にし、高度なクラウドコンピューティングの課題をサポートします。

Status of This Memo

本文書の状態

This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation.

このドキュメントはInternet Standards Trackの仕様ではありません。試験、実験、評価のために公開されています。

This document defines an Experimental Protocol for the Internet community. This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard; see Section 2 of RFC 7841.

このドキュメントでは、インターネットコミュニティの実験プロトコルを定義します。これは、他のRFCストリームとは無関係に、RFCシリーズへの貢献です。 RFCエディターは、このドキュメントを独自の裁量で公開することを選択し、実装または展開に対するその価値については何も述べていません。 RFC Editorによって公開が承認されたドキュメントは、どのレベルのインターネット標準の候補にもなりません。 RFC 7841のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8135.

このドキュメントの現在のステータス、正誤表、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc8135で入手できます。

Copyright Notice

著作権表示

Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2017 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.

この文書は、BCP 78およびIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象であり、この文書の発行日に有効です。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。

Table of Contents

目次

   1. Introduction ....................................................3
   2. Requirements Language ...........................................3
   3. Natural Addresses ...............................................3
      3.1. Integer Addresses ..........................................3
      3.2. Prime Addresses ............................................3
      3.3. Composite Addresses ........................................4
   4. Complex Addresses ...............................................4
      4.1. Floating Addresses .........................................4
      4.2. Real Addresses .............................................5
      4.3. Imaginary Addresses ........................................5
      4.4. Flying Addresses ...........................................5
      4.5. Complex Addresses ..........................................6
   5. Supported Addressing Schemes ....................................6
      5.1. Absolute Addresses .........................................6
      5.2. Address Argument ...........................................6
      5.3. Safe Addresses .............................................6
      5.4. Virtual Addresses ..........................................7
      5.5. Rational Addresses .........................................7
      5.6. Irrational Addresses .......................................7
      5.7. Transcendent Addresses .....................................8
   6. Geometric Addresses .............................................8
      6.1. Round Addresses ............................................8
      6.2. Square Addresses ...........................................8
      6.3. Polar Addresses ............................................9
      6.4. Root Server ................................................9
      6.5. Implementation Considerations ..............................9
   7. IPv6 Address Mapping ...........................................10
   8. IANA Considerations ............................................10
   9. Security Considerations ........................................10
   10. References ....................................................11
      10.1. Normative References .....................................11
      10.2. Informative References ...................................12
   Appendix A.  Square Pi ............................................13
   Appendix B.  Implementation Example ...............................14
   Authors' Addresses ................................................16
        
1. Introduction
1. はじめに

This document introduces the fundamental concepts of complex addressing in IPv6, allowing for a wide range of complex addressing schemes to be supported and further developed.

このドキュメントでは、IPv6での複雑なアドレス指定の基本的な概念を紹介し、広範囲の複雑なアドレス指定スキームをサポートし、さらに開発できるようにします。

Traditional network addressing schemes such as those used in IPv4 [RFC791] and IPv6 [RFC4291] have been confined to unsigned or integer numbers, representing fixed-point numbers. This has provided natural numbers for early implementations but is not well adapted to the challenges of future networks. Further, these fixed addresses have been proven unsuitable for mobility and virtualization in today's world, where cloud computing defies the traditional fixed addressing model. The increased size of addresses as allowed in IPv6, the significant drop in price of floating-point hardware, and the availability of a well-established floating-point format in IEEE 754 [IEEE754] allow for taking not only the step to floating-point addressing but also the step to complex addressing.

IPv4 [RFC791]やIPv6 [RFC4291]で使用されているような従来のネットワークアドレス指定スキームは、固定小数点数を表す符号なしまたは整数に制限されていました。これは初期の実装に自然数を提供しましたが、将来のネットワークの課題にうまく適合していません。さらに、これらの固定アドレスは、クラウドコンピューティングが従来の固定アドレスモデルに逆らう今日の世界では、モビリティと仮想化には不適切であることが証明されています。 IPv6で許可されているアドレスサイズの増加、浮動小数点ハードウェアの大幅な価格の低下、およびIEEE 754 [IEEE754]で確立された浮動小数点形式の可用性により、浮動小数点へのステップだけでなく、アドレッシングだけでなく、複雑なアドレッシングへのステップ。

2. Requirements Language
2. 要件言語

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 RFC 2119 [RFC2119]で説明されているように解釈されます。

3. Natural Addresses
3. 自然なアドレス
3.1. Integer Addresses
3.1. 整数アドレス

Traditional addresses are integer addresses and can be expressed in a three-dot format, for example, 113.129.213.11 for the integer 1904334091, a rare IPv4 double-palindromic address. These fixed-point addresses were well adapted to early network usage where each computer on the Internet had a fixed location and thus a fixed address. These addresses are also known as natural addresses. As computers have become more powerful and able to handle larger numbers and thus larger addresses, they have also become more transportable (e.g., laptops and mobile phones). The transportable aspect of computers makes fixed-point addresses moot, as machines can move around rather than be confined to a relatively fixed point.

従来のアドレスは整数アドレスであり、3ドット形式で表すことができます。たとえば、まれなIPv4二重パリンドロームアドレスである整数1904334091の場合、113.129.213.11です。これらの固定小数点アドレスは、インターネット上の各コンピューターの位置が固定されていたため、アドレスが固定されていた初期のネットワーク使用によく適合していました。これらのアドレスは、ナチュラルアドレスとも呼ばれます。コンピューターがより強力になり、より多くの数、つまりより大きなアドレスを処理できるようになるにつれて、コンピューターはより持ち運びしやすくなります(ラップトップや携帯電話など)。マシンは比較的固定されたポイントに限定されるのではなく移動できるため、コンピューターの可搬性の面から、固定小数点アドレスは無効になります。

3.2. Prime Addresses
3.2. プライムアドレス

The prime address (that is, the primary address of a recipient) is an important subclass of integer addresses. Such an address is not divisible by anything but the recipient itself, which means it must be regarded as a unique address. While many prime addresses have been experimentally identified, it has proven to be quite hard to identify a prime address amongst other addresses without resorting to time-consuming computations. Current use includes security and intelligence, where post boxes are obscured amongst others using large prime addresses.

プライムアドレス(つまり、受信者のプライマリアドレス)は、整数アドレスの重要なサブクラスです。このようなアドレスは、受信者自身でしか割り切れないため、一意のアドレスと見なす必要があります。多くの素数アドレスが実験的に識別されていますが、時間のかかる計算に頼らずに他のアドレスの中で素数アドレスを識別することは非常に難しいことが証明されています。現在の用途にはセキュリティとインテリジェンスが含まれ、大きなプライムアドレスを使用しているため、ポストボックスが不明瞭になっています。

3.3. Composite Addresses
3.3. 複合アドレス

Composite addresses are formed by two or more prime addresses and thus constitute a shared address, allowing the address to be home for multiple prime addresses. Large composite addresses can be difficult to distinguish from prime addresses, which can be a factor to consider. Composite addresses have also become quite important in addressing new light structures and are used in airplanes to make them lightweight and durable. This is important in connecting to the cloud.

複合アドレスは2つ以上の素数アドレスによって形成され、したがって共有アドレスを構成し、アドレスが複数の素数アドレスのホームになることを可能にします。大きな複合アドレスは、考慮すべき要素となる可能性のある素数アドレスと区別するのが難しい場合があります。複合アドレスは、新しいライト構造のアドレス指定においても非常に重要になり、軽量で耐久性のあるものにするために飛行機で使用されます。これはクラウドに接続する上で重要です。

4. Complex Addresses
4. 複雑なアドレス
4.1. Floating Addresses
4.1. 浮動アドレス

Floating-point addresses allow for a more flexible addressing scheme better adapted for today's mobile computers, thus allowing for mobile IP [RFC5944]. Support for floating-point numbers is well established in the form of floating numbers as described in IEEE 754 [IEEE754], which allows both 32-bit and 64-bit floating-point numbers to be represented; this is well matched to the requirements of fitting into a 128-bit IPv6 address.

浮動小数点アドレスにより、今日のモバイルコンピュータにより適したより柔軟なアドレス指定スキームが可能になり、モバイルIP [RFC5944]が可能になります。浮動小数点数のサポートは、IEEE 754 [IEEE754]で説明されているように、浮動小数点の形式で確立されています。これにより、32ビットと64ビットの両方の浮動小数点数を表現できます。これは、128ビットIPv6アドレスに適合させる要件によく適合しています。

The use of floating addresses does not, however, imply that devices will be watertight. Please download the watertight app from your app store or distribution server. Also, keep your device well patched, as long-term durability of duct tape is limited, particularly if exposure to salt water is expected. Apply suitable environmentally sound lubricants for best sliding performance.

ただし、浮動アドレスの使用は、デバイスが水密になることを意味しません。アプリストアまたは配信サーバーから防水アプリをダウンロードしてください。また、ダクトテープの長期的な耐久性は限られているため、特に塩水への暴露が予想される場合は、デバイスにパッチを十分に当ててください。最高の摺動性能を得るために、環境に適した適切な潤滑剤を塗布してください。

Duct tape can be used to affix a floating address to a fixed address, such as a physical address. For long-term outdoor adhesion, please use UV-stable, nuclear-grade duct tape in layers: Layer 1 [OSI], the physical layer, for affixing the floating address to the physical address and then final layer, called Layer 7, for the application of UV protection. Intermediate layers can be applied depending on the complexity needed.

ダクトテープは、物理アドレスなどの固定アドレスに浮動アドレスを添付するために使用できます。長期の屋外接着には、UV安定性のある核級ダクトテープをレイヤーで使用してください:レイヤー1 [OSI]、物理層、フローティングアドレスを物理アドレスに貼り付け、次にレイヤー7と呼ばれる最終レイヤーをUV保護の適用。必要な複雑さに応じて、中間層を適用できます。

4.2. Real Addresses
4.2. 実際の住所

An important aspect of floating-point addresses is that one needs to establish the real address of a device that has a floating address, such that IP packets can be routed to it through the network. Letting part of the address act as the real floating-point value allows means to express real addresses within this address scheme, thus solving a complex addressing problem.

浮動小数点アドレスの重要な側面は、IPパケットをネットワーク経由でルーティングできるように、浮動アドレスを持つデバイスの実際のアドレスを確立する必要があることです。アドレスの一部を実際の浮動小数点値として機能させることで、このアドレススキーム内で実際のアドレスを表すことができ、複雑なアドレス指定の問題を解決できます。

Real addresses are typically assigned to real estate. Multi-homing is supported when the real estate connects to two or more road networks over individual road interfaces. Each road interface can often handle multiple real addresses. Mobile homes are assigned their current real address.

通常、実際の住所は不動産に割り当てられます。不動産が個々の道路インターフェースを介して2つ以上の道路ネットワークに接続する場合、マルチホーミングがサポートされます。多くの場合、各道路インターフェースは複数の実際の住所を処理できます。モバイルホームには、現在の実際の住所が割り当てられます。

4.3. Imaginary Addresses
4.3. 架空の住所

Another important aspect of floating-point addresses is that they can be in several possible locations; thus, one must be able to imagine the address as being somewhere other than where the real address would make you believe. The imaginary address provides this orthogonal property. When the imaginary address is found to be 0, then the imaginary address and the real address are considered equal, and the real address has been found.

浮動小数点アドレスのもう1つの重要な側面は、それらがいくつかの可能な場所にある可能性があることです。したがって、実際の住所があなたを信じさせる場所とは別の場所であると想像することができなければなりません。虚数アドレスは、この直交特性を提供します。虚数アドレスが0であることが判明すると、虚数アドレスと実アドレスは等しいと見なされ、実アドレスが検出されます。

Imaginary addresses are important in handling home locations above the normal real estate, that is, for cloud computing. The cloud can be identified using the imaginary address, whose floating address is adapted to a real address as the cloud gently floats by. During windy conditions, this may be difficult to achieve; during network storms, the real address of a cloud can become very unstable. Such storms can occasionally become so strong that they impact real estate and rearrange homes, making the real address quite surreal.

架空の住所は、通常の不動産の上の自宅の場所を処理する場合、つまりクラウドコンピューティングにとって重要です。雲は、仮想アドレスを使用して識別できます。その浮動アドレスは、雲が穏やかに浮いているときに実際のアドレスに適合します。風の強い状況では、これを達成するのは難しいかもしれません。ネットワークストームの間、クラウドの実際のアドレスは非常に不安定になる可能性があります。このような嵐は時々非常に強くなり、不動産に影響を与え、家を再配置するため、実際の住所は非常に現実的ではありません。

4.4. Flying Addresses
4.4. フライングアドレス

An extension to the imaginary address is the flying address format, which is adapted to the mobility of avian carriers. Avian carriers and their datagrams, as described in [RFC6214], are best addressed with flying addresses, which typically take up ICAO Class G [ICAO-A11] airspace, below the cloud, as can be expected from a lower-layer technology.

架空の住所への拡張は、鳥の運送業者の移動性に適合したフライングアドレス形式です。 [RFC6214]で説明されているように、鳥類のキャリアとそのデータグラムは、下層技術から予想されるように、通常は雲の下のICAOクラスG [ICAO-A11]の空域を占める飛行アドレスで最もよく対処されます。

4.5. Complex Addresses
4.5. 複雑なアドレス

With the introduction of the real address and imaginary address parts, the full width of complex addresses can be realized. Both the real and imaginary parts are represented in 64-bit floating-point numbers as described in [IEEE754], thus allowing for the floating-point aspect of addresses. The real address part provides for the real address of a device, whereas the imaginary part allows for the orthogonal addressing of the floating-point address. This allows for complex addressing schemes where both the real and imaginary addresses can be found.

実アドレス部分と虚アドレス部分の導入により、複雑なアドレスの全幅を実現できます。 [IEEE754]で説明されているように、実数部と虚数部の両方が64ビット浮動小数点数で表されるため、アドレスの浮動小数点の側面が可能になります。実アドレス部はデバイスの実アドレスを提供し、虚部は浮動小数点アドレスの直交アドレッシングを可能にします。これにより、実アドレスと虚アドレスの両方を見つけることができる複雑なアドレッシング方式が可能になります。

Complex addresses allow for address arithmetic in the usual way but can now go beyond the fixed-point limitations. Adding imaginary parts to the address has not been possible before due to the high cost of early floating-point hardware, which hampered imagination.

複雑なアドレスは、通常の方法でアドレス演算を可能にしますが、固定小数点の制限を超えることができます。初期の浮動小数点ハードウェアのコストが高く、想像力を妨げていたため、アドレスに虚数部を追加することはこれまで不可能でした。

5. Supported Addressing Schemes
5. サポートされているアドレス指定スキーム
5.1. Absolute Addresses
5.1. 絶対アドレス

It has become increasingly important to establish the absolute address of a device for many purposes, including but not limited to, use by law enforcement. This was manageable with fixed-point addresses but has become increasingly difficult with increased address mobility and floating-point addresses. The complex address scheme provides a method for getting the absolute address by performing the absolute function on the complex address.

法執行機関による使用を含むがこれに限定されない多くの目的のためにデバイスの絶対アドレスを確立することがますます重要になっています。これは固定小数点アドレスで管理可能でしたが、アドレスの移動性と浮動小数点アドレスの増加によりますます困難になっています。複素アドレススキームは、複素アドレスに対して絶対関数を実行することにより絶対アドレスを取得する方法を提供します。

5.2. Address Argument
5.2. アドレス引数

It has become increasingly obvious that there is debate about the address of certain services or functions, leading to address arguments. This is another difficulty with fixed-point addresses, as their one-dimensional form does not allow for an argument to be resolved. The complex addressing scheme provides an elegant solution to these address arguments, as the result of the address argument can trivially be found by taking the argument (i.e., arctan or atan) function of the complex address. Using the appropriate function, full argument resolution can be found without signs of ambiguity.

特定のサービスまたは機能のアドレスについて議論があり、アドレスの議論につながることがますます明らかになっています。 1次元形式では引数を解決できないため、これは固定小数点アドレスのもう1つの問題です。複雑なアドレス指定スキームは、複雑なアドレスの引数(つまり、arctanまたはatan)関数を取ることでアドレス引数の結果を簡単に見つけることができるため、これらのアドレス引数に対するエレガントなソリューションを提供します。適切な関数を使用して、曖昧さの兆候なしに完全な引数解決を見つけることができます。

5.3. Safe Addresses
5.3. 安全なアドレス

A safe address is the address of a safe house. This is used in various security scenarios -- the safety lies in that those in need can reach the safe house at the safe address but there is no indication that the address has this role. By use of the imagination, this address can be made less real, simply by making the imaginary part large enough not to be taken as a real address. Since it is a floating address, the real address can be made 0, thus making it completely imaginary, and the address argument will be orthogonal to any real address, providing it is hard to establish its real address. It is naturally still possible to establish the absolute address when needed.

安全な住所とは、安全な家の住所です。これは、さまざまなセキュリティシナリオで使用されます。安全性は、必要な人が安全な住所の安全な家に到達できるという点にありますが、住所にこの役割があることを示すものはありません。虚数を使用することにより、虚数部を実アドレスとして解釈されないように十分大きくするだけで、このアドレスを実数より少なくすることができます。浮動アドレスであるため、実アドレスを0にして完全に虚数にすることができます。アドレス引数は、実アドレスを確立するのが難しい場合、どの実アドレスにも直交します。もちろん、必要に応じて絶対アドレスを設定することも可能です。

5.4. Virtual Addresses
5.4. 仮想アドレス

Virtual addresses, where the same network interface can have multiple addresses, have traditionally been an important concept. With the complex addressing scheme, the imaginary part allows for a much wider range of virtualization than just normal multiple real addresses for a particular interface. This goes beyond normal cloud computing, where virtualization just allows you to operate somebody else's computer. The new imaginative address capabilities and higher altitude addresses due to the increased range allow you to operate a cloud within a cloud, so that you just run on top of somebody else's cloud. This high altitude allows for supersonic cruise speed for high-performance computing.

同じネットワークインターフェイスが複数のアドレスを持つことができる仮想アドレスは、伝統的に重要な概念でした。複雑なアドレス指定スキームでは、虚数部により、特定のインターフェイスの通常の複数の実際のアドレスよりもはるかに広い範囲の仮想化が可能になります。これは、仮想化によって他のユーザーのコンピューターを操作できる通常のクラウドコンピューティングを超えています。範囲の拡大による新しい想像上の住所機能と標高の高い住所により、クラウド内でクラウドを操作できるため、他の誰かのクラウドの上で実行できます。この高い高度により、高性能コンピューティングの超音速巡航速度が可能になります。

5.5. Rational Addresses
5.5. 合理的なアドレス

Engineers tend to always look at problems rationally, including the problem of addressing. The traditional fixed-point address has, however, only supported a subset of rational addresses, but with the new complex addressing scheme, a larger subset of rational addresses can be reached or approximated, allowing for a larger rationale to be found.

エンジニアは、対処の問題を含め、問題を常に合理的に見る傾向があります。ただし、従来の固定小数点アドレスは有理アドレスのサブセットしかサポートしていませんでしたが、新しい複雑なアドレス指定スキームを使用すると、有理アドレスのより大きなサブセットに到達または近似できるため、より大きな根拠を見つけることができます。

The rationale for this is that with the use of floating addresses, the power of 2 now can perfectly divide. Further, approximations for other dividends can often be sufficiently precise. The full scope of rational numbers has not been reached, however, as the committee was quite imprecise on the use of floating addresses but agreed that this initial support of rational addresses could be acknowledged and helpful while its usage is TBD.

これの理論的根拠は、浮動アドレスを使用すると、2の累乗が完全に除算できるようになることです。さらに、他の被除数の近似は、多くの場合十分に正確です。ただし、浮動アドレスの使用について委員会は非常に不正確だったため、有理数の完全な範囲には達していませんが、使用が未定である間、有理アドレスのこの最初のサポートが認められて役立つことに同意しました。

5.6. Irrational Addresses
5.6. 非合理的なアドレス

Support for irrational addresses has been very poor in the traditional addressing scheme, since fixed-point addresses did not support any irrational behavior by design, even if proofs for irrational addresses have been known to be jotted down. The new scheme allows for approximations of irrational addresses to be supported; even though no rationale for why this would be needed could be found, it is a neat feature to handle the irrationality of the world today.

従来のアドレッシングスキームでは、不合理なアドレスの証明が書き留められていることがわかっていても、固定小数点アドレスは不合理な動作をサポートしていないため、非合理的なアドレスのサポートは非​​常に貧弱でした。新しいスキームでは、不合理なアドレスの近似をサポートできます。なぜこれが必要かという根拠は見つからなかったとしても、今日の世界の非合理性を処理することはきちんとした機能です。

5.7. Transcendent Addresses
5.7. 超越アドレス

As a natural extension to irrational addresses, one can include approximation to the transcendent addresses, which transcend beyond the physical address or even the real address. While only approximated due to limited precision, they can still be used to locate the floating address for the life of Pi [PI], as Pi's life floats by.

不合理なアドレスへの自然な拡張として、物理アドレスまたは実際のアドレスを超えて超越する超越アドレスへの近似を含めることができます。精度が限られているため概算されているだけですが、Piのライフが変動するため、Pi [PI]のライフの浮動アドレスを見つけるために使用できます。

6. Geometric Addresses
6. 幾何学的住所
6.1. Round Addresses
6.1. ラウンドアドレス

In order to cope with the complexity of the real world, real addresses (both rational or irrational) have always needed to be rounded up for them to be represented. This rounding provides what is known as round addresses and is achieved using a rounding function. This practice is maintained in the complex addressing scheme and is a necessity for support of rational and irrational addresses.

現実の世界の複雑さに対処するために、実際の住所(合理的または非合理的の両方)を表現するには、常に切り上げる必要があります。この丸めは、丸めアドレスと呼ばれるものを提供し、丸め関数を使用して実現されます。このプラクティスは、複雑なアドレス指定スキームで維持され、合理的および非合理的なアドレスをサポートするために必要です。

Round addresses are needed to efficiently forward packets around ring-type networks like Token Ring [IEEE-802.5] or Resilient Packet Ring (RPR) [IEEE-802.17].

ラウンドアドレスは、トークンリング[IEEE-802.5]やレジリエントパケットリング(RPR)[IEEE-802.17]などのリング型ネットワークでパケットを効率的に転送するために必要です。

Common round words include "ring", "circle", and "sphere"; other round words are discouraged, especially when using the network.

一般的なラウンドワードには、「リング」、「サークル」、「球」などがあります。特にネットワークを使用する場合は、他の丸い言葉はお勧めできません。

6.2. Square Addresses
6.2. スクエアアドレス

As is well established, some addresses regularly in use cannot be directly used on the Internet. Addresses in text form are often referred to as square addresses, because the characters traditionally take up a square on the screen and because they act as a square peg in the round hole of Internet addresses. In order to convert these square addresses into round floating-point numbers, the Domain Name Service (DNS) was introduced to replace the host tables.

十分に確立されているように、定期的に使用されている一部のアドレスは、インターネット上で直接使用できません。テキスト形式のアドレスは、四角形のアドレスと呼ばれることがよくあります。これは、文字が画面上で四角形を占めるため、インターネットアドレスの丸い穴で四角いペグとして機能するためです。これらの正方形のアドレスを丸い浮動小数点数に変換するために、ドメインネームサービス(DNS)が導入され、ホストテーブルが置き換えられました。

Host tables are the old-school way of looking up a square number and converting it to round form. Such tables were published for all known square numbers, but they where inherently out of date as new square numbers kept occurring -- new round numbers had to be calculated from these square numbers and then had to be tabulated and published.

ホストテーブルは、正方形の数を調べてそれを丸い形に変換する昔ながらの方法です。そのようなテーブルはすべての既知の四角数について公開されましたが、新しい四角数が発生し続けたために本質的に古くなっている場合、これらの四角数から新しいラウンド数を計算し、表にして公開する必要がありました。

Square addresses often use square pi (see Appendix A).

正方形のアドレスは多くの場合、正方形のpiを使用します(付録Aを参照)。

6.3. Polar Addresses
6.3. 極地アドレス

A misconception on square addresses is that they would represent the world as being a flat earth. While the complex addressing scheme supports Cartesian coordinates, alternative polar addresses can be formed. Since a flat earth would not have poles through which the rotation axis would fit, this proves that the earth is not flat in terms of square addresses but only has a square address representation. Polar addresses are trivially achieved using the absolute address and address argument methods. Recovering the complex address is trivially achieved using the exponential function on the complex polar address.

正方形のアドレスに対する誤解は、それらが世界を平らな地球であると表現することです。複雑なアドレッシング方式はデカルト座標をサポートしていますが、別の極座標アドレスを形成できます。平らな地球には回転軸が適合する極がないので、これは地球が正方形のアドレスに関して平らではなく、正方形のアドレス表現しか持たないことを証明しています。極座標アドレスは、絶対アドレスおよびアドレス引数メソッドを使用して簡単に実現されます。複雑なアドレスの回復は、複雑な極座標アドレスの指数関数を使用して簡単に実現できます。

The polar address also has a use for addressing Santa Claus, who is well known for living at the North Pole. This address can only be reached by use of the imaginary address, as it takes a certain amount of imagination in order to address Santa Claus. Traditional integer and fixed addressing schemes do not allow for such imaginative addresses, but the complex addressing scheme trivially handles it. The North American Aerospace Defense Command (NORAD) Santa Tracker would not have been possible without imaginative use of polar addresses when their secret phone address was revealed.

極地の住所は、北極に住んでいることでよく知られているサンタクロースの住所にも使用できます。サンタクロースを演説するためにある程度の想像力を必要とするため、この演説は架空の演説を使用することによってのみ到達できます。従来の整数および固定アドレッシングスキームでは、このような想像上のアドレスは使用できませんが、複雑なアドレッシングスキームでは、それを簡単に処理できます。北米航空宇宙防衛司令部(NORAD)のサンタ追跡は、秘密の電話アドレスが明かされたとき、極地のアドレスを想像的に使用することなしには不可能でした。

6.4. Root Server
6.4. ルートサーバー

The DNS system uses a small set of known root servers, which provides the root service in order to attain the address of a node. The complex address provides a solution such that each client can in itself act as a root server as they now can use built-in floating-point hardware or software to get the root address from the squared address. This offloads the root servers for common benefits, but the traditional root servers can operate in parallel, easing the transition to the complex address system.

DNSシステムは、ノードのアドレスを取得するためにルートサービスを提供する既知のルートサーバーの小さなセットを使用します。複雑なアドレスは、組み込みの浮動小数点ハードウェアまたはソフトウェアを使用して平方アドレスからルートアドレスを取得できるようになったため、各クライアントがそれ自体がルートサーバーとして機能できるようなソリューションを提供します。これにより、ルートサーバーの負荷が軽減されますが、従来のルートサーバーは並行して動作できるため、複雑なアドレスシステムへの移行が容易になります。

6.5. Implementation Considerations
6.5. 実装に関する考慮事項

Implementation of floating-point addresses and complex addresses, as needed for complex addressing schemes, is trivial in today's context. IEEE 754 [IEEE754] allows for a common and agreed-upon format for representing floating-point numbers. The 64-bit floating-point representation is well established and supported throughout a wide range of devices. Support also exists in a wide range of computer languages, including C and FORTRAN. The C standard library (or libc) essentially makes all modern languages support it in a consistent manner. An independent implementation exists for Intercal. With ISO C99 [C99], the <complex.h> include provides even more direct support for complex numbers, enabling efficient handling of all aspects of complex addressing with minimal implementation effort.

複雑なアドレッシングスキームに必要な浮動小数点アドレスと複雑なアドレスの実装は、今日の状況では簡単です。 IEEE 754 [IEEE754]は、浮動小数点数を表すための共通の合意された形式を許可します。 64ビット浮動小数点表現は確立されており、幅広いデバイスでサポートされています。サポートは、CやFORTRANを含む幅広いコンピューター言語でも存在します。 C標準ライブラリ(またはlibc)は、基本的にすべての現代の言語に一貫した方法でそれをサポートさせます。 Intercalには独立した実装が存在します。 ISO C99 [C99]では、<complex.h>インクルードが複素数をさらに直接サポートするため、最小限の実装作業で複雑なアドレス指定のあらゆる側面を効率的に処理できます。

7. IPv6 Address Mapping
7. IPv6アドレスマッピング

In order to convey complex addresses in the IPv6 address format, the following mapping is provided:

IPv6アドレス形式で複雑なアドレスを伝達するために、次のマッピングが提供されています。

    3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
    1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |6                                                             3|
   |3               complex address (real part)                   2|
   +---------------------------------------------------------------+
   |3                                                              |
   |1               complex address (real part)                   0|
   +---------------------------------------------------------------+
   |6                                                             3|
   |3            complex address (imaginary part)                 2|
   +---------------------------------------------------------------+
   |3                                                              |
   |1            complex address (imaginary part)                 0|
   +---------------------------------------------------------------+
        

The 128-bit IPv6 address is divided into two 64-bit parts, where the upper half holds the real part of the address while the lower half holds the imaginary part of the complex address. These are represented as 64-bit floating-point numbers as defined in [IEEE754]; therefore, the real and imaginary address MUST be in the format described in IEEE 754.

128ビットのIPv6アドレスは2つの64ビット部分に分割され、上半分はアドレスの実数部を保持し、下半分は複素数アドレスの虚数部を保持します。これらは、[IEEE754]で定義されている64ビット浮動小数点数として表されます。したがって、実数および虚数のアドレスは、IEEE 754で説明されている形式でなければなりません。

Since the real address is held in the real part of the complex address and the imaginary address is held in the imaginary part of the complex address, the proposed representation allows for compiler optimization such that these operations can be performed without performance hits, as could otherwise be expected with any real or complex addressing scheme.

実際のアドレスは複素数アドレスの実数部に保持され、虚数アドレスは複素数アドレスの虚数部に保持されるため、提案された表現は、コンパイラーの最適化を可能にし、他の場合と同様に、これらの演算をパフォーマンスヒットなしで実行できるようにします。実際または複雑なアドレッシング方式で期待される。

8. IANA Considerations
8. IANAに関する考慮事項

This document does not require any IANA actions, though IANA may find it mildly amusing.

このドキュメントでは、IANAのアクションは必要ありませんが、IANAは少しおもしろいかもしれません。

9. Security Considerations
9. セキュリティに関する考慮事項

Complex addressing is considered unsafe, as division by 0 still provides Not a Number (NaN) values. Users will have to be careful to identify the NaN as they can indicate infinity addresses, which are unrealistic as one needs to confine the address length to the address space. Many other traditional unsafe operations for fixed-point addresses have, however, been resolved. For example, the error condition of having the square address of -1 is readily resolved as the root address becomes the complex address i. Thus, it has the real part of 0, which is reasonable for an address that is not real, and an imaginary part of 1, which is in itself reasonable since one can imagine this error to occur.

0による除算は依然として非数(NaN)値を提供するため、複雑なアドレス指定は安全ではないと見なされます。アドレス長をアドレス空間に制限する必要があるため、非現実的である無限アドレスを示す可能性があるため、ユーザーはNaNを特定するように注意する必要があります。ただし、固定小数点アドレスに対する他の多くの従来の安全でない操作は解決されています。たとえば、平方アドレスが-1であるというエラー状態は、ルートアドレスが複素数アドレスiになるため、簡単に解決されます。したがって、それは0の実数部を持ち、これは実数ではないアドレスに対しては妥当です。1の虚数部は、このエラーの発生を想像できるため、それ自体が妥当です。

Division by 0 and other floating-point address calculations can cause a floating-point interrupt, which causes the execution address to deviate; it is typically pushed on a stack and replaced by the interrupt handler address. Recovery from such interrupts may require further recursive calls; hence, the overall computation time is unpredictable. It can cause a complete core dump, and dumping the core can have significant effects on the propulsion system and the time to reach anywhere in the address space. Care must be taken to avoid such measures, or engineering will be quite upset. Dumping the core also widely breaks security protocols, as leaks can have widespread consequences. NaN is also known as "No Agency Number", to mark the importance of keeping things secure.

0による除算およびその他の浮動小数点アドレス計算により、浮動小数点割り込みが発生し、実行アドレスが逸脱する可能性があります。通常はスタックにプッシュされ、割り込みハンドラーアドレスに置き換えられます。このような割り込みからの回復には、さらに再帰的な呼び出しが必要になる場合があります。したがって、全体的な計算時間は予測できません。これは完全なコアダンプを引き起こす可能性があり、コアのダンプは推進システムとアドレススペースの任意の場所に到達する時間に大きな影響を与える可能性があります。そのような対策を避けるように注意を払わなければなりません、さもなければ、エンジニアリングはかなり動揺します。リークは広範囲に影響を与える可能性があるため、コアをダンプすると、セキュリティプロトコルが大幅に破損します。 NaNは "No Agency Number"とも呼ばれ、物事を安全に保つことの重要性を示しています。

10. References
10. 参考文献
10.1. Normative References
10.1. 引用文献

[C99] ISO, "Information technology -- Programming Languages -- C", ISO/IEC 9899, 1999.

[C99] ISO、「情報技術-プログラミング言語-C」、ISO / IEC 9899、1999。

[IEEE754] IEEE, "IEEE Standard for Floating-Point Arithmetic", IEEE 754, DOI 10.1109/IEEESTD.2008.4610935.

[IEEE754] IEEE、「IEEE Standard for Floating-Point Arithmetic」、IEEE 754、DOI 10.1109 / IEEESTD.2008.4610935。

[OSI] ISO, "Information technology -- Open Systems Interconnection -- Basic Reference Model: The Basic Model", ISO/IEC 7498-1, 1994.

[OSI] ISO、「情報技術-オープンシステム相互接続-基本参照モデル:基本モデル」、ISO / IEC 7498-1、1994。

[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI 10.17487/RFC0791, September 1981, <http://www.rfc-editor.org/info/rfc791>.

[RFC791] Postel、J。、「インターネットプロトコル」、STD 5、RFC 791、DOI 10.17487 / RFC0791、1981年9月、<http://www.rfc-editor.org/info/rfc791>。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<http://www.rfc-editor.org/info/ rfc2119>。

[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, DOI 10.17487/RFC4291, February 2006, <http://www.rfc-editor.org/info/rfc4291>.

[RFC4291] Hinden、R。およびS. Deering、「IPバージョン6アドレッシングアーキテクチャ」、RFC 4291、DOI 10.17487 / RFC4291、2006年2月、<http://www.rfc-editor.org/info/rfc4291>。

[RFC6214] Carpenter, B. and R. Hinden, "Adaptation of RFC 1149 for IPv6", RFC 6214, DOI 10.17487/RFC6214, April 2011, <http://www.rfc-editor.org/info/rfc6214>.

[RFC6214] Carpenter、B。およびR. Hinden、「Adaptation of RFC 1149 for IPv6」、RFC 6214、DOI 10.17487 / RFC6214、2011年4月、<http://www.rfc-editor.org/info/rfc6214>。

10.2. Informative References
10.2. 参考引用

[ICAO-A11] ICAO, "Air Traffic Services, Annex 11 to the Convention on International Civil Aviation", July 2001, <http://www.icao.int/secretariat/PostalHistory/ annex_11_air_traffic_services.htm>.

[ICAO-A11] ICAO、「航空交通サービス、国際民間航空に関する条約の付属書11」、2001年7月、<http://www.icao.int/secretariat/PostalHistory/ annex_11_air_traffic_services.htm>。

[IEEE-802.17] IEEE, "IEEE Standard for Information Technology - Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks - Specific Requirements Part 17: Resilient Packet Ring (RPR) Access Method and Physical Layer Specifications", IEEE 802.17, DOI 10.1109/IEEESTD.2011.6026209.

[IEEE-802.17] IEEE、「IEEE Standard for Information Technology-Telecommunications and Information Exchange between Systems-Local and Metropolitan Area Networks-Specific Requirements Part 17:Resilient Packet Ring(RPR)Access Method and Physical Layer Specifications」、IEEE 802.17、DOI 10.1109 / IEEESTD.2011.6026209。

[IEEE-802.5] IEEE, "IEEE Standard for Information Technology - Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks - Part 5: Token Ring Access Method and Physical Layer Specifications", IEEE 802.5, DOI 10.1109/IEEESTD.1992.7438701.

[IEEE-802.5] IEEE、「IEEE Standard for Information Technology-Telecommunications and Information Exchange between Systems-Local and Metropolitan Area Networks-Part 5:Token Ring Access Method and Physical Layer Specifications」、IEEE 802.5、DOI 10.1109 / IEEESTD.1992.7438701。

[PI] "Life of Pi", 20th Century Fox, 2012.

[PI]「Life of Pi」、20世紀フォックス、2012年。

[pibill] Wikipedia, "Indiana Pi Bill", March 2017, <https://en.wikipedia.org/w/ index.php?title=Indiana_Pi_Bill&oldid=770393894>.

[pibill] Wikipedia、「Indiana Pi Bill」、2017年3月、<https://en.wikipedia.org/w/ index.php?title = Indiana_Pi_Bill&oldid = 770393894>。

[RFC5944] Perkins, C., Ed., "IP Mobility Support for IPv4, Revised", RFC 5944, DOI 10.17487/RFC5944, November 2010, <http://www.rfc-editor.org/info/rfc5944>.

[RFC5944]パーキンス、C。、編、「IPv4のIPモビリティサポート、改訂」、RFC 5944、DOI 10.17487 / RFC5944、2010年11月、<http://www.rfc-editor.org/info/rfc5944>。

Appendix A. Square Pi
付録A. Square Pi

When using square numbers, it is customary to use square pi, a number that has seen limited exposure in traditional texts but is widely used in computer science. It is thus appropriate to publish a few related notes on square pi in order to assist users of square addresses on its correct usage.

平方数を使用する場合、従来のテキストでは限定的な露出しか見られなかったが、コンピューターサイエンスで広く使用されている数である平方piを使用するのが通例です。したがって、正方形のアドレスのユーザーが正しい使い方をするのを助けるために、正方形のpiにいくつかの関連するノートを公開することが適切です。

While traditional pi or round pi is an irrational number, it can be rounded off to 3.14 or 3.14159; it has an incomprehensible number of decimals, which is quite inappropriate for a round number, but as we keep rounding it to fit our needs, we keep rationalizing it from its irrational behavior.

従来のpiまたは丸めpiは無理数ですが、3.14または3.14159に四捨五入することができます。小数の桁数が理解できないため、四捨五入には不適切ですが、必要に応じて四捨五入しているため、不合理な動作から合理化しています。

The radius of an object is the closest to the center of the object you get. The circumference is the radius times 2 pi. The diameter is the shortest distance across the object, which is thus the radius times 2. The area is pi times the square of radius.

オブジェクトの半径は、取得するオブジェクトの中心に最も近いものです。円周は、半径に2 piを掛けたものです。直径はオブジェクト全体の最短距離であり、半径の2倍です。面積は、半径の2乗のpi倍です。

For a round circle, the radius is from the center to anywhere on the circumference. For a square circle, the radius only reaches the circumference on the four points located closest to the center. These are typically oriented such that the real and imaginary axis goes through them, which is helpful in calculations, and no rotation symmetries need to be considered.

丸い円の場合、半径は中心から円周上の任意の場所までです。正方形の円の場合、半径は中心に最も近い4点の円周にのみ達します。これらは通常、実数軸と虚数軸が通過するように方向付けられています。これは計算に役立ち、回転対称性を考慮する必要はありません。

The square pi fills the same purpose as the round pi, but rather than being adapted to round objects, it is adapted to square objects. For a square circle, the math is exactly the same as for round circles, provided that the square pi is used with square circles and that round pi is used with round circles.

正方形のpiは、丸いpiと同じ目的を果たしますが、丸いオブジェクトに適応するのではなく、正方形のオブジェクトに適応します。正方形の円の場合、計算は円形の円の場合とまったく同じです。ただし、正方形の円周率は正方形の円で使用され、その円周率の円周率は円形の円で使用されます。

The value of square pi is 4.

正方形piの値は4です。

The value of square pi adapts really well to the way that computers calculate, which is also why computer results often are represented in square numbers, providing a bit of a square feeling. It should be noted that the square root of pi is often used, and the square root of square pi is naturally 2, which is very easy to handle in calculations and effectively reduces the risk of irrational numbers.

正方形piの値は、コンピューターが計算する方法に非常によく適合します。これは、コンピューターの結果がしばしば正方形の数で表され、少し正方形の感覚を提供する理由でもあります。 piの平方根がよく使用され、平方piの平方根は当然2であり、計算で非常に扱いやすく、無理数のリスクを効果的に減らすことに注意してください。

Please note that the square pi should not be confused with the Indiana Pi Bill [pibill], which does not discuss the square pi but a failed attempt to do square calculation of the area and circumference of a round circle using traditional tools like rulers and compasses.

正方形の円周率は、インディアナ州の円周率法案[pibill]と混同しないでください。これは、正方形の円周率については説明していませんが、定規やコンパスなどの従来のツールを使用して、円形の円の面積と円周を計算することに失敗しています。 。

Appendix B. Implementation Example
付録B.実装例

The following is a simple implementation example to illustrate how some core concepts can be implemented in <complex.h> (as defined in ISO C99 [C99]).

以下は、いくつかのコアコンセプトを<complex.h>に実装する方法を示す簡単な実装例です(ISO C99 [C99]で定義)。

   #include <complex.h>
   #include <math.h>
   #include <stdio.h>
        

// Define type for complex address typedef complex ca;

//複雑なアドレスのタイプを定義しますtypedef complex ca;

   // Create complex address
   ca ca_create_complex_address(double real_address,
           double imaginary_address)
   {
           return real_address + I * imaginary_address;
   }
        
   // Get real address
   double  ca_get_real_address(ca ca_val)
   {
           return creal(ca_val);
   }
        
   // Get imaginary address
   double  ca_get_imaginary_address(ca ca_val)
   {
           return cimag(ca_val);
   }
        
   // Get complex address
   complex ca_get_complex_address(ca ca_val)
   {
           return ca_val;
   }
        
   // Get floating address
   double  ca_get_floating_address(ca ca_val)
   {
           return creal(ca_val);
   }
        
   // Get physical address
   double  ca_get_physical_address(ca ca_val)
   {
           return cimag(ca_val);
        

}

   // Get absolute address
   double  ca_get_absolute_address(ca ca_val)
   {
           return cabs(ca_val);
   }
        
   // Get address argument
   double  ca_get_address_argument(ca ca_val)
   {
           return carg(ca_val)*360/(2*M_PI);
   }
        
   int main()
   {
           ca ca1, ca2;
        
           ca1 = ca_create_complex_address(1.0, 0.0);
           printf("The complex address (%f,%f)\n",
                   creal(ca1), cimag(ca1));
           printf("has the real address %f and imaginary address %f\n",
                   ca_get_real_address(ca1),
                   ca_get_imaginary_address(ca1));
           printf("This represents the floating address %e and \
   physical address %f\n", \
                   ca_get_floating_address(ca1),
                   ca_get_physical_address(ca1));
           ca2 = ca_create_complex_address(0.0, 1.0);
           printf("The complex address (%f,%f)\n",
                   creal(ca2), cimag(ca2));
           printf("This represents the absolute address %f\n",
                   ca_get_absolute_address(ca2));
           printf("The address argument resolution is %f\n",
                   ca_get_address_argument(ca2));
           return 0;
   }
        

Authors' Addresses

著者のアドレス

Magnus Danielson Net Insight AB Vastberga Alle 9 Hagersten 12630 Sweden

Magnus Danielson Net Insight AB Vastberga Alle 9 Hagersten 12630スウェーデン

   Email: magda@netinsight.net
        

Mans Nilsson Besserwisser Networks

Mans Nilsson Besserwisser Networks

   Email: mansaxel@besserwisser.org