JP2013038660A - Middle layer module, recording media and data transfer method - Google Patents

Middle layer module, recording media and data transfer method Download PDF

Info

Publication number
JP2013038660A
JP2013038660A JP2011174365A JP2011174365A JP2013038660A JP 2013038660 A JP2013038660 A JP 2013038660A JP 2011174365 A JP2011174365 A JP 2011174365A JP 2011174365 A JP2011174365 A JP 2011174365A JP 2013038660 A JP2013038660 A JP 2013038660A
Authority
JP
Japan
Prior art keywords
layer
byte
data
byte sequence
ndn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011174365A
Other languages
Japanese (ja)
Inventor
Masahiko Fujinaga
昌彦 藤長
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota InfoTechnology Center Co Ltd
Original Assignee
Toyota InfoTechnology Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota InfoTechnology Center Co Ltd filed Critical Toyota InfoTechnology Center Co Ltd
Priority to JP2011174365A priority Critical patent/JP2013038660A/en
Publication of JP2013038660A publication Critical patent/JP2013038660A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a protocol module and a data transfer method, etc. which helps to spread an NDN architecture on a full scale as a candidate for the next generation Internet without modifying the functionality of the Ethernet (R).SOLUTION: A sub-layer 21 is provided between an NDN layer 22 and Ethernet (R) 11, etc., the sub-layer 21 being used to execute a segmentation/reassembling process. A network interface (Face module) constituting the NDN layer 22 conducts a data transfer between adjacent NDN nodes, and also holds an MTU in a link. Therefore, the Face module may be considered to be the one which finally invokes a data transmission instruction (to the Ethernet (R) 11, etc., for example). It is appropriate that the segmentation/reassembling process be executed immediately before this data transmission instruction. The NDN Face module is extended to implement a data transfer method and a middle layer module of the present invention.

Description

本発明は、TCP/IPモデルにおけるネットワークインタフェース層等の上に定義された中層と、当該中層の上に定義されたネームド・データ・ネットワーキング(Named Data Networking : NDN)層とを備えた通信プロトコルを実装するプロトコル・スタックにおける当該中層のモジュール(プログラム)等に関する。   The present invention provides a communication protocol including a middle layer defined on a network interface layer or the like in the TCP / IP model, and a named data networking (NDN) layer defined on the middle layer. The present invention relates to a module (program) of the middle layer in the protocol stack to be implemented.

従来より、国際標準化機構(ISO)により制定された開放型システム間相互接続(Open Systems Interconnection : OSI)参照モデルが知られている。図8(A)はOSI参照モデルに基づく7階層(レイヤ)を示す。図8(A)において、符号1はネットワーク間の物理的な接続(コネクタのピン数、形状)を規定する第1層の物理層、2は直接的に接続されている通信機器間でのデータ伝送を担当する第2層のデータリンク層、3はネットワークの経路選択・中継作業を担当する第3層のネットワーク層、4は再送、輻輳等のようなネットワークの端から端(エンド・ツー・エンド)の通信監理を行う第4層のトランスポート層、5は通信プログラム間における通信の開始から終了までの手順を規定する第5層のセッション層、6はデータの表現方法等を規定する第6層のプレゼンテーション層、7はファイルの転送等の具体的な通信サービスを提供する第7層のアプリケーション層である。   Conventionally, an Open Systems Interconnection (OSI) reference model established by the International Organization for Standardization (ISO) is known. FIG. 8A shows seven layers (layers) based on the OSI reference model. In FIG. 8A, reference numeral 1 is a physical layer of the first layer that defines physical connection (number of pins and shape of connector) between networks, and 2 is data between communication devices that are directly connected. The data link layer of the second layer responsible for transmission, 3 the network layer of the third layer responsible for network route selection / relay work, 4 the end-to-end of the network such as retransmission, congestion, etc. 4) Transport layer for performing communication management of the end) 5 is a session layer of 5th layer that defines a procedure from the start to the end of communication between communication programs, and 6 is a layer that defines a data expression method and the like. Six presentation layers, and seven an application layer for providing specific communication services such as file transfer.

上述したOSI参照モデルは実装等の理由によりあまり普及はしなかった。一方、アメリカ国防総省の下で開発されたARPAnet(Advanced Research Projects Agency Network)から発展したTCP/IP(Transmission Control Protocol/Internet Protocol)はインターネットの普及に伴い急速に発展した。図8(B)はTCP/IPの階層モデルを示す。図8(B)に示されるTCP/IPの階層と図8(A)に示されるOSI参照モデルの階層とは横方向に対応付けられているが、両者のどの階層をどの階層に対応付けるかは人により異なる点があり、図8(A)、(B)の対応付けは一例である(例えば非特許文献1参照)。図8(B)で、符号10は物理層1に対応する第0層のハードウェア層であり、実装例としてはUTP(Unshield Twisted Pair)ケーブル等がある。符号11はデータリンク層2に対応する第1層のネットワークインタフェース層であり、実装例としてはイーサネット(登録商標)、PPP(Point to Point Protocol)等がある(以下、「イーサネット(登録商標)11」と言うことがある。)。符号12はネットワーク層3に対応する第2層のインターネットであり、実装例としてはIP等がある(以下、「IP12」と言うことがある。)。符号13はトランスポート層4に対応する第3層のトランスポートであり、実装例としてはTCP等がある(以下、「TCP13」と言うことがある。)。符号14はセッション層5、プレゼンテーション層6およびアプリケーション層7に対応する第4層のアプリケーションであり、実装例としてはHTTP(Hyper Text Transfer Protocol)等がある。TCP/IPではノードにIPアドレスが付けられており、IP12においてIPアドレスを見てパケットを転送している。   The OSI reference model described above has not been widely used for reasons such as implementation. On the other hand, TCP / IP (Transmission Control Protocol / Internet Protocol) developed from ARPAnet (Advanced Research Projects Agency Network) developed under the US Department of Defense developed rapidly with the spread of the Internet. FIG. 8B shows a TCP / IP hierarchical model. The layer of TCP / IP shown in FIG. 8B and the layer of the OSI reference model shown in FIG. 8A are associated in the horizontal direction, but which layer of both is associated with which layer. There are different points depending on the person, and the correspondence between FIGS. 8A and 8B is an example (see Non-Patent Document 1, for example). In FIG. 8B, reference numeral 10 denotes a hardware layer of the 0th layer corresponding to the physical layer 1, and an implementation example includes a UTP (Unshield Twisted Pair) cable. Reference numeral 11 denotes a first network interface layer corresponding to the data link layer 2, and examples of implementation include Ethernet (registered trademark), PPP (Point to Point Protocol), etc. (hereinafter referred to as "Ethernet (registered trademark) 11". "" Reference numeral 12 denotes the Internet of the second layer corresponding to the network layer 3, and examples of the implementation include IP (hereinafter sometimes referred to as “IP12”). Reference numeral 13 denotes a transport in the third layer corresponding to the transport layer 4, and an example of mounting is TCP or the like (hereinafter also referred to as “TCP13”). Reference numeral 14 denotes a fourth layer application corresponding to the session layer 5, the presentation layer 6, and the application layer 7, and examples of the implementation include HTTP (Hyper Text Transfer Protocol). In TCP / IP, an IP address is assigned to a node, and a packet is transferred by looking at the IP address in IP12.

図8(A)に示されるOSI参照モデルに基づく7階層の場合および図8(B)に示されるTCP/IPの階層の場合のいずれも、各階層で取り扱いやすいデータのサイズは異なっている。例えば、イーサネット(登録商標)11で取り扱える最大転送サイズ(Maximum Transmission Unit : MTU)は、1KBまたは1.5KBである。このため上層のIP12にはデータを1KBまたは1.5KBに区切って下層のイーサネット(登録商標)11へ渡すセグメンテーションの機能がある。逆に、IP12は下層のイーサネット(登録商標)11から受け取った複数のパケットを組み上げて上層のTCP13へ渡すリアセンブリング機能も有している。イーサネット(登録商標)11はセグメンテーション/リアセンブリング機能を有していない。   In each of the seven layers based on the OSI reference model shown in FIG. 8A and the TCP / IP layer shown in FIG. 8B, the size of data that can be easily handled in each layer is different. For example, the maximum transmission size (Maximum Transmission Unit: MTU) that can be handled by the Ethernet (registered trademark) 11 is 1 KB or 1.5 KB. For this reason, the upper layer IP 12 has a segmentation function for dividing data into 1 KB or 1.5 KB and passing it to the lower layer Ethernet (registered trademark) 11. Conversely, the IP 12 also has a reassembly function that assembles a plurality of packets received from the lower layer Ethernet (registered trademark) 11 and passes them to the upper layer TCP 13. The Ethernet 11 does not have a segmentation / reassembly function.

次に、ネームド・データ・ネットワーキング(Named Data Networking : NDN)について説明する。NDNは次世代インターネットの候補と言われており、ネットワーク中に存在するノードが有するコンテンツ(content)に名前(name)を付けて送受の制御を行うというモデルである。図8(B)で言えばTCP13およびIP12をNDN層で置き換えるというモデルである。TCP/IPではノードにIPアドレスを付けておきIP12においてIPアドレスを見てパケットを転送していくが、NDNではネットワーク中のノードに存在するコンテンツに名前を付けておき、NDN層において名前を見てコンテンツを転送していく。   Next, Named Data Networking (NDN) will be described. NDN is said to be a candidate for the next-generation Internet, and is a model in which transmission / reception is controlled by assigning a name to content held by a node existing in the network. In FIG. 8B, this is a model in which TCP 13 and IP 12 are replaced with an NDN layer. In TCP / IP, IP addresses are assigned to nodes and packets are transferred by looking at the IP address in IP12. However, in NDN, names are given to contents existing in nodes in the network, and the names are seen in the NDN layer. And transfer the content.

図9はNDNアーキテクチャにおけNDNパケットを示す(図9および後で説明する図10の出典は非特許文献2参照。以下、非特許文献2を参照して説明する。)。NDNにおける通信は受取り端、即ちデータ消費者(data consumer)により駆動される。図9(A)はインタレスト(Interest)パケット100を示す。インタレストパケット100はデータを受取るためにデータ消費者により送信されるパケットであり、所望のデータを識別する名前を運ぶ。図9(A)に示されるように、インタレストパケット100のパラメータはデータ消費者が受取りを望むデータを識別するコンテンツ名(Content Name)101および発行者を識別するセレクタ(Selector)102である。インタレストパケット100が要求されたデータを有するノードに到着すると、データ(Data)パケットが送り返される。図9(B)はデータパケット150を示す。図9(B)に示されるように、データパケット150のパラメータはコンテンツ名101、データ作成者(producer)の鍵による署名151およびそれに関する情報152、データ153である。   FIG. 9 shows an NDN packet in the NDN architecture (see FIG. 9 and the source of FIG. 10 to be described later refer to Non-Patent Document 2. Hereinafter, description will be given with reference to Non-Patent Document 2). Communication in NDN is driven by the receiving end, the data consumer. FIG. 9A shows an interest packet 100. Interest packet 100 is a packet sent by a data consumer to receive data and carries a name identifying the desired data. As shown in FIG. 9A, the parameters of the interest packet 100 are a content name 101 that identifies data that the data consumer wants to receive and a selector 102 that identifies the issuer. When the interest packet 100 arrives at the node having the requested data, a data packet is sent back. FIG. 9B shows the data packet 150. As shown in FIG. 9B, the parameters of the data packet 150 are a content name 101, a signature 151 with a data producer's key, information 152 related thereto, and data 153.

図10はNDNノード200における転送プロセスを示す。図10で、符号210、211および212はNDNノード200の外部通信環境の例であり、204は外部通信環境210に対するインタフェース(Face 0)、205は外部通信環境211に対するインタフェース(Face 1)、206は外部通信環境212に対するインタフェース(Face 2)である。図10に示されるように、インデックス(Index)207のptr欄にはコンテンツ・ストア(Content Store)201へのポインタが記録され、対応するtype欄には「C」が記録されている。同様に、インデックス207の他のptr欄にはペンディング・インタレスト・テーブル(Pending Interest Table : PIT)202へのポインタが記録され、対応するtype欄には「P」が記録されている。同様に、インデックス207の別のptr欄には転送情報ベース(Forwarding Information Base : FIB)203へのポインタが記録され、対応するtype欄には「F」が記録されている。例えば、データ消費者が/parc/videos/WidgetA.mpgを要求するインタレストパケット100を送信したものとする。NDNノード200のルータはインタレストパケット100を受取ったインタフェース204等(Face 0なら「0」、Face 1なら「1」)をFIB203のFace List欄に記録しておき、転送はFIB203中の名前(Prefix)を参照することにより行う。データパケット150はインタレストパケット100により作られたパスの逆をたどることによりデータ消費者へ戻される。インタレストパケット100もデータパケット150もIPアドレスのようなアドレスは運ばない。インタレストパケット100はインタレストパケット100により運ばれる名前に基づきデータ作成者へ向かってルーティングされる。データパケット150はインタレストパケット100により各ルータホップで設定された情報に基づき戻される。つまり、データパケット150はインタレストパケット100が通ってきたパスと同じパスを逆方向にたどって戻される。一つのデータパケット150は(パス中の)各ホップを渡りながら一つのインタレストパケット100を満たしていく(ホップバイホップ(hop-by-hop)の原理)。   FIG. 10 shows a transfer process in the NDN node 200. 10, reference numerals 210, 211, and 212 are examples of the external communication environment of the NDN node 200, 204 is an interface (Face 0) to the external communication environment 210, 205 is an interface (Face 1) to the external communication environment 211, 206 Is an interface (Face 2) to the external communication environment 212. As shown in FIG. 10, a pointer to the content store 201 is recorded in the ptr column of the index 207, and “C” is recorded in the corresponding type column. Similarly, a pointer to a pending interest table (PIT) 202 is recorded in the other ptr column of the index 207, and “P” is recorded in the corresponding type column. Similarly, a pointer to a forwarding information base (FIB) 203 is recorded in another ptr column of the index 207, and “F” is recorded in the corresponding type column. For example, it is assumed that the data consumer transmits an interest packet 100 requesting /parc/videos/WidgetA.mpg. The router of the NDN node 200 records the interface 204 or the like that received the interest packet 100 (“0” for Face 0, “1” for Face 1) in the Face List column of the FIB 203, and the transfer is the name (Prefix) in the FIB 203. ). Data packet 150 is returned to the data consumer by following the reverse of the path created by interest packet 100. Neither the interest packet 100 nor the data packet 150 carries an address such as an IP address. The interest packet 100 is routed towards the data creator based on the name carried by the interest packet 100. The data packet 150 is returned based on the information set at each router hop by the interest packet 100. That is, the data packet 150 is returned following the same path as the path through which the interest packet 100 has passed. One data packet 150 fills one interest packet 100 while crossing hops (in the path) (hop-by-hop principle).

NDNノード200のルータは、インタレストパケット100およびデータパケット150をある一定期間PIT202に保持する。同一のデータに対する複数のインタレストパケット100をダウンストリームから受け取った場合、最初のインタレストパケット100のみをデータ源へ向かってアップストリームへ送る。ルータはこのインタレストパケット100をPIT202に記録しておく。PIT202はインタレスパケット100が有するコンテンツ名をprefix欄に、上記複数のインタレストパケット100を受取ったインタフェースの集合をRequesting Face(s)欄に記録しておく。データパケット150が到着した場合、ルータは対応するPIT202のエントリを見つけ、当該データパケット150を当該エントリに記録されたすべてのインタフェースへ転送する。その後、ルータは対応するPIT202のエントリを削除して、データパケット150をコンテンツ・ストア201にキャッシュしておく。コンテンツ・ストア201のName欄にはデータパケット150が有するコンテンツ名を記録し、Data欄にはデータ153の内容を記録しておく。コンテンツ・ストア201は基本的にルータのバッファ記憶を用いる。コンテンツ・ストア201を用いることにより、NDNは例えばYoutube(登録商標)のような多くのユーザが同じデータを同時に要求する場合におけるコンテンツ配信を自動的にサポートすることができる。   The router of the NDN node 200 holds the interest packet 100 and the data packet 150 in the PIT 202 for a certain period. If multiple interest packets 100 for the same data are received from the downstream, only the first interest packet 100 is sent upstream toward the data source. The router records the interest packet 100 in the PIT 202. The PIT 202 records the content name of the interest packet 100 in the prefix field and the set of interfaces that have received the plurality of interest packets 100 in the Requesting Face (s) field. When the data packet 150 arrives, the router finds the corresponding PIT 202 entry and forwards the data packet 150 to all the interfaces recorded in the entry. Thereafter, the router deletes the entry of the corresponding PIT 202 and caches the data packet 150 in the content store 201. The name of the data packet 150 is recorded in the Name column of the content store 201, and the contents of the data 153 are recorded in the Data column. The content store 201 basically uses the buffer storage of the router. By using the content store 201, NDN can automatically support content distribution when many users, such as Youtube®, request the same data simultaneously.

上述したように、NDNアーキテクチャは図8(B)のTCP13およびIP12をNDN層で置き換えるというモデルである。しかし、いきなりNDNをTCP13およびIP12と置き換えることは困難であるため、現在のところNDNはTCP13およびIP12の上で動作している。図11は現在のNDN実装を示す。図11で図8と同じ符号を付した個所は同じ層を示すため説明は省略する。図11に示されるように、現在のNDN層22はTCP13、IP12を擬似的に第3層または第2層として利用し、TCP13またはIP12のセグメンテーション/リアセンブリング機能を利用してセグメンテーション/リアセンブリング処理を行っている。つまり、現在のNDN層はIP12等が有するセグメンテーション機能およびリアセンブリング機能を有していない。   As described above, the NDN architecture is a model in which the TCP 13 and the IP 12 in FIG. 8B are replaced with an NDN layer. However, since it is difficult to replace NDN with TCP13 and IP12 suddenly, NDN currently operates on TCP13 and IP12. FIG. 11 shows the current NDN implementation. In FIG. 11, portions denoted by the same reference numerals as those in FIG. As shown in FIG. 11, the current NDN layer 22 uses TCP 13 and IP 12 as a pseudo third layer or second layer, and uses the segmentation / reassembly function of TCP 13 or IP 12 to perform segmentation / reassembly. Processing. That is, the current NDN layer does not have the segmentation function and the reassembly function that IP12 and the like have.

上述したように、イーサネット(登録商標)11にはMTUという制限があるが、自身にはセグメンテーション/リアセンブリング機能が備わっていなかった。しかし、イーサネット(登録商標)11は世界的に広く普及しているため、イーサネット(登録商標)11の機能を改修することは得策ではないという問題があった。上述したように、NDNアーキテクチャは次世代インターネットの候補であり、本格的に普及させるためにはイーサネット(登録商標)11上に直接NDN層を実装する必要がある。しかし、現在のNDN層はIP12等が有するセグメンテーション機能およびリアセンブリング機能を有していないという問題があった。そこで、本発明の目的は上記問題を解決するためになされたものであり、イーサネット(登録商標)11の機能を改修することなく、NDNアーキテクチャを次世代インターネットの候補として本格的に普及させることを可能とするプロトコル・モジュールおよびデータ転送方法等を提供することにある。   As described above, Ethernet (registered trademark) 11 has a limitation of MTU, but it does not have a segmentation / reassembly function. However, since Ethernet (registered trademark) 11 is widely used worldwide, there is a problem that it is not a good idea to modify the function of Ethernet (registered trademark) 11. As described above, the NDN architecture is a candidate for the next-generation Internet, and it is necessary to directly mount the NDN layer on the Ethernet (registered trademark) 11 in order to spread in earnest. However, there is a problem that the current NDN layer does not have the segmentation function and reassembly function that IP12 and the like have. Accordingly, an object of the present invention is to solve the above-mentioned problem, and it is necessary to fully disseminate the NDN architecture as a candidate for the next generation Internet without modifying the function of the Ethernet (registered trademark) 11. It is an object to provide a protocol module and a data transfer method that can be made possible.

この発明の中層のモジュールは、TCP/IPモデルにおけるネットワークインタフェース層又はOSI参照モデルにおけるデータリンク層に相当する下層と、該下層の上に定義された中層と、該中層の上に定義されたネームド・データ・ネットワーキング(Named Data Networking : NDN)層であってネットワーク中に存在するノードが有するコンテンツに名前を付けて送受の制御を行うものとを備えた通信プロトコルを実装するプロトコル・スタックにおける該中層のモジュール(プログラム)であって、コンピュータを、前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズより大きい場合は、該入力バイト列を最大転送サイズ以下の複数のバイト列に分割し各バイト列に順番を示す順番情報と後続バイト列の有無を示す後続情報とを含む制御データを付して順に該下層へ渡すセグメンテーション手段、前記下層から渡されたバイト列に含まれる制御データ中の後続情報により後続バイト列が有ると判断された場合は、制御データ中の順番情報に示される順番に該下層から渡されたバイト列から制御データを除くデータバイト列を記録して次のバイト列を待ち、後続情報により後続バイト列が無いと判断された場合は、記録されたデータバイト列に該下層から渡されたバイト列から制御データを除くデータバイト列を加えて一纏めにしたバイト列を前記NDN層へ渡すリアセンブリング手段として機能させるための中層のモジュールである。   The middle layer module of the present invention includes a lower layer corresponding to the network interface layer in the TCP / IP model or the data link layer in the OSI reference model, a middle layer defined on the lower layer, and a named layer defined on the middle layer. -The middle layer in a protocol stack that implements a communication protocol comprising a data networking (NDN) layer that controls the transmission and reception by naming the contents of nodes existing in the network. And when the size of the input byte sequence passed from the NDN layer is larger than the maximum transfer size of the lower layer, the input byte sequence is a plurality of byte sequences less than or equal to the maximum transfer size. The order that shows the order in each byte sequence A segmentation means that adds control data including information and subsequent information indicating the presence / absence of the subsequent byte sequence and sequentially passes to the lower layer, and the subsequent byte sequence is determined by the subsequent information in the control data included in the byte sequence passed from the lower layer. If it is determined that there is, record the data byte sequence excluding the control data from the byte sequence passed from the lower layer in the order indicated by the sequence information in the control data, wait for the next byte sequence, and follow by the subsequent information When it is determined that there is no byte sequence, reassembly is performed by adding the data byte sequence excluding control data from the byte sequence passed from the lower layer to the recorded data byte sequence and transferring the collected byte sequence to the NDN layer This is a middle-layer module for functioning as a storage means.

ここで、この発明の中層のモジュールにおいて、前記セグメンテーション手段は前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズ以下の場合は、該入力バイト列に最初のバイト列であることを示す順番情報と後続バイト列は無しであることを示す後続情報とを含む制御データを付して該下層へ渡す手段をさらに備え、前記リアセンブリング手段は前記下層から渡されたバイト列に含まれる制御データ中の順番情報により最初のバイト列であり後続情報により後続バイト列は無しであると判断された場合は、該下層から渡されたバイト列から制御データを除くデータバイト列を前記NDN層へ渡す手段をさらに備えることができる。   Here, in the middle layer module of the present invention, the segmentation means is the first byte sequence in the input byte sequence when the size of the input byte sequence passed from the NDN layer is equal to or smaller than the maximum transfer size of the lower layer. Further comprising means for attaching control data including order information indicating that there is no subsequent byte sequence to the lower layer and passing the control data to the lower layer, wherein the reassembly means includes a byte sequence passed from the lower layer. If it is determined by the order information in the control data included in the first byte sequence and the subsequent information that there is no subsequent byte sequence, the data byte sequence excluding the control data from the byte sequence passed from the lower layer is A means for passing to the NDN layer may be further provided.

ここで、この発明の中層のモジュールにおいて、バイト列に付された前記制御データは後続バイト列の有無を示すビットと、前記下層へ渡すバイト列の総サイズを所定の値に揃わせる際のパディングバイト長を示すビットと、該バイト列の順番を示すビットとを含むことができる。   Here, in the middle layer module of the present invention, the control data attached to the byte sequence includes a bit indicating whether the subsequent byte sequence is present and the total size of the byte sequence passed to the lower layer to a predetermined value. A bit indicating the byte length and a bit indicating the order of the byte string can be included.

この発明の記録媒体は、本発明のいずれかの中層のモジュールを記録したコンピュータ読取り可能な記録媒体である。   The recording medium of the present invention is a computer-readable recording medium on which any of the middle layer modules of the present invention is recorded.

この発明のデータ転送方法は、TCP/IPモデルにおけるネットワークインタフェース層又はOSI参照モデルにおけるデータリンク層に相当する下層と、該下層の上に定義された中層と、該中層の上に定義されたネームド・データ・ネットワーキング(Named Data Networking : NDN)層であってネットワーク中に存在するノードが有するコンテンツに名前を付けて送受の制御を行うものとを備えた通信プロトコルを実装するプロトコル・スタックにおける該中層のモジュール(プログラム)が実行するデータ転送方法であって、前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズより大きい場合は、該入力バイト列を最大転送サイズ以下の複数のバイト列に分割し各バイト列に順番を示す順番情報と後続バイト列の有無を示す後続情報とを含む制御データを付して順に該下層へ渡すセグメンテーションステップと、前記下層から渡されたバイト列に含まれる制御データ中の後続情報により後続バイト列が有ると判断された場合は、制御データ中の順番情報に示される順番に該下層から渡されたバイト列から制御データを除くデータバイト列を記録して次のバイト列を待ち、後続情報により後続バイト列が無いと判断された場合は、記録されたデータバイト列に該下層から渡されたバイト列から制御データを除くデータバイト列を加えて一纏めにしたバイト列を前記NDN層へ渡すリアセンブリングステップとを備えたことを特徴とする。   The data transfer method of the present invention includes a lower layer corresponding to the network interface layer in the TCP / IP model or the data link layer in the OSI reference model, a middle layer defined on the lower layer, and a named layer defined on the middle layer. -The middle layer in a protocol stack that implements a communication protocol comprising a data networking (NDN) layer that controls the transmission and reception by naming the contents of nodes existing in the network. In the data transfer method executed by the module (program), when the size of the input byte sequence passed from the NDN layer is larger than the maximum transfer size of the lower layer, the input byte sequence is a plurality of data smaller than the maximum transfer size. The byte sequence is divided into each byte sequence. A segmentation step to which the control data including the order information and the subsequent information indicating the presence or absence of the subsequent byte sequence is attached and sequentially passed to the lower layer, and the subsequent information in the control data included in the byte sequence passed from the lower layer If it is determined that there is a byte string, record the data byte string excluding the control data from the byte string passed from the lower layer in the order indicated by the order information in the control data, wait for the next byte string, and follow If it is determined by the information that there is no subsequent byte sequence, the data byte sequence excluding control data from the byte sequence passed from the lower layer is added to the recorded data byte sequence, and the combined byte sequence is sent to the NDN layer. And a reassembling step for passing.

ここで、この発明のデータ転送方法において、前記セグメンテーションステップは前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズ以下の場合は、該入力バイト列に最初のバイト列であることを示す順番情報と後続バイト列は無しであることを示す後続情報とを含む制御データを付して該下層へ渡すステップをさらに備え、前記リアセンブリングステップは前記下層から渡されたバイト列に含まれる制御データ中の順番情報により最初のバイト列であり後続情報により後続バイト列は無しであると判断された場合は、該下層から渡されたバイト列から制御データを除くデータバイト列を前記NDN層へ渡すステップをさらに備えることができる。   Here, in the data transfer method of the present invention, the segmentation step is the first byte sequence in the input byte sequence when the size of the input byte sequence passed from the NDN layer is equal to or smaller than the maximum transfer size of the lower layer. Further including a step of passing control data including order information indicating that there is no subsequent byte sequence to the lower layer and passing the control data to the lower layer, wherein the reassembly step includes a byte sequence passed from the lower layer If it is determined by the order information in the control data included in the first byte sequence and the subsequent information that there is no subsequent byte sequence, the data byte sequence excluding the control data from the byte sequence passed from the lower layer is The method may further comprise passing to the NDN layer.

ここで、この発明のデータ転送方法において、バイト列に付された前記制御データは後続バイト列の有無を示すビットと、前記下層へ渡すバイト列の総サイズを所定の値に揃わせる際のパディングバイト長を示すビットと、該バイト列の順番を示すビットとを含むことができる。   Here, in the data transfer method according to the present invention, the control data attached to the byte string includes a padding for aligning a bit indicating the presence / absence of the subsequent byte string and a total size of the byte string to be passed to the lower layer to a predetermined value. A bit indicating the byte length and a bit indicating the order of the byte string can be included.

本発明の中層のモジュールおよびデータ転送方法等によれば、NDN層とイーサネット(登録商標)との間にサブ層を設け、サブ層にセグメンテーション/リアセンブリング処理を行わせる。この結果、イーサネット(登録商標)の機能を改修することなく、NDNアーキテクチャを次世代インターネットの候補として本格的に普及させることを可能とするプロトコル・モジュールおよびデータ転送方法等を提供することができるという効果がある。加えて、上層のアプリケーションは下層のMTUを意識することなく、最適な大きさのNDNパケットを使用することができる。リンクの特質であるMTUに合わせてデータ転送を行うことができるため、NDNにおけるホップバイホップの転送原理との親和性を高くすることができるという効果がある。   According to the middle layer module and the data transfer method of the present invention, a sublayer is provided between the NDN layer and Ethernet (registered trademark), and the sublayer performs segmentation / reassembly processing. As a result, it is possible to provide a protocol module, a data transfer method, and the like that can fully spread the NDN architecture as a candidate for the next-generation Internet without modifying the Ethernet (registered trademark) function. effective. In addition, the upper layer application can use an NDN packet having an optimal size without being aware of the lower layer MTU. Since data transfer can be performed in accordance with the MTU which is a characteristic of the link, there is an effect that the affinity with the hop-by-hop transfer principle in NDN can be increased.

イーサネット(登録商標)11上にNDN層を実装するための本発明のデータ転送方法の処理を説明するための図である。It is a figure for demonstrating the process of the data transfer method of this invention for mounting an NDN layer on Ethernet (trademark) 11. FIG. 制御データの構造を示す図である。It is a figure which shows the structure of control data. サブ層21tがイーサネット(登録商標)11tへ渡す一連のn個のバイト列32−1〜32−nを示す図である。It is a figure which shows a series of n byte sequence 32-1 -32-n which the sublayer 21t passes to Ethernet (trademark) 11t. フレーム34の構造を示す図である。FIG. 3 is a diagram showing the structure of a frame 34. 入力バイト列30のサイズがイーサネット(登録商標)11tのMTU以下の場合におけるバイ列30を示す図である。FIG. 4 is a diagram illustrating a bi-string 30 when the size of an input byte string 30 is equal to or smaller than an MTU of Ethernet (registered trademark) 11t. 本発明のサブ層21tおよび21rのモジュール(プログラム)の動作環境および機能ブロックを示す図である。It is a figure which shows the operating environment and functional block of the module (program) of the sublayers 21t and 21r of this invention. 本発明のデータ転送方法および中層のモジュールを実行するNDNノード20t等のコンピュータ50の内部回路80を示すブロック図である。It is a block diagram which shows the internal circuit 80 of the computer 50, such as the NDN node 20t which performs the data transfer method and middle layer module of this invention. OSI参照モデルの階層およびTCP/IPの階層を示す図である。It is a figure which shows the hierarchy of an OSI reference model, and the hierarchy of TCP / IP. NDNアーキテクチャにおけるNDNパケットを示す図である。It is a figure which shows the NDN packet in a NDN architecture. NDNノード200における転送プロセスを示す図である。FIG. 4 is a diagram showing a transfer process in an NDN node 200. 現在のNDN実装を示す図である。It is a figure which shows the present NDN mounting.

以下、実施例について図面を参照して詳細に説明する。背景技術で説明した図7および10に示されるOSI参照モデルおよびTCP/IPモデル等の各層の符号を適宜用いる。   Hereinafter, embodiments will be described in detail with reference to the drawings. The codes of each layer such as the OSI reference model and the TCP / IP model shown in FIGS. 7 and 10 described in the background art are appropriately used.

本発明のデータ転送方法は、TCP/IPモデルにおけるネットワークインタフェース層11またはOSI参照モデルにおけるデータリンク層2に相当するイーサネット(登録商標)11(下層)と、イーサネット(登録商標)11の上に定義されたサブ層(中層)と、サブ層の上に定義されたNDN層22とを備えた通信プロトコルを実装するためのプロトコル・スタックにおいて、サブ層のモジュール(プログラム)が実行するデータ転送方法である。プロトコル・スタックとは上記のようなネットワーク・プロトコルを実装しているソフトウェアであり、ネットワーク・プロトコルが階層的に定義されているように、当該ソフトウェアも階層的構造をもって実装されているため、「スタック」という用語を用いている。最近のコンピュータはOS自体がネットワーク機能を備えているため、プロトコル・スタックは通常カーネル内部に実装されている。本発明のデータ転送方法(中層のモジュール)もNDNノード(ルータ、PC等のコンピュータ)のOS内部に実装することができる。   The data transfer method of the present invention is defined on the Ethernet (registered trademark) 11 (lower layer) corresponding to the network interface layer 11 in the TCP / IP model or the data link layer 2 in the OSI reference model, and the Ethernet (registered trademark) 11. A data transfer method executed by a sub-layer module (program) in a protocol stack for implementing a communication protocol including a sub-layer (middle layer) and an NDN layer 22 defined on the sub-layer is there. The protocol stack is software that implements the network protocol as described above. Since the network protocol is hierarchically defined as the network protocol is hierarchically defined, the “stack” Is used. In recent computers, since the OS itself has a network function, the protocol stack is usually implemented in the kernel. The data transfer method (middle layer module) of the present invention can also be installed inside the OS of an NDN node (computer such as router or PC).

図1は、イーサネット(登録商標)11上にNDN層を実装するための本発明のデータ転送方法の処理を説明するための図である。図1ではNDNアーキテクチャのパケットを送信する側のNDNノードを20t、受信する側のNDNノードを20rのように符号(数字部分)に「t」、「r」を付すことにより区別している。各NDNノード20tおよび20rの層に付された符号も同様に「t」と「r」を付して区別している点を除いて、符号(数字部分)は図7および図10と同じ意味であるため、説明は省略する。   FIG. 1 is a diagram for explaining processing of a data transfer method according to the present invention for mounting an NDN layer on an Ethernet (registered trademark) 11. In FIG. 1, the NDN node that transmits the packet of the NDN architecture is distinguished by attaching “t” and “r” to the sign (numerical part), such as 20t for the NDN node that transmits the packet and 20r for the receiving side. The reference numerals (numeric parts) have the same meanings as in FIGS. 7 and 10 except that the reference numerals assigned to the layers of the NDN nodes 20t and 20r are similarly distinguished by attaching “t” and “r”. Therefore, the description is omitted.

図1を参照して、インタレストパケット100およびデータパケット150等のNDNパケット30を送信する場合の処理について説明する。アプリケーション層14tでは、例えばYoutube(登録商標)のようなサイトに対してデータ消費者であるユーザが動画の配信を要求したような状況を想定することができる。   With reference to FIG. 1, processing in the case of transmitting NDN packets 30 such as interest packet 100 and data packet 150 will be described. In the application layer 14t, for example, a situation can be assumed in which a user who is a data consumer requests a site such as Youtube (registered trademark) to distribute a moving image.

1.NDN層22tがNDNパケット30を作成する。NDN層22tはNDNパケット30の構造(図9参照)を知っているため、各パラメータ101等をどの位置(先頭からのバイトオフセット)に配置すべきか分かっている。 1. The NDN layer 22t creates the NDN packet 30. Since the NDN layer 22t knows the structure of the NDN packet 30 (see FIG. 9), it knows in which position (byte offset from the head) each parameter 101 and the like should be placed.

2.NDN層22tがNDNパケット30をひとまとまりのバイト列としてサブ層(中層)に渡す(ステップS10)。 2. The NDN layer 22t passes the NDN packet 30 to the sub-layer (middle layer) as a group of byte strings (step S10).

3.サブ層21tは、NDN層から渡された入力バイト列30のサイズがイーサネット(登録商標)11t(下層)のMTUより大きい場合は、入力バイト列をMTU以下の大きさの複数のバイト列に分割し、各バイト列に順番を示す順番情報と後続バイト列の有無を示す後続情報とを含む制御データを付したバイト列32として順にイーサネット(登録商標)11へ渡す(ステップS20。セグメンテーションステップ)。図2は、制御データの構造を示す。図2(A)に示されるように、バイト列32は上述したMTU以下の大きさに分割されたバイト列32d(転送データ)と制御データ32cと後述するパディングバイト32pとから構成されている。制御データ32cは、図2(B)に示されるように後続バイト列の有無を示すmoreビット(後続情報)と、イーサネット(登録商標)11へ渡すバイト列32の総サイズを所定の値(例えば32ビットの倍数)に揃わせる際のパディングバイト32pの長さを示すpadビットと、上述したように分割されたバイト列32の順番を示すseqビット(順番情報)とを含む。図2(B)に示されるように、各ビットのサイズはmoreビットが1ビット(「1」の場合に後続バイト列が有り、「0」の場合後続バイト列が無しを示す。)、padビットが2ビット、seqビットが5ビットとし、制御データ32cを1バイトとすることが好適である。昨今のデータ通信は、ハードウェア処理を容易にするため、データの大きさを32ビット(4バイト)の倍数に揃えることが一般的である。本発明のデータ転送方法等では、1バイトの制御データ32cを転送データ32dの後ろに付加する際に、全体のバイト列32の長さが4バイトの倍数になるように、意味のないデータ(パディングバイト32p)を間に埋め込む。これにより、転送データ32d+パディングバイト32p+制御データ32cの全体の長さが4バイトの整数倍になるようにしている。元の転送データ32dの大きさに応じて、パディングバイト32pの長さは0バイトから3バイトになるため、padビット長は2ビットでよい。より一般的にバイト列32の長さをnバイトの倍数に揃える場合、パディングバイト32pの長さは0〜n−1バイトになるため、padビットの長さはlognビットにすればよい。例えば、n=8バイトの場合、padビットの長さは3ビットになる。この場合、制御データ32cを1バイトに収めるためにはseqビット4ビットにするか、または制御データ32cを2バイトにしてもよい。図3は、サブ層21tがイーサネット(登録商標)11tへ渡す分割された一連のn個のバイト列32−1〜32−nを示す。図3に示されるように、バイト列32−1は最初のバイト列であるため、制御データ32c−1のmoreビット=1、seqビット=1となっており、バイト列32−2は2番目のバイト列であるため、制御データ32c−2のmoreビット=1、seqビット=2となっている。バイト列32−nは最後のバイト列であるため、制御データ32c−nのmoreビット=0、seqビット=nとなっている。 3. When the size of the input byte sequence 30 passed from the NDN layer is larger than the MTU of the Ethernet (registered trademark) 11t (lower layer), the sub layer 21t divides the input byte sequence into a plurality of byte sequences having a size equal to or smaller than the MTU. Then, each byte sequence is sequentially passed to the Ethernet (registered trademark) 11 as a byte sequence 32 to which control data including order information indicating the order and subsequent information indicating the presence or absence of the subsequent byte sequence is attached (step S20, segmentation step). FIG. 2 shows the structure of the control data. As shown in FIG. 2A, the byte string 32 is composed of a byte string 32d (transfer data), control data 32c, and padding bytes 32p, which will be described later. As shown in FIG. 2B, the control data 32c includes more bits (following information) indicating the presence / absence of a succeeding byte sequence and a total size of the byte sequence 32 passed to the Ethernet (registered trademark) 11 with a predetermined value (for example, Pad bits indicating the length of the padding bytes 32p when being aligned to a multiple of 32 bits) and seq bits (order information) indicating the order of the byte string 32 divided as described above. As shown in FIG. 2B, the size of each bit is 1 bit for more bits (when “1”, there is a subsequent byte sequence, and when “0”, there is no subsequent byte sequence), pad It is preferable that the bit is 2 bits, the seq bit is 5 bits, and the control data 32c is 1 byte. In recent data communication, in order to facilitate hardware processing, the data size is generally aligned to a multiple of 32 bits (4 bytes). In the data transfer method and the like of the present invention, when adding 1-byte control data 32c to the end of transfer data 32d, the meaningless data ( Padding bytes 32p) are embedded in between. As a result, the total length of the transfer data 32d + padding bytes 32p + control data 32c is an integral multiple of 4 bytes. Depending on the size of the original transfer data 32d, since the length of the padding byte 32p is changed from 0 byte to 3 bytes, the pad bit length may be 2 bits. More generally, when the length of the byte string 32 is made a multiple of n bytes, the length of the padding bytes 32p is 0 to n-1 bytes, so the length of the pad bits may be log 2 n bits. . For example, when n = 8 bytes, the length of pad bits is 3 bits. In this case, in order to store the control data 32c in 1 byte, the seq bit may be 4 bits, or the control data 32c may be 2 bytes. FIG. 3 shows a series of divided n byte strings 32-1 to 32-n that the sublayer 21t passes to the Ethernet (registered trademark) 11t. As shown in FIG. 3, since the byte string 32-1 is the first byte string, the more bit = 1 and the seq bit = 1 of the control data 32c-1, and the byte string 32-2 is the second byte string 32-2. Therefore, the more bit = 1 of the control data 32c-2 and the seq bit = 2. Since the byte string 32-n is the last byte string, the more bit = 0 and the seq bit = n of the control data 32c-n.

4.イーサネット(登録商標)11tは、バイト列32からフレーム34を作成してハードウェア層10tへ順に渡す(ステップS30)。図4は、フレーム34の構造を示す。図4に示されるようにフレーム34自体は通常のMACフレームの構造であり、MACフレームの受信時に同期をとるためのビットパターンであるプリアンブルと、送信相手を識別するための宛先アドレスと、送信元を識別するための送信元アドレスと、ユーザデータの長さを示すタイプと、ユーザデータであるバイト列32(図示しないが、図2(A)に示されるように制御データ32cおよび必要なパディングバイト32pを含む。)と、チェックサムの結果が記録されるフレーム・チェック・シーケンス(Frame Check Sequence : FCS)とから構成されている。 4). The Ethernet (registered trademark) 11t creates a frame 34 from the byte string 32 and sequentially passes it to the hardware layer 10t (step S30). FIG. 4 shows the structure of the frame 34. As shown in FIG. 4, the frame 34 itself has a normal MAC frame structure, a preamble that is a bit pattern for synchronization when receiving the MAC frame, a destination address for identifying a transmission partner, a transmission source A source address for identifying the user data, a type indicating the length of user data, and a byte string 32 (not shown, but control data 32c and necessary padding bytes as shown in FIG. 2A). 32p) and a frame check sequence (FCS) in which a checksum result is recorded.

5.ハードウェア層10tがフレーム34をNDNノード20r側へ送信する(ステップS40)。 5). The hardware layer 10t transmits the frame 34 to the NDN node 20r side (step S40).

6.ハードウェア層10rがフレーム34を受信して、イーサネット(登録商標)11rへ渡す(ステップS50)。 6). The hardware layer 10r receives the frame 34 and passes it to the Ethernet (registered trademark) 11r (step S50).

7.イーサネット(登録商標)11rは受信したフレーム34からユーザデータ32を取出して、順次サブ層21rへ渡す(ステップS60)。 7). The Ethernet (registered trademark) 11r extracts the user data 32 from the received frame 34 and sequentially passes it to the sublayer 21r (step S60).

8.サブ層21rは、イーサネット(登録商標)11rから渡されたバイト列32に含まれる制御データ32c中のmoreビットにより後続バイト列が有ると判断された場合は、制御データ32中のseqビットに示される順番にイーサネット(登録商標)11rから渡されたバイト列32から制御データ32cを除くデータバイト列32d(padビットが0でなければpadビットにより示される長さのパディングバイト32pも除いたデータバイト列32d。以下同様)をメモリに記録して次のバイト列を待つ。次のバイト列32のmoreビットにより後続バイト列が無いと判断された場合は、メモリに記録されたデータバイト列32dに、最後にイーサネット(登録商標)11rから渡されたバイト列32から制御データ32c等を除くデータバイト列32dを加えて一纏めにしたバイト列30をNDN層22rへ渡す(ステップS70。リアセンブリングステップ)。このNDN層22rへ渡すバイト列30は一つのNDNパケットになっている。サブ層21rとしてはNDNパケット30を意識しているのではなく、単なるバイト列30として取り扱っている。 8). When the sub layer 21r determines that there is a subsequent byte sequence based on the more bit in the control data 32c included in the byte sequence 32 passed from the Ethernet (registered trademark) 11r, the sub layer 21r indicates the seq bit in the control data 32. Data byte sequence 32d excluding the control data 32c from the byte sequence 32 passed from the Ethernet (registered trademark) 11r in this order (if the pad bit is not 0, the data byte excluding the padding byte 32p of the length indicated by the pad bit) Record column 32d (same below) in memory and wait for the next byte sequence. If it is determined by the more bit of the next byte string 32 that there is no subsequent byte string, the control data is transferred from the byte string 32 last passed from the Ethernet (registered trademark) 11r to the data byte string 32d recorded in the memory. The data byte sequence 32d excluding 32c and the like is added and the combined byte sequence 30 is passed to the NDN layer 22r (step S70, reassembly step). The byte sequence 30 passed to the NDN layer 22r is one NDN packet. The sublayer 21r is not conscious of the NDN packet 30, but is handled as a simple byte string 30.

9.NDN層22rは、NDNパケット30の構造を解釈できるため、必要なパラメータ101等を取り出し、適宜処理する。 9. Since the NDN layer 22r can interpret the structure of the NDN packet 30, the NDN layer 22r extracts necessary parameters 101 and processes them appropriately.

サブ層21tは、上述した3の処理においてNDN層22tから渡された入力バイト列30のサイズがイーサネット(登録商標)11tのMTU以下の場合、入力バイト列30に最初のバイト列であることを示すseqビットと後続バイト列は無しであることを示すmoreビット(=「0」)とを含む制御データ32cを付したバイト列30としてイーサネット(登録商標)11tへ渡す(パディングバイトについては上述した内容と同様であるため省略する。)。図5は、入力バイト列30のサイズがイーサネット(登録商標)11tのMTU以下の場合におけるバイト列30を示す。図5に示されるように、制御データ32cのmoreビット=0、seqビット=1となっており、転送データは入力バイト列30となっている。その後の各層の処理は上述したものと同様である。サブ層21rはイーサネット(登録商標)11rから渡されたバイト列32に含まれる制御データ32c中のseqビットにより最初のバイト列でありmoreビットにより後続バイト列は無しであると判断した場合は、イーサネット(登録商標)11rから渡されたバイト列32から制御データ32c等を除くデータバイト列30をNDN層22rへ渡す。   When the size of the input byte sequence 30 passed from the NDN layer 22t in the above-described process 3 is equal to or smaller than the MTU of the Ethernet (registered trademark) 11t, the sub layer 21t determines that the input byte sequence 30 is the first byte sequence. It passes to the Ethernet (registered trademark) 11t as the byte sequence 30 with the control data 32c including the seq bit to indicate and the more bit (= “0”) indicating that there is no subsequent byte sequence (the padding byte has been described above) Since it is the same as the contents, it is omitted.) FIG. 5 shows the byte string 30 when the size of the input byte string 30 is equal to or smaller than the MTU of the Ethernet (registered trademark) 11t. As shown in FIG. 5, the control data 32 c has more bits = 0 and seq bits = 1, and the transfer data is an input byte string 30. Subsequent processing of each layer is the same as described above. When the sub-layer 21r determines that the first byte string is based on the seq bit in the control data 32c included in the byte string 32 passed from the Ethernet (registered trademark) 11r and there is no subsequent byte string based on the more bit, A data byte sequence 30 excluding control data 32c and the like from the byte sequence 32 delivered from the Ethernet (registered trademark) 11r is delivered to the NDN layer 22r.

NDNパケット30がインタレストパケット100の場合はサイズがイーサネット(登録商標)11tのMTU以下であると考えられるため、サブ層11tは図5に示されるようなバイト列32として処理する。一方、NDNパケット30がデータパケット150の場合はサイズが(例えば動画であれば1GB程度と)大きいため、サブ層11tは図3に示されるようなバイト列32−1〜32−nとして処理する。   When the NDN packet 30 is the interest packet 100, it is considered that the size is equal to or smaller than the MTU of the Ethernet (registered trademark) 11t, and therefore the sublayer 11t processes as a byte string 32 as shown in FIG. On the other hand, when the NDN packet 30 is the data packet 150, the size is large (for example, about 1 GB for a moving image), so the sublayer 11t processes the byte sequences 32-1 to 32-n as shown in FIG. .

図6は、本発明のサブ層21tおよび21rのモジュール(プログラム)の動作環境および機能ブロックを示す。図6において、符号50は発明のサブ層21tおよび21rのモジュールが実装されたコンピュータであり、70は当該モジュールの機能ブロックを示す。図6に示されるセグメンテーション部71(セグメンテーション手段)は、NDN層22tから渡された入力バイト列30のサイズがイーサネット(登録商標)11tのMTUより大きい場合は、入力バイト列30をMTU以下の複数のバイト列に分割し、各バイト列に順番を示すseqビットと後続バイト列の有無を示すmoreビットとを含む制御データ32cを付して順にイーサネット(登録商標)11tへ渡す。セグメンテーション部71はNDN層22tから渡された入力バイト列30のサイズイーサネット(登録商標)11tのMTU以下の場合は、入力バイト列30に最初のバイト列であることを示すseqビットと後続バイト列は無しであることを示すmoreビットとを含む制御データ32cを付してイーサネット(登録商標)11tへ渡す。   FIG. 6 shows the operating environment and functional blocks of the modules (programs) of the sub-layers 21t and 21r of the present invention. In FIG. 6, reference numeral 50 denotes a computer on which the modules of the sub-layers 21t and 21r of the invention are mounted, and 70 denotes a functional block of the module. When the size of the input byte sequence 30 passed from the NDN layer 22t is larger than the MTU of the Ethernet (registered trademark) 11t, the segmentation unit 71 (segmentation means) shown in FIG. The control data 32c including the seq bit indicating the order and the more bit indicating the presence / absence of the succeeding byte string is attached to each byte string, and sequentially passed to the Ethernet (registered trademark) 11t. When the size of the input byte string 30 passed from the NDN layer 22t is equal to or less than the MTU of the Ethernet (registered trademark) 11t, the segmentation unit 71 includes a seq bit indicating the first byte string in the input byte string 30 and a subsequent byte string. The control data 32c including the more bit indicating that there is no is attached to the Ethernet (registered trademark) 11t.

図6に示されるリアセンブリング部72(リアセンブリング手段)は、イーサネット(登録商標)11rから渡されたバイト列32に含まれる制御データ32c中のmoreビットにより後続バイト列が有ると判断された場合は、制御データ32c中のseqビットに示される順番にイーサネット(登録商標)11rから渡されたバイト列32から制御データ32c等を除くデータバイト列32dをコンピュータ50のデータバイト列記録DB60に記録して次のバイト列を待つ。リアセンブリング部72は、moreビットにより後続バイト列が無いと判断された場合は、データバイト列記録DB60に記録されたデータバイト列に、イーサネット(登録商標)11rから渡されたバイト列32から制御データ32cを除くデータバイト列32dを加えて一纏めにしたバイト列30をNDN層22rへ渡す。リアセンブリング部72は、イーサネット(登録商標)11rから渡されたバイト列32に含まれる制御データ32c中のseqビットにより最初のバイト列でありmoreビットにより後続バイト列は無しであると判断された場合は、イーサネット(登録商標)11rから渡されたバイト列32から制御データ2等を除くデータバイト列32dをNDN層22rへ渡す。データバイト列記録DB60は受信バッファであり、適切な大きさに設定することにより、連続的リアセンブリングをすることができる。   The reassembly unit 72 (reassembly means) shown in FIG. 6 determines that there is a subsequent byte sequence based on the more bit in the control data 32c included in the byte sequence 32 passed from the Ethernet (registered trademark) 11r. In this case, the data byte string 32d excluding the control data 32c and the like from the byte string 32 passed from the Ethernet (registered trademark) 11r in the order indicated by the seq bits in the control data 32c is stored in the data byte string recording DB 60 of the computer 50. Record and wait for the next byte sequence. When it is determined by the more bit that there is no subsequent byte sequence, the reassembly unit 72 adds the data byte sequence recorded in the data byte sequence record DB 60 from the byte sequence 32 passed from the Ethernet (registered trademark) 11r. The data byte string 32d excluding the control data 32c is added and the combined byte string 30 is passed to the NDN layer 22r. The reassembling unit 72 determines that the first byte string is based on the seq bit in the control data 32c included in the byte string 32 passed from the Ethernet (registered trademark) 11r, and that the subsequent byte string is absent according to the more bit. In this case, the data byte sequence 32d excluding the control data 2 and the like from the byte sequence 32 delivered from the Ethernet (registered trademark) 11r is delivered to the NDN layer 22r. The data byte string record DB 60 is a reception buffer, and can be continuously reassembled by setting it to an appropriate size.

上述したNDN層22tおよび22rは背景技術で説明したネットワークインタフェース(Face 0等)、インデックス207、コンテンツ・ストア201、PIT202およびFIB203から構成されている。非特許文献2によれば、ネットワークインタフェース(Faceモジュール)は隣接するNDNノード間でのデータ転送を司り、リンク(例えばイーサネット(登録商標)11t等)におけるMTUも保持している。従って、Faceモジュールが最終的に(例えばイーサネット(登録商標)11等への)データ送信命令を呼び出しているものと考えられる。このデータ送信命令の直前にセグメンテーション/リアセンブリング処理を行うのが適当であるため、NDNのFaceモジュールを拡張することにより、本発明のデータ転送方法および中層のモジュールを容易に実装することができる。   The NDN layers 22t and 22r described above are composed of the network interface (Face 0, etc.), the index 207, the content store 201, the PIT 202, and the FIB 203 described in the background art. According to Non-Patent Document 2, a network interface (Face module) manages data transfer between adjacent NDN nodes, and also holds an MTU in a link (for example, Ethernet (registered trademark) 11t). Therefore, it is considered that the Face module finally calls a data transmission command (for example, to Ethernet (registered trademark) 11 or the like). Since it is appropriate to perform segmentation / reassembly processing immediately before this data transmission instruction, the data transfer method and middle layer module of the present invention can be easily implemented by extending the NDN Face module. .

以上のように、本発明の実施例1によれば、NDN層22とイーサネット(登録商標)11等との間にサブ層21を設け、サブ層21にセグメンテーション/リアセンブリング処理を行わせる。この結果、イーサネット(登録商標)11の機能を改修することなく、NDNアーキテクチャを次世代インターネットの候補として本格的に普及させることを可能とするプロトコル・モジュールおよびデータ転送方法等を提供することができる。加えて、上層のアプリケーションは下層のMTUを意識することなく、最適な大きさのNDNパケットを使用することができる。リンクの特質であるMTUに合わせてデータ転送を行うことができるため、NDNにおけるホップバイホップの転送原理との親和性が高い。   As described above, according to the first embodiment of the present invention, the sub-layer 21 is provided between the NDN layer 22 and the Ethernet (registered trademark) 11 and the like, and the sub-layer 21 performs the segmentation / reassembly process. As a result, it is possible to provide a protocol module, a data transfer method, and the like that can fully spread the NDN architecture as a candidate for the next-generation Internet without modifying the function of the Ethernet (registered trademark) 11. . In addition, the upper layer application can use an NDN packet having an optimal size without being aware of the lower layer MTU. Since data transfer can be performed in accordance with the MTU which is the characteristic of the link, the affinity with the hop-by-hop transfer principle in NDN is high.

図7は、本発明のデータ転送方法および中層のモジュールを実行するNDNノード20t等のコンピュータ50の内部回路80を示すブロック図である。図7に示されるように、CPU81、ROM82、RAM83、画像制御部86、コントローラ87、入力制御部90および外部I/F部92はバス93に接続されている。図7において、上述した本発明の中層のモジュールは、ROM82、ディスク88、DVD若しくはCD−ROM89等の記録媒体(脱着可能な記録媒体を含む)に記録されている。ディスク88には、上述したデータバイト列記録DB60を記録しておくことができる。本発明の中層のモジュールは、ROM82からバス93を介し、あるいはディスク88又はDVD若しくはCD−ROM89等の記録媒体からコントローラ87を経由してバス93を介しRAM83へロードされる。画像制御部86は、種々の画面の画像データをVRAM85へ送出する。表示装置(ディスプレイ)84はVRAM85から送出された上記データ等を表示する。VRAM85は表示装置84の一画面分のデータ容量に相当する容量を有している画像メモリである。入力操作部91はコンピュータ50に入力等を行うためのマウス、キーボード等の入力装置であり、入力制御部90は入力操作部91と接続され入力制御等を行う。外部I/F部92はコンピュータ50の外部にあるNDNノード20r等と接続する際のインタフェース機能を有している。   FIG. 7 is a block diagram showing an internal circuit 80 of the computer 50 such as the NDN node 20t for executing the data transfer method and the middle layer module of the present invention. As shown in FIG. 7, the CPU 81, ROM 82, RAM 83, image control unit 86, controller 87, input control unit 90, and external I / F unit 92 are connected to a bus 93. In FIG. 7, the above-described middle-layer module of the present invention is recorded on a recording medium (including a removable recording medium) such as a ROM 82, a disk 88, a DVD, or a CD-ROM 89. The disk 88 can store the data byte string recording DB 60 described above. The middle layer module of the present invention is loaded into the RAM 83 from the ROM 82 via the bus 93 or from the recording medium such as the disk 88 or DVD or CD-ROM 89 via the controller 87 via the bus 93. The image control unit 86 sends image data of various screens to the VRAM 85. A display device (display) 84 displays the above data sent from the VRAM 85. The VRAM 85 is an image memory having a capacity corresponding to the data capacity of one screen of the display device 84. The input operation unit 91 is an input device such as a mouse or a keyboard for inputting to the computer 50, and the input control unit 90 is connected to the input operation unit 91 and performs input control or the like. The external I / F unit 92 has an interface function when connecting to the NDN node 20r or the like outside the computer 50.

上述したようにコンピュータ(CPU)81が本発明の中層のモジュール等を実行することにより、本発明の目的を達成することができる。中層のモジュールは上述のようにDVD若しくはCD−ROM89等の記録媒体の形態でコンピュータ(CPU)81に供給することができ、中層のモジュールを記録したDVD若しくはCD−ROM89等の記録媒体も同様に本発明を構成することになる。中層のモジュールを記録した記録媒体としては上述された記録媒体の他に、例えばメモリ・カード、メモリ・スティック、光ディスク等を用いることができる。   As described above, the computer (CPU) 81 executes the middle layer module of the present invention, thereby achieving the object of the present invention. The middle layer module can be supplied to the computer (CPU) 81 in the form of a recording medium such as a DVD or a CD-ROM 89 as described above, and a recording medium such as a DVD or a CD-ROM 89 on which the middle layer module is recorded is also the same. This constitutes the present invention. In addition to the recording medium described above, for example, a memory card, a memory stick, an optical disk, or the like can be used as the recording medium on which the middle layer module is recorded.

本発明の活用例として、イーサネット(登録商標)11とNDN層22との間のセグメンテーション/リアセンブリング処理に適用することができる。   As an application example of the present invention, the present invention can be applied to a segmentation / reassembly process between the Ethernet (registered trademark) 11 and the NDN layer 22.

1 物理層、 2 データリンク層、 3 ネットワーク層、 4 トランスポート層、 5 セッション層、 6 プレゼンテーション層、 7 アプリケーション層、 10、10t、10r ハードウェア、 11、11t、11r ネットワークインタフェース、 12 インターネット、 13 トランスポート、 14 アプリケーション、 20t、20r、200 NDNノード、 21t、21r サブ層、 22、22t、22r NDN層、 30 NDNパケット、 32、32−1、32−2、32−n、32d、32d−1、32d−2、32d−n バイト列、 32c、32c−1、32c−2、32c−n 制御データ、 32p パディングバイト、 34 フレーム、 50 コンピュータ、 60 データバイト列記録DB、 70 機能ブロック、 71 セグメンテーション部、 72 リアセンブリング部、 81 CPU、 82 ROM、 83 RAM、 84 表示装置、 85 VRAM、 86 画像制御部、 87 コントローラ、 88 ディスク、 89 CD−ROM、 80 入力制御部、 91 入力操作部、 92 外部I/F部、 93 バス、 100 インタレストパケット、 101、102、151、152 パラメータ、 150 データパケット、 153 データ、 201 コンテンツ・ストア、 202 PIT、 203 FIB、 204、205, 206 Face、 207 インデックス、 210、211、212 外部通信環境。   1 physical layer, 2 data link layer, 3 network layer, 4 transport layer, 5 session layer, 6 presentation layer, 7 application layer, 10, 10t, 10r hardware, 11, 11t, 11r network interface, 12 internet, 13 Transport, 14 applications, 20t, 20r, 200 NDN nodes, 21t, 21r sub-layer, 22, 22t, 22r NDN layer, 30 NDN packets, 32, 32-1, 32-2, 32-n, 32d, 32d- 1, 32d-2, 32d-n byte sequence, 32c, 32c-1, 32c-2, 32c-n control data, 32p padding bytes, 34 frames, 50 computers, 60 data byte sequence record DB, 7 0 functional block, 71 segmentation unit, 72 reassembly unit, 81 CPU, 82 ROM, 83 RAM, 84 display device, 85 VRAM, 86 image control unit, 87 controller, 88 disk, 89 CD-ROM, 80 input control unit 91 Input operation unit, 92 External I / F unit, 93 Bus, 100 Interest packet, 101, 102, 151, 152 Parameter, 150 Data packet, 153 Data, 201 Content store, 202 PIT, 203 FIB, 204, 205 , 206 Face, 207 Index, 210, 211, 212 External communication environment.

“TCP/IPとOSI参照モデル”、[online]、68user’s page、[平成23年6月17日検索]、インターネット、<URL:http://x68000.q-e-d.net/~68user/net/osi7.html>."TCP / IP and OSI reference model", [online], 68user's page, [Search June 17, 2011], Internet, <URL: http://x68000.qed.net/~68user/net/osi7. html>. Lixia Zhang, Deborah Estrin, Jeffrey Burke, etal., ”Named Data Networking (NDN) Project”, NDN-0001, October 31, 2010, 、[online]、[平成23年6月17日検索]、インターネット、<URL:http://www.named-data.net/ndn-proj.pdf>.Lixia Zhang, Deborah Estrin, Jeffrey Burke, etal., “Named Data Networking (NDN) Project”, NDN-0001, October 31, 2010,, [online], [Search June 17, 2011], Internet, < URL: http://www.named-data.net/ndn-proj.pdf>.

Claims (7)

TCP/IPモデルにおけるネットワークインタフェース層又はOSI参照モデルにおけるデータリンク層に相当する下層と、該下層の上に定義された中層と、該中層の上に定義されたネームド・データ・ネットワーキング(Named Data Networking : NDN)層であってネットワーク中に存在するノードが有するコンテンツに名前を付けて送受の制御を行うものとを備えた通信プロトコルを実装するプロトコル・スタックにおける該中層のモジュール(プログラム)であって、コンピュータを、
前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズより大きい場合は、該入力バイト列を最大転送サイズ以下の複数のバイト列に分割し各バイト列に順番を示す順番情報と後続バイト列の有無を示す後続情報とを含む制御データを付して順に該下層へ渡すセグメンテーション手段、
前記下層から渡されたバイト列に含まれる制御データ中の後続情報により後続バイト列が有ると判断された場合は、制御データ中の順番情報に示される順番に該下層から渡されたバイト列から制御データを除くデータバイト列を記録して次のバイト列を待ち、後続情報により後続バイト列が無いと判断された場合は、記録されたデータバイト列に該下層から渡されたバイト列から制御データを除くデータバイト列を加えて一纏めにしたバイト列を前記NDN層へ渡すリアセンブリング手段として機能させるための中層のモジュール。
A lower layer corresponding to the network interface layer in the TCP / IP model or the data link layer in the OSI reference model, a middle layer defined on the lower layer, and named data networking defined on the middle layer (Named Data Networking) NDN) module (program) in a protocol stack that implements a communication protocol that includes a layer that controls the transmission and reception by naming content held by nodes existing in the network. Computer
When the size of the input byte sequence passed from the NDN layer is larger than the maximum transfer size of the lower layer, the input byte sequence is divided into a plurality of byte sequences equal to or less than the maximum transfer size, and order information indicating the order of each byte sequence And segmentation means for passing control data including subsequent information indicating the presence or absence of the subsequent byte sequence and sequentially passing to the lower layer,
When it is determined that there is a subsequent byte sequence based on the subsequent information in the control data included in the byte sequence passed from the lower layer, from the byte sequence passed from the lower layer in the order indicated by the order information in the control data Record the data byte string excluding the control data, wait for the next byte string, and if it is determined by the subsequent information that there is no subsequent byte string, control is performed from the byte string passed from the lower layer to the recorded data byte string A middle-layer module for functioning as a reassembling means for transferring a byte sequence that is a collection of data byte sequences excluding data to the NDN layer.
請求項1記載の中層のモジュールにおいて、
前記セグメンテーション手段は前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズ以下の場合は、該入力バイト列に最初のバイト列であることを示す順番情報と後続バイト列は無しであることを示す後続情報とを含む制御データを付して該下層へ渡す手段をさらに備え、
前記リアセンブリング手段は前記下層から渡されたバイト列に含まれる制御データ中の順番情報により最初のバイト列であり後続情報により後続バイト列は無しであると判断された場合は、該下層から渡されたバイト列から制御データを除くデータバイト列を前記NDN層へ渡す手段をさらに備えたことを特徴とする中層のモジュール。
The middle layer module according to claim 1,
When the size of the input byte sequence passed from the NDN layer is equal to or less than the maximum transfer size of the lower layer, the segmentation means has no order information and subsequent byte sequence indicating that the input byte sequence is the first byte sequence Further comprising means for attaching control data including subsequent information indicating that the data is to be passed to the lower layer,
When it is determined that the reassembling means is the first byte string based on the order information in the control data included in the byte string passed from the lower layer and the subsequent byte string is absent according to the subsequent information, from the lower layer An intermediate layer module, further comprising means for passing a data byte sequence excluding control data from the transferred byte sequence to the NDN layer.
請求項1又は2記載の中層のモジュールにおいて、バイト列に付された前記制御データは後続バイト列の有無を示すビットと、前記下層へ渡すバイト列の総サイズを所定の値に揃わせる際のパディングバイト長を示すビットと、該バイト列の順番を示すビットとを含むことを特徴とする中層のモジュール。   3. The middle layer module according to claim 1 or 2, wherein the control data attached to the byte string is used to align a bit indicating the presence / absence of a subsequent byte string and a total size of the byte string to be passed to the lower layer to a predetermined value. A middle layer module comprising a bit indicating a padding byte length and a bit indicating the order of the byte string. 請求項1乃至3のいずれかに記載の中層のモジュールを記録したコンピュータ読取り可能な記録媒体。   A computer-readable recording medium on which the middle layer module according to any one of claims 1 to 3 is recorded. TCP/IPモデルにおけるネットワークインタフェース層又はOSI参照モデルにおけるデータリンク層に相当する下層と、該下層の上に定義された中層と、該中層の上に定義されたネームド・データ・ネットワーキング(Named Data Networking : NDN)層であってネットワーク中に存在するノードが有するコンテンツに名前を付けて送受の制御を行うものとを備えた通信プロトコルを実装するプロトコル・スタックにおける該中層のモジュール(プログラム)が実行するデータ転送方法であって、
前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズより大きい場合は、該入力バイト列を最大転送サイズ以下の複数のバイト列に分割し各バイト列に順番を示す順番情報と後続バイト列の有無を示す後続情報とを含む制御データを付して順に該下層へ渡すセグメンテーションステップと、
前記下層から渡されたバイト列に含まれる制御データ中の後続情報により後続バイト列が有ると判断された場合は、制御データ中の順番情報に示される順番に該下層から渡されたバイト列から制御データを除くデータバイト列を記録して次のバイト列を待ち、後続情報により後続バイト列が無いと判断された場合は、記録されたデータバイト列に該下層から渡されたバイト列から制御データを除くデータバイト列を加えて一纏めにしたバイト列を前記NDN層へ渡すリアセンブリングステップとを備えたことを特徴とするデータ転送方法。
A lower layer corresponding to the network interface layer in the TCP / IP model or the data link layer in the OSI reference model, a middle layer defined on the lower layer, and named data networking defined on the middle layer (Named Data Networking) : NDN) module (program) in a protocol stack that implements a communication protocol with a name that controls the transmission / reception by naming the contents of nodes existing in the network A data transfer method comprising:
When the size of the input byte sequence passed from the NDN layer is larger than the maximum transfer size of the lower layer, the input byte sequence is divided into a plurality of byte sequences equal to or less than the maximum transfer size, and order information indicating the order of each byte sequence And a segmentation step that passes control data including the subsequent information indicating the presence or absence of the subsequent byte sequence and sequentially passes to the lower layer,
When it is determined that there is a subsequent byte sequence based on the subsequent information in the control data included in the byte sequence passed from the lower layer, from the byte sequence passed from the lower layer in the order indicated by the order information in the control data Record the data byte string excluding the control data, wait for the next byte string, and if it is determined by the subsequent information that there is no subsequent byte string, control is performed from the byte string passed from the lower layer to the recorded data byte string A data transfer method comprising: a reassembling step of adding a data byte sequence excluding data and transferring the combined byte sequence to the NDN layer.
請求項5記載のデータ転送方法において、
前記セグメンテーションステップは前記NDN層から渡された入力バイト列のサイズが前記下層の最大転送サイズ以下の場合は、該入力バイト列に最初のバイト列であることを示す順番情報と後続バイト列は無しであることを示す後続情報とを含む制御データを付して該下層へ渡すステップをさらに備え、
前記リアセンブリングステップは前記下層から渡されたバイト列に含まれる制御データ中の順番情報により最初のバイト列であり後続情報により後続バイト列は無しであると判断された場合は、該下層から渡されたバイト列から制御データを除くデータバイト列を前記NDN層へ渡すステップをさらに備えたことを特徴とするデータ転送方法。
The data transfer method according to claim 5, wherein
In the segmentation step, if the size of the input byte sequence passed from the NDN layer is equal to or smaller than the maximum transfer size of the lower layer, there is no order information indicating that the input byte sequence is the first byte sequence and the subsequent byte sequence. And further including a step of passing control data including subsequent information indicating that the
When the reassembly step is determined to be the first byte sequence by the order information in the control data included in the byte sequence passed from the lower layer and the subsequent byte sequence is absent by the subsequent information, from the lower layer A data transfer method, further comprising a step of transferring a data byte sequence excluding control data from the transferred byte sequence to the NDN layer.
請求項5又は6記載のデータ転送方法において、バイト列に付された前記制御データは後続バイト列の有無を示すビットと、前記下層へ渡すバイト列の総サイズを所定の値に揃わせる際のパディングバイト長を示すビットと、該バイト列の順番を示すビットとを含むことを特徴とするデータ転送方法。


The data transfer method according to claim 5 or 6, wherein the control data attached to the byte string is used when a bit indicating the presence / absence of a subsequent byte string and a total size of the byte string to be passed to the lower layer are aligned to a predetermined value. A data transfer method comprising: a bit indicating a padding byte length; and a bit indicating the order of the byte string.


JP2011174365A 2011-08-09 2011-08-09 Middle layer module, recording media and data transfer method Pending JP2013038660A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011174365A JP2013038660A (en) 2011-08-09 2011-08-09 Middle layer module, recording media and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011174365A JP2013038660A (en) 2011-08-09 2011-08-09 Middle layer module, recording media and data transfer method

Publications (1)

Publication Number Publication Date
JP2013038660A true JP2013038660A (en) 2013-02-21

Family

ID=47887822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011174365A Pending JP2013038660A (en) 2011-08-09 2011-08-09 Middle layer module, recording media and data transfer method

Country Status (1)

Country Link
JP (1) JP2013038660A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871720A (en) * 2016-03-24 2016-08-17 重庆邮电大学 Method for segmentally forwarding content objectives in content-centric network
JP2017536766A (en) * 2014-11-19 2017-12-07 中国科学院声学研究所Institute Of Acoustics, Chinese Academy Of Sciences Method for accessing external memory of switch from control plane and data plane

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065429A (en) * 2007-09-06 2009-03-26 Hitachi Communication Technologies Ltd Packet transfer apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065429A (en) * 2007-09-06 2009-03-26 Hitachi Communication Technologies Ltd Packet transfer apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015005582; Lixia Zhang,他: 'Named Data Networking (NDN) Project' NDN Technical Report NDN-0001, 20101031 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017536766A (en) * 2014-11-19 2017-12-07 中国科学院声学研究所Institute Of Acoustics, Chinese Academy Of Sciences Method for accessing external memory of switch from control plane and data plane
CN105871720A (en) * 2016-03-24 2016-08-17 重庆邮电大学 Method for segmentally forwarding content objectives in content-centric network

Similar Documents

Publication Publication Date Title
US10491523B2 (en) Load distribution in data networks
KR101987784B1 (en) Software-defined network-based method and system for implementing content distribution network
Peterson et al. Computer networks: a systems approach
US9137210B1 (en) Remote browsing session management
CN1607781B (en) Network load balancing with connection manipulation
JP3963690B2 (en) Packet relay processor
KR20040032106A (en) A system and method for reducing the time to deliver information from a communications network to a user
JP2008515032A (en) A technique for distributing individual contents via a real-time distribution network
CN107948324A (en) Ask Transmission system, method, apparatus and storage medium
US8341285B2 (en) Method and system for transferring files
US9356824B1 (en) Transparently cached network resources
Nadeem et al. An ns-3 mptcp implementation
WO2009026788A1 (en) Method, device and system for establishing a communication protocol
Korkea-aho Scalability in Distributed Multimedia Systems
Luo et al. A framework for integrating content characteristics into the future Internet architecture
JP2013038660A (en) Middle layer module, recording media and data transfer method
JP5716745B2 (en) Data transfer system
Dreibholz et al. Maintaining and monitoring the infrastructure of the NORNET CORE testbed for multi-homed systems
JP5229109B2 (en) Packet relay processor
TW200805972A (en) Context based navigation
Grieco et al. A scalable cluster-based infrastructure for edge-computing services
Britton et al. TCP/IP: The next generation
JP5803924B2 (en) Data transfer system
JP4365397B2 (en) Packet relay processor
US20130262623A1 (en) Method and apparatus for providing services to clients of static or dynamic hardware.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150728