WO2014087500A1 - 中継装置および情報処理装置 - Google Patents

中継装置および情報処理装置 Download PDF

Info

Publication number
WO2014087500A1
WO2014087500A1 PCT/JP2012/081491 JP2012081491W WO2014087500A1 WO 2014087500 A1 WO2014087500 A1 WO 2014087500A1 JP 2012081491 W JP2012081491 W JP 2012081491W WO 2014087500 A1 WO2014087500 A1 WO 2014087500A1
Authority
WO
WIPO (PCT)
Prior art keywords
rloc
router
relay device
relay
network
Prior art date
Application number
PCT/JP2012/081491
Other languages
English (en)
French (fr)
Inventor
慎也 加納
謙治 引地
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2014550845A priority Critical patent/JP5958556B2/ja
Priority to PCT/JP2012/081491 priority patent/WO2014087500A1/ja
Publication of WO2014087500A1 publication Critical patent/WO2014087500A1/ja
Priority to US14/701,607 priority patent/US20150236944A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/106Mapping addresses of different types across networks, e.g. mapping telephone numbers to data network addresses

Definitions

  • the present invention relates to a relay device and an information processing device.
  • an information processing system including a plurality of information processing apparatuses is used.
  • the plurality of information processing apparatuses are connected via a network.
  • the network includes one or more relay devices. For example, even when the transmission source information processing apparatus is not directly connected to the destination information processing apparatus, one or more relay apparatuses interposed between the transmission source information processing apparatus and the destination information processing apparatus transmit The data transmitted by the original information processing apparatus is transferred to the destination information processing apparatus.
  • a relay device that relays using a network layer protocol of an OSI (Open Systems Interconnection) reference model. Specifically, it is a router or an L3 (Layer 3) switch.
  • Some relay apparatuses perform dynamic routing.
  • a relay device collects information indicating a connection relationship with another relay device using a predetermined routing protocol. Information indicating the connection relationship may be referred to as route information.
  • the relay device evaluates a route selection index (such as a distance index to another relay device) based on the route information. A route corresponding to the destination is selected based on the index, and the result is registered in the routing table.
  • the relay device transfers the packet based on the routing table.
  • LISP Licator / ID Separation Protocol
  • ITR Ingress Tunnel Router
  • ETR Egress Tunnel Router
  • An address belonging to the core network of the ETR may be called RLOC (RoutingatorLOCator) and a host address in the access network may be called EID (Endpoint IDentifier).
  • the management device can manage the correspondence between EID and RLOC.
  • the ITR When the ITR transfers a packet addressed to an EID belonging to the second access network, the ITR can resolve the RLOC of the corresponding ETR by inquiring the EID to the management apparatus.
  • the ITR encapsulates the packet and forwards it to the core network destined for the RLOC.
  • the ETR decapsulates and forwards the packet to the second access network.
  • the relay device of the core network interposed between the ITR and the ETR may have the routing table for the core network, and may not have the routing table for the first and second access networks. That is, it is only necessary to collect the core network route information, and the first and second access network route information need not be collected. Therefore, it is possible to reduce the burden for route selection by the relay device of the core network.
  • the relay device that functions as an ITR and the core network may be connected by a plurality of paths. Such a connection is sometimes referred to as multihoming.
  • the ITR collects route information of the core network and performs route selection.
  • the ITR collects route information of both the core network and the access network, and performs processing for route selection for both networks. For this reason, there exists a problem that the burden of ITR may increase.
  • an object of the present invention is to provide a relay device and an information processing device that can perform route selection without having route information.
  • a relay device has a communication unit and a control unit.
  • the communication unit communicates with a plurality of first relay devices that are candidates for a transfer destination of data addressed to the second network connected to the first network and belong to the first network.
  • the control unit receives information indicating the distance from each of the plurality of first relay devices to the second relay device connected to the first and second networks.
  • the data transfer destination is selected from the plurality of first relay apparatuses based on the information obtained from the one relay apparatus.
  • an information processing apparatus includes a receiving unit and a control unit.
  • the receiving unit selects the second and second An inquiry for resolving an address in the second network of the second relay device connected to the third network is received from the first relay device.
  • the control unit is a candidate for a transfer destination of data addressed to the third network from the first relay device, and the second relay from each of the plurality of third relay devices belonging to the second network.
  • Information indicating the distance to the device is provided from the plurality of third relay devices to the first relay device.
  • a plurality of candidates that are destinations of data addressed to the third network connected to the second network from the first relay device connected to the first and second networks A relay device used as one of the above is provided.
  • This relay device has a receiving unit and a transmitting unit.
  • the receiving unit provides the first relay device with information indicating the distance to the second relay device connected to the second and third networks when the first relay device selects the data transfer destination. An instruction to do so is received.
  • the transmission unit transmits information indicating the distance from the second relay device to the first relay device.
  • a relay device connected to the first and second networks has a receiving unit and a transmitting unit.
  • the receiving unit sets its own address in the second network to the first network
  • An instruction to provide to the relay device is received.
  • the transmission unit receives a plurality of response data including an address and information for acquiring information indicating a distance from the relay apparatus that has received the address to the self of the data from the first relay apparatus.
  • the data is transmitted to the first relay device via each of a plurality of second relay devices that are transfer destination candidates and belong to the second network.
  • a relay device has a communication unit and a control unit.
  • the communication unit communicates with a plurality of first relay devices that are candidates for a transfer destination of data addressed to the second network connected to the first network and belong to the first network.
  • the control unit makes an inquiry for resolving an address in the first network of the second relay device connected to the first and second networks, and a plurality of first
  • the relay device is selected as a data transfer destination.
  • route selection can be performed without route information.
  • FIG. 1 illustrates an information processing system according to the first embodiment.
  • the information processing system according to the first embodiment includes relay devices 1, 2, 2 a, 2 b and 3, an information processing device 4 and nodes 5 and 6.
  • the relay devices 1, 2, 2a, 2b, and 3 are devices used for data relay.
  • the relay apparatuses 1, 2, 2a, 2b, 3 may be called routers or L3 switches.
  • the relay device 1 is connected to the networks 7 and 8. It can be said that the relay device 1 is provided at the boundary between the networks 7 and 8.
  • the networks 7 and 8 are connected via the relay device 1.
  • the relay devices 2, 2 a, 2 b belong to the network 7.
  • the relay apparatuses 2, 2 a, 2 b are transfer destination candidates when data is transferred from the relay apparatus 1 to the network 7.
  • the relay device 3 is connected to the networks 7 and 9. It can be said that the relay device 3 is provided at the boundary between the networks 7 and 9.
  • the networks 7 and 9 are connected via the relay device 3.
  • the information processing apparatus 4 is connected to the network 7.
  • Node 5 is connected to network 8.
  • Node 6 is connected to network 9.
  • the network 7 may include a plurality of AS (Autonomous System).
  • the AS may be an ISP (Internet Service Provider) using an independent operation policy, an in-house network (for example, an academic network), or the like.
  • the networks 8 and 9 may be AS in the network 7.
  • the relay apparatuses 2, 2a, 2b may belong to different ASs.
  • the networks 7, 8 and 9 may be IP (Internet Protocol) networks.
  • the data relayed by the relay devices 1, 2, 2a, 2b, 3 may be called IP packets or packets.
  • the relay device 1 includes a communication unit 1a and a control unit 1b.
  • the communication unit 1a communicates with the relay devices 2, 2a, 2b.
  • the communication unit 1a has ports P1, P2, and P3.
  • the port P1 is an interface connected to the relay device 2.
  • the port P2 is an interface connected to the relay device 2a.
  • the port P3 is an interface connected to the relay device 2b.
  • the control unit 1b selects the transfer destination of the data addressed to the network 9
  • the information D1, D2, D3 indicating the distance from each of the relay devices 2, 2a, 2b to the relay device 3 is used as the relay devices 2, 2a. , 2b.
  • the control unit 1b selects a data transfer destination from the relay devices 2, 2a, 2b based on the information D1, D2, D3 indicating the distance.
  • the information D1, D2, D3 indicating the distance may be information indicating the number of hops from the relay apparatuses 2, 2a, 2b to the relay apparatus 3.
  • the number of hops may be an index indicating the number of relay devices interposed between the relay devices 2 and 3.
  • the number of hops may be an index indicating the number of ASs interposed between the relay apparatuses 2 and 3. This is because any index can be handled as an index indicating distance.
  • Control part 1b may acquire one thing of the shortest distance from relay device 2, 2a, 2b as information D1, D2, D3 which shows the distance one by one. For example, when there are a plurality of routes from the relay device 2 to the relay device 3, the control unit 1b may acquire only the minimum number of hops from the relay device 2. Further, the information D1, D2, D3 indicating the distance may be a value obtained by adding a predetermined value (for example, “1”, etc.) to the number of hops.
  • a predetermined value for example, “1”, etc.
  • the information D1, D2, D3 indicating the distance is used as the information D1, D2, D3 indicating the distance.
  • the information is TTL (Time To Live) or hop limit (Hop Limit) in IP.
  • the TTL or hop limit is decremented by one unit every time it passes through the relay device. Therefore, the TTL or hop limit can also be handled as an index of distance. Specifically, the distance from the relay device 1 to the relay device 3 based on the TTL or hop limit included in the IP packet that has reached the relay device 1 via the relay devices 2, 2 a, and 2 b respectively. Can be evaluated.
  • the distance from the relay device 2, 2 a, 2 b to the relay device 3 is set to the TTL or hop limit. It may be considered as an index of
  • the control unit 1b acquires information D1, D2, D3 indicating the distance from the relay devices 2, 2a, 2b to the relay device 3.
  • the information D1 indicating the distance acquired from the relay device 2 is the index “7”.
  • Information D2 indicating the distance acquired from the relay device 2a is the index “5”.
  • Information D3 indicating the distance acquired from the relay device 2b is the index “4”. The smaller the index value, the shorter the distance.
  • the control unit 1b selects the relay device 2b having the shortest distance as the transfer destination. In this case, the data to be transferred may be sent from the port P3 connected to the relay device 2b.
  • control unit 1b obtains information D1, D2, D3 indicating the distance from the relay devices 2, 2a, 2b when selecting a transfer destination of data addressed to the network 9.
  • the relay device 3 includes a reception unit 3a and a transmission unit 3b.
  • the information processing apparatus 4 includes a receiving unit 4a and a control unit 4b.
  • the information processing apparatus 4 may manage the correspondence between the address of the relay apparatus 3 in the network 7 and the address of the node 6 in the network 9. For example, this is a case where LISP is used for routing in the network 7.
  • the relay device 1 can resolve the address of the relay device 3 in the network 7 by inquiring the address of the node 6 to the information processing device 4 when transferring the data addressed to the node 6.
  • the receiving unit 4a receives the inquiry.
  • the control unit 4b provides information D1, D2, D3 indicating the distance from the relay devices 2, 2a, 2b to the relay device 1.
  • each receiving unit (not shown) of the relay apparatuses 2, 2a, 2b receives the provision instruction from the control unit 4b.
  • Each transmission unit (not shown) of the relay apparatuses 2, 2a, 2b transmits information D1, D2, D3 indicating distances to the relay apparatus 1 in accordance with the instruction.
  • the control unit 4b may directly instruct the relay apparatuses 2, 2a, and 2b to provide the information D1, D2, and D3 indicating the distance.
  • control unit 4b may cause the relay device 3 to transmit a plurality of IP packets that reach the relay device 1 via the relay devices 2, 2a, and 2b.
  • the receiving unit 3a receives the transmission instruction from the control unit 4b.
  • the transmission unit 3b transmits the plurality of IP packets according to the instruction.
  • the IP packet includes a TTL or hop limit.
  • the control unit 4b may indirectly provide the information D1, D2, D3 indicating the distance by the relay devices 2, 2a, 2b.
  • control unit 1b selects a transfer destination of data addressed to the network 9, for example, by making an inquiry for address resolution of the relay device 3, information indicating the distance from the relay devices 2, 2a, 2b. D1, D2, D3 can be acquired.
  • the transfer destination can be selected together with the response to the address resolution inquiry, which is efficient.
  • the relay device 1 when the control unit 1 b selects a transfer destination of data addressed to the network 9, the distance from each of the relay devices 2, 2 a, 2 b that are transfer destination candidates to the relay device 3 is determined.
  • Information D1, D2, D3 to be obtained is acquired from the relay devices 2, 2a, 2b. Based on the information D1, D2, D3 indicating the distance, the control unit 1b selects a data transfer destination from the relay devices 2, 2a, 2b.
  • the relay apparatus 1 can select a route without having the route information of the network 7. For example, when the relay apparatus 1 is connected to the network 7 in a multihomed manner, the data transfer destination for the network 7 is selected from a plurality of candidates. Therefore, it is conceivable that the relay apparatus 1 collects route information of the network 7 and performs route selection. However, the relay device 1 is also connected to the network 8. Therefore, the relay device 1 also performs processing for collecting route information and route selection for the network 8.
  • the burden on the relay device 1 may increase.
  • a relatively large memory area can be consumed to hold the path information of both the networks 7 and 8.
  • the calculation cost for evaluating the route selection index may increase.
  • the burden can be particularly increased. This is because as the number of networks existing inside increases, the amount of route information collected and the amount of route information to be calculated also increase.
  • the relay device 1 acquires information D1, D2, D3 indicating the distance from the relay devices 2, 2a, 2b to the relay device 3 connected to the network 9 when transferring data addressed to the network 9. To do. Then, based on the information D1, D2, D3 indicating the distance, the data transfer destination is selected. This is because if the index of the distance from the relay devices 2, 2a, 2b to the relay device 3 is obtained, the difference in distance from the relay device 1 through the relay devices 2, 2a, 2b can be evaluated. .
  • the relay device 1 can select, for example, the relay device 2b having the shortest distance to the relay device 3 as the transfer destination based on the information D1, D2, and D3 indicating the distance. The shortest route is selected because data can be transferred efficiently.
  • the relay device 1 selects a transfer destination based on the information D1, D2, D3 indicating the distance acquired from the relay devices 2, 2a, 2b. For this reason, the relay apparatus 1 does not need to collect the route information of the network 7. Further, the relay device 1 does not have to calculate an index for route evaluation of the network 7 itself. That is, route selection can be performed without route information. As a result, the burden on the relay device 1 is reduced. For example, the route control memory can be saved in the relay device 1. Further, for example, the calculation cost for route selection by the relay device 1 can be reduced.
  • FIG. 2 illustrates an information processing system according to the second embodiment.
  • the information processing system according to the second embodiment includes routers 100, 200, 200a, 200b, 300, a server 400, and clients 500, 600.
  • the routers 100, 200, 200a, 200b, 300 and the server 400 are connected to the core network 10.
  • the core network 10 is a main circuit network in a wide area network such as the Internet or a WAN (Wide Area Network).
  • the core network 10 includes ASs 11, 12, 13, and 14.
  • the ASs 11, 12, 13, and 14 are ISPs and intra-organizational networks.
  • the ASs 11, 13, and 14 are connected to each other.
  • AS12 and 13 are connected.
  • One or more other ASs may be interposed between each AS.
  • the core network 10 may be referred to as a core network.
  • the router 100 and the client 500 are connected to the network 20.
  • the router 100 is connected to the routers 200 and 200a and the AS.
  • the router 200 is connected to the AS 11.
  • the router 200a is connected to the AS 12.
  • the router 200b is connected to the router 300 and the AS 13.
  • the server 400 is connected to the AS 14.
  • the router 300 and the client 600 are connected to the network 30.
  • the core network 10, AS 11, 12, 13, 14 and networks 20, 30 are IP networks.
  • the routers 100, 200, 200a, 200b, and 300 are relay apparatuses that route IP packets (hereinafter simply referred to as packets) in the network layer (third layer) of the OSI reference model.
  • packets IP packets
  • LISP is used in the routing of the core network 10.
  • the AS 14 is a LISP management network and is not used for normal packet transfer.
  • the router 100 relays communication between the core network 10 and the network 20.
  • the router 300 relays communication between the core network 10 and the network 30.
  • the routers 100 and 300 are sometimes called CE (Customer Edge) routers in the networks 20 and 30.
  • the routers 100 and 300 function as ITRs and ETRs for the core network 10. For this reason, the routers 100 and 300 are sometimes called xTR.
  • the router 100 encapsulates the packet and transfers it to the core network 10. That is, it functions as an ITR.
  • the ITR may be referred to as an ingress edge node for the core network 10.
  • the router 300 transfers the decapsulated packet to the network 30. That is, it functions as an ETR.
  • the ETR may be called an egress edge node for the core network 10.
  • an encapsulated packet may be simply referred to as an encapsulated packet.
  • the router 100 is connected to the routers 200 and 200a as described above. That is, it is multihomed. Alternatively, connecting to the core network 10 in multihome may be referred to as multihoming.
  • the router 200 transfers the packet or encapsulated packet received from the router 100 into the AS 11.
  • the router 200 transfers the packet or the encapsulated packet received at the interface on the AS 11 side to the router 100.
  • the router 200a transfers the packet or the encapsulated packet received from the router 100 into the AS 12.
  • the router 200a transfers the packet or the encapsulated packet received at the interface on the AS 12 side to the router 100.
  • the router 200b transfers the packet or the encapsulated packet received at the AS 13 side interface to the router 300.
  • the router 200b transfers the packet or the encapsulated packet received from the router 300 into the AS 13.
  • the server 400 is a server computer that manages the correspondence between EID and RLOC.
  • the server 400 provides the ITR with the RLOC corresponding to the EID.
  • Clients 500 and 600 are client computers used by users.
  • a unique EID is assigned to the clients 500 and 600.
  • the client 500 transmits a packet specifying the EID of the client 600 as a destination.
  • the packet reaches the client 600 via the network 20, the core network 10, and the network 30.
  • the routing protocol (EGP: Exterior Gateway Protocol) between AS in the core network 10 is, for example, BGP (Boarder Gateway Gateway Protocol).
  • BGP Border Gateway Gateway Protocol
  • the routers 100 and 300 do not have to participate in the EGP by the function described below.
  • the routing protocol (IGP: InteriorInGateway Protocol) in AS or networks 20 and 30 is, for example, OSPF (Open Shortest Path First) or RIP (Routing Information Protocol).
  • the address used in the second embodiment is an IP address.
  • the IP address may be an IPv4 (Internet Protocol version 4) address or an IPv6 (Internet Protocol version 6) address.
  • the IP addresses of the routers 100, 200, 200 a, 200 b, 300 belong to each network address used for routing in the core network 10. Therefore, it can be said that the routers 100, 200, 200a, 200b, and 300 belong to the core network 10. It can be considered that the core network 10 is formed by connecting these routers with a predetermined line. Since the router 100 also has an IP address on the network 20 side, it also belongs to the network 20. Since the router 300 also has an IP address on the network 30 side, it also belongs to the network 30. Furthermore, the routers 100, 200, 200a, 200b, and 300 may be called L3 switches.
  • the information processing system of the second embodiment can be considered as an example of the information processing system of the first embodiment.
  • the router 100 is an example of the relay device 1.
  • the routers 200 and 200a are examples of the relay devices 2a, 2b, and 2c.
  • the router 300 is an example of the relay device 3.
  • the server 400 is an example of the information processing device 4.
  • FIG. 3 is a diagram illustrating a hardware example of the router according to the second embodiment.
  • the router 100 includes a processor 101, a RAM (Random Access Memory) 102, a ROM (Read Only Memory) 103, a switch unit 104, and a port unit 105.
  • the routers 200, 200a, 200b, and 300 can also be realized using the same unit as the router 100.
  • the processor 101 controls information processing of the router 100.
  • the processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or PLD (Programmable Logic Device).
  • the processor 101 may be a combination of two or more elements of CPU, MPU, DSP, ASIC, FPGA, and PLD.
  • the RAM 102 temporarily stores firmware programs and data.
  • the program and data stored in the RAM 102 are used for the processing of the processor 101.
  • the ROM 103 stores firmware programs and data in advance.
  • the ROM 103 may be a rewritable nonvolatile memory such as a flash memory.
  • the program and data stored in the ROM 103 are used for processing by the processor 101.
  • the switch unit 104 sends a packet received at any port of the port unit 105 to another port.
  • the port unit 105 includes a plurality of ports.
  • the plurality of ports include ports 105a, 105b, 105c, and 105d.
  • the port 105 a is connected to the network 20.
  • the port 105b is connected to the AS 14.
  • the port 105 c is connected to the router 200.
  • the port 105d is connected to the router 200a.
  • FIG. 4 is a diagram illustrating a hardware example of the server according to the second embodiment.
  • the server 400 includes a processor 401, a RAM 402, an HDD (Hard Disk Drive) 403, an image signal processing unit 404, an input signal processing unit 405, a disk drive 406, and a communication unit 407.
  • the clients 500 and 600 can also be realized using the same unit as the server 400.
  • the processor 401 controls information processing of the server 400.
  • the processor 401 may be a multiprocessor.
  • the processor 401 is, for example, a CPU, MPU, DSP, ASIC, FPGA, or PLD.
  • the processor 401 may be a combination of two or more elements of CPU, MPU, DSP, ASIC, FPGA, and PLD.
  • the RAM 402 is a main storage device of the server 400.
  • the RAM 402 temporarily stores at least part of an OS program and application programs to be executed by the processor 401.
  • the RAM 402 stores various data used for processing by the processor 401.
  • the HDD 403 is an auxiliary storage device of the server 400.
  • the HDD 403 magnetically writes and reads data to and from the built-in magnetic disk.
  • the HDD 403 stores an OS program, application programs, and various data.
  • the server 400 may include other types of auxiliary storage devices such as flash memory and SSD (Solid State Drive), or may include a plurality of auxiliary storage devices.
  • the image signal processing unit 404 outputs an image to the display 41 connected to the server 400 in accordance with an instruction from the processor 401.
  • a CRT (Cathode Ray Tube) display As the display 41, a CRT (Cathode Ray Tube) display, a liquid crystal display, or the like can be used.
  • the input signal processing unit 405 acquires an input signal from the input device 42 connected to the server 400 and outputs it to the processor 401.
  • the input device 42 for example, a pointing device such as a mouse or a touch panel, a keyboard, or the like can be used.
  • the disk drive 406 is a drive device that reads a program and data recorded on the recording medium 43 using a laser beam or the like.
  • the recording medium 43 for example, a DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), or the like can be used.
  • the recording medium 43 may be a storage device incorporating a semiconductor memory or a magnetic disk.
  • the disk drive 406 stores the program and data read from the recording medium 43 in the RAM 402 or the HDD 403 in accordance with an instruction from the processor 401.
  • the communication unit 407 is an interface that can communicate with other computers and routers via the AS 14.
  • the communication unit 407 may be a wired interface or a wireless interface.
  • the processor 401 stores programs and data received by the communication unit 407 from other computers in the RAM 402 and the HDD 403.
  • FIG. 5 is a diagram illustrating an example of software according to the second embodiment.
  • the router 100 includes a storage unit 110 and a route control unit 120.
  • the storage unit 110 may be realized using a storage area of the RAM 102.
  • the path control unit 120 may be realized by the processor 101 executing a program stored in the RAM 102 or the ROM 103. However, the path control unit 120 may be realized by an electronic circuit such as an ASIC or FPGA.
  • the storage unit 110 stores an adjacent GW (GateWay) management table 111, a routing table 112, and an RLOC cache table 113.
  • the adjacent GW management table 111 is information in which the IP address of the adjacent GW on the core network 10 side is registered in association with the ports 105c and 105d.
  • the adjacent GWs are the routers 200 and 200a.
  • the administrator or the like may set the adjacent GW management table 111 in advance.
  • the IP address of the adjacent GW may be acquired and registered by the route control unit 120 using a predetermined protocol.
  • the path control unit 120 can acquire the IP addresses of the routers 200 and 200a using PPP.
  • the routing table 112 is information in which the IP address of the Next Hop router (hereinafter sometimes referred to as “Next Hop address”) is registered in association with the destination network address.
  • the RLOC cache table 113 is information in which RLOC for EID is registered.
  • the path control unit 120 includes a packet transfer unit 121 and an RLOC processing unit 122.
  • the packet transfer unit 121 performs packet transfer based on the routing table 112 and the RLOC cache table 113 stored in the storage unit 110.
  • the packet transfer unit 121 transmits a packet received at the port 105a on the network 20 side from either of the ports 105c and 105d on the core network 10 side. It can be said that the packet received from the network 20 is transmitted to either of the routers 200 and 200a. At this time, the packet transfer unit 121 encapsulates the packet to be transmitted to the core network 10 by the LISP method.
  • the packet transfer unit 121 releases the encapsulation of the encapsulated packet received at the ports 105c and 105d on the core network 10 side, and sends out from the port 105a on the network 20 side. It can be said that the packet obtained by releasing the encapsulated packet received from the routers 200 and 200a is transmitted to the network 20 side.
  • the RLOC processing unit 122 manages the correspondence between EID and RLOC.
  • the packet transfer unit 121 receives a packet destined for the EID of the client 600 from the network 20.
  • the packet can also be referred to as a packet addressed to the network 30. This is because the prefix part of EID is the network address of the network 30.
  • the RLOC processing unit 122 refers to the RLOC cache table 113 and searches for the RLOC of the corresponding ETR (router 300). If the RLOC corresponding to the EID is not registered in the RLOC cache table 113, the RLOC processing unit 122 transmits a message requesting RLOC resolution to the server 400.
  • a request for RLOC resolution may be simply referred to as an RLOC request.
  • the message may be referred to as an RLOC request message.
  • the RLOC request message includes the EID and the IP address of the neighboring GW.
  • the RLOC processing unit 122 receives a response (RLOC response) to the request via the routers 200 and 200a.
  • the RLOC processing unit 122 grasps the RLOC corresponding to the EID based on the RLOC response. Further, the routing table 112 is set based on information included in the RLOC response. Furthermore, the correspondence between EID and RLOC is registered in the RLOC cache table 113.
  • the server 400 includes a storage unit 410 and a management unit 420.
  • the storage unit 410 may be realized using a storage area of the RAM 402 or the HDD 403.
  • the management unit 420 may be realized by the processor 401 executing a program stored in the RAM 402 or the HDD 403. However, the management unit 420 may be realized by an electronic circuit such as an ASIC or FPGA.
  • the storage unit 410 stores an RLOC management table 411.
  • the RLOC management table 411 is information in which a correspondence relationship between EID and RLOC is registered. For example, in the RLOC management table 411, the correspondence between the EID of the client 500 and the RLOC of the router 100 and the correspondence between the EID of the client 600 and the RLOC of the router 300 are registered in advance. A plurality of clients may be connected to the network 20. In this case, the correspondence relationship between the EID of each of the plurality of clients and the RLOC of the router 100 is registered in the RLOC management table 411. The same applies to the network 20.
  • the management unit 420 receives the RLOC request message.
  • the management unit 420 refers to the RLOC management table 411 and searches for an RLOC corresponding to the EID included in the RLOC request message.
  • the management unit 420 generates a message instructing provision of the searched RLOC and transmits it to both the routers 200 and 200a.
  • the message may be referred to as an RLOC response instruction message.
  • the RLOC response indication message includes the RLOC of the ITR and the RTR of the ETR that transmitted the RLOC request indication message.
  • the management unit 420 acquires information indicating the correspondence between the EID and the IP addresses of the routers 100 and 300 from the routers 100 and 300, and registers the information in advance in the RLOC management table 411 stored in the storage unit 410. For example, information indicating the correspondence between the EID of the client 500 existing under the network 20 and the IP address (corresponding to RLOC) on the core network 10 side of the router 100 is acquired in advance from the router 100 and registered. Further, for example, information indicating the correspondence between the EID of the client 600 existing under the network 30 and the IP address on the core network 10 side of the router 300 is acquired from the router 300 in advance and registered.
  • FIG. 6 is a diagram illustrating a software example (continued) according to the second embodiment.
  • the router 200 includes a storage unit 210 and a route control unit 220.
  • the storage unit 210 may be realized using a storage area of a RAM included in the router 200.
  • the path control unit 220 may be realized by a processor included in the router 200 executing a program stored in a RAM or a ROM included in the router 200. However, the path control unit 220 may be realized by an electronic circuit such as an ASIC or FPGA.
  • the router 200a can also be realized by the same software example as the router 200.
  • the storage unit 210 includes core network route information 211 and a routing table 212.
  • the core network route information 211 is route information of the core network 10 acquired using, for example, BGP.
  • the route information includes NLRI (Network Layer Reachability Information) (combination of destination network address and prefix length) and path attributes.
  • the core network route information 211 may be referred to as a BGP table.
  • the Next Hop address (best path) for the destination network address selected based on the core network path information 211 is advertised to an adjacent router (BGP peer) in the core network 10.
  • BGP peer adjacent router
  • the routing table 212 is information in which the best path for the network address is set.
  • the route control unit 220 may register information for the core network route information 211 and the routing table 212.
  • the route control unit 220 includes a packet transfer unit 221 and an RLOC processing unit 222.
  • the packet transfer unit 221 transfers a packet or an encapsulated packet based on the routing table 212 stored in the storage unit 210. For example, the packet transfer unit 221 transmits a packet or an encapsulated packet received from the router 100 to the AS 11 side. For example, the packet transfer unit 221 transmits the packet or the encapsulated packet received from the AS 11 side to the router 100.
  • the RLOC processing unit 222 receives the RLOC response instruction message. Then, the RLOC processing unit 222 refers to the core network path information 211 stored in the storage unit 210 and calculates the distance to the RTR of the ETR. Specifically, it is the number of hops. The number of hops is, for example, the number of routers through which the ETR is reached.
  • the path attribute attached to the NLRI included in the core network route information 211 includes an AS_PATH attribute indicating the routed AS.
  • the RLOC processing unit 222 may regard the number of ASs routed to the destination network address as the number of hops. This is because the distance to the destination network address can also be evaluated by the number of ASs that pass through.
  • the RLOC processing unit 222 transmits a message including the calculated number of hops to the router 100.
  • the message may be referred to as an RLOC response message.
  • the RLOC response message includes the ETR's RLOC.
  • the route control unit 220 advertises a route to the router 100 in the core network 10. The same applies to the router 200a. Similarly, the router 200 b advertises a route to the router 300 in the core network 10.
  • FIG. 7 is a diagram illustrating an example of an adjacent GW management table according to the second embodiment.
  • the adjacent GW management table 111 includes items of interfaces and adjacent GW addresses.
  • an identifier for physically identifying the port is registered.
  • the adjacent GW address item the IP address of the adjacent GW is registered.
  • the adjacent GW management table 111 For example, information indicating that the interface is “eth0” and the adjacent GW address is “GW1” is registered in the adjacent GW management table 111.
  • “Eth0” is an identifier of the port 105c.
  • “GW1” is the IP address of the router 200. That is, the router 200 is connected to the end of the port 105c.
  • “Eth1” is an identifier of the port 105d.
  • GW2” is the IP address of the router 200a.
  • IP addresses of other devices are as follows.
  • the IP address of the router 100 on the core network 10 side is “RLOC1”.
  • the IP address of the router 300 on the core network 10 side is “RLOC2”.
  • the IP address of the server 400 is “SV1”.
  • the IP address of the client 500 is “IP1”.
  • the IP address of the client 600 is “IP2”.
  • FIG. 8 is a diagram illustrating an example of a routing table according to the second embodiment.
  • the routing table 112 includes a destination network address and a Next Hop item.
  • the destination network address is registered in the destination network address item.
  • the Next Hop address is registered in the Next Hop item.
  • N-SV1 is the network address of the AS 14.
  • GWA is an IP address of a router (router connected to the end of the port 105b) connected to the AS. In other words, it indicates that when a packet is to be sent to the server 400, the packet may be sent from the port 105b.
  • N-ROC2 is a network address on the core network 10 side to which the router 300 belongs. That is, it is indicated that when a packet (encapsulated packet) is to be sent to the router 300, the packet should be sent from the port 105c.
  • FIG. 9 is a diagram illustrating an example of the RLOC cache table according to the second embodiment.
  • the RLOC cache table 113 includes items of EID and RLOC. EID is registered in the EID item. RLOC is registered in the item of RLOC.
  • EID is “IP2” and RLOC is “RLOC2” is registered in the RLOC cache table 113. This indicates that the ETR corresponding to the client 600 is the router 300. That is, when a packet addressed to the client 600 is transferred, a header including the router 300 as a destination may be added (encapsulated) to the packet and transferred.
  • FIG. 10 is a diagram illustrating an example of the RLOC management table according to the second embodiment.
  • the RLOC management table 411 includes items of EID and RLOC. EID is registered in the EID item. RLOC is registered in the item of RLOC.
  • RLOC management table 411 information that EID is “IP1” and RLOC is “RLOC1” is registered. This indicates that the ETR for the client 500 is the router 100.
  • RLOC management table 411 information that EID is “IP2” and RLOC is “RLOC2” is registered. This indicates that the ETR for the client 600 is the router 300.
  • FIG. 11 is a diagram illustrating an example of a packet according to the second embodiment.
  • the packet 50 includes fields of DA (Destination Address) (1), SA (Source Address) (1), and DATA.
  • DA (1) is a destination address.
  • SA (1) is a source address.
  • DATA is the data body (payload) to be sent.
  • a predetermined field group including DA (1) and SA (1) is a header.
  • the router 100 may receive a packet 50 in which DA (1) is “IP2”, SA (1) is “IP1”, and DATA is “xxxx”.
  • the encapsulated packet 60 includes DA (2), SA (2), DA (1), SA (1), and DATA fields.
  • DA (2) is a destination address in the core network 10.
  • SA (2) is a source address in the core network 10.
  • the fields DA (1), SA (1) and DATA are the same as those in the packet 50.
  • the router 100 encapsulates the packet 50, DA (2) is “RLOC2”, SA (2) is “RLOC1”, DA (1) is “IP2”, SA (1) is “IP1”, DATA May transmit an encapsulated packet 60 of “xxxx”.
  • the encapsulated packet 60 is transferred based on the IP address set in DA (2) in the router in the core network 10.
  • FIG. 12 is a diagram illustrating an example of an RLOC request message according to the second embodiment.
  • the RLOC request message 51 includes fields of DA, SA, Type, EID, ITR address, and adjacent GW address list.
  • DA and SA correspond to DA (1) and SA (1) of the packet 50.
  • Type indicates a message attribute.
  • EID indicates EID.
  • the ITR address indicates the IP address of the ITR that issued the RLOC request message 51.
  • the adjacent GW address list indicates a list of IP addresses of adjacent GWs on the core network 10 side of the ITR.
  • the RLOC request message 51 is as follows.
  • DA is “SV1”. This is because it is addressed to the server 400.
  • SA is “RLOC1”. This is because the transmission source is the router 100.
  • Type is “RLOC request”. This is because it is an RLOC request message.
  • the EID is “IP2”. This is because the router 100 wants to transfer a packet destined for the client 600.
  • the ITR address is “RLOC1”. This is because the request source is the router 100.
  • the adjacent GW address list is “GW1, GW2”. This is because these are registered in the adjacent GW management table 111.
  • FIG. 13 is a diagram illustrating an example of the RLOC response instruction message according to the second embodiment.
  • the RLOC response instruction messages 52 and 52a include fields of DA, SA, Type, EID, ETR address, and ITR address. The contents indicated by the DA, SA, Type, EID, and ITR address are as described in the RLOC request message 51.
  • the ETR address indicates the RLOC corresponding to the EID.
  • the RLOC response instruction messages 52 and 52a transmitted by the server 400 in response to the RLOC request message 51 are as follows.
  • DA is “GW1”. This is because the IP address list “GW1, GW2” of the adjacent GW is specified in the RLOC request message 51 and is addressed to the router 200 among them.
  • SA is “SV1”. This is because the transmission source is the server 400.
  • Type is “RLOC response”. This is because it is an RLOC response instruction message. Since the RLOC response instruction message is transmitted in response to the RLOC request message, it can also be called an RLOC response message. In this example, in order to distinguish from the RLOC response message transmitted by the routers 200 and 200a, it is referred to as an RLOC response instruction message for convenience.
  • EID is “IP2”. This is because EID “IP2” is designated in the RLOC request message 51.
  • the ETR address is “RLOC2”. This is because the RLOC corresponding to EID “IP2” is “RLOC2”.
  • the ITR address is “RLOC1”. This is because the request source is the router 100.
  • DA is “GW2”. This is because the IP address list “GW1, GW2” of the adjacent GW is specified in the RLOC request message 51 and is addressed to the router 200a.
  • the setting contents of other fields are the same as those of the RLOC response instruction message 52.
  • FIG. 14 is a diagram illustrating an example of the RLOC response message according to the second embodiment.
  • the RLOC response messages 53 and 53a include fields for DA, SA, Type, EID, ETR address, and the number of hops to ETR.
  • the contents indicated by the DA, SA, Type, EID, and ETR address are as described in the RLOC response instruction messages 52 and 52a.
  • the number of hops to ETR field indicates the number of hops from the router that received the RLOC response messages 53 and 53a to the ETR.
  • the RLOC response messages 53 and 53a corresponding to the RLOC response instruction messages 52 and 52a are as follows.
  • DA is “RLOC1”. This is because it is addressed to the router 100.
  • SA is “GW1”. This is because the transmission source is the router 200.
  • Type is “RLOC response”. This is because it is an RLOC response message.
  • the EID is “IP2”. This is because EID “IP2” is specified in the RLOC response instruction message 52.
  • the ETR address is “RLOC2”. This is because the ETR address “RLOC2” is designated by the RLOC response instruction message 52.
  • the number of hops to ETR is “5”. This value is calculated by the router 200 based on the core network path information 211.
  • SA is “GW2”. This is because the transmission source is the router 200a.
  • the number of hops to ETR is “10”. This is a value calculated by the router 200a based on the core network path information held by the router 200a.
  • the setting contents of other fields are the same as those of the RLOC response message 53.
  • FIG. 15 is a flowchart illustrating an example of ITR processing according to the second embodiment. In the following, the process illustrated in FIG. 15 will be described in order of step number. In the following description, the character string “message” may be abbreviated in the drawings.
  • Step S11 The packet transfer unit 121 receives the packet 50.
  • the DA (1) that is, EID
  • SA (1) is “IP1”.
  • Step S12 The RLOC processing unit 122 determines whether or not the EID “IP2” is unregistered in the RLOC cache table 113. If not registered, the process proceeds to step S13. If already registered, the process proceeds to step S18.
  • the RLOC processing unit 122 refers to the adjacent GW management table 111 stored in the storage unit 110 and acquires the IP address of the adjacent GW (routers 200 and 200a).
  • the RLOC processing unit 122 generates an RLOC request message 51 including the IP address of the adjacent GW (adjacent GW address list) and transmits the RLOC request message 51 to the server 400.
  • Step S14 The RLOC processing unit 122 receives the RLOC response message 53 from the router 200 in response to the RLOC request message 51.
  • the RLOC processing unit 122 receives the RLOC response message 53a from the router 200a in response to the RLOC request message 51.
  • Step S15 Based on the RLOC response messages 53 and 53a, the RLOC processing unit 122 selects the router 200 or 200a having the minimum hop count for the ETR as the Next Hop router.
  • the hop number “5” set in the RLOC response message 53 is smaller than the hop number “10” set in the RLOC response message 53a. Therefore, the number of hops set in the RLOC response message 53 is the minimum. Therefore, the RLOC processing unit 122 selects the router 200 as the Next Hop router.
  • Step S16 The RLOC processing unit 122 adds an entry to the routing table 112 based on the RLOC response message received from the adjacent GW selected as the Next Hop router. For example, the RLOC processing unit 122 registers the network address “N-RLOC2” of the ETR address “RLOC2” included in the RLOC response message 53 and the IP address “GW1” of the router 200 in association with each other in the routing table 112. The entry may be registered in the routing table 112. In that case, step S16 may be skipped.
  • Step S17 The RLOC processing unit 122 adds an entry to the RLOC cache table 113 based on the RLOC response message received from the adjacent GW selected as the Next Hop router. For example, the RLOC processing unit 122 registers the EID “IP2” and the ETR address “RLOC2” included in the RLOC response message 53 in the RLOC cache table 113 in association with each other.
  • the packet transfer unit 121 refers to the RLOC cache table 113 and acquires the RLOC “RLOC2” for the EID “IP2”.
  • the packet transfer unit 121 encapsulates the packet 50 to generate an encapsulated packet 60.
  • DA (2) of the encapsulated packet 60 is “RLOC2”.
  • SA (2) is “RLOC1”.
  • the packet transfer unit 121 transfers the encapsulated packet 60. Specifically, the packet transfer unit 121 refers to the routing table 112 and acquires the Next Hop address “GW1” for the network address “N-RLOC2” of the RLOC “RLOC2”. Therefore, the packet transfer unit 121 transmits the encapsulated packet 60 from the port 105 c connected to the router 200.
  • the router 100 can solve the RLOC by transmitting the RLOC request message 51 to the server 400. Specifically, the router 100 receives the RLOC response messages 53 and 53a including the number of hops to the ETR (router 300). The router 100 obtains the RLOC and determines the Next Hop address based on the number of hops.
  • step S14 the RLOC processing unit 122 normally receives RLOC response messages 53 and 53a by the number of adjacent GW IP addresses included in the RLOC request message 51 (two in this case), and then proceeds to step S15.
  • step S15 may be skipped and the process may proceed to step S16.
  • the RLOC processing unit 122 can perform the processing after step S16 based on the ETR address and the like included in the one RLOC response message.
  • step S17 the correspondence between the resolved RLOC and EID is held using the RLOC cache table 113.
  • the processes in steps S13 to S17 can be omitted by the determination in step S12.
  • FIG. 16 is a flowchart illustrating a processing example of the server according to the second embodiment. In the following, the process illustrated in FIG. 16 will be described in order of step number.
  • Step S ⁇ b> 21 The management unit 420 receives the RLOC request message 51 from the router 100. The management unit 420 acquires EID “IP2” from the RLOC request message 51.
  • Step S22 The management unit 420 refers to the RLOC management table 411 and determines whether or not the EID “IP2” has been registered. If already registered, the process proceeds to step S23. If not registered, the process proceeds to step S25.
  • the management unit 420 obtains the RLOC “RLOC2” corresponding to the EID “IP2” from the RLOC management table 411.
  • the management unit 420 acquires the IP address of the adjacent GW from the RLOC request message 51. Based on the acquired information, the management unit 420 generates RLOC response instruction messages 52 and 52a.
  • the RLOC response instruction messages 52 and 52a include an ITR address “RLOC1” and an ETR address “RLOC2”.
  • the RLOC response instruction message 52 is addressed to the router 200.
  • the RLOC response instruction message 52a is addressed to the router 200a.
  • Step S24 The management unit 420 transmits the RLOC response instruction message 52 to the router 200.
  • the management unit 420 transmits an RLOC response instruction message 52a to the router 200a. Then, the process ends.
  • Step S25 The management unit 420 performs error processing. For example, the management unit 420 responds to the router 100 that the corresponding EID does not exist (error response). The router 100 may notify the client 600 that the packet cannot be transferred to the EID based on the error response. Then, the process ends.
  • FIG. 17 is a flowchart illustrating a processing example of the core network router according to the second embodiment. In the following, the process illustrated in FIG. 17 will be described in order of step number. Hereinafter, the processing of the router 200 will be described, but the router 200a has the same procedure.
  • Step S31 The RLOC processing unit 222 receives the RLOC response instruction message 52 from the server 400.
  • the RLOC processing unit 222 acquires the ETR address “RLOC2” from the RLOC response instruction message 52.
  • Step S32 Based on the core network route information 211 stored in the storage unit 210, the RLOC processing unit 222 calculates the number of hops from the router 200 to the router 300 (“RLOC2”) that is the ETR.
  • RLOC2 the router 300
  • the shortest hop count is adopted. This is because the calculation cost of the router 100 can be reduced by reducing the options presented to the router 100.
  • Step S33 The RLOC processing unit 222 acquires the ITR address “RLOC1” from the RLOC response instruction message 52.
  • the RLOC processing unit 222 generates the RLOC response message 53.
  • the RLOC response message 53 is addressed to the router 100.
  • the RLOC response message 53 includes the ETR address “RLOC2” and the number of hops “5” to the ETR.
  • Step S ⁇ b> 34 The RLOC processing unit 222 transmits the RLOC response message 53 to the router 100.
  • the router 200 generates the RLOC response message 53 based on the RLOC response instruction message 52 and transmits it to the router 100.
  • the router 200 calculates the number of hops from the router 200 to the router 300, which is an ETR, and includes it in the RLOC response message 53.
  • the calculated hop count may be obtained by adding a predetermined value (for example, “1”, etc.) common to the routers 200 and 200a.
  • weighting may be performed for each router (for example, multiplying the number of hops by a different coefficient for each router).
  • FIG. 18 is a sequence illustrating an example of processing according to the second embodiment. In the following, the process illustrated in FIG. 18 will be described in order of step number.
  • Router 100 receives packet 50 addressed to client 600 from client 500 (step ST101). If the EID “IP2” of the client 600 is not registered in the RLOC cache table 113, the router 100 generates the RLOC request message 51. Router 100 transmits RLOC request message 51 to server 400 (step ST102).
  • the server 400 When the server 400 receives the RLOC request message 51, the server 400 refers to the RLOC management table 411, searches for an entry of EID “IP2”, and acquires the corresponding RLOC “RLOC2”. The server 400 generates RLOC response instruction messages 52 and 52a. Server 400 transmits RLOC response instruction message 52 to router 200 (step ST103). Server 400 transmits RLOC response instruction message 52a to router 200a (step ST104). Steps ST103 and ST104 may be performed simultaneously, or the order may be changed.
  • the router 200 When the router 200 receives the RLOC response instruction message 52, the router 200 calculates the number of hops from the router 200 to the router 300 and generates an RLOC response message 53. Router 200 transmits RLOC response message 53 to router 100 (step ST105).
  • the router 200a receives the RLOC response instruction message 52, the router 200a calculates the number of hops from the router 200a to the router 300 and generates an RLOC response message 53a. Router 200a transmits RLOC response message 53a to router 100 (step ST106). Steps ST105 and ST106 may be performed simultaneously or the order may be changed.
  • the router 100 compares the number of hops to the ETR.
  • the router 100 selects the router 200 having the smallest number of hops as the Next Hop router.
  • the router 100 registers a new entry in the routing table 112 and the RLOC cache table 113 based on the selection result.
  • the router 100 encapsulates the packet 50 to generate an encapsulated packet 60 and transmits it to the router 300.
  • the transmission port is the port 105c.
  • the encapsulated packet 60 reaches the router 300 via the router 200 (step ST107).
  • the router 300 When receiving the encapsulated packet 60, the router 300 releases the encapsulation and obtains the packet 50. Router 300 transfers packet 50 toward client 600 (step ST108).
  • the router 100 acquires the number of hops from each of the routers 200 and 200a to the router 300.
  • the router 100 compares the number of hops and selects the Next Hop router from the routers 200 and 200a. For this reason, the router 100 does not have to participate in the EGP (for example, BGP) of the core network 10. Therefore, the router 100 does not have to collect core network path information.
  • the router 100 can collect route information on the network 20 side and perform route selection.
  • the routers 200 and 200a control the router 100 not to advertise the core network route information.
  • the router 100 discards the information. In this way, in the router 100, an area such as the RAM 102 used for path control can be saved. Further, the router 100 can reduce the calculation cost for evaluating the route selection index.
  • xTR when xTR is provided on the responsibility of the network 20, it may be difficult to prepare a device that supports a large-scale network such as the core network 10.
  • a router with a relatively high processing capacity corresponding to a large-scale network may be expensive.
  • the second embodiment even if the processing capacity of the router 100 and the capacity of the RAM 102 are relatively low, the possibility that the required processing performance can be achieved increases. That is, the processing capability required for the router 100 can be suppressed, which is advantageous in terms of cost.
  • Next Hop router can be selected along with ETR address resolution. Therefore, it is possible to select the Next Hop router more efficiently than sending a dedicated packet for selecting the Next Hop router.
  • the server 400 transmits the RLOC response instruction messages 52 and 52a to the routers 200 and 200a.
  • the server 400 transmits an RLOC response instruction message to the ETR, so that the ITR can select the Next Hop router.
  • the information processing system of the third embodiment is the same as the information processing system of the second embodiment shown in FIG.
  • the hardware example and software example of the third embodiment are the same as the hardware example and software example of the second embodiment shown in FIGS. For this reason, each device in the third embodiment is indicated by using the same name / symbol as in the second embodiment.
  • the third embodiment is different from the second embodiment in that the management unit 420 transmits an RLOC response instruction message to the router 300 functioning as an ETR. Further, the second embodiment is different from the second embodiment in that the router 200 does not need to have the RLOC processing unit 222 (the same applies to the router 200a). Further, the RLOC processing unit 122 of the router 100 functioning as an ITR is different from the second embodiment in that the Next Hop router is selected based on the RLOC response message transferred from the router 300.
  • FIG. 19 is a diagram illustrating an example of ETR software according to the third embodiment.
  • the router 300 includes a storage unit 310 and a route control unit 320.
  • the storage unit 310 may be realized using a storage area of a RAM included in the router 300.
  • the path control unit 320 may be realized by a processor included in the router 300 executing a program stored in a RAM or a ROM included in the router 300.
  • the path control unit 320 may be realized by an electronic circuit such as an ASIC or FPGA.
  • the storage unit 310 stores data used for processing of the route control unit 320.
  • the storage unit 310 stores various information used when the router 300 functions as an ITR.
  • the storage unit 310 stores an adjacent GW management table, a routing table, and an RLOC cache table in the same manner as the storage unit 110.
  • the route control unit 320 includes a packet transfer unit 321 and an RLOC processing unit 322.
  • the packet transfer unit 321 transfers a packet based on the routing table stored in the storage unit 310.
  • the packet transfer unit 321 releases the encapsulation of the encapsulated packet received from the router 200b by the LISP method, and transmits it to the network 30.
  • the packet transfer unit 321 encapsulates a packet received from the network 30 by the LISP method and transmits the packet to the router 200b.
  • the RLOC processing unit 322 receives an RLOC response instruction message from the server 400.
  • the RLOC processing unit 322 generates an RLOC response message addressed to each interface included in the router 100 based on the RLOC response instruction message. That is, RLOC response messages are generated as many as the number of interfaces included in the router 100.
  • the RLOC processing unit 322 includes the same TTL in each RLOC response message.
  • the RLOC processing unit 322 transmits each RLOC response message.
  • FIG. 20 is a diagram illustrating an example of an adjacent GW management table according to the third embodiment.
  • the adjacent GW management table 111 a is stored in the storage unit 110 instead of the adjacent GW management table 111.
  • the adjacent GW management table 111a includes items of interface, IF (InterFace) address, and adjacent GW address.
  • IF InterFace
  • In the interface item an identifier for physically identifying the port is registered.
  • An IP address corresponding to the interface is registered in the IF address item.
  • the IP address of the adjacent GW is registered.
  • information that the interface is “eth0”, the IF address is “IF1”, and the adjacent GW address is “GW1” is registered in the adjacent GW management table 111a. This indicates that the IP address of the interface corresponding to the port 105c is “IF1”, and that the router 200 is connected to the end of the port 105c. “IF2” is the IP address of the interface corresponding to the port 105d.
  • FIG. 21 is a diagram illustrating an example of an RLOC request message according to the third embodiment.
  • the RLOC request message 51 a is generated by the RLOC processing unit 122 instead of the RLOC request message 51.
  • the RLOC request message 51a includes fields of DA, SA, Type, EID, and ITR address list. The contents indicated by DA, SA, Type, and EID are as described in the RLOC request message 51.
  • the ITR address list is a list of IP addresses of interfaces provided in the ITR and connected to adjacent GWs. For example, when the router 100 receives a packet having the client 600 as the destination address from the client 500, the RLOC request message 51a is as follows.
  • DA is “SV1”. This is because it is addressed to the server 400.
  • SA is “IFA”. This is because the port 105b is the transmission source.
  • IFA is the IP address of the interface corresponding to the port 105b.
  • Type is “RLOC request”. This is because it is an RLOC request message.
  • the EID is “IP2”. This is because the router 100 wants to transfer a packet destined for the client 600.
  • the ITR address list is “IF1, IF2”. This is because these are registered as IF addresses corresponding to adjacent GWs in the adjacent GW management table 111a.
  • FIG. 22 is a diagram illustrating an example of an RLOC response instruction message according to the third embodiment.
  • the RLOC response instruction message 52b is generated by the management unit 420 instead of the RLOC response instruction messages 52 and 52a.
  • the RLOC response instruction message 52b includes fields of DA, SA, Type, EID, ETR address, and ITR address list.
  • the contents indicated by the DA, SA, Type, EID, and ETR address are as described in the RLOC response instruction messages 52 and 52a.
  • the contents indicated by the ITR address list are as described in the RLOC request message 51a.
  • the RLOC response instruction message 52b transmitted by the server 400 in response to the RLOC request message 51a is as follows.
  • DA is “RLOC2”. This is because the router 300 is an ETR. SA is “SV1”. This is because the server 400 is the transmission source. Type is “RLOC response”. This is because it is an RLOC response instruction message.
  • the EID is “IP2”. This is because EID “IP2” is specified in the RLOC request message 51a.
  • the ETR address is “RLOC2”. This is because the RLOC corresponding to EID “IP2” is “RLOC2”.
  • the ITR address list is “IF1, IF2”. This is because the ITR address list “IF1, IF2” is designated by the RLOC request message 51a.
  • FIG. 23 is a diagram illustrating an example of an RLOC response message according to the third embodiment.
  • the RLOC response messages 53b and 53c include fields for DA, SA, Type, TTL, Type, EID, and ETR address. The contents indicated by the DA, SA, Type, EID, and ETR address are as described in the RLOC response messages 53 and 53a.
  • TTL is one of the parameters that can be set in a packet. The TTL is decremented by one unit each time a router is hopped. When TTL becomes 0, the packet is discarded. In IPv6, information corresponding to TTL is sometimes called a hop limit.
  • RLOC response messages 53b and 53c corresponding to the RLOC response instruction message 52b are as follows.
  • DA is “IF1”. This is because it is addressed to the port 105c of the router 100.
  • SA is “RLOC2”. This is because the transmission source is the router 300.
  • the TTL is “20”. The set value of TTL is predetermined.
  • Type is “RLOC response”. This is because it is an RLOC response message.
  • the EID is “IP2”. This is because EID “IP2” is designated in the RLOC response instruction message 52b.
  • the ETR address is “RLOC2”. This is because the ETR address “RLOC2” is designated by the RLOC response instruction message 52b. Since DA is “IF1”, the RLOC response message 53 b reaches the router 100 via the router 200.
  • DA is “IF2”. This is because it is addressed to the port 105d of the router 100.
  • the setting contents of the other fields are the same as those of the RLOC response message 53b at the time of transmission from the router 300. However, the setting content of the TTL can be changed according to the number of hops until the router 100 is reached. Since DA is “IF2”, the RLOC response message 53c reaches the router 100 via the router 200a.
  • FIG. 24 is a flowchart illustrating an example of ITR processing according to the third embodiment.
  • the process illustrated in FIG. 24 will be described in order of step number.
  • the third embodiment is different in that the router 100 executes steps S13a to S15a instead of steps S13 to S15 described in FIG.
  • the processing in steps S11, S12, S16 to S19 is the same as the processing described in FIG. Therefore, steps S13a to S15a will be described below.
  • the RLOC processing unit 122 refers to the adjacent GW management table 111a stored in the storage unit 110, and acquires the IP address (IF address) of each interface connected to the adjacent GW (routers 200 and 200a). .
  • the RLOC processing unit 122 generates an RLOC request message 51a including a list of IF addresses (IF address list), and transmits it to the server 400.
  • Step S14a The RLOC processing unit 122 receives the RLOC response message 53b from the router 200 in response to the RLOC request message 51a.
  • the RLOC processing unit 122 receives the RLOC response message 53c from the router 200a in response to the RLOC request message 51a.
  • the TTL included in the RLOC response messages 53b and 53c is changed by the router that relays the RLOC response messages 53b and 53c.
  • Step S15a Based on the RLOC response messages 53b and 53c, the RLOC processing unit 122 selects the router with the maximum TTL among the routers 200 and 200a as the Next Hop router.
  • the RLOC response message 53b is received by the port 105c. Therefore, the RLOC processing unit 122 can grasp that the RLOC response message 53b has been received from the router 200.
  • the RLOC response message 53c is received by the port 105d. Therefore, the RLOC processing unit 122 can grasp that the RLOC response message 53c has been received from the router 200a.
  • the RLOC processing unit 122 selects the router 200 as the Next Hop router. Then, the process proceeds to step S16.
  • the router 100 acquires information indicating the distance from the routers 200 and 200a to the router 300 based on the RLOC response messages 53b and 53c transmitted from the router 300.
  • FIG. 25 is a flowchart illustrating a processing example of the server according to the third embodiment.
  • the process illustrated in FIG. 25 will be described in order of step number.
  • the third embodiment is different in that the server 400 executes steps S23a and S24a instead of steps S23 and S24 described in FIG.
  • the processing in steps S21, S22, and S25 is the same as the processing described in FIG. Therefore, steps S23a and S24a will be described below.
  • step S21 the management unit 420 has received the RLOC request message 51a.
  • Step S23a The management unit 420 acquires RLOC “RLOC2” corresponding to EID “IP2” from the RLOC management table 411.
  • the management unit 420 acquires the IP address of each interface provided in the router 100 from the RLOC request message 51a. Based on the acquired information, the management unit 420 generates an RLOC response instruction message 52b.
  • the RLOC response instruction message 52b includes an ITR address “RLOC1” and an ETR address “RLOC2”.
  • the RLOC response instruction message 52b is addressed to the router 300 which is an ETR.
  • Step S ⁇ b> 24 a The management unit 420 transmits an RLOC response instruction message 52 b to the router 300. As described above, the server 400 generates and transmits the RLOC response instruction message 52b to the router 300 which is an ETR.
  • FIG. 26 is a flowchart illustrating an example of ETR processing according to the third embodiment. In the following, the process illustrated in FIG. 26 will be described in order of step number.
  • the RLOC processing unit 322 receives the RLOC response instruction message 52b from the server 400.
  • Step S42 The RLOC processing unit 322 acquires the IF address “IF1, IF2” from the RLOC response instruction message 52b.
  • the RLOC processing unit 322 generates RLOC response messages 53b and 53c.
  • the RLOC response message 53b is addressed to the interface corresponding to the port 105c of the router 100.
  • the RLOC response message 53c is addressed to the interface corresponding to the port 105d of the router 100.
  • the RLOC response messages 53b and 53c include a predetermined TTL (for example, “20” or the like) and an ETR address “RLOC2”.
  • Step S43 The RLOC processing unit 322 transmits RLOC response messages 53b and 53c.
  • the RLOC response message 53b reaches the router 100 via the router 200.
  • the RLOC response message 53c reaches the router 100 via the router 200a.
  • the router 300 generates and transmits RLOC response messages 53b and 53c for each interface of the router 100 in response to the RLOC response instruction message 52b.
  • the router 200 may transfer the RLOC response message 53b to the router 100 through normal relay processing.
  • the router 200a may transfer the RLOC response message 53c to the router 100 through normal relay processing.
  • FIG. 27 is a sequence illustrating an example of processing according to the third embodiment. In the following, the process illustrated in FIG. 27 will be described in order of step number.
  • Router 100 receives packet 50 addressed to client 600 from client 500 (step ST111). If the EID “IP2” of the client 600 is not registered in the RLOC cache table 113, the router 100 generates an RLOC request message 51a. Router 100 transmits RLOC request message 51a to server 400 (step ST112).
  • the server 400 When the server 400 receives the RLOC request message 51a, the server 400 refers to the RLOC management table 411, searches for an entry of EID “IP2”, and acquires the corresponding RLOC “RLOC2”. The server 400 generates the RLOC response instruction message 52b. Server 400 transmits RLOC response instruction message 52b to router 300 (step ST113).
  • the router 300 receives the RLOC response instruction message 52b.
  • the router 300 acquires the IF address “IF1, IF2” from the RLOC response instruction message 52b, and generates RLOC response messages 53b, 53c.
  • the router 300 transmits the RLOC response message 53b.
  • the TTL included in the RLOC response message 53b is decremented by one unit by each router interposed between the router 300 and the router 200.
  • the RLOC response message 53b reaches the router 100 via the router 200 (step S114).
  • the router 300 transmits an RLOC response message 53c.
  • the TTL included in the RLOC response message 53c is decremented by one unit by each router interposed between the router 300 and the router 200a.
  • the RLOC response message 53c reaches the router 100 via the router 200a (step ST115). Steps ST114 and 115 may be performed simultaneously, or the order may be changed.
  • the router 100 compares the TTL.
  • the TTL included in the RLOC response message 53b is “10”.
  • the TTL included in the RLOC response message 53c is “5”.
  • the router 100 selects the router 200 having the maximum TTL as the Next Hop router.
  • the router 100 registers a new entry in the routing table 112 and the RLOC cache table 113 based on the selection result.
  • the router 100 encapsulates the packet 50 to generate an encapsulated packet 60 and transmits it to the router 300. In this case, the transmission port is the port 105c.
  • the encapsulated packet 60 reaches the router 300 via the router 200 (step ST116).
  • the router 300 When receiving the encapsulated packet 60, the router 300 releases the encapsulation and obtains the packet 50. Router 300 forwards packet 50 toward client 600 (step ST117).
  • the router 100 receives the RLOC response messages 53b and 53c transmitted by the router 300 from the routers 200 and 200a, respectively.
  • the RLOC response messages 53b and 53c include TTL.
  • the router 100 can evaluate the number of routers interposed between the router 300 and the routers 200 and 200a based on the TTL. That is, the router 100 acquires information indicating the distance from the routers 200 and 200a to the router 300 that is an ETR. Then, a Next Hop router is selected based on the information.
  • the router 100 does not have to participate in the EGP (for example, BGP) of the core network 10 as in the second embodiment. Therefore, the router 100 does not have to collect core network path information. Therefore, for example, an area such as the RAM 102 used for route control in the router 100 can be saved. Further, the router 100 can reduce the calculation cost for evaluating the route selection index. Furthermore, as in the second embodiment, the processing capability required for the router 100 can be suppressed, which is advantageous in terms of cost.
  • EGP for example, BGP
  • the routers 200 and 200a when the routers 200 and 200a provide the router 100 with information indicating the distance, the distance may not be evaluated. Therefore, the burden on the routers 200 and 200a can be reduced.
  • the routers 200, 200a, and 200b may perform normal packet transfer. For this reason, there also exists an advantage that the existing router can be diverted as router 200, 200a, 200b.
  • the router 100 transmits one RLOC request message 51a including an ITR address list to the server 400. Further, the server 400 transmits one RLOC response instruction message 52b including the ITR address list to the router 300. On the other hand, the router 100 may transmit a plurality of RLOC request messages for each IF address to the server 400. Further, the server 400 may transmit a plurality of RLOC response instruction messages for each IF address to the router 300.
  • the function will be described.
  • the information processing system of the fourth embodiment is the same as the information processing system of the third embodiment.
  • the hardware example and software example of the fourth embodiment are the same as the hardware example and software example of the third embodiment. For this reason, each device in the fourth embodiment is indicated by using the same name and code as those in the third embodiment.
  • FIG. 28 is a diagram illustrating an example of an RLOC request message according to the fourth embodiment.
  • the RLOC request messages 51b and 51c are generated by the RLOC processing unit 122 instead of the RLOC request message 51a.
  • the RLOC request messages 51b and 51c include fields for DA, SA, Type, EID, and ITR address. The contents indicated by DA, SA, Type, and EID are as described in the RLOC request message 51.
  • the ITR address indicates the IP address of one interface connected to the adjacent GW included in the ITR.
  • the RLOC request messages 51b and 51c are as follows.
  • DA is “SV1”. This is because it is addressed to the server 400.
  • SA is “IFA”. This is because the port 105b is the transmission source.
  • Type is “RLOC request”. This is because it is an RLOC request message.
  • the EID is “IP2”. This is because the router 100 wants to transfer a packet destined for the client 600.
  • the ITR address is “IF1”. This is because “IF1” is registered in the adjacent GW management table 111a as an IF address corresponding to one of the adjacent GWs.
  • the ITR address is “IF2”. This is because “IF2” is registered in the adjacent GW management table 111a as an IF address corresponding to the other one of the adjacent GWs.
  • the setting contents of other fields are the same as those of the RLOC request message 51b.
  • FIG. 29 is a diagram illustrating an example of an RLOC response instruction message according to the fourth embodiment.
  • the RLOC response instruction messages 52c and 52d are generated by the management unit 420 instead of the RLOC response instruction message 52b.
  • the RLOC response instruction messages 52c and 52d include fields of DA, SA, Type, EID, ETR address, and ITR address.
  • the contents indicated by the DA, SA, Type, EID, and ETR address are as described in the RLOC response instruction messages 52 and 52a.
  • the contents indicated by the ITR address are as described in the RLOC request messages 51b and 51c.
  • the RLOC response instruction messages 52c and 52d transmitted by the server 400 in response to the RLOC request messages 51b and 51c are as follows.
  • DA is “RLOC2”. This is because the router 300 is an ETR. SA is “SV1”. This is because the server 400 is the transmission source. Type is “RLOC response”. This is because it is an RLOC response instruction message.
  • the EID is “IP2”. This is because EID “IP2” is designated in the RLOC request message 51b.
  • the ETR address is “RLOC2”. This is because the RLOC corresponding to EID “IP2” is “RLOC2”.
  • the ITR address list is “IF1”. This is because the ITR address “IF1” is designated by the RLOC request message 51b.
  • the ITR address is “IF2”. This is because the ITR address “IF2” is designated by the RLOC request message 51c.
  • the setting contents of other fields are the same as those of the RLOC response instruction message 52c.
  • step S13a the RLOC processing unit 122 transmits RLOC request messages 51b and 51c to the server 400 instead of the RLOC request message 51a.
  • steps S23a and S24a the management unit 420 generates RLOC response instruction messages 52c and 52d instead of the RLOC response instruction message 52b, and transmits them to the router 300.
  • the processing of other steps can be performed based on the information set in the RLOC request messages 51b and 51c and the RLOC response instruction messages 52c and 52d.
  • FIG. 30 is a sequence illustrating an example of processing according to the fourth embodiment. In the following, the process illustrated in FIG. 30 will be described in order of step number.
  • Router 100 receives packet 50 addressed to client 600 from client 500 (step ST121). When the EID “IP2” of the client 600 is not registered in the RLOC cache table 113, the router 100 generates RLOC request messages 51b and 51c. Router 100 transmits RLOC request message 51b to server 400 (step ST122). Router 100 transmits RLOC request message 51c to server 400 (step ST123). Steps ST122 and ST123 may be performed simultaneously, or the order may be changed.
  • the server 400 When the server 400 receives the RLOC request messages 51b and 51c, the server 400 refers to the RLOC management table 411, searches for an entry of EID “IP2”, and acquires the corresponding RLOC “RLOC2”. The server 400 generates RLOC response instruction messages 52c and 52d. Server 400 transmits RLOC response instruction message 52c to router 300 (step ST124). Server 400 transmits RLOC response instruction message 52d to router 300 (step ST125). Steps ST124 and ST125 may be performed simultaneously or the order may be changed.
  • the router 300 Upon receiving the RLOC response instruction message 52c, the router 300 acquires the IF address “IF1” from the RLOC response instruction message 52c and generates an RLOC response message 53b. The router 300 transmits the RLOC response message 53b. The TTL included in the RLOC response message 53b is decremented by one unit by each router interposed between the router 300 and the router 200. The RLOC response message 53b reaches the router 100 via the router 200 (step ST126).
  • the router 300 Upon receiving the RLOC response instruction message 52d, the router 300 acquires the IF address “IF2” from the RLOC response instruction message 52d and generates an RLOC response message 53c. The router 300 transmits an RLOC response message 53c. The TTL included in the RLOC response message 53c is decremented by one unit by each router interposed between the router 300 and the router 200a. The RLOC response message 53c reaches the router 100 via the router 200a (step ST127). Steps ST126 and ST127 may be performed simultaneously, or the order may be changed.
  • the router 100 compares the TTL.
  • the TTL included in the RLOC response message 53b is “10”.
  • the TTL included in the RLOC response message 53c is “5”.
  • the router 100 selects the router 200 having the maximum TTL as the Next Hop router.
  • the router 100 registers a new entry in the routing table 112 and the RLOC cache table 113 based on the selection result.
  • the router 100 encapsulates the packet 50 to generate an encapsulated packet 60 and transmits it to the router 300. In this case, the transmission port is the port 105c.
  • the encapsulated packet 60 reaches the router 300 via the router 200 (step ST128).
  • the router 300 When receiving the encapsulated packet 60, the router 300 releases the encapsulation and obtains the packet 50. Router 300 forwards packet 50 toward client 600 (step ST129).
  • the router 100 receives the RLOC response messages 53b and 53c transmitted by the router 300 from the routers 200 and 200a, respectively.
  • the RLOC response messages 53b and 53c include TTL.
  • the router 100 can evaluate the number of routers interposed between the router 300 and the routers 200 and 200a based on the TTL. That is, the router 100 acquires information indicating the distance from the routers 200 and 200a to the router 300 that is an ETR. Then, a Next Hop router is selected based on the information.
  • the router 100 does not have to participate in the EGP (for example, BGP) of the core network 10 as in the second embodiment. Therefore, the router 100 does not have to collect core network path information. Therefore, for example, an area such as the RAM 102 used for route control in the router 100 can be saved. Further, the router 100 can reduce the calculation cost for evaluating the route selection index.
  • EGP for example, BGP
  • the processing capability required for the router 100 can be suppressed, which is advantageous in terms of cost.
  • the routers 200, 200a, and 200b may perform normal packet transfer. For this reason, there also exists an advantage that the existing router can be diverted as router 200, 200a, 200b.
  • control of the fourth embodiment can be realized by using a message format defined by LISP. Therefore, there is an advantage that the work cost of the improvement is relatively small in the implementation of the functions of the routers 100 and 300.
  • the router 100 transmits the RLOC request message 51a including the ITR address list to the server 400.
  • the RLOC request message one IP address of the router 100 that is an ITR may be specified.
  • the function will be described.
  • the information processing system of the fifth embodiment is the same as the information processing system of the third embodiment.
  • the hardware example and software example of the fifth embodiment are the same as the hardware example and software example of the third embodiment. For this reason, each device in the fifth embodiment is indicated by using the same name and code as those in the third embodiment.
  • FIG. 31 is a diagram illustrating an example of an RLOC request message according to the fifth embodiment.
  • the RLOC request message 51d is generated by the RLOC processing unit 122 instead of the RLOC request message 51a.
  • the RLOC request message 51d includes fields for DA, SA, Type, EID, and ITR address. The contents indicated by the DA, SA, Type, EID, and ITR address are as described in the RLOC request message 51.
  • the router 100 receives a packet having the destination address of the client 600 from the client 500, the RLOC request message 51d is as follows.
  • DA is “SV1”. This is because it is addressed to the server 400.
  • SA is “RLOC1”. This is because the router 100 is the transmission source.
  • Type is “RLOC request”. This is because it is an RLOC request message.
  • the EID is “IP2”. This is because the router 100 wants to transfer a packet destined for the client 600.
  • the ITR address is “RLOC1”. This is because the request source is the router 100.
  • FIG. 32 is a diagram illustrating an example of an RLOC response instruction message according to the fifth embodiment.
  • the RLOC response instruction message 52e is generated by the management unit 420 instead of the RLOC response instruction message 52b.
  • the RLOC response instruction message 52e includes fields of DA, SA, Type, EID, ETR address, and ITR address. The contents indicated by the DA, SA, Type, EID, ETR address and ITR address are as described in the RLOC response instruction messages 52 and 52a.
  • the RLOC response instruction message 52e transmitted by the server 400 in response to the RLOC request message 51d is as follows.
  • DA is “RLOC2”. This is because the router 300 is an ETR. SA is “SV1”. This is because the server 400 is the transmission source. Type is “RLOC response”. This is because it is an RLOC response instruction message.
  • the EID is “IP2”. This is because EID “IP2” is specified in the RLOC request message 51d.
  • the ETR address is “RLOC2”. This is because the RLOC corresponding to EID “IP2” is “RLOC2”.
  • the ITR address is “RLOC1”. This is because the request source is the router 100.
  • FIG. 33 is a diagram illustrating an example of an RLOC response message according to the fifth embodiment.
  • the RLOC response message 53d is generated by the management unit 420 instead of the RLOC response messages 53b and 53c.
  • the RLOC response message 53d includes fields for DA, SA, Type, EID, and ETR address. The contents indicated by the DA, SA, Type, EID, and ETR address are as described in the RLOC response messages 53 and 53a.
  • the RLOC response message 53d transmitted by the router 300 in response to the RLOC response instruction message 52e is as follows.
  • DA is “RLOC1”. This is because it is addressed to the router 100.
  • SA is “RLOC2”. This is because the transmission source is the router 300.
  • Type is “RLOC response”. This is because it is an RLOC response message.
  • the EID is “IP2”. This is because EID “IP2” is designated in the RLOC response instruction message 52e.
  • the ETR address is “RLOC2”. This is because the ETR address “RLOC2” is designated by the RLOC response instruction message 52e.
  • FIG. 34 is a flowchart illustrating an example of ITR processing according to the fifth embodiment. In the following, the process illustrated in FIG. 34 will be described in order of step number.
  • the fifth embodiment is different in that the router 100 executes steps S13b to S15b instead of steps S13a to S15a described in FIG.
  • the processing in steps S11, S12, S16 to S19 is the same as the processing described in FIG. Therefore, steps S13b to S15b will be described below.
  • Step S13b The RLOC processing unit 122 generates an RLOC request message 51d and transmits it to the server 400.
  • Step S14b The RLOC processing unit 122 receives the RLOC response message 53d from either the router 200 or 200a in response to the RLOC request message 51d.
  • Step S15b The RLOC processing unit 122 selects, as the Next Hop router, the router connected to the port that has received the RLOC response message 53d. For example, when the RLOC response message 53d is received from the port 105c (when the RLOC response message 53d is received from the router 200), the router 200 is selected as the Next Hop router. Then, the process proceeds to step S16.
  • the router 100 selects the adjacent GW connected to the port that has received the RLOC response message 53d as the Next Hop router in response to the RLOC request message 51d.
  • an entry can be added to the routing table 112 as follows. Specifically, according to the adjacent GW management table 111a (or the adjacent GW management table 111), the adjacent GW address corresponding to the port 105c is “GW1”. Therefore, an entry in which the network address “N-RLOC2” of RLOC2 and the next hop address “GW1” are associated with each other can be added to the routing table 112.
  • FIG. 35 is a flowchart illustrating a processing example of the server according to the fifth embodiment.
  • the process illustrated in FIG. 35 will be described in order of step number.
  • the fifth embodiment is different in that the server 400 executes steps S23b and S24b instead of steps S23a and S24a described in FIG.
  • the processing in steps S21, S22, and S25 is the same as the processing described in FIG. Therefore, steps S23b and 24b will be described below.
  • step S21 the management unit 420 has received the RLOC request message 51d.
  • Step S23b The management unit 420 acquires the RLOC “RLOC2” corresponding to the EID “IP2” from the RLOC management table 411.
  • the management unit 420 acquires the ITR address “RLOC1” from the RLOC request message 51d. Based on the acquired information, the management unit 420 generates an RLOC response instruction message 52e.
  • the RLOC response instruction message 52e includes an ITR address “RLOC1” and an ETR address “RLOC2”.
  • the RLOC response instruction message 52e is addressed to the router 300.
  • FIG. 36 is a flowchart illustrating an example of ETR processing according to the fifth embodiment. In the following, the process illustrated in FIG. 36 will be described in order of step number.
  • Step S41a The RLOC processing unit 322 receives the RLOC response instruction message 52e from the server 400.
  • Step S42a The RLOC processing unit 322 acquires the ITR address “RLOC1” from the RLOC response instruction message 52e.
  • the RLOC processing unit 322 generates an RLOC response message 53d.
  • the RLOC response message 53d is addressed to the router 100.
  • Step S43a The RLOC processing unit 322 transmits the RLOC response message 53d to the router 100.
  • the RLOC response message 53d reaches the router 100 via either the router 200 or the router 200a.
  • the router 300 generates the RLOC response message 53d in response to the RLOC response instruction message 52e and transmits it to the router 100.
  • the RLOC response message 53d arrives at the router 100 through any path for packet transfer circulated in the core network 10. At that time, the RLOC response message 53d passes through either one of the routers 200 and 200a.
  • FIG. 37 is a sequence illustrating an exemplary process according to the fifth embodiment. In the following, the process illustrated in FIG. 37 will be described in order of step number.
  • Router 100 receives packet 50 addressed to client 600 from client 500 (step ST131). If the EID “IP2” of the client 600 is not registered in the RLOC cache table 113, the router 100 generates an RLOC request message 51d. Router 100 transmits RLOC request message 51d to server 400 (step ST132).
  • the server 400 When the server 400 receives the RLOC request message 51d, the server 400 refers to the RLOC management table 411, searches for an entry of EID “IP2”, and acquires the corresponding RLOC “RLOC2”. The server 400 generates an RLOC response instruction message 52e. Server 400 transmits RLOC response instruction message 52e to router 300 (step ST133).
  • the router 300 receives the RLOC response instruction message 52e.
  • the router 300 acquires the ITR address “RLOC1” from the RLOC response instruction message 52e, and generates an RLOC response message 53d.
  • the router 300 transmits the RLOC response message 53d.
  • the RLOC response message 53d reaches the router 100 via the router 200 (step ST134).
  • the router 100 When receiving the RLOC response message 53d, the router 100 selects the router 200 corresponding to the received port 105c as the Next Hop router. The router 100 registers a new entry in the routing table 112 and the RLOC cache table 113 based on the selection result. The router 100 encapsulates the packet 50 to generate an encapsulated packet 60 and transmits it to the router 300. In this case, the transmission port is the port 105c. The encapsulated packet 60 reaches the router 300 via the router 200 (step S135).
  • the router 300 When receiving the encapsulated packet 60, the router 300 releases the encapsulation and obtains the packet 50. Router 300 transfers packet 50 toward client 600 (step ST136).
  • the router 100 receives the RLOC response message 53d corresponding to the RLOC request message 51d from either of the routers 200 and 200a. Then, the Next Hop router is selected according to the port from which the RLOC response message 53d is received.
  • the router 100 does not have to participate in the EGP (for example, BGP) of the core network 10 as in the second embodiment. Therefore, the router 100 does not have to collect core network path information. Therefore, for example, an area such as the RAM 102 used for route control in the router 100 can be saved. Further, the router 100 can reduce the calculation cost for evaluating the route selection index. Furthermore, as in the second embodiment, the processing capability required for the router 100 can be suppressed, which is advantageous in terms of cost.
  • EGP for example, BGP
  • the routers 200, 200a, and 200b may perform normal packet transfer. For this reason, there also exists an advantage that the existing router can be diverted as router 200, 200a, 200b.
  • control of the fifth embodiment can be realized using a packet structure defined by an existing LISP. Therefore, there is an advantage that the work cost of the improvement is relatively small in the implementation of the functions of the routers 100 and 300.
  • the number of packets that flow in the core network 10 for route selection of ITR is smaller than that in the second to fourth embodiments. Therefore, there is an advantage that the load of the core network 10 can be suppressed.
  • the network addresses of the interfaces corresponding to the ports 105c and 105d may be the same. Routing by each router is performed based on the network address. Therefore, in this case, it is sufficient to send one RLOC response message. This is because even if a plurality of RLOC response messages are sent, it is considered that a plurality of RLOC response messages are received on either of the ports 105c and 105d.
  • control of the fifth embodiment can be realized by using a message format defined by LISP. Therefore, there is an advantage that the work cost of the improvement is relatively small in the implementation of the functions of the routers 100 and 300.
  • the router 300 is connected to the router 200b.
  • the router 300 may be connected in multihome.
  • control in that case will be described.
  • the information processing system according to the sixth embodiment is different from the third embodiment in that the router 300 is connected in multihome.
  • FIG. 38 is a diagram illustrating an information processing system according to the sixth embodiment.
  • the router 300 is connected to the router 200c in addition to the router 200b.
  • the router 200c is connected to the AS 15.
  • the AS 15 belongs to the core network 10.
  • the AS 15 is connected to the AS 12.
  • One or more other ASs may be interposed between each AS.
  • each device in the sixth embodiment is indicated by using the same name and code as those in the third embodiment.
  • the router 200c can be realized by the same hardware as the router 200.
  • the router 300 may transmit the RLOC response message for each IF address of the router 100 and for each adjacent GW (router 200b, 200c) of the router 300. Specifically, it is as follows.
  • FIG. 39 is a sequence illustrating an example of processing according to the sixth embodiment. In the following, the process illustrated in FIG. 39 will be described in order of step number.
  • Router 100 receives packet 50 addressed to client 600 from client 500 (step ST141). If the EID “IP2” of the client 600 is not registered in the RLOC cache table 113, the router 100 generates an RLOC request message 51a. Router 100 transmits RLOC request message 51a to server 400 (step ST142).
  • the server 400 When the server 400 receives the RLOC request message 51a, the server 400 refers to the RLOC management table 411, searches for an entry of EID “IP2”, and acquires the corresponding RLOC “RLOC2”. The server 400 generates the RLOC response instruction message 52b. The server 400 transmits an RLOC response instruction message 52b to the router 300. For example, the RLOC response instruction message 52b reaches the router 300 via the router 200b (step ST143). However, an individual route may be provided between the router 300 and the server 400 as in the route between the router 100 and the server 400.
  • the router 300 receives the RLOC response instruction message 52b.
  • the router 300 acquires the IF address “IF1, IF2” from the RLOC response instruction message 52b.
  • the router 300 generates a total of four RLOC response messages for each of the IF addresses “IF1 and IF2” and for each of the routers 200b and 200c. That is, there are four RLOC response messages 53b and two RLOC response messages 53c described in FIG. 23 (TTL is the same value).
  • the router 300 sends the first RLOC response message 53b from the port to which the router 200b is connected.
  • the first RLOC response message 53b reaches the router 100 via the routers 200b and 200 (step ST144).
  • the router 300 transmits the first RLOC response message 53c from the port to which the router 200b is connected.
  • the first RLOC response message 53c reaches the router 100 via the routers 200b and 200a (step ST145).
  • the router 300 sends out the second RLOC response message 53b from the port to which the router 200c is connected.
  • Second RLOC response message 53b reaches router 100 via routers 200c and 200 (step ST146).
  • the router 300 transmits the second RLOC response message 53c from the port to which the router 200c is connected.
  • Second RLOC response message 53c reaches router 100 via routers 200c and 200a (step ST147).
  • steps ST144 to ST147 may be performed simultaneously or in any order.
  • the router 100 Upon receiving the first and second RLOC response messages 53b and the first and second RLOC response messages 53c (a total of four RLOC response messages), the router 100 compares the TTL.
  • the TTL included in the first RLOC response message 53b is “10”.
  • the TTL included in the first RLOC response message 53c is “5”.
  • the TTL included in the second RLOC response message 53b is “8”.
  • the TTL included in the second RLOC response message 53c is “12”.
  • the router 100 selects the router 200a having the maximum TTL as the Next Hop router.
  • the router 100 registers a new entry in the routing table 112 and the RLOC cache table 113 based on the selection result.
  • the router 100 encapsulates the packet 50 to generate an encapsulated packet 60 and transmits it to the router 300.
  • the transmission port is the port 105d.
  • the encapsulated packet 60 reaches the router 300 via the routers 200a and 200c (step ST148).
  • the router 300 When receiving the encapsulated packet 60, the router 300 releases the encapsulation and obtains the packet 50. Router 300 transfers packet 50 toward client 600 (step ST149).
  • the router 100 receives a total of four RLOC response messages from the routers 200 and 200a.
  • Each RLOC response message includes a TTL.
  • the router 100 can evaluate the distances of the following routes (1) to (4) based on the TTL. (1) A route connecting the router 200 and the router 200b. (2) A route connecting the router 200a and the router 200b. (3) A route connecting the router 200 and the router 200c. (4) A route connecting the router 200a and the router 200c. That is, the router 100 acquires information indicating the distance of each route. Then, a Next Hop router is selected based on the information.
  • the router 100 does not have to participate in the EGP (for example, BGP) of the core network 10 as in the second embodiment. Therefore, the router 100 does not have to collect core network path information. Therefore, for example, an area such as the RAM 102 used for route control in the router 100 can be saved. Further, the router 100 can reduce the calculation cost for evaluating the route selection index. Furthermore, as in the second embodiment, the processing capability required for the router 100 can be suppressed, which is advantageous in terms of cost.
  • EGP for example, BGP
  • the routers 200, 200a, 200b, and 200c may perform normal packet transfer. For this reason, there also exists an advantage that the existing router can be diverted as router 200, 200a, 200b, 200c.
  • the server 400 collects core network route information and provides a Next Hop router to the router 100 that is an ITR is also conceivable.
  • the server 400 must hold core network path information.
  • the functions of the routers 100 and 300 described in the second to sixth embodiments may be realized by a computer including a processor, a RAM, and a plurality of communication interfaces.
  • the above function can be realized by a processor executing a program stored in a RAM.
  • the program can be recorded on a computer-readable portable recording medium. In order to distribute the program, for example, a recording medium on which the program is recorded is distributed.
  • the program may be stored in a server computer and transferred to the computer via a network.
  • the computer stores, for example, a program recorded on a recording medium or a program acquired from a network in a non-volatile storage medium of its own device. Then, the program is read from the nonvolatile storage medium and executed.
  • the computer it is also possible for the computer to execute the acquired program sequentially in the RAM without storing it in the nonvolatile storage medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 経路情報をもたなくても経路選択を行えるようにする。 通信部(1a)は、ネットワーク(7)に接続されたネットワーク(9)へ宛てたデータの転送先の候補でありネットワーク(7)に属する中継装置(2,2a,2b)と通信する。制御部(1b)は、データの転送先を選択する際に、中継装置(2,2a,2b)それぞれからネットワーク(7,9)に接続された中継装置(3)までの距離を示す情報(D1,D2,D3)を、中継装置(2,2a,2b)から取得する。制御部(1b)は、距離を示す情報(D1,D2,D3)に基づいて中継装置(2,2a,2b)の中からデータの転送先を選択する。

Description

中継装置および情報処理装置
 本発明は中継装置および情報処理装置に関する。
 現在、複数の情報処理装置を含む情報処理システムが利用されている。複数の情報処理装置は、ネットワークを介して接続される。ネットワークは、1または複数の中継装置を含む。例えば、送信元の情報処理装置が宛先の情報処理装置に直接接続されていなくても、送信元の情報処理装置と宛先の情報処理装置との間に介在する1または複数の中継装置が、送信元の情報処理装置により送信されたデータを、宛先の情報処理装置へ転送する。
 例えば、OSI(Open Systems Interconnection)参照モデルのネットワーク層のプロトコルを用いて中継を行う中継装置がある。具体的には、ルータやL3(Layer 3)スイッチである。中継装置には、ダイナミックルーティングを行うものがある。ダイナミックルーティングでは、中継装置は所定のルーティングプロトコルを用いて他の中継装置との接続関係を示す情報を収集する。当該接続関係を示す情報を経路情報と呼ぶことがある。中継装置は経路情報に基づいて経路選択用の指標(他の中継装置までの距離の指標など)を評価する。当該指標に基づいて宛先に応じた経路を選択し、その結果をルーティングテーブルに登録する。中継装置は、ルーティングテーブルに基づいてパケットを転送する。
 近年では、IETF(Internet Engineering Task Force)においてLISP(Locator/ID Separation Protocol)と呼ばれるルーティングの方法が議論されている。LISPでは、例えばコアネットワークのアドレスとコアネットワークに接続するアクセスネットワークのアドレスとを分割して管理し得る。第1のアクセスネットワーク側のインタフェースからパケットを取得してコアネットワーク側へ転送する中継装置をITR(Ingress Tunnel Router)と呼ぶことがある。コアネットワーク側のインタフェースからパケットを取得して第2のアクセスネットワーク側へ転送する中継装置をETR(Egress Tunnel Router)と呼ぶことがある。ETRのコアネットワークに属するアドレスをRLOC(Routing LOCator)と呼び、アクセスネットワーク内のホストのアドレスをEID(Endpoint IDentifier)と呼ぶことがある。管理装置がEIDとRLOCとの対応を管理し得る。
 ITRは、第2のアクセスネットワークに属するEID宛のパケットを転送するとき、当該EIDを管理装置に問い合わせることで、対応するETRのRLOCを解決し得る。ITRは、パケットをカプセル化し、RLOC宛でコアネットワークへ転送する。ETRはカプセル化を解除し、当該パケットを第2のアクセスネットワークへ転送する。このとき、ITRとETRとの間に介在するコアネットワークの中継装置は、コアネットワークについてルーティングテーブルをもてばよく、第1,第2のアクセスネットワークについてルーティングテーブルをもたなくてもよい。すなわち、コアネットワークの経路情報を収集していればよく、第1,第2のアクセスネットワークの経路情報を収集しなくてもよい。よって、コアネットワークの中継装置による経路選択のための負担を軽減し得る。
D.Farinacci、外3名、"Locator/ID Separation Protocol (LISP) draft-ietf-lisp-22"、[online]、平成24年2月12日、IETF、[平成24年8月21日検索]、インターネット <URL:http://tools.ietf.org/html/draft-ietf-lisp-22> D.Farinacci、外3名、"Locator/ID Separation Protocol (LISP) draft-ietf-lisp-23"、[online]、平成24年5月4日、IETF、[平成24年11月13日検索]、インターネット <URL:http://tools.ietf.org/html/draft-ietf-lisp-23>
 ITRとして機能する中継装置とコアネットワークとの間が、複数の経路で接続されることがある。このような接続をマルチホームと呼ぶことがある。マルチホームの環境において、ITRに、コアネットワークの経路情報を収集させて経路選択を行わせることが考えられる。しかし、この場合、ITRはコアネットワークとアクセスネットワークとの両方の経路情報を収集し、両方のネットワークについて経路選択のための処理を行うことになる。このため、ITRの負担が増大し得るという問題がある。
 1つの側面では、本発明は、経路情報をもたなくても経路選択を行えるようにする中継装置および情報処理装置を提供することを目的とする。
 1つの態様では、中継装置が提供される。この中継装置は、通信部と制御部とを有する。通信部は、第1のネットワークに接続された第2のネットワークへ宛てたデータの転送先の候補であり第1のネットワークに属する複数の第1の中継装置と通信する。制御部は、データの転送先を選択する際に、複数の第1の中継装置それぞれから第1および第2のネットワークに接続された第2の中継装置までの距離を示す情報を、複数の第1の中継装置から取得し、当該情報に基づいて複数の第1の中継装置の中からデータの転送先を選択する。
 また、1つの態様では、情報処理装置が提供される。この情報処理装置は、受信部と制御部とを有する。受信部は、第1および第2のネットワークに接続された第1の中継装置が第2のネットワークに接続された第3のネットワークへ宛てたデータの転送先を選択する際に、第2および第3のネットワークに接続された第2の中継装置の第2のネットワークにおけるアドレスを解決するための問い合わせを第1の中継装置から受け付ける。制御部は、問い合わせに応じて、第3のネットワークへ宛てたデータの第1の中継装置からの転送先の候補であり第2のネットワークに属する複数の第3の中継装置それぞれから第2の中継装置までの距離を示す情報を、複数の第3の中継装置から第1の中継装置へ提供させる。
 また、1つの態様では、第1および第2のネットワークに接続された第1の中継装置からの、第2のネットワークに接続された第3のネットワークへ宛てたデータの転送先となる複数の候補のうちの1つとして用いられる中継装置が提供される。この中継装置は、受信部と送信部とを有する。受信部は、第1の中継装置がデータの転送先を選択する際に、第2および第3のネットワークに接続された第2の中継装置までの距離を示す情報を第1の中継装置に提供する旨の指示を受信する。送信部は、当該指示に応じて、自身から第2の中継装置までの距離を示す情報を、第1の中継装置に送信する。
 また、1つの態様では、第1および第2のネットワークに接続された中継装置が提供される。この中継装置は、受信部と送信部とを有する。受信部は、第2および第3のネットワークに接続された第1の中継装置が第1のネットワークへ宛てたデータの転送先を選択する際に、自身の第2のネットワークにおけるアドレスを第1の中継装置に提供する旨の指示を受信する。送信部は、当該指示に応じて、アドレスとアドレスを受信した中継装置から自身までの距離を示す情報を取得するための情報とを含む複数の応答データを、第1の中継装置からのデータの転送先の候補であり第2のネットワークに属する複数の第2の中継装置それぞれを介して第1の中継装置に送信する。
 また、1つの態様では、中継装置が提供される。この中継装置は、通信部と制御部とを有する。通信部は、第1のネットワークに接続された第2のネットワークへ宛てたデータの転送先の候補であり第1のネットワークに属する複数の第1の中継装置と通信する。制御部は、データの転送先を選択する際に、第1および第2のネットワークに接続された第2の中継装置の第1のネットワークにおけるアドレスを解決するための問い合わせを行い、複数の第1の中継装置の何れかの中継装置から当該問い合わせに対する応答を受信すると、当該中継装置をデータの転送先として選択する。
 1つの側面では、経路情報をもたなくても経路選択を行える。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理システムを示す図である。 第2の実施の形態の情報処理システムを示す図である。 第2の実施の形態のルータのハードウェア例を示す図である。 第2の実施の形態のサーバのハードウェア例を示す図である。 第2の実施の形態のソフトウェア例を示す図である。 第2の実施の形態のソフトウェア例(続き)を示す図である。 第2の実施の形態の隣接GW管理テーブルの例を示す図である。 第2の実施の形態のルーティングテーブルの例を示す図である。 第2の実施の形態のRLOCキャッシュテーブルの例を示す図である。 第2の実施の形態のRLOC管理テーブルの例を示す図である。 第2の実施の形態のパケットの例を示す図である。 第2の実施の形態のRLOC要求メッセージの例を示す図である。 第2の実施の形態のRLOC応答指示メッセージの例を示す図である。 第2の実施の形態のRLOC応答メッセージの例を示す図である。 第2の実施の形態のITRの処理例を示すフローチャートである。 第2の実施の形態のサーバの処理例を示すフローチャートである。 第2の実施の形態のコア網ルータの処理例を示すフローチャートである。 第2の実施の形態の処理例を示すシーケンスである。 第3の実施の形態のETRのソフトウェア例を示す図である。 第3の実施の形態の隣接GW管理テーブルの例を示す図である。 第3の実施の形態のRLOC要求メッセージの例を示す図である。 第3の実施の形態のRLOC応答指示メッセージの例を示す図である。 第3の実施の形態のRLOC応答メッセージの例を示す図である。 第3の実施の形態のITRの処理例を示すフローチャートである。 第3の実施の形態のサーバの処理例を示すフローチャートである。 第3の実施の形態のETRの処理例を示すフローチャートである。 第3の実施の形態の処理例を示すシーケンスである。 第4の実施の形態のRLOC要求メッセージの例を示す図である。 第4の実施の形態のRLOC応答指示メッセージの例を示す図である。 第4の実施の形態の処理例を示すシーケンスである。 第5の実施の形態のRLOC要求メッセージの例を示す図である。 第5の実施の形態のRLOC応答指示メッセージの例を示す図である。 第5の実施の形態のRLOC応答メッセージの例を示す図である。 第5の実施の形態のITRの処理例を示すフローチャートである。 第5の実施の形態のサーバの処理例を示すフローチャートである。 第5の実施の形態のETRの処理例を示すフローチャートである。 第5の実施の形態の処理例を示すシーケンスである。 第6の実施の形態の情報処理システムを示す図である。 第6の実施の形態の処理例を示すシーケンスである。
 以下、本実施の形態を図面を参照して説明する。
 [第1の実施の形態]
 図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、中継装置1,2,2a,2b,3、情報処理装置4およびノード5,6を有する。中継装置1,2,2a,2b,3はデータの中継に用いられる装置である。中継装置1,2,2a,2b,3はルータやL3スイッチと呼ばれるものでもよい。
 中継装置1は、ネットワーク7,8に接続されている。中継装置1は、ネットワーク7,8の境界に設けられているともいえる。ネットワーク7,8は中継装置1を介して接続されている。中継装置2,2a,2bは、ネットワーク7に属している。中継装置2,2a,2bは、中継装置1からネットワーク7へデータを転送するときの転送先の候補である。中継装置3は、ネットワーク7,9に接続されている。中継装置3は、ネットワーク7,9の境界に設けられているともいえる。ネットワーク7,9は中継装置3を介して接続されている。情報処理装置4はネットワーク7に接続されている。ノード5はネットワーク8に接続されている。ノード6はネットワーク9に接続されている。
 ネットワーク7は複数のAS(Autonomous System)を含んでもよい。ASは独立した運用ポリシーを用いるISP(Internet Service Provider)や組織内ネットワーク(例えば、学術系のネットワーク)などでもよい。ネットワーク8,9はネットワーク7におけるASでもよい。中継装置2,2a,2bはそれぞれ異なるASに属していてもよい。ネットワーク7,8,9は、IP(Internet Protocol)ネットワークでもよい。中継装置1,2,2a,2b,3が中継するデータは、IPパケットまたはパケットと呼ばれるものでもよい。中継装置1は、通信部1aおよび制御部1bを有する。
 通信部1aは、中継装置2,2a,2bと通信する。通信部1aは、ポートP1,P2,P3を有する。ポートP1は、中継装置2と接続されるインタフェースである。ポートP2は、中継装置2aと接続されるインタフェースである。ポートP3は、中継装置2bと接続されるインタフェースである。
 制御部1bは、ネットワーク9へ宛てたデータの転送先を選択する際に、中継装置2,2a,2bそれぞれから中継装置3までの距離を示す情報D1,D2,D3を、中継装置2,2a,2bから取得する。制御部1bは、当該距離を示す情報D1,D2,D3に基づいて、中継装置2,2a,2bの中からデータの転送先を選択する。
 例えば、距離を示す情報D1,D2,D3は中継装置2,2a,2bから中継装置3までのホップ数を示す情報でもよい。当該ホップ数は、中継装置2,3の間に介在する中継装置の数を示す指標でもよい。当該ホップ数は、中継装置2,3の間に介在するASの数を示す指標でもよい。何れの指標も距離を示す指標として扱えるからである。
 制御部1bは、当該距離を示す情報D1,D2,D3として、中継装置2,2a,2bそれぞれから最短の距離のものを1つずつ取得してもよい。例えば、中継装置2から中継装置3までの経路が複数存在する場合には、制御部1bは、その中で最小のホップ数のみを中継装置2から取得してもよい。また、距離を示す情報D1,D2,D3は当該ホップ数に所定値(例えば、“1”など)が加算された値でもよい。
 更に、距離を示す情報D1,D2,D3として、ホップ数の回数制限(転送回数の上限)を示す情報を利用することも考えられる。当該情報は、IPにおけるTTL(Time To Live)やホップリミット(Hop Limit)である。TTLまたはホップリミットは、中継装置を経由するごとに1単位ずつ減算される。したがって、当該TTLまたはホップリミットも距離の指標として扱える。具体的には、中継装置3から中継装置2,2a,2bそれぞれを経由して中継装置1へ到達したIPパケットに含まれるTTLまたはホップリミットに基づいて、中継装置1は中継装置3までの距離を評価し得る。中継装置1と中継装置2,2a,2bとの間のホップ数が、例えば“1”のように同じであれば、TTLやホップリミットを中継装置2,2a,2bから中継装置3までの距離の指標と考えてもよい。
 ここで、ノード5からノード6へデータを転送する場合を考える。ノード6は、ネットワーク9に属している。よって、ノード6を宛先としたデータは、ネットワーク9へ宛てたデータともいえる。制御部1bは、中継装置2,2a,2bから中継装置3までの距離を示す情報D1,D2,D3を取得する。例えば、中継装置2から取得された距離を示す情報D1は、指標“7”である。中継装置2aから取得された距離を示す情報D2は、指標“5”である。中継装置2bから取得された距離を示す情報D3は、指標“4”である。指標の値が小さい程、距離が短いものとする。例えば、制御部1bは最短の距離である中継装置2bを転送先として選択する。この場合、中継装置2bと接続されたポートP3から転送する対象のデータを送出すればよい。
 なお、制御部1bは、ネットワーク9へ宛てたデータの転送先を選択する際に、中継装置2,2a,2bから距離を示す情報D1,D2,D3を取得するものとした。このような制御は、例えば次のようにして行える。ここで、中継装置3は、受信部3aおよび送信部3bを有している。情報処理装置4は、受信部4aおよび制御部4bを有している。
 情報処理装置4が、ネットワーク7における中継装置3のアドレスと、ネットワーク9におけるノード6のアドレスとの対応関係を管理することがある。例えば、ネットワーク7におけるルーティングにLISPを用いる場合である。中継装置1は、ノード6宛のデータを転送する際に、情報処理装置4に対してノード6のアドレスを問い合わせることで、ネットワーク7における中継装置3のアドレスを解決し得る。
 このとき、情報処理装置4において、受信部4aは当該問い合わせを受信する。制御部4bは距離を示す情報D1,D2,D3を中継装置2,2a,2bから中継装置1へ提供させる。具体的には、中継装置2,2a,2bの各受信部(図示を省略)は、制御部4bから当該提供の指示を受け付ける。中継装置2,2a,2bの各送信部(図示を省略)は、当該指示に応じて距離を示す情報D1,D2,D3を中継装置1に送信する。このように、制御部4bは、中継装置2,2a,2bに対して距離を示す情報D1,D2,D3の提供を直接的に指示してもよい。
 あるいは、制御部4bは、中継装置2,2a,2bそれぞれを経由して中継装置1に到達する複数のIPパケットを中継装置3に送信させてもよい。この場合、中継装置3において、受信部3aは制御部4bから当該送信の指示を受け付ける。送信部3bは指示に応じて当該複数のIPパケットを送信する。IPパケットはTTLまたはホップリミットを含む。このように、制御部4bは、中継装置2,2a,2bにより距離を示す情報D1,D2,D3を間接的に提供させてもよい。
 こうして、制御部1bは、ネットワーク9へ宛てたデータの転送先を選択する際に、例えば中継装置3のアドレス解決のための問い合わせを行うことで、中継装置2,2a,2bから距離を示す情報D1,D2,D3を取得し得る。この場合、アドレス解決の問い合わせに対する応答とともに転送先を選択できるので効率的である。
 中継装置1によれば、制御部1bにより、ネットワーク9へ宛てたデータの転送先が選択される際に、転送先の候補である中継装置2,2a,2bそれぞれから中継装置3までの距離を示す情報D1,D2,D3が、中継装置2,2a,2bから取得される。制御部1bにより、当該距離を示す情報D1,D2,D3に基づいて、中継装置2,2a,2bの中からデータの転送先が選択される。
 これにより、中継装置1はネットワーク7の経路情報をもたなくても経路選択を行える。例えば、中継装置1はネットワーク7にマルチホームで接続されている場合、ネットワーク7に対するデータの転送先を複数の候補の中から選択することになる。そこで、中継装置1にネットワーク7の経路情報を収集させて経路選択を行わせることが考えられる。しかし、中継装置1はネットワーク8にも接続されている。したがって、中継装置1はネットワーク8についても、経路情報の収集や経路選択の処理を行うことになる。
 この場合、中継装置1の負担が増大し得る。例えば、ネットワーク7,8の両方の経路情報を保持するために比較的大きなメモリ領域を消費し得る。また、ネットワーク7,8の両方について経路選択を行うために、経路選択用の指標を評価するための演算コストが増大し得る。ネットワーク7がコアネットワークのように大規模であると、その負担は特に増大し得る。内部に存在するネットワークの数が多い程、収集される経路情報の量、演算対象となる経路情報の量も増大するからである。
 そこで、中継装置1は、ネットワーク9へ宛てたデータを転送する際に、中継装置2,2a,2bから、ネットワーク9に接続された中継装置3までの距離を示す情報D1,D2,D3を取得する。そして、距離を示す情報D1,D2,D3に基づいて、データの転送先を選択する。中継装置2,2a,2bから中継装置3までの距離の指標を得れば、中継装置1から中継装置2,2a,2bそれぞれを介した中継装置3までの距離の差異を評価できるからである。
 例えば、中継装置1から中継装置2,2a,2bそれぞれへのホップ数が所定値(例えば、“1”)なら、中継装置1から中継装置2,2a,2bそれぞれを介した中継装置3までの距離の差異は、中継装置2,2a,2bそれぞれから中継装置3までの距離の差異に等しい。より具体的には、中継装置2から中継装置3までが指標“7”であり、中継装置2aから中継装置3までが指標“5”なら、距離の差異は“2”であり、その分だけ中継装置2aの方が中継装置3までの距離が小さいと評価できる。両方の指標に所定値を加算しても、この差異は変わらない。したがって、中継装置1は、距離を示す情報D1,D2,D3に基づいて、例えば中継装置3までの距離が最短である中継装置2bを転送先として選択できる。最短のルートを選択するのはデータを効率的に転送できるからである。
 このように、中継装置1は、中継装置2,2a,2bから取得された距離を示す情報D1,D2,D3に基づいて転送先を選択する。このため、中継装置1は、ネットワーク7の経路情報を収集しなくてもよい。また、中継装置1は、自身でネットワーク7の経路評価用の指標を算出しなくてもよい。すなわち、経路情報をもたなくても経路選択を行える。その結果、中継装置1の負担が軽減される。例えば、中継装置1において経路制御用のメモリを節約できる。また、例えば中継装置1による経路選択のための演算コストを軽減できる。
 [第2の実施の形態]
 図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、ルータ100,200,200a,200b,300、サーバ400およびクライアント500,600を有する。ルータ100,200,200a,200b,300およびサーバ400は、コアネットワーク10に接続されている。
 コアネットワーク10は、例えばインターネットやWAN(Wide Area Network)などの広域ネットワークにおける主要な回線網である。コアネットワーク10は、AS11,12,13,14を含む。例えば、AS11,12,13,14は、ISPや組織内ネットワークなどである。AS11,13,14は相互に接続されている。AS12,13は接続されている。各AS間には1以上の他のASが介在し得る。コアネットワーク10をコア網と称することもある。
 ルータ100およびクライアント500は、ネットワーク20に接続されている。ルータ100は、ルータ200,200aおよびAS14に接続されている。ルータ200は、AS11に接続されている。ルータ200aは、AS12に接続されている。ルータ200bは、ルータ300およびAS13に接続されている。サーバ400は、AS14に接続されている。ルータ300およびクライアント600は、ネットワーク30に接続されている。
 コアネットワーク10、AS11,12,13,14およびネットワーク20,30は、IPネットワークである。ルータ100,200,200a,200b,300は、OSI参照モデルのネットワーク層(第3層)でIPパケット(以下、単にパケットという)のルーティングを行う中継装置である。コアネットワーク10のルーティングでは、LISPが用いられる。AS14はLISPの管理用のネットワークであり、通常のパケット転送に用いられるものではない。
 ルータ100は、コアネットワーク10およびネットワーク20の間の通信を中継する。ルータ300は、コアネットワーク10およびネットワーク30の間の通信を中継する。ルータ100,300はネットワーク20,30におけるCE(Customer Edge)ルータと呼ばれることもある。ルータ100,300は、コアネットワーク10に対するITRおよびETRとして機能する。このため、ルータ100,300はxTRと呼ばれることもある。
 例えば、クライアント500からクライアント600に対してパケットを送信する場合を考える。この場合、ルータ100は、パケットをカプセル化してコアネットワーク10へ転送する。すなわち、ITRとして機能する。ITRをコアネットワーク10に対する入口側エッジノードと呼んでもよい。一方、ルータ300は、カプセル化を解除したパケットをネットワーク30へ転送する。すなわち、ETRとして機能する。ETRをコアネットワーク10に対する出口側エッジノードと呼んでもよい。以下の説明では、カプセル化されたパケットを、単に、カプセル化パケットと呼ぶことがある。
 ルータ100は、前述のようにルータ200,200aに接続されている。すなわち、マルチホームである。あるいは、マルチホームでコアネットワーク10に接続することをマルチホーミングと呼ぶこともある。
 ルータ200は、ルータ100から受信したパケットまたはカプセル化パケットをAS11内に転送する。ルータ200は、AS11側のインタフェースで受信したパケットまたはカプセル化パケットをルータ100に転送する。ルータ200aは、ルータ100から受信したパケットまたはカプセル化パケットをAS12内に転送する。ルータ200aは、AS12側のインタフェースで受信したパケットまたはカプセル化パケットをルータ100に転送する。ルータ200bは、AS13側のインタフェースで受信したパケットまたはカプセル化パケットをルータ300に転送する。ルータ200bは、ルータ300から受信したパケットまたはカプセル化パケットをAS13内に転送する。
 サーバ400は、EIDとRLOCとの対応関係を管理するサーバコンピュータである。サーバ400は、ITRからのRLOC解決の問い合わせに応じて、EIDに対応するRLOCをITRに提供する。
 クライアント500,600は、ユーザにより利用されるクライアントコンピュータである。クライアント500,600には、一意のEIDが付与される。例えば、クライアント500は、クライアント600のEIDを宛先に指定したパケットを送信する。当該パケットは、ネットワーク20、コアネットワーク10およびネットワーク30を経由して、クライアント600へ到達する。
 なお、コアネットワーク10においてAS間のルーティングプロトコル(EGP:Exterior Gateway Protocol)は、例えばBGP(Boarder Gateway Protocol)である。ただし、ルータ100,300は、以下で説明する機能によりEGPに参加しなくてもよい。AS内やネットワーク20,30内のルーティングプロトコル(IGP:Interior Gateway Protocol)は、例えばOSPF(Open Shortest Path First)やRIP(Routing Information Protocol)などである。
 また、第2の実施の形態で用いられるアドレスは、IPアドレスである。IPアドレスは、IPv4(Internet Protocol version 4)アドレスでもよいし、IPv6(Internet Protocol version 6)アドレスでもよい。ルータ100,200,200a,200b,300のIPアドレスは、コアネットワーク10内のルーティングに用いられる各ネットワークアドレスに属している。このため、ルータ100,200,200a,200b,300は、コアネットワーク10に属しているということができる。これらルータ間を所定の回線で接続することでコアネットワーク10が形成されていると考えることもできる。ルータ100はネットワーク20側のIPアドレスも有するからネットワーク20にも属している。ルータ300はネットワーク30側のIPアドレスも有するからネットワーク30にも属している。更に、ルータ100,200,200a,200b,300はL3スイッチと呼ばれるものでもよい。
 第2の実施の形態の情報処理システムは、第1の実施の形態の情報処理システムの一例と考えることができる。例えば、ルータ100は中継装置1の一例である。ルータ200,200aは中継装置2a,2b,2cの一例である。ルータ300は中継装置3の一例である。サーバ400は情報処理装置4の一例である。
 図3は、第2の実施の形態のルータのハードウェア例を示す図である。ルータ100は、プロセッサ101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、スイッチ部104およびポート部105を有する。ルータ200,200a,200b,300もルータ100と同様のユニットを用いて実現できる。
 プロセッサ101は、ルータ100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)である。プロセッサ101は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組み合わせであってもよい。
 RAM102は、ファームウェアのプログラムやデータを一時的に記憶する。RAM102に記憶されたプログラムやデータは、プロセッサ101の処理に用いられる。
 ROM103は、ファームウェアのプログラムやデータを予め記憶している。ROM103は、フラッシュメモリなど、書き換え可能な不揮発性メモリであってもよい。ROM103に記憶されたプログラムやデータは、プロセッサ101の処理に用いられる。
 スイッチ部104は、ポート部105の何れかのポートで受信されたパケットを、他のポートへ送出する。ポート部105は複数のポートを備える。複数のポートには、ポート105a,105b,105cおよび105dが含まれる。ポート105aはネットワーク20に接続されている。ポート105bはAS14に接続されている。ポート105cはルータ200に接続されている。ポート105dはルータ200aに接続されている。
 図4は、第2の実施の形態のサーバのハードウェア例を示す図である。サーバ400は、プロセッサ401、RAM402、HDD(Hard Disk Drive)403、画像信号処理部404、入力信号処理部405、ディスクドライブ406および通信部407を有する。クライアント500,600もサーバ400と同様のユニットを用いて実現できる。
 プロセッサ401は、サーバ400の情報処理を制御する。プロセッサ401は、マルチプロセッサであってもよい。プロセッサ401は、例えばCPU、MPU、DSP、ASIC、FPGAまたはPLDなどである。プロセッサ401は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組み合わせであってもよい。
 RAM402は、サーバ400の主記憶装置である。RAM402は、プロセッサ401に実行させるOSのプログラムやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、RAM402は、プロセッサ401による処理に用いる各種データを記憶する。
 HDD403は、サーバ400の補助記憶装置である。HDD403は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD403には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。サーバ400は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
 画像信号処理部404は、プロセッサ401からの命令に従って、サーバ400に接続されたディスプレイ41に画像を出力する。ディスプレイ41としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
 入力信号処理部405は、サーバ400に接続された入力デバイス42から入力信号を取得し、プロセッサ401に出力する。入力デバイス42としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
 ディスクドライブ406は、レーザ光などを利用して、記録媒体43に記録されたプログラムやデータを読み取る駆動装置である。記録媒体43として、例えば、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などを使用できる。記録媒体43は、半導体メモリや磁気ディスクなどを内蔵した記憶装置でもよい。ディスクドライブ406は、例えば、プロセッサ401からの命令に従って、記録媒体43から読み取ったプログラムやデータをRAM402またはHDD403に格納する。
 通信部407は、AS14を介して他のコンピュータやルータと通信を行えるインタフェースである。通信部407は、有線インタフェースでもよいし、無線インタフェースでもよい。例えば、プロセッサ401は、通信部407が他のコンピュータから受信したプログラムやデータをRAM402やHDD403に格納する。
 図5は、第2の実施の形態のソフトウェア例を示す図である。ルータ100は、記憶部110および経路制御部120を有する。記憶部110は、RAM102の記憶領域を用いて実現されてもよい。経路制御部120は、RAM102やROM103に格納されたプログラムをプロセッサ101が実行することで実現されてもよい。ただし、経路制御部120はASICやFPGAなどの電子回路で実現されてもよい。
 記憶部110は、隣接GW(GateWay)管理テーブル111、ルーティングテーブル112およびRLOCキャッシュテーブル113を記憶する。
 隣接GW管理テーブル111は、コアネットワーク10側の隣接GWのIPアドレスがポート105c,105dに対応付けて登録された情報である。本例において、当該隣接GWはルータ200,200aである。例えば、隣接GW管理テーブル111の設定を管理者などが予め行ってもよい。あるいは、所定のプロトコルを用いて、経路制御部120に隣接GWのIPアドレスを取得させて登録させてもよい。例えば、ルータ100とルータ200,200aとの接続がPPP(Point-to-Point Protocol)リンクであれば、経路制御部120はPPPを用いてルータ200,200aのIPアドレスを取得し得る。ルーティングテーブル112は、宛先ネットワークアドレスに対応付けてNext HopルータのIPアドレス(以下、Next Hopアドレスということがある)が登録された情報である。RLOCキャッシュテーブル113は、EIDに対するRLOCが登録された情報である
 経路制御部120は、パケット転送部121およびRLOC処理部122を有する。パケット転送部121は、記憶部110に記憶されたルーティングテーブル112およびRLOCキャッシュテーブル113に基づいて、パケットの転送を行う。
 例えば、パケット転送部121はネットワーク20側のポート105aで受信したパケットを、コアネットワーク10側のポート105c,105dの何れかから送出する。ネットワーク20から受信したパケットをルータ200,200aの何れかに送信するともいえる。このとき、パケット転送部121は、LISPの方法により、コアネットワーク10へ送信するパケットをカプセル化する。
 また、例えばパケット転送部121は、コアネットワーク10側のポート105c,105dで受信したカプセル化パケットのカプセル化を解除して、ネットワーク20側のポート105aから送出する。ルータ200,200aから受信したカプセル化パケットを解除して得たパケットをネットワーク20側に送信するともいえる。
 RLOC処理部122は、EIDとRLOCとの対応関係を管理する。例えば、パケット転送部121が、ネットワーク20からクライアント600のEIDを宛先としたパケットを受信する。当該パケットは、ネットワーク30へ宛てたパケットということもできる。EIDのプレフィクス部分は、ネットワーク30のネットワークアドレスだからである。RLOC処理部122は、RLOCキャッシュテーブル113を参照し、対応するETR(ルータ300)のRLOCを検索する。RLOCキャッシュテーブル113に、当該EIDに対応するRLOCが登録されていなければ、RLOC処理部122はRLOC解決を要求するメッセージをサーバ400に送信する。RLOC解決の要求を、単にRLOC要求と呼ぶことがある。また、以下の説明では、当該メッセージをRLOC要求メッセージと呼ぶことがある。RLOC要求メッセージは、EIDおよび隣接GWのIPアドレスを含む。
 RLOC処理部122は、当該要求に対する応答(RLOC応答)をルータ200,200aを介して受信する。RLOC処理部122は、RLOC応答に基づいて、EIDに対応するRLOCを把握する。また、当該RLOC応答に含まれる情報に基づいて、ルーティングテーブル112の設定を行う。更に、RLOCキャッシュテーブル113にEIDとRLOCとの対応関係を登録する。
 サーバ400は、記憶部410および管理部420を有する。記憶部410は、RAM402やHDD403の記憶領域を用いて実現されてもよい。管理部420は、RAM402やHDD403に格納されたプログラムをプロセッサ401が実行することで実現されてもよい。ただし、管理部420はASICやFPGAなどの電子回路で実現されてもよい。
 記憶部410は、RLOC管理テーブル411を記憶する。RLOC管理テーブル411は、EIDとRLOCとの対応関係が登録された情報である。例えば、RLOC管理テーブル411には、クライアント500のEIDとルータ100のRLOCとの対応関係や、クライアント600のEIDとルータ300のRLOCとの対応関係が予め登録される。ネットワーク20には複数のクライアントが接続されることもある。その場合、複数のクライアントそれぞれのEIDとルータ100のRLOCとの対応関係がRLOC管理テーブル411に登録されることになる。ネットワーク20についても同様である。
 管理部420は、RLOC要求メッセージを受信する。管理部420は、RLOC管理テーブル411を参照して、RLOC要求メッセージ含まれるEIDに対応するRLOCを検索する。管理部420は、検索されたRLOCの提供を指示するメッセージを生成し、ルータ200,200aの両方に送信する。以下の説明では、当該メッセージをRLOC応答指示メッセージと呼ぶことがある。RLOC応答指示メッセージは、RLOC要求指示メッセージを送信したITRのRLOCおよびETRのRLOCを含む。
 管理部420は、ルータ100,300からEIDとルータ100,300のIPアドレスとの対応を示す情報を取得して、記憶部410に記憶されたRLOC管理テーブル411に事前に登録する。例えば、ネットワーク20の配下に存在するクライアント500のEIDとルータ100のコアネットワーク10側のIPアドレス(RLOCに相当)との対応を示す情報をルータ100から事前に取得し、登録する。また、例えば、ネットワーク30の配下に存在するクライアント600のEIDとルータ300のコアネットワーク10側のIPアドレスとの対応を示す情報をルータ300から事前に取得し、登録する。
 図6は、第2の実施の形態のソフトウェア例(続き)を示す図である。ルータ200は、記憶部210および経路制御部220を有する。記憶部210は、ルータ200が備えるRAMの記憶領域を用いて実現されてもよい。経路制御部220は、ルータ200が備えるRAMやROMに記憶されたプログラムをルータ200が備えるプロセッサが実行することで実現されてもよい。ただし、経路制御部220はASICやFPGAなどの電子回路で実現されてもよい。ルータ200aもルータ200と同様のソフトウェア例により実現できる。
 記憶部210は、コアネットワーク経路情報211およびルーティングテーブル212を有する。コアネットワーク経路情報211は、例えばBGPを用いて取得されたコアネットワーク10の経路情報である。当該経路情報はNLRI(Network Layer Reachability Information)(宛先ネットワークアドレスとプレフィクス長との組み合わせ)やパス属性を含む。コアネットワーク経路情報211をBGPテーブルと呼ぶこともある。
 例えば、コアネットワーク経路情報211に基づいて選択された宛先のネットワークアドレスに対するNext Hopアドレス(ベストパス)は、コアネットワーク10内の隣接するルータ(BGPピア)に広告される。これによって、他のルータに経路情報が伝搬される。ルーティングテーブル212は、ネットワークアドレスに対するベストパスを設定した情報である。経路制御部220が、コアネットワーク経路情報211およびルーティングテーブル212に対する情報の登録などを行ってもよい。
 経路制御部220は、パケット転送部221およびRLOC処理部222を有する。パケット転送部221は、記憶部210に記憶されたルーティングテーブル212に基づいて、パケットまたはカプセル化パケットの転送を行う。例えば、パケット転送部221は、ルータ100から受信したパケットまたはカプセル化パケットを、AS11側に送信する。また、例えばパケット転送部221は、AS11側から受信したパケットまたはカプセル化パケットをルータ100に送信する。
 RLOC処理部222は、RLOC応答指示メッセージを受信する。すると、RLOC処理部222は、記憶部210に記憶されたコアネットワーク経路情報211を参照して、ETRのRLOCまでの距離を計算する。具体的には、ホップ数である。ホップ数とは、例えばETRに到達するまでに経由するルータの数である。
 例えば、コアネットワーク経路情報211に含まれるNLRIに付随したパス属性は、経由するASを示すAS_PATH属性などを含む。例えば、RLOC処理部222は、AS_PATH属性に基づいて、宛先のネットワークアドレスまでに経由するASの個数を当該ホップ数とみなしてもよい。経由するASの個数によっても、宛先のネットワークアドレスに対する距離を評価し得るからである。
 ホップ数が大きい程、ルータなどの処理のオーバヘッドで通信が遅延し得るから、ホップ数は時間的な距離を示しているともいえる。また、ホップ数が大きい程、ITRとETRとの間に経由する回線長も大きい可能性が高いから、ホップ数は空間的な距離を示しているともいえる。RLOC処理部222は、計算されたホップ数を含むメッセージをルータ100に送信する。以下の説明では、当該メッセージをRLOC応答メッセージと呼ぶことがある。RLOC応答メッセージはETRのRLOCを含む。
 なお、経路制御部220は、ルータ100への経路をコアネットワーク10内に広告する。ルータ200aも同様である。また、同様に、ルータ200bは、ルータ300への経路をコアネットワーク10内に広告する。
 図7は、第2の実施の形態の隣接GW管理テーブルの例を示す図である。隣接GW管理テーブル111は、インタフェースおよび隣接GWアドレスの項目を含む。インタフェースの項目には、ポートを物理的に識別するための識別子が登録される。隣接GWアドレスの項目には、隣接GWのIPアドレスが登録される。
 例えば、隣接GW管理テーブル111には、インタフェースが“eth0”、隣接GWアドレスが“GW1”という情報が登録される。“eth0”はポート105cの識別子である。“GW1”はルータ200のIPアドレスである。すなわち、ポート105cの先にルータ200が接続されていることを示す。なお、“eth1”はポート105dの識別子である。“GW2”はルータ200aのIPアドレスである。
 更に、他の装置のIPアドレスをそれぞれの次の通りとする。ルータ100のコアネットワーク10側のIPアドレスは“RLOC1”である。ルータ300のコアネットワーク10側のIPアドレスは“RLOC2”である。サーバ400のIPアドレスは“SV1”である。クライアント500のIPアドレスは“IP1”である。クライアント600のIPアドレスは“IP2”である。
 図8は、第2の実施の形態のルーティングテーブルの例を示す図である。ルーティングテーブル112は、宛先ネットワークアドレスおよびNext Hopの項目を含む。宛先ネットワークアドレスの項目には、宛先のネットワークアドレスが登録される。Next Hopの項目には、Next Hopアドレスが登録される。
 例えば、ルーティングテーブル112には、宛先ネットワークアドレスが“N-SV1”、Next Hopが“GWA”という情報が登録される。“N-SV1”はAS14のネットワークアドレスである。“GWA”はAS14に接続するルータ(ポート105bの先に接続されたルータ)のIPアドレスである。すなわち、サーバ400にパケットを送りたいときは、ポート105bから送出すればよいことを示す。
 また、例えば、ルーティングテーブル112には、宛先ネットワークアドレスが“N-RLOC2”、Next Hopが“GW1”という情報が登録される。“N-ROC2”はルータ300が属するコアネットワーク10側のネットワークアドレスである。すなわち、ルータ300にパケット(カプセル化パケット)を送りたいときは、ポート105cから送出すればよいことを示す。
 図9は、第2の実施の形態のRLOCキャッシュテーブルの例を示す図である。RLOCキャッシュテーブル113は、EIDおよびRLOCの項目を含む。EIDの項目には、EIDが登録される。RLOCの項目には、RLOCが登録される。
 例えば、RLOCキャッシュテーブル113には、EIDが“IP2”、RLOCが“RLOC2”という情報が登録される。これは、クライアント600に対応するETRがルータ300であることを示す。すなわち、クライアント600宛のパケットを転送する際に、ルータ300を宛先として含むヘッダを当該パケットに追加して(カプセル化)転送すればよいことを示す。
 図10は、第2の実施の形態のRLOC管理テーブルの例を示す図である。RLOC管理テーブル411は、EIDおよびRLOCの項目を含む。EIDの項目には、EIDが登録される。RLOCの項目には、RLOCが登録される。
 例えば、RLOC管理テーブル411には、EIDが“IP1”、RLOCが“RLOC1”という情報が登録される。これは、クライアント500に対するETRがルータ100であることを示す。
 また、例えばRLOC管理テーブル411には、EIDが“IP2”、RLOCが“RLOC2”という情報が登録される。これは、クライアント600に対するETRがルータ300であることを示す。
 図11は、第2の実施の形態のパケットの例を示す図である。パケット50は、DA(Destination Address)(1)、SA(Source Address)(1)およびDATAのフィールドを含む。DA(1)は宛先アドレスである。SA(1)は送信元アドレスである。DATAは、送りたいデータ本体(ペイロード)である。DA(1)およびSA(1)を含む所定のフィールド群がヘッダである。例えば、ルータ100は、DA(1)が“IP2”、SA(1)が“IP1”、DATAが“xxxxx”というパケット50を受信することがある。
 カプセル化パケット60は、DA(2)、SA(2)、DA(1)、SA(1)およびDATAのフィールドを含む。DA(2)はコアネットワーク10内の宛先アドレスである。SA(2)はコアネットワーク10内の送信元アドレスである。DA(1)、SA(1)およびDATAのフィールドは、パケット50と同様である。例えば、ルータ100は、パケット50をカプセル化して、DA(2)が“RLOC2”、SA(2)が“RLOC1”、DA(1)が“IP2”、SA(1)が“IP1”、DATAが“xxxxx”というカプセル化パケット60を送信することがある。カプセル化パケット60は、コアネットワーク10内のルータにおいて、DA(2)に設定されたIPアドレスに基づいて転送されることになる。
 図12は、第2の実施の形態のRLOC要求メッセージの例を示す図である。RLOC要求メッセージ51は、DA、SA、Type、EID、ITRアドレスおよび隣接GWアドレスリストのフィールドを含む。DAおよびSAは、パケット50のDA(1)およびSA(1)に相当する。Typeはメッセージの属性を示す。EIDはEIDを示す。ITRアドレスは、RLOC要求メッセージ51の発行元のITRのIPアドレスを示す。隣接GWアドレスリストは、当該ITRのコアネットワーク10側の隣接GWのIPアドレスのリストを示す。
 例えば、ルータ100がクライアント500からクライアント600を宛先アドレスとするパケットを受信した場合、RLOC要求メッセージ51は次のようになる。
 DAは“SV1”である。サーバ400宛だからである。SAは“RLOC1”である。送信元はルータ100だからである。Typeは“RLOC要求”である。RLOC要求メッセージだからである。EIDは“IP2”である。ルータ100はクライアント600を宛先としたパケットを転送したいからである。ITRアドレスは“RLOC1”である。要求元はルータ100だからである。隣接GWアドレスリストは“GW1,GW2”である。隣接GW管理テーブル111にこれらが登録されているからである。
 図13は、第2の実施の形態のRLOC応答指示メッセージの例を示す図である。RLOC応答指示メッセージ52,52aは、DA、SA、Type、EID、ETRアドレスおよびITRアドレスのフィールドを含む。DA、SA、Type、EIDおよびITRアドレスが示す内容は、RLOC要求メッセージ51で説明した通りである。ETRアドレスは、EIDに対応するRLOCを示す。例えば、RLOC要求メッセージ51に対してサーバ400が送信するRLOC応答指示メッセージ52,52aは次のようになる。
 RLOC応答指示メッセージ52において、DAは“GW1”である。RLOC要求メッセージ51で隣接GWのIPアドレスリスト“GW1,GW2”が指定され、そのうちルータ200宛だからである。SAは“SV1”である。送信元はサーバ400だからである。Typeは“RLOC応答”である。RLOC応答指示メッセージだからである。なお、RLOC応答指示メッセージは、RLOC要求メッセージに対して送信されるものなので、RLOC応答メッセージと呼ぶこともできる。本例では、ルータ200,200aが送信するRLOC応答メッセージと区別するために便宜的にRLOC応答指示メッセージと称している。
 EIDは“IP2”である。RLOC要求メッセージ51でEID“IP2”が指定されたからである。ETRアドレスは“RLOC2”である。EID“IP2”に対応するRLOCは“RLOC2”だからである。ITRアドレスは“RLOC1”である。要求元はルータ100だからである。
 RLOC応答指示メッセージ52aにおいて、DAは“GW2”である。RLOC要求メッセージ51で隣接GWのIPアドレスリスト“GW1,GW2”が指定され、そのうちルータ200a宛だからである。その他のフィールドの設定内容は、RLOC応答指示メッセージ52と同様である。
 図14は、第2の実施の形態のRLOC応答メッセージの例を示す図である。RLOC応答メッセージ53,53aは、DA、SA、Type、EID、ETRアドレスおよびETRまでのホップ数のフィールドを含む。DA、SA、Type、EID、ETRアドレスが示す内容は、RLOC応答指示メッセージ52,52aで説明した通りである。ETRまでのホップ数のフィールドには、RLOC応答メッセージ53,53aを受信したルータからETRまでのホップ数を示す。例えば、RLOC応答指示メッセージ52,52aに対するRLOC応答メッセージ53,53aは次のようになる。
 RLOC応答メッセージ53において、DAは“RLOC1”である。ルータ100宛だからである。SAは“GW1”である。送信元はルータ200だからである。Typeは“RLOC応答”である。RLOC応答メッセージだからである。EIDは“IP2”である。RLOC応答指示メッセージ52でEID“IP2”が指定されたからである。ETRアドレスは“RLOC2”である。RLOC応答指示メッセージ52でETRアドレス“RLOC2”が指定されたからである。ETRまでのホップ数は“5”である。コアネットワーク経路情報211に基づいてルータ200により算出された値である。
 RLOC応答メッセージ53aにおいて、SAは“GW2”である。送信元はルータ200aだからである。ETRまでのホップ数は“10”である。ルータ200aが保持するコアネットワーク経路情報に基づいてルータ200aにより算出された値である。その他のフィールドの設定内容は、RLOC応答メッセージ53と同様である。
 図15は、第2の実施の形態のITRの処理例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。以下の説明では、図面において“メッセージ”の文字列を略記することがある。
 (ステップS11)パケット転送部121は、パケット50を受信する。パケット50のDA(1)(すなわち、EID)は“IP2”である。SA(1)は“IP1”である。
 (ステップS12)RLOC処理部122は、EID“IP2”がRLOCキャッシュテーブル113に未登録であるか否かを判定する。未登録である場合、処理をステップS13に進める。登録済である場合、処理をステップS18に進める。
 (ステップS13)RLOC処理部122は、記憶部110に記憶された隣接GW管理テーブル111を参照して、隣接GW(ルータ200,200a)のIPアドレスを取得する。RLOC処理部122は、隣接GWのIPアドレス(隣接GWアドレスリスト)を含むRLOC要求メッセージ51を生成し、サーバ400に送信する。
 (ステップS14)RLOC処理部122は、RLOC要求メッセージ51に対してルータ200からRLOC応答メッセージ53を受信する。RLOC処理部122は、RLOC要求メッセージ51に対してルータ200aからRLOC応答メッセージ53aを受信する。
 (ステップS15)RLOC処理部122は、RLOC応答メッセージ53,53aに基づいて、ルータ200,200aのうちETRに対して最小ホップ数のものを、Next Hopルータとして選択する。RLOC応答メッセージ53,53aの例では、RLOC応答メッセージ53に設定されたホップ数“5”は、RLOC応答メッセージ53aに設定されたホップ数“10”よりも小さい。したがって、RLOC応答メッセージ53に設定されたホップ数が最小である。よって、RLOC処理部122は、Next Hopルータとしてルータ200を選択する。
 (ステップS16)RLOC処理部122は、Next Hopルータとして選択した方の隣接GWから受信したRLOC応答メッセージに基づいて、ルーティングテーブル112にエントリを追加する。例えば、RLOC処理部122は、RLOC応答メッセージ53に含まれるETRアドレス“RLOC2”のネットワークアドレス“N-RLOC2”とルータ200のIPアドレス“GW1”とを対応付けてルーティングテーブル112に登録する。なお、当該エントリがルーティングテーブル112に登録済の場合もある。その場合は、ステップS16をスキップしてもよい。
 (ステップS17)RLOC処理部122は、Next Hopルータとして選択した方の隣接GWから受信したRLOC応答メッセージに基づいて、RLOCキャッシュテーブル113にエントリを追加する。例えば、RLOC処理部122は、RLOC応答メッセージ53に含まれるEID“IP2”とETRアドレス“RLOC2”とを対応付けてRLOCキャッシュテーブル113に登録する。
 (ステップS18)パケット転送部121は、RLOCキャッシュテーブル113を参照して、EID“IP2”に対するRLOC“RLOC2”を取得する。パケット転送部121は、パケット50をカプセル化して、カプセル化パケット60を生成する。カプセル化パケット60のDA(2)は“RLOC2”である。SA(2)は“RLOC1”である。
 (ステップS19)パケット転送部121は、カプセル化パケット60を転送する。具体的には、パケット転送部121は、ルーティングテーブル112を参照して、RLOC“RLOC2”のネットワークアドレス“N-RLOC2”に対するNext Hopアドレス“GW1”を取得する。したがって、パケット転送部121は、ルータ200と接続されたポート105cから、カプセル化パケット60を送出する。
 このように、ルータ100は、RLOCキャッシュテーブル113に未登録のEIDがある場合、RLOC要求メッセージ51をサーバ400に送信することで、RLOCを解決し得る。具体的には、ルータ100は、ETR(ルータ300)までのホップ数を含むRLOC応答メッセージ53,53aを受信する。ルータ100は、RLOCを得るとともに、当該ホップ数に基づきNext Hopアドレスを決定する。
 なお、ステップS14において、RLOC処理部122は、RLOC要求メッセージ51に含めた隣接GWのIPアドレスの数(この場合は2つ)だけRLOC応答メッセージ53,53aを正常に受信した後にステップS15に進む。ただし、ネットワークの障害などで、1つしか受信できない場合もある(例えば、応答のメッセージが途中で破棄された場合や、遅延などで所定の制限時間内に1つしか応答を受信しなかった場合)。この場合は、ステップS15をスキップしてステップS16に進めてもよい。その場合、RLOC処理部122は、当該1つのRLOC応答メッセージに含まれるETRアドレスなどに基づいて、ステップS16以降の処理を行える。
 また、ステップS17で示したように、RLOCキャッシュテーブル113を用いて解決済みのRLOCとEIDとの対応を保持しておく。これにより、以後ではステップS12の判定によって、ステップS13~S17の処理を省ける。
 図16は、第2の実施の形態のサーバの処理例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
 (ステップS21)管理部420は、RLOC要求メッセージ51をルータ100から受信する。管理部420は、RLOC要求メッセージ51からEID“IP2”を取得する。
 (ステップS22)管理部420は、RLOC管理テーブル411を参照して、EID“IP2”が登録済であるか否かを判定する。登録済である場合、処理をステップS23に進める。未登録である場合、処理をステップS25に進める。
 (ステップS23)管理部420は、RLOC管理テーブル411からEID“IP2”に対応するRLOC“RLOC2”を取得する。管理部420は、RLOC要求メッセージ51から、隣接GWのIPアドレスを取得する。取得された情報に基づいて、管理部420は、RLOC応答指示メッセージ52,52aを生成する。RLOC応答指示メッセージ52,52aは、ITRアドレス“RLOC1”およびETRアドレス“RLOC2”を含む。RLOC応答指示メッセージ52は、ルータ200宛である。RLOC応答指示メッセージ52aは、ルータ200a宛である。
 (ステップS24)管理部420は、RLOC応答指示メッセージ52をルータ200に送信する。管理部420は、RLOC応答指示メッセージ52aをルータ200aに送信する。そして、処理を終了する。
 (ステップS25)管理部420は、エラー処理を行う。例えば、管理部420は、対応するEIDが存在しない旨をルータ100に応答する(エラー応答)。ルータ100は、エラー応答に基づいて、当該EID宛にパケットを転送できない旨を、クライアント600に通知してもよい。そして、処理を終了する。
 このようにして、サーバ400は、RLOC要求メッセージ51に対して、RLOC応答指示メッセージ52,52aをルータ200,200aに送信する。
 図17は、第2の実施の形態のコア網ルータの処理例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。以下では、ルータ200の処理を説明するが、ルータ200aも同様の手順である。
 (ステップS31)RLOC処理部222は、RLOC応答指示メッセージ52をサーバ400から受信する。RLOC処理部222は、RLOC応答指示メッセージ52からETRアドレス“RLOC2”を取得する。
 (ステップS32)RLOC処理部222は、記憶部210に記憶されたコアネットワーク経路情報211に基づいて、ルータ200からETRであるルータ300(“RLOC2”)までのホップ数を算出する。ここで、ルータ200からルータ300までに複数の経路が存在する場合もある。その場合は、最短のホップ数を採用する。ルータ100に提示する選択肢を減らした方がルータ100の演算コストを軽減できるからである。
 (ステップS33)RLOC処理部222は、RLOC応答指示メッセージ52からITRアドレス“RLOC1”を取得する。RLOC処理部222は、RLOC応答メッセージ53を生成する。RLOC応答メッセージ53は、ルータ100宛である。RLOC応答メッセージ53は、ETRアドレス“RLOC2”およびETRまでのホップ数“5”を含む。
 (ステップS34)RLOC処理部222は、RLOC応答メッセージ53をルータ100に送信する。
 このようにして、ルータ200はRLOC応答指示メッセージ52に基づいて、RLOC応答メッセージ53を生成し、ルータ100に送信する。このとき、ルータ200は、ルータ200からETRであるルータ300までのホップ数を計算して、RLOC応答メッセージ53に含める。ただし、計算したホップ数に、ルータ200,200aで共通の所定値(例えば、“1”など)を加算したものでもよい。また、ルータ単位に重み付けをしてもよい(例えば、ルータごとに異なる係数をホップ数に乗ずるなど)。
 図18は、第2の実施の形態の処理例を示すシーケンスである。以下、図18に示す処理をステップ番号に沿って説明する。
 ルータ100はクライアント500からクライアント600宛のパケット50を受信する(ステップST101)。ルータ100はRLOCキャッシュテーブル113にクライアント600のEID“IP2”が未登録であると、RLOC要求メッセージ51を生成する。ルータ100は、RLOC要求メッセージ51をサーバ400に送信する(ステップST102)。
 サーバ400は、RLOC要求メッセージ51を受信すると、RLOC管理テーブル411を参照して、EID“IP2”のエントリを検索し、対応するRLOC“RLOC2”を取得する。サーバ400は、RLOC応答指示メッセージ52,52aを生成する。サーバ400は、RLOC応答指示メッセージ52をルータ200に送信する(ステップST103)。サーバ400は、RLOC応答指示メッセージ52aをルータ200aに送信する(ステップST104)。ステップST103,ST104は同時でもよいし、順序が入れ替わってもよい。
 ルータ200は、RLOC応答指示メッセージ52を受信すると、ルータ200からルータ300までのホップ数を計算して、RLOC応答メッセージ53を生成する。ルータ200は、RLOC応答メッセージ53をルータ100に送信する(ステップST105)。ルータ200aは、RLOC応答指示メッセージ52を受信すると、ルータ200aからルータ300までのホップ数を計算して、RLOC応答メッセージ53aを生成する。ルータ200aは、RLOC応答メッセージ53aをルータ100に送信する(ステップST106)。ステップST105,ST106は、同時でもよいし、順序が入れ替わってもよい。
 ルータ100は、RLOC応答メッセージ53,53aを受信すると、ETRまでのホップ数を比較する。ルータ100は、ホップ数が最小であるルータ200をNext Hopルータとして選択する。ルータ100は、選択結果に基づいて、ルーティングテーブル112およびRLOCキャッシュテーブル113に新たなエントリを登録する。ルータ100は、パケット50をカプセル化してカプセル化パケット60を生成し、ルータ300へ送信する。この場合、送出ポートは、ポート105cである。カプセル化パケット60は、ルータ200を経由してルータ300に到達することになる(ステップST107)。
 ルータ300は、カプセル化パケット60を受信すると、カプセル化を解除しパケット50を得る。ルータ300は、パケット50をクライアント600へ向けて転送する(ステップST108)。
 このようにして、ルータ100は、ルータ200,200aそれぞれからルータ300までのホップ数を取得する。ルータ100は、各ホップ数を比較して、ルータ200,200aのうちNext Hopルータを選択する。このため、ルータ100は、コアネットワーク10のEGP(例えば、BGP)に参加しなくてよい。したがって、ルータ100において、コアネットワーク経路情報を収集しなくてよい。ただし、ルータ100は、ネットワーク20側の経路情報を収集して経路選択を行い得る。
 例えば、ルータ200,200aは、ルータ100に対してコアネットワーク経路情報を広告しないように制御する。あるいは、ルータ100は、ルータ200,200aからコアネットワーク経路情報を受信したとしても、当該情報を破棄する。このようにすれば、ルータ100において、経路制御に用いるRAM102などの領域を節約できる。また、ルータ100において、経路選択用の指標を評価するための演算コストを軽減できる。
 特に、ネットワーク20側の責任でxTRを設けるとなると、コアネットワーク10などの大規模なネットワークに対応したものを用意するのが難しいこともある。例えば、大規模なネットワークに対応した比較的処理能力の高いルータは高額な場合もあるからである。第2の実施の形態によれば、ルータ100の処理能力やRAM102の容量が比較的低くても、求める処理性能を達成できる可能性が高まる。すなわち、ルータ100に求められる処理能力を抑えられ、コスト面でも有利である。
 また、LISPにおいて、ETRのアドレス解決とともにNext Hopルータを選択できる。このため、Next Hopルータを選択するための専用のパケットを送るよりも効率的にNext Hopルータの選択を行える。
 [第3の実施の形態]
 以下、第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
 第2の実施の形態では、サーバ400は、ルータ200,200aに対してRLOC応答指示メッセージ52,52aを送信するものとした。一方、第3の実施の形態では、サーバ400は、ETRに対してRLOC応答指示メッセージを送信することで、ITRがNext Hopルータを選択できるようにする。
 ここで、第3の実施の形態の情報処理システムは、図2で示した第2の実施の形態の情報処理システムと同様である。第3の実施の形態のハードウェア例およびソフトウェア例は、図3~6で示した第2の実施の形態のハードウェア例およびソフトウェア例と同様である。このため、第3の実施の形態における各装置を第2の実施の形態と同じ名称・符号を用いて指し示す。
 ただし、第3の実施の形態では、管理部420がETRとして機能するルータ300に対してRLOC応答指示メッセージを送信する点が第2の実施の形態と異なる。また、ルータ200がRLOC処理部222をもたなくてよい点が第2の実施の形態と異なる(ルータ200aも同様)。更に、ITRとして機能するルータ100のRLOC処理部122は、ルータ300から転送されてきたRLOC応答メッセージに基づいてNext Hopルータを選択する点が第2の実施の形態と異なる。
 図19は、第3の実施の形態のETRのソフトウェア例を示す図である。ルータ300は、記憶部310および経路制御部320を有する。記憶部310は、ルータ300が備えるRAMの記憶領域を用いて実現されてもよい。経路制御部320は、ルータ300が備えるRAMやROMに格納されたプログラムをルータ300が備えるプロセッサが実行することで実現されてもよい。ただし、経路制御部320はASICやFPGAなどの電子回路で実現されてもよい。
 記憶部310は、経路制御部320の処理に用いられるデータを記憶する。例えば、記憶部310は、ルータ300がITRとして機能する場合に用いられる各種の情報を記憶する。例えば、記憶部310は、記憶部110と同様に隣接GW管理テーブル、ルーティングテーブルおよびRLOCキャッシュテーブルを記憶する。
 経路制御部320は、パケット転送部321およびRLOC処理部322を有する。パケット転送部321は、記憶部310に記憶されたルーティングテーブルに基づいて、パケットの転送を行う。
 例えば、パケット転送部321は、ルータ200bから受信したカプセル化パケットのカプセル化をLISPの方法により解除して、ネットワーク30に送信する。また、例えば、パケット転送部321は、ネットワーク30から受信したパケットをLISPの方法によりカプセル化してルータ200bに送信する。
 RLOC処理部322は、サーバ400からRLOC応答指示メッセージを受信する。RLOC処理部322は、RLOC応答指示メッセージに基づいて、ルータ100が備える各インタフェース宛のRLOC応答メッセージを生成する。すなわち、ルータ100が備えるインタフェースの数だけRLOC応答メッセージを生成することになる。このとき、RLOC処理部322は、各RLOC応答メッセージに同一のTTLを含める。RLOC処理部322は、各RLOC応答メッセージを送信する。
 図20は、第3の実施の形態の隣接GW管理テーブルの例を示す図である。隣接GW管理テーブル111aは、隣接GW管理テーブル111に代えて、記憶部110に記憶される。隣接GW管理テーブル111aは、インタフェース、IF(InterFace)アドレスおよび隣接GWアドレスの項目を含む。インタフェースの項目には、ポートを物理的に識別するための識別子が登録される。IFアドレスの項目には、インタフェースに対応するIPアドレスが登録される。隣接GWアドレスの項目には、隣接GWのIPアドレスが登録される。
 例えば、隣接GW管理テーブル111aには、インタフェースが“eth0”、IFアドレスが“IF1”、隣接GWアドレスが“GW1”という情報が登録される。これは、ポート105cに対応するインタフェースのIPアドレスが“IF1”であること、ポート105cの先にルータ200が接続されていることを示す。なお、“IF2”は、ポート105dに対応するインタフェースのIPアドレスである。
 図21は、第3の実施の形態のRLOC要求メッセージの例を示す図である。RLOC要求メッセージ51aは、RLOC要求メッセージ51に代えて、RLOC処理部122により生成される。RLOC要求メッセージ51aは、DA、SA、Type、EIDおよびITRアドレスリストのフィールドを含む。DA、SA、TypeおよびEIDが示す内容は、RLOC要求メッセージ51で説明した通りである。
 ITRアドレスリストは、ITRに設けられており隣接GWと接続されたインタフェースのIPアドレスのリストを示す。例えば、ルータ100がクライアント500からクライアント600を宛先アドレスとするパケットを受信した場合、RLOC要求メッセージ51aは次のようになる。
 DAは“SV1”である。サーバ400宛だからである。SAは“IFA”である。ポート105bが送信元だからである。ここで、“IFA”はポート105bに対応するインタフェースのIPアドレスである。Typeは“RLOC要求”である。RLOC要求メッセージだからである。EIDは“IP2”である。ルータ100はクライアント600を宛先としたパケットを転送したいからである。ITRアドレスリストは“IF1,IF2”である。隣接GW管理テーブル111aに隣接GWに対応するIFアドレスとしてこれらが登録されているからである。
 図22は、第3の実施の形態のRLOC応答指示メッセージの例を示す図である。RLOC応答指示メッセージ52bは、RLOC応答指示メッセージ52,52aに代えて、管理部420により生成される。RLOC応答指示メッセージ52bは、DA、SA、Type、EID、ETRアドレスおよびITRアドレスリストのフィールドを含む。DA、SA、Type、EIDおよびETRアドレスが示す内容は、RLOC応答指示メッセージ52,52aで説明した通りである。ITRアドレスリストが示す内容は、RLOC要求メッセージ51aで説明した通りである。例えば、RLOC要求メッセージ51aに対してサーバ400が送信するRLOC応答指示メッセージ52bは次のようになる。
 DAは“RLOC2”である。ETRであるルータ300宛だからである。SAは“SV1”である。サーバ400が送信元だからである。Typeは“RLOC応答”である。RLOC応答指示メッセージだからである。EIDは“IP2”である。RLOC要求メッセージ51aでEID“IP2”が指定されたからである。ETRアドレスは“RLOC2”である。EID“IP2”に対応するRLOCは“RLOC2”だからである。ITRアドレスリストは“IF1,IF2”である。RLOC要求メッセージ51aでITRアドレスリスト“IF1,IF2”が指定されたからである。
 図23は、第3の実施の形態のRLOC応答メッセージの例を示す図である。RLOC応答メッセージ53b,53cは、DA、SA、Type、TTL、Type、EIDおよびETRアドレスのフィールドを含む。DA、SA、Type、EIDおよびETRアドレスが示す内容は、RLOC応答メッセージ53,53aで説明した通りである。TTLは、パケットに設定可能なパラメータの1つである。TTLはルータを1つホップするたびに1単位だけ減算される。TTLが0になると当該パケットは破棄されることになる。なお、IPv6ではTTLに相当する情報をホップリミットと呼ぶことがある。例えば、RLOC応答指示メッセージ52bに対するRLOC応答メッセージ53b,53cは次のようになる。
 RLOC応答メッセージ53bにおいて、DAは“IF1”である。ルータ100のポート105c宛だからである。SAは“RLOC2”である。送信元はルータ300だからである。TTLは“20”である。TTLの設定値は予め定められる。Typeは“RLOC応答”である。RLOC応答メッセージだからである。EIDは“IP2”である。RLOC応答指示メッセージ52bでEID“IP2”が指定されたからである。ETRアドレスは“RLOC2”である。RLOC応答指示メッセージ52bでETRアドレス“RLOC2”が指定されたからである。DAが“IF1”なので、RLOC応答メッセージ53bは、ルータ200を経由してルータ100に到達することになる。
 RLOC応答メッセージ53cにおいて、DAは“IF2”である。ルータ100のポート105d宛だからである。その他のフィールドの設定内容は、ルータ300から送出された時点においては、RLOC応答メッセージ53bと同様である。ただし、TTLの設定内容は、ルータ100に到達するまでのホップ数に応じて変わり得る。DAが“IF2”なので、RLOC応答メッセージ53cは、ルータ200aを経由してルータ100に到達することになる。
 図24は、第3の実施の形態のITRの処理例を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。第3の実施の形態では、ルータ100が、図15で説明したステップS13~S15の代わりに、ステップS13a~S15aを実行する点が異なる。ステップS11,S12,S16~S19の処理は図15で説明した処理と同様である。そこで、以下ではステップS13a~S15aを説明する。
 (ステップS13a)RLOC処理部122は、記憶部110に記憶された隣接GW管理テーブル111aを参照して、隣接GW(ルータ200,200a)と接続する各インタフェースのIPアドレス(IFアドレス)を取得する。RLOC処理部122は、IFアドレスのリスト(IFアドレスリスト)を含むRLOC要求メッセージ51aを生成し、サーバ400に送信する。
 (ステップS14a)RLOC処理部122は、RLOC要求メッセージ51aに対してルータ200からRLOC応答メッセージ53bを受信する。RLOC処理部122は、RLOC要求メッセージ51aに対してルータ200aからRLOC応答メッセージ53cを受信する。RLOC応答メッセージ53b,53cに含まれるTTLは、RLOC応答メッセージ53b,53cを中継したルータによって変更されている。
 (ステップS15a)RLOC処理部122は、RLOC応答メッセージ53b,53cに基づいて、ルータ200,200aのうち最大TTLのものを、Next Hopルータとして選択する。なお、RLOC応答メッセージ53bはポート105cにより受信される。よって、RLOC処理部122はRLOC応答メッセージ53bをルータ200から受信したと把握できる。また、RLOC応答メッセージ53cはポート105dにより受信される。よって、RLOC処理部122はRLOC応答メッセージ53cをルータ200aから受信したと把握できる。例えば、RLOC応答メッセージ53bに含まれる(ルータ100到達時の)TTLが“10”であり、RLOC応答メッセージ53cに含まれる(ルータ100到達時の)TTLが“5”であるとする。TTL“10”はTTL“5”よりも大きい。したがって、RLOC応答メッセージ53bに設定されたTTLが最大である。よって、RLOC処理部122は、Next Hopルータとしてルータ200を選択する。そして、処理をステップS16に進める。
 このように、ルータ100は、ルータ300から送信されたRLOC応答メッセージ53b,53cに基づいて、ルータ200,200aからルータ300までの距離を示す情報を取得する。
 図25は、第3の実施の形態のサーバの処理例を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。第3の実施の形態では、サーバ400が、図16で説明したステップS23,S24の代わりに、ステップS23a,S24aを実行する点が異なる。ステップS21,S22,S25の処理は図16で説明した処理と同様である。そこで、以下ではステップS23a,S24aを説明する。ただし、ステップS21において管理部420はRLOC要求メッセージ51aを受信している。
 (ステップS23a)管理部420は、RLOC管理テーブル411からEID“IP2”に対応するRLOC“RLOC2”を取得する。管理部420は、RLOC要求メッセージ51aから、ルータ100が備える各インタフェースのIPアドレスを取得する。取得された情報に基づいて、管理部420は、RLOC応答指示メッセージ52bを生成する。RLOC応答指示メッセージ52bは、ITRアドレス“RLOC1”およびETRアドレス“RLOC2”を含む。RLOC応答指示メッセージ52bは、ETRであるルータ300宛である。
 (ステップS24a)管理部420は、RLOC応答指示メッセージ52bをルータ300に送信する。
 このように、サーバ400は、ETRであるルータ300宛にRLOC応答指示メッセージ52bを生成し、送信する。
 図26は、第3の実施の形態のETRの処理例を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。
 (ステップS41)RLOC処理部322は、RLOC応答指示メッセージ52bをサーバ400から受信する。
 (ステップS42)RLOC処理部322は、RLOC応答指示メッセージ52bからIFアドレス“IF1,IF2”を取得する。RLOC処理部322は、RLOC応答メッセージ53b,53cを生成する。RLOC応答メッセージ53bは、ルータ100のポート105cに対応するインタフェース宛である。RLOC応答メッセージ53cは、ルータ100のポート105dに対応するインタフェース宛である。RLOC応答メッセージ53b,53cは、所定のTTL(例えば、“20”など)およびETRアドレス“RLOC2”を含む。
 (ステップS43)RLOC処理部322は、RLOC応答メッセージ53b,53cを送信する。RLOC応答メッセージ53bは、ルータ200を介してルータ100に到達する。RLOC応答メッセージ53cは、ルータ200aを介してルータ100に到達する。
 このように、ルータ300は、RLOC応答指示メッセージ52bに対して、ルータ100のインタフェースごとにRLOC応答メッセージ53b,53cを生成し、送信する。ルータ200はRLOC応答メッセージ53bを通常の中継処理によりルータ100に転送すればよい。ルータ200aはRLOC応答メッセージ53cを通常の中継処理によりルータ100に転送すればよい。
 図27は、第3の実施の形態の処理例を示すシーケンスである。以下、図27に示す処理をステップ番号に沿って説明する。
 ルータ100はクライアント500からクライアント600宛のパケット50を受信する(ステップST111)。ルータ100はRLOCキャッシュテーブル113にクライアント600のEID“IP2”が未登録であると、RLOC要求メッセージ51aを生成する。ルータ100は、RLOC要求メッセージ51aをサーバ400に送信する(ステップST112)。
 サーバ400は、RLOC要求メッセージ51aを受信すると、RLOC管理テーブル411を参照して、EID“IP2”のエントリを検索し、対応するRLOC“RLOC2”を取得する。サーバ400は、RLOC応答指示メッセージ52bを生成する。サーバ400は、RLOC応答指示メッセージ52bをルータ300に送信する(ステップST113)。
 ルータ300は、RLOC応答指示メッセージ52bを受信する。ルータ300は、RLOC応答指示メッセージ52bからIFアドレス“IF1,IF2”を取得し、RLOC応答メッセージ53b,53cを生成する。ルータ300は、RLOC応答メッセージ53bを送信する。RLOC応答メッセージ53bに含まれるTTLはルータ300とルータ200との間に介在する各ルータによって1単位ずつ減算されることになる。RLOC応答メッセージ53bは、ルータ200を経由してルータ100に到達する(ステップS114)。ルータ300は、RLOC応答メッセージ53cを送信する。RLOC応答メッセージ53cに含まれるTTLはルータ300とルータ200aとの間に介在する各ルータによって1単位ずつ減算されることになる。RLOC応答メッセージ53cは、ルータ200aを経由してルータ100に到達する(ステップST115)。ステップST114,115は同時でもよいし、順序が入れ替わってもよい。
 ルータ100は、RLOC応答メッセージ53b,53cを受信すると、TTLを比較する。RLOC応答メッセージ53bに含まれるTTLは“10”とする。RLOC応答メッセージ53cに含まれるTTLは“5”とする。ルータ100はTTLが最大であるルータ200をNext Hopルータとして選択する。ルータ100は、選択結果に基づいて、ルーティングテーブル112およびRLOCキャッシュテーブル113に新たなエントリを登録する。ルータ100は、パケット50をカプセル化してカプセル化パケット60を生成し、ルータ300へ送信する。この場合、送出ポートは、ポート105cである。カプセル化パケット60は、ルータ200を経由してルータ300に到達することになる(ステップST116)。
 ルータ300は、カプセル化パケット60を受信すると、カプセル化を解除しパケット50を得る。ルータ300は、パケット50をクライアント600へ向けて転送する(ステップST117)。
 このようにして、ルータ100は、ルータ200,200aそれぞれからルータ300が送信したRLOC応答メッセージ53b,53cを受信する。RLOC応答メッセージ53b,53cには、TTLが含まれる。ルータ100は、当該TTLに基づいてルータ300とルータ200,200aとの間に介在するルータの数を評価できる。すなわち、ルータ100は、ルータ200,200aからETRであるルータ300までの距離を示す情報を取得する。そして、当該情報に基づいてNext Hopルータを選択する。
 このため、ルータ100は、第2の実施の形態と同様に、コアネットワーク10のEGP(例えば、BGP)に参加しなくてよい。したがって、ルータ100において、コアネットワーク経路情報を収集しなくてよい。よって、例えば、ルータ100において経路制御に用いるRAM102などの領域を節約できる。また、ルータ100において、経路選択用の指標を評価するための演算コストを軽減できる。更に、第2の実施の形態と同様に、ルータ100に求められる処理能力を抑えられ、コスト面でも有利である。
 また、第3の実施の形態によれば、ルータ200,200aは、ルータ100に距離を示す情報を提供する際に、当該距離の評価を行わなくてもよい。よって、ルータ200,200aの負担を軽減できる。
 また、第3の実施の形態によれば、ルータ200,200a,200bは、通常のパケット転送を行えばよい。このため、ルータ200,200a,200bとして既存のルータを流用できるという利点もある。
 [第4の実施の形態]
 以下、第4の実施の形態を説明する。前述の第2,第3の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
 第3の実施の形態では、ルータ100はITRアドレスリストを含む1つのRLOC要求メッセージ51aをサーバ400に送信するものとした。また、サーバ400はITRアドレスリストを含む1つのRLOC応答指示メッセージ52bをルータ300に送信するものとした。一方、ルータ100はIFアドレスごとの複数のRLOC要求メッセージをサーバ400に送信してもよい。また、サーバ400はIFアドレスごとの複数のRLOC応答指示メッセージをルータ300に送信してもよい。第4の実施の形態では、その機能を説明する。
 ここで、第4の実施の形態の情報処理システムは、第3の実施の形態の情報処理システムと同様である。第4の実施の形態のハードウェア例およびソフトウェア例は、第3の実施の形態のハードウェア例およびソフトウェア例と同様である。このため、第4の実施の形態における各装置を第3の実施の形態と同じ名称・符号を用いて指し示す。
 ただし、第4の実施の形態では、RLOC要求メッセージおよびRLOC応答指示メッセージが第3の実施の形態と異なる。
 図28は、第4の実施の形態のRLOC要求メッセージの例を示す図である。RLOC要求メッセージ51b,51cは、RLOC要求メッセージ51aに代えて、RLOC処理部122により生成される。RLOC要求メッセージ51b,51cは、DA、SA、Type、EIDおよびITRアドレスのフィールドを含む。DA、SA、TypeおよびEIDが示す内容は、RLOC要求メッセージ51で説明した通りである。
 ITRアドレスは、ITRが備える隣接GWと接続された1つのインタフェースのIPアドレスを示す。例えば、ルータ100がクライアント500からクライアント600を宛先アドレスとするパケットを受信した場合、RLOC要求メッセージ51b,51cは次のようになる。
 RLOC要求メッセージ51bにおいて、DAは“SV1”である。サーバ400宛だからである。SAは“IFA”である。ポート105bが送信元だからである。Typeは“RLOC要求”である。RLOC要求メッセージだからである。EIDは“IP2”である。ルータ100はクライアント600を宛先としたパケットを転送したいからである。ITRアドレスは“IF1”である。隣接GWのうちの1つに対応するIFアドレスとして“IF1”が隣接GW管理テーブル111aに登録されているからである。
 RLOC要求メッセージ51cにおいて、ITRアドレスは“IF2”である。隣接GWのうちの他の1つに対応するIFアドレスとして“IF2”が隣接GW管理テーブル111aに登録されているからである。その他のフィールドの設定内容は、RLOC要求メッセージ51bと同様である。
 図29は、第4の実施の形態のRLOC応答指示メッセージの例を示す図である。RLOC応答指示メッセージ52c,52dは、RLOC応答指示メッセージ52bに代えて、管理部420により生成される。RLOC応答指示メッセージ52c,52dは、DA、SA、Type、EID、ETRアドレスおよびITRアドレスのフィールドを含む。DA、SA、Type、EIDおよびETRアドレスが示す内容は、RLOC応答指示メッセージ52,52aで説明した通りである。ITRアドレスが示す内容は、RLOC要求メッセージ51b,51cで説明した通りである。例えば、RLOC要求メッセージ51b,51cに対してサーバ400が送信するRLOC応答指示メッセージ52c,52dは次のようになる。
 RLOC応答指示メッセージ52cにおいて、DAは“RLOC2”である。ETRであるルータ300宛だからである。SAは“SV1”である。サーバ400が送信元だからである。Typeは“RLOC応答”である。RLOC応答指示メッセージだからである。EIDは“IP2”である。RLOC要求メッセージ51bでEID“IP2”が指定されたからである。ETRアドレスは“RLOC2”である。EID“IP2”に対応するRLOCは“RLOC2”だからである。ITRアドレスリストは“IF1”である。RLOC要求メッセージ51bでITRアドレス“IF1”が指定されたからである。
 RLOC応答指示メッセージ52dにおいて、ITRアドレスは“IF2”である。RLOC要求メッセージ51cでITRアドレス“IF2”が指定されたからである。その他のフィールドの設定内容は、RLOC応答指示メッセージ52cと同様である。
 ここで、第4の実施の形態の処理手順は、図24~26で説明した第3の実施の形態の処理手順と同様である。このため、これらの処理手順の説明を省略する。ただし、ステップS13aにおいて、RLOC処理部122は、RLOC要求メッセージ51aに代えて、RLOC要求メッセージ51b,51cをサーバ400に送信する。また、ステップS23a,S24aにおいて、管理部420は、RLOC応答指示メッセージ52bに代えて、RLOC応答指示メッセージ52c,52dを生成し、ルータ300に送信する。その他のステップの処理は、RLOC要求メッセージ51b,51cおよびRLOC応答指示メッセージ52c,52dに設定された情報に基づいて行える。
 図30は、第4の実施の形態の処理例を示すシーケンスである。以下、図30に示す処理をステップ番号に沿って説明する。
 ルータ100はクライアント500からクライアント600宛のパケット50を受信する(ステップST121)。ルータ100はRLOCキャッシュテーブル113にクライアント600のEID“IP2”が未登録であると、RLOC要求メッセージ51b,51cを生成する。ルータ100は、RLOC要求メッセージ51bをサーバ400に送信する(ステップST122)。ルータ100は、RLOC要求メッセージ51cをサーバ400に送信する(ステップST123)。ステップST122,ST123は同時でもよいし、順序が入れ替わってもよい。
 サーバ400は、RLOC要求メッセージ51b,51cを受信すると、RLOC管理テーブル411を参照して、EID“IP2”のエントリを検索し、対応するRLOC“RLOC2”を取得する。サーバ400は、RLOC応答指示メッセージ52c,52dを生成する。サーバ400は、RLOC応答指示メッセージ52cをルータ300に送信する(ステップST124)。サーバ400は、RLOC応答指示メッセージ52dをルータ300に送信する(ステップST125)。ステップST124,ST125は同時でもよいし、順番が入れ替わってもよい。
 ルータ300は、RLOC応答指示メッセージ52cを受信すると、RLOC応答指示メッセージ52cからIFアドレス“IF1”を取得し、RLOC応答メッセージ53bを生成する。ルータ300は、RLOC応答メッセージ53bを送信する。RLOC応答メッセージ53bに含まれるTTLはルータ300とルータ200との間に介在する各ルータによって1単位ずつ減算されることになる。RLOC応答メッセージ53bは、ルータ200を経由してルータ100に到達する(ステップST126)。
 ルータ300は、RLOC応答指示メッセージ52dを受信すると、RLOC応答指示メッセージ52dからIFアドレス“IF2”を取得し、RLOC応答メッセージ53cを生成する。ルータ300は、RLOC応答メッセージ53cを送信する。RLOC応答メッセージ53cに含まれるTTLはルータ300とルータ200aとの間に介在する各ルータによって1単位ずつ減算されることになる。RLOC応答メッセージ53cは、ルータ200aを経由してルータ100に到達する(ステップST127)。ステップST126,ST127は同時でもよいし、順番が入れ替わってもよい。
 ルータ100は、RLOC応答メッセージ53b,53cを受信すると、TTLを比較する。RLOC応答メッセージ53bに含まれるTTLは“10”とする。RLOC応答メッセージ53cに含まれるTTLは“5”とする。ルータ100はTTLが最大であるルータ200をNext Hopルータとして選択する。ルータ100は、選択結果に基づいて、ルーティングテーブル112およびRLOCキャッシュテーブル113に新たなエントリを登録する。ルータ100は、パケット50をカプセル化してカプセル化パケット60を生成し、ルータ300へ送信する。この場合、送出ポートは、ポート105cである。カプセル化パケット60は、ルータ200を経由してルータ300に到達することになる(ステップST128)。
 ルータ300は、カプセル化パケット60を受信すると、カプセル化を解除しパケット50を得る。ルータ300は、パケット50をクライアント600へ向けて転送する(ステップST129)。
 このようにして、ルータ100は、ルータ200,200aそれぞれからルータ300が送信したRLOC応答メッセージ53b,53cを受信する。RLOC応答メッセージ53b,53cには、TTLが含まれる。ルータ100は、当該TTLに基づいてルータ300とルータ200,200aとの間に介在するルータの数を評価できる。すなわち、ルータ100は、ルータ200,200aからETRであるルータ300までの距離を示す情報を取得する。そして、当該情報に基づいてNext Hopルータを選択する。
 このため、ルータ100は、第2の実施の形態と同様に、コアネットワーク10のEGP(例えば、BGP)に参加しなくてよい。したがって、ルータ100において、コアネットワーク経路情報を収集しなくてよい。よって、例えば、ルータ100において経路制御に用いるRAM102などの領域を節約できる。また、ルータ100において、経路選択用の指標を評価するための演算コストを軽減できる。
 更に、第2の実施の形態と同様に、ルータ100に求められる処理能力を抑えられ、コスト面でも有利である。また、第4の実施の形態によれば、第3の実施の形態と同様に、ルータ200,200a,200bは、通常のパケット転送を行えばよい。このため、ルータ200,200a,200bとして既存のルータを流用できるという利点もある。
 また、第4の実施の形態の制御は、LISPで規定されたメッセージフォーマットを用いて実現できる。よって、ルータ100,300の機能の実装において、改良の作業コストが比較的小さくて済むという利点もある。
 [第5の実施の形態]
 以下、第5の実施の形態を説明する。前述の第2~第4の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
 第3の実施の形態では、ルータ100はITRアドレスリストを含むRLOC要求メッセージ51aをサーバ400に送信するものとした。一方、RLOC要求メッセージにおいて、ITRであるルータ100の1つのIPアドレスを指定してもよい。第5の実施の形態では、その機能を説明する。
 ここで、第5の実施の形態の情報処理システムは、第3の実施の形態の情報処理システムと同様である。第5の実施の形態のハードウェア例およびソフトウェア例は、第3の実施の形態のハードウェア例およびソフトウェア例と同様である。このため、第5の実施の形態における各装置を第3の実施の形態と同じ名称・符号を用いて指し示す。
 ただし、第5の実施の形態では、RLOC要求メッセージ、RLOC応答指示メッセージおよびRLOC応答メッセージが第3の実施の形態と異なる。
 図31は、第5の実施の形態のRLOC要求メッセージの例を示す図である。RLOC要求メッセージ51dは、RLOC要求メッセージ51aに代えて、RLOC処理部122により生成される。RLOC要求メッセージ51dは、DA、SA、Type、EIDおよびITRアドレスのフィールドを含む。DA、SA、Type、EIDおよびITRアドレスが示す内容は、RLOC要求メッセージ51で説明した通りである。例えば、ルータ100がクライアント500からクライアント600を宛先アドレスとするパケットを受信した場合、RLOC要求メッセージ51dは次のようになる。
 DAは“SV1”である。サーバ400宛だからである。SAは“RLOC1”である。ルータ100が送信元だからである。Typeは“RLOC要求”である。RLOC要求メッセージだからである。EIDは“IP2”である。ルータ100はクライアント600を宛先としたパケットを転送したいからである。ITRアドレスは“RLOC1”である。要求元はルータ100だからである。
 図32は、第5の実施の形態のRLOC応答指示メッセージの例を示す図である。RLOC応答指示メッセージ52eは、RLOC応答指示メッセージ52bに代えて、管理部420により生成される。RLOC応答指示メッセージ52eは、DA、SA、Type、EID、ETRアドレスおよびITRアドレスのフィールドを含む。DA、SA、Type、EID、ETRアドレスおよびITRアドレスが示す内容は、RLOC応答指示メッセージ52,52aで説明した通りである。例えば、RLOC要求メッセージ51dに対してサーバ400が送信するRLOC応答指示メッセージ52eは次のようになる。
 DAは“RLOC2”である。ETRであるルータ300宛だからである。SAは“SV1”である。サーバ400が送信元だからである。Typeは“RLOC応答”である。RLOC応答指示メッセージだからである。EIDは“IP2”である。RLOC要求メッセージ51dでEID“IP2”が指定されたからである。ETRアドレスは“RLOC2”である。EID“IP2”に対応するRLOCは“RLOC2”だからである。ITRアドレスは“RLOC1”である。要求元はルータ100だからである。
 図33は、第5の実施の形態のRLOC応答メッセージの例を示す図である。RLOC応答メッセージ53dは、RLOC応答メッセージ53b,53cに代えて、管理部420により生成される。RLOC応答メッセージ53dは、DA、SA、Type、EIDおよびETRアドレスのフィールド含む。DA、SA、Type、EIDおよびETRアドレスが示す内容は、RLOC応答メッセージ53,53aで説明した通りである。例えば、RLOC応答指示メッセージ52eに対してルータ300が送信するRLOC応答メッセージ53dは次のようになる。
 DAは“RLOC1”である。ルータ100宛だからである。SAは“RLOC2”である。送信元はルータ300だからである。Typeは“RLOC応答”である。RLOC応答メッセージだからである。EIDは“IP2”である。RLOC応答指示メッセージ52eでEID“IP2”が指定されたからである。ETRアドレスは“RLOC2”である。RLOC応答指示メッセージ52eでETRアドレス“RLOC2”を指定されたからである。
 RLOC応答メッセージ53dは、ルータ200,200aの何れか一方を経由してルータ100に到達することになる。
 図34は、第5の実施の形態のITRの処理例を示すフローチャートである。以下、図34に示す処理をステップ番号に沿って説明する。第5の実施の形態では、ルータ100が、図24で説明したステップS13a~S15aの代わりに、ステップS13b~S15bを実行する点が異なる。ステップS11,S12,S16~S19の処理は図15で説明した処理と同様である。そこで、以下ではステップS13b~S15bを説明する。
 (ステップS13b)RLOC処理部122は、RLOC要求メッセージ51dを生成し、サーバ400に送信する。
 (ステップS14b)RLOC処理部122は、RLOC要求メッセージ51dに対してルータ200,200aの何れかからRLOC応答メッセージ53dを受信する。
 (ステップS15b)RLOC処理部122は、RLOC応答メッセージ53dを受信した方のポートに接続されたルータをNext Hopルータとして選択する。例えば、ポート105cからRLOC応答メッセージ53dを受信した場合(ルータ200からRLOC応答メッセージ53dを受信した場合)には、ルータ200をNext Hopルータとして選択する。そして、処理をステップS16に進める。
 このように、ルータ100は、RLOC要求メッセージ51dに対して、RLOC応答メッセージ53dを受信したポートに接続された隣接GWをNext Hopルータとして選択する。ステップS16では、次のようにしてルーティングテーブル112へのエントリ追加を行える。具体的には、隣接GW管理テーブル111a(または、隣接GW管理テーブル111)によれば、ポート105cに対応する隣接GWアドレスは“GW1”である。よって、RLOC2のネットワークアドレス“N-RLOC2”とNext Hopアドレス“GW1”とを対応付けたエントリをルーティングテーブル112に追加し得る。
 図35は、第5の実施の形態のサーバの処理例を示すフローチャートである。以下、図35に示す処理をステップ番号に沿って説明する。第5の実施の形態では、サーバ400が、図25で説明したステップS23a,S24aの代わりに、ステップS23b,S24bを実行する点が異なる。ステップS21,S22,S25の処理は図16で説明した処理と同様である。そこで、以下ではステップS23b,24bを説明する。ただし、ステップS21において管理部420はRLOC要求メッセージ51dを受信している。
 (ステップS23b)管理部420は、RLOC管理テーブル411からEID“IP2”に対応するRLOC“RLOC2”を取得する。管理部420は、RLOC要求メッセージ51dから、ITRアドレス“RLOC1”を取得する。取得された情報に基づいて、管理部420は、RLOC応答指示メッセージ52eを生成する。RLOC応答指示メッセージ52eは、ITRアドレス“RLOC1”およびETRアドレス“RLOC2”を含む。RLOC応答指示メッセージ52eは、ルータ300宛である。
 (ステップS24b)管理部420は、RLOC応答指示メッセージ52eをルータ300に送信する。
 図36は、第5の実施の形態のETRの処理例を示すフローチャートである。以下、図36に示す処理をステップ番号に沿って説明する。
 (ステップS41a)RLOC処理部322は、RLOC応答指示メッセージ52eをサーバ400から受信する。
 (ステップS42a)RLOC処理部322は、RLOC応答指示メッセージ52eからITRアドレス“RLOC1”を取得する。RLOC処理部322は、RLOC応答メッセージ53dを生成する。RLOC応答メッセージ53dは、ルータ100宛である。
 (ステップS43a)RLOC処理部322は、RLOC応答メッセージ53dをルータ100に送信する。RLOC応答メッセージ53dは、ルータ200またはルータ200aの何れか一方を経由してルータ100に到達する。
 このように、ルータ300は、RLOC応答指示メッセージ52eに対して、RLOC応答メッセージ53dを生成し、ルータ100に送信する。RLOC応答メッセージ53dは、コアネットワーク10内に張り巡らされたパケット転送用の何れかの経路を通ってルータ100に到達する。その際、RLOC応答メッセージ53dは、ルータ200,200aの何れか一方を経由することになる。
 図37は、第5の実施の形態の処理例を示すシーケンスである。以下、図37に示す処理をステップ番号に沿って説明する。
 ルータ100はクライアント500からクライアント600宛のパケット50を受信する(ステップST131)。ルータ100はRLOCキャッシュテーブル113にクライアント600のEID“IP2”が未登録であると、RLOC要求メッセージ51dを生成する。ルータ100は、RLOC要求メッセージ51dをサーバ400に送信する(ステップST132)。
 サーバ400は、RLOC要求メッセージ51dを受信すると、RLOC管理テーブル411を参照して、EID“IP2”のエントリを検索し、対応するRLOC“RLOC2”を取得する。サーバ400は、RLOC応答指示メッセージ52eを生成する。サーバ400は、RLOC応答指示メッセージ52eをルータ300に送信する(ステップST133)。
 ルータ300は、RLOC応答指示メッセージ52eを受信する。ルータ300は、RLOC応答指示メッセージ52eからITRアドレス“RLOC1”を取得し、RLOC応答メッセージ53dを生成する。ルータ300は、RLOC応答メッセージ53dを送信する。RLOC応答メッセージ53dは、ルータ200を経由してルータ100に到達する(ステップST134)。
 ルータ100は、RLOC応答メッセージ53dを受信すると、受信したポート105cに対応するルータ200をNext Hopルータとして選択する。ルータ100は、選択結果に基づいて、ルーティングテーブル112およびRLOCキャッシュテーブル113に新たなエントリを登録する。ルータ100は、パケット50をカプセル化してカプセル化パケット60を生成し、ルータ300へ送信する。この場合、送出ポートは、ポート105cである。カプセル化パケット60は、ルータ200を経由してルータ300に到達することになる(ステップS135)。
 ルータ300は、カプセル化パケット60を受信すると、カプセル化を解除しパケット50を得る。ルータ300は、パケット50をクライアント600へ向けて転送する(ステップST136)。
 このようにして、ルータ100は、ルータ200,200aの何れかから、RLOC要求メッセージ51dに対するRLOC応答メッセージ53dを受信する。そして、RLOC応答メッセージ53dが受信されたポートに応じてNext Hopルータを選択する。
 このため、ルータ100は、第2の実施の形態と同様に、コアネットワーク10のEGP(例えば、BGP)に参加しなくてよい。したがって、ルータ100において、コアネットワーク経路情報を収集しなくてよい。よって、例えば、ルータ100において経路制御に用いるRAM102などの領域を節約できる。また、ルータ100において、経路選択用の指標を評価するための演算コストを軽減できる。更に、第2の実施の形態と同様に、ルータ100に求められる処理能力を抑えられ、コスト面でも有利である。
 また、第5の実施の形態によれば、第3の実施の形態と同様に、ルータ200,200a,200bは、通常のパケット転送を行えばよい。このため、ルータ200,200a,200bとして既存のルータを流用できるという利点もある。
 また、第5の実施の形態の制御は、既存のLISPで規定されたパケット構造を用いて実現できる。よって、ルータ100,300の機能の実装において、改良の作業コストが比較的小さくて済むという利点もある。
 また、第5の実施の形態では、ITRの経路選択のためにコアネットワーク10内に流すパケットの数が第2~第4の実施の形態に比べて少ない。よって、コアネットワーク10の負荷を抑えられるという利点もある。特に、ポート105c,105dに対応するインタフェースのネットワークアドレスが同一である場合がある。各ルータによるルーティングはネットワークアドレスに基づいて行われる。したがって、この場合は1つのRLOC応答メッセージを流せば足りる。仮に複数のRLOC応答メッセージを流したとしても、ポート105c,105dの何れか一方で複数のRLOC応答メッセージが受信されると考えられるからである。
 更に、第5の実施の形態の制御は、LISPで規定されたメッセージフォーマットを用いて実現できる。よって、ルータ100,300の機能の実装において、改良の作業コストが比較的小さくて済むという利点もある。
 [第6の実施の形態]
 以下、第6の実施の形態を説明する。前述の第2~第5の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
 第3の実施の形態では、ルータ300はルータ200bに接続されているものとした。一方、ルータ300がマルチホームで接続されていてもよい。第6の実施の形態では、その場合の制御を説明する。ここで、第6の実施の形態の情報処理システムは、ルータ300がマルチホームで接続されている点が第3の実施の形態と異なる。
 図38は、第6の実施の形態の情報処理システムを示す図である。ルータ300は、ルータ200bに加えて、ルータ200cにも接続されている。ルータ200cは、AS15に接続されている。AS15は、コアネットワーク10に属している。AS15は、AS12と接続されている。各AS間には1以上の他のASが介在し得る。
 なお、第6の実施の形態のハードウェア例およびソフトウェア例は、第3の実施の形態のハードウェア例およびソフトウェア例と同様である。このため、第6の実施の形態における各装置を第3の実施の形態と同じ名称・符号を用いて指し示す。更に、ルータ200cは、ルータ200と同様のハードウェアによって実現できる。
 この場合、ルータ300は、ルータ100のIFアドレスごと、ルータ300の隣接GW(ルータ200b,200c)ごとにRLOC応答メッセージを送信してもよい。具体的には次の通りである。
 図39は、第6の実施の形態の処理例を示すシーケンスである。以下、図39に示す処理をステップ番号に沿って説明する。
 ルータ100はクライアント500からクライアント600宛のパケット50を受信する(ステップST141)。ルータ100はRLOCキャッシュテーブル113にクライアント600のEID“IP2”が未登録であると、RLOC要求メッセージ51aを生成する。ルータ100は、RLOC要求メッセージ51aをサーバ400に送信する(ステップST142)。
 サーバ400は、RLOC要求メッセージ51aを受信すると、RLOC管理テーブル411を参照して、EID“IP2”のエントリを検索し、対応するRLOC“RLOC2”を取得する。サーバ400は、RLOC応答指示メッセージ52bを生成する。サーバ400は、RLOC応答指示メッセージ52bをルータ300に送信する。例えば、RLOC応答指示メッセージ52bはルータ200bを介してルータ300に到達する(ステップST143)。ただし、ルータ100とサーバ400との間の経路と同様に、ルータ300とサーバ400との間に個別の経路が設けられてもよい。
 ルータ300は、RLOC応答指示メッセージ52bを受信する。ルータ300は、RLOC応答指示メッセージ52bからIFアドレス“IF1,IF2”を取得する。ルータ300は、IFアドレス“IF1,IF2”ごと、ルータ200b,200cごとの計4つのRLOC応答メッセージを生成する。すなわち、図23で説明したRLOC応答メッセージ53bを2つ、RLOC応答メッセージ53cを2つの計4つである(TTLは同一値)。
 ルータ300は、第1のRLOC応答メッセージ53bをルータ200bが接続されたポートから送出する。第1のRLOC応答メッセージ53bは、ルータ200b,200を経由してルータ100に到達する(ステップST144)。ルータ300は、第1のRLOC応答メッセージ53cをルータ200bが接続されたポートから送出する。第1のRLOC応答メッセージ53cは、ルータ200b,200aを経由してルータ100に到達する(ステップST145)。
 ルータ300は、第2のRLOC応答メッセージ53bをルータ200cが接続されたポートから送出する。第2のRLOC応答メッセージ53bは、ルータ200c,200を経由してルータ100に到達する(ステップST146)。ルータ300は、第2のRLOC応答メッセージ53cをルータ200cが接続されたポートから送出する。第2のRLOC応答メッセージ53cは、ルータ200c,200aを経由してルータ100に到達する(ステップST147)。ただし、ステップST144~ST147は、同時でもよいし、任意の順に入れ替えてもよい。
 ルータ100は、第1,第2のRLOC応答メッセージ53b、および、第1,第2のRLOC応答メッセージ53c(計4つのRLOC応答メッセージ)を受信すると、TTLを比較する。第1のRLOC応答メッセージ53bに含まれるTTLは“10”とする。第1のRLOC応答メッセージ53cに含まれるTTLは“5”とする。第2のRLOC応答メッセージ53bに含まれるTTLは“8”とする。第2のRLOC応答メッセージ53cに含まれるTTLは“12”とする。ルータ100はTTLが最大であるルータ200aをNext Hopルータとして選択する。ルータ100は、選択結果に基づいて、ルーティングテーブル112およびRLOCキャッシュテーブル113に新たなエントリを登録する。ルータ100は、パケット50をカプセル化してカプセル化パケット60を生成し、ルータ300へ送信する。この場合、送出ポートは、ポート105dである。カプセル化パケット60は、ルータ200a,200cを経由してルータ300に到達することになる(ステップST148)。
 ルータ300は、カプセル化パケット60を受信すると、カプセル化を解除しパケット50を得る。ルータ300は、パケット50をクライアント600へ向けて転送する(ステップST149)。
 このようにして、ルータ100は、ルータ200,200aそれぞれから計4つのRLOC応答メッセージを受信する。各RLOC応答メッセージには、TTLが含まれる。ルータ100は、当該TTLに基づいて、次の(1)~(4)の経路の距離を評価できる。(1)ルータ200とルータ200bとを結ぶ経路。(2)ルータ200aとルータ200bとを結ぶ経路。(3)ルータ200とルータ200cとを結ぶ経路。(4)ルータ200aとルータ200cとを結ぶ経路。すなわち、ルータ100は、各経路の距離を示す情報を取得する。そして、当該情報に基づいてNext Hopルータを選択する。
 このため、ルータ100は、第2の実施の形態と同様に、コアネットワーク10のEGP(例えば、BGP)に参加しなくてよい。したがって、ルータ100において、コアネットワーク経路情報を収集しなくてよい。よって、例えば、ルータ100において経路制御に用いるRAM102などの領域を節約できる。また、ルータ100において、経路選択用の指標を評価するための演算コストを軽減できる。更に、第2の実施の形態と同様に、ルータ100に求められる処理能力を抑えられ、コスト面でも有利である。
 また、第6の実施の形態によれば、第3の実施の形態と同様に、ルータ200,200a,200b,200cは、通常のパケット転送を行えばよい。このため、ルータ200,200a,200b,200cとして既存のルータを流用できるという利点もある。
 ここで、サーバ400がコアネットワーク経路情報を収集して、ITRであるルータ100にNext Hopルータを提供する方法も考えられる。しかし、この場合は、サーバ400がコアネットワーク経路情報を保持しなければならない。一方、第2~第6の実施の形態によれば、コアネットワーク経路情報を新たに別の装置に保持させずに済む。したがって、第2~第6の実施の形態は当該方法に対しても有利である。
 また、第2~第6の実施の形態で説明したルータ100,300の機能はプロセッサとRAMと複数の通信インタフェースとを備えたコンピュータによって実現されてもよい。例えば、RAMに記憶されたプログラムをプロセッサが実行することで、上記の機能を実現することもできる。当該プログラムは、コンピュータ読み取り可能な可搬型の記録媒体に記録しておくことができる。当該プログラムを流通させるには、例えば、そのプログラムが記録された記録媒体を配布する。または、そのプログラムをサーバコンピュータに格納しておき、ネットワーク経由でコンピュータに転送してもよい。コンピュータは、例えば、記録媒体に記録されたプログラムまたはネットワークから取得したプログラムを、自装置の不揮発性の記憶媒体に格納する。そして、当該不揮発性の記憶媒体からプログラムを読み取り実行する。ただし、コンピュータは、取得したプログラムを、不揮発性の記憶媒体に格納せずに逐次、RAMに展開して実行することも可能である。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1,2,2a,2b,3 中継装置
 1a 通信部
 1b 制御部
 3a 受信部
 3b 送信部
 4 情報処理装置
 4a 受信部
 4b 制御部
 5,6 ノード
 7,8,9 ネットワーク
 D1,D2,D3 距離を示す情報
 P1,P2,P3 ポート

Claims (20)

  1.  第1のネットワークに接続された第2のネットワークへ宛てたデータの転送先の候補であり前記第1のネットワークに属する複数の第1の中継装置と通信する通信部と、
     前記データの転送先を選択する際に、前記複数の第1の中継装置それぞれから前記第1および前記第2のネットワークに接続された第2の中継装置までの距離を示す情報を、前記複数の第1の中継装置から取得し、当該情報に基づいて前記複数の第1の中継装置の中から前記データの転送先を選択する制御部と、
     を有する中継装置。
  2.  前記制御部は、前記第2の中継装置の前記第1のネットワークにおけるアドレスを解決するための問い合わせを行い、当該問い合わせに対する応答として、前記複数の第1の中継装置から前記第2の中継装置までの距離を示す情報を取得する、請求の範囲第1項記載の中継装置。
  3.  前記制御部は、前記複数の第1の中継装置それぞれから前記第2の中継装置までの最短の距離を示す情報を取得する、請求の範囲第1項または第2項記載の中継装置。
  4.  前記制御部は、前記第2の中継装置までの距離を示す情報として、前記第2の中継装置により送信され、前記複数の第1の中継装置それぞれを介して受信された複数のIP(Internet Protocol)パケットに含まれるTTL(Time To Live)またはホップリミットを取得する、請求の範囲第1項または第2項記載の中継装置。
  5.  前記制御部は、前記複数の第1の中継装置それぞれのアドレスまたは自身に備えられており前記複数の第1の中継装置と接続された複数のインタフェースそれぞれのアドレスを前記問い合わせに含めることで、前記複数の第1の中継装置それぞれに前記第2の中継装置までの距離を示す情報を提供させるように問い合わせ先の装置に制御させる、請求の範囲第2項記載の中継装置。
  6.  前記通信部は、前記第1のネットワークの経路情報を受信しても破棄する、請求の範囲第1項乃至第5項の何れか1項に記載の中継装置。
  7.  第1および第2のネットワークに接続された第1の中継装置が前記第2のネットワークに接続された第3のネットワークへ宛てたデータの転送先を選択する際に、前記第2および前記第3のネットワークに接続された第2の中継装置の前記第2のネットワークにおけるアドレスを解決するための問い合わせを前記第1の中継装置から受け付ける受信部と、
     前記問い合わせに応じて、前記第3のネットワークへ宛てたデータの前記第1の中継装置からの転送先の候補であり前記第2のネットワークに属する複数の第3の中継装置それぞれから前記第2の中継装置までの距離を示す情報を、前記複数の第3の中継装置から前記第1の中継装置へ提供させる制御部と、
     を有する情報処理装置。
  8.  前記制御部は、前記複数の第3の中継装置それぞれから前記第2の中継装置までの最短の距離を示す情報を前記第1の中継装置へ提供させる、請求の範囲第7項記載の情報処理装置。
  9.  前記問い合わせは、前記複数の第3の中継装置それぞれのアドレスを含み、
     前記制御部は、前記複数の第3の中継装置それぞれのアドレスに基づいて、前記第2の中継装置までの距離を示す情報を、前記複数の第3の中継装置から前記第1の中継装置へ提供させる、
     請求の範囲第7項または第8項記載の情報処理装置。
  10.  前記制御部は、前記第2の中継装置までの距離を示す情報として、前記第2の中継装置により送信され、前記複数の第3の中継装置それぞれを経由して前記第1の中継装置へ到達する複数のIPパケットに含まれるTTLまたはホップリミットを提供させる、請求の範囲第7項記載の情報処理装置。
  11.  前記問い合わせは、前記第1の中継装置に備えられており前記複数の第3の中継装置と接続された複数のインタフェースそれぞれのアドレスを含み、
     前記制御部は、前記複数のインタフェースそれぞれのアドレスに基づいて前記複数のIPパケットを送信するように前記第2の中継装置に指示する、
     請求の範囲第10項記載の情報処理装置。
  12.  前記制御部は、前記第2の中継装置までの距離を示す情報に加えて、前記第2の中継装置の前記第2のネットワークにおけるアドレスを、前記複数の第3の中継装置から前記第1の中継装置へ提供させる、請求の範囲第7項乃至第11項の何れか1項に記載の情報処理装置。
  13.  第1および第2のネットワークに接続された第1の中継装置からの、前記第2のネットワークに接続された第3のネットワークへ宛てたデータの転送先となる複数の候補のうちの1つとして用いられる中継装置であって、
     前記第1の中継装置が前記データの転送先を選択する際に、前記第2および第3のネットワークに接続された第2の中継装置までの距離を示す情報を前記第1の中継装置に提供する旨の指示を受信する受信部と、
     当該指示に応じて、自身から前記第2の中継装置までの距離を示す情報を、前記第1の中継装置に送信する送信部と、
     を有する中継装置。
  14.  前記送信部は、自身から前記第2の中継装置までの最短の距離を示す情報を前記第1の中継装置に送信する、請求の範囲第13項記載の中継装置。
  15.  前記指示は、前記第2の中継装置の前記第2のネットワークにおけるアドレスを含み、
     前記送信部は、前記アドレスとともに、前記第2の中継装置までの距離を示す情報を前記第1の中継装置に送信する、
     請求の範囲第13項または第14項記載の中継装置。
  16.  前記送信部は、前記第2のネットワークの経路情報を前記第1の中継装置に送信しないように制御する、請求の範囲第13項乃至第15項の何れか1項に記載の中継装置。
  17.  第1および第2のネットワークに接続された中継装置であって、
     前記第2および第3のネットワークに接続された第1の中継装置が前記第1のネットワークへ宛てたデータの転送先を選択する際に、自身の前記第2のネットワークにおけるアドレスを前記第1の中継装置に提供する旨の指示を受信する受信部と、
     当該指示に応じて、前記アドレスと前記アドレスを受信した中継装置から自身までの距離を示す情報を取得するための情報とを含む複数の応答データを、前記第1の中継装置からの前記データの転送先の候補であり前記第2のネットワークに属する複数の第2の中継装置それぞれを介して前記第1の中継装置に送信する送信部と、
     を有する中継装置。
  18.  前記指示は、前記第1の中継装置に備えられており前記複数の第2の中継装置と接続された複数のインタフェースそれぞれのアドレスを含み、
     前記送信部は、前記複数のインタフェースそれぞれのアドレスに基づいて、前記複数の応答データを送信する、
     請求の範囲第17項記載の中継装置。
  19.  前記応答データは、IPパケットであり、
     前記応答データに含まれる、自身までの距離を示す情報を取得するための情報は、前記IPパケットに含まれるTTLまたはホップリミットである、
     請求の範囲第17項または第18項記載の中継装置。
  20.  第1のネットワークに接続された第2のネットワークへ宛てたデータの転送先の候補であり前記第1のネットワークに属する複数の第1の中継装置と通信する通信部と、
     前記データの転送先を選択する際に、前記第1および前記第2のネットワークに接続された第2の中継装置の前記第1のネットワークにおけるアドレスを解決するための問い合わせを行い、前記複数の第1の中継装置の何れかの中継装置から当該問い合わせに対する応答を受信すると、当該中継装置を前記データの転送先として選択する制御部と、
     を有する中継装置。
PCT/JP2012/081491 2012-12-05 2012-12-05 中継装置および情報処理装置 WO2014087500A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014550845A JP5958556B2 (ja) 2012-12-05 2012-12-05 中継装置および情報処理装置
PCT/JP2012/081491 WO2014087500A1 (ja) 2012-12-05 2012-12-05 中継装置および情報処理装置
US14/701,607 US20150236944A1 (en) 2012-12-05 2015-05-01 Relay apparatus and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/081491 WO2014087500A1 (ja) 2012-12-05 2012-12-05 中継装置および情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/701,607 Continuation US20150236944A1 (en) 2012-12-05 2015-05-01 Relay apparatus and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2014087500A1 true WO2014087500A1 (ja) 2014-06-12

Family

ID=50882950

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/081491 WO2014087500A1 (ja) 2012-12-05 2012-12-05 中継装置および情報処理装置

Country Status (3)

Country Link
US (1) US20150236944A1 (ja)
JP (1) JP5958556B2 (ja)
WO (1) WO2014087500A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016538673A (ja) * 2014-09-30 2016-12-08 シャオミ・インコーポレイテッド メッセージ伝送方法、メッセージ伝送装置、電子装置、プログラム、及び記録媒体
US9871884B2 (en) 2014-09-30 2018-01-16 Xiaomi Inc. Method and device for transferring messages
US11178039B2 (en) 2017-11-27 2021-11-16 New H3C Technologies Co., Ltd. Electing designated forwarder

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300581B1 (en) 2015-02-03 2016-03-29 Google Inc. Mesh network addressing
US20170117978A1 (en) * 2015-10-27 2017-04-27 Mediatek Inc. Method for selecting ttl for a mesh network
US10516544B2 (en) * 2017-07-13 2019-12-24 Cisco Technology, Inc. Extranet connectivity in LISP networks
CN111614557B (zh) * 2020-04-02 2021-09-24 深圳创维-Rgb电子有限公司 Mesh网络的数据传输方法、装置、网关及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006033235A (ja) * 2004-07-14 2006-02-02 Fujitsu Ltd 経路制御方法及び装置
JP2012039188A (ja) * 2010-08-03 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> 通信システム、制御サーバ、フロー制御方法およびそのプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200414737A (en) * 2002-09-27 2004-08-01 Matsushita Electric Ind Co Ltd Contents transmission system
CN101340356B (zh) * 2007-07-05 2012-07-11 华为技术有限公司 转发信息的方法和信息转发设备
CN101534240B (zh) * 2008-03-14 2012-04-25 华为技术有限公司 一种映射信息的发送方法、系统和装置
US8432913B2 (en) * 2008-04-22 2013-04-30 Nec Corporation Relay device, network system, route switching method, and recording medium
CN102014043B (zh) * 2009-09-08 2013-12-04 中兴通讯股份有限公司 名址映射系统、数据传输方法及名址映射维护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006033235A (ja) * 2004-07-14 2006-02-02 Fujitsu Ltd 経路制御方法及び装置
JP2012039188A (ja) * 2010-08-03 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> 通信システム、制御サーバ、フロー制御方法およびそのプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016538673A (ja) * 2014-09-30 2016-12-08 シャオミ・インコーポレイテッド メッセージ伝送方法、メッセージ伝送装置、電子装置、プログラム、及び記録媒体
US9871884B2 (en) 2014-09-30 2018-01-16 Xiaomi Inc. Method and device for transferring messages
US11178039B2 (en) 2017-11-27 2021-11-16 New H3C Technologies Co., Ltd. Electing designated forwarder

Also Published As

Publication number Publication date
JP5958556B2 (ja) 2016-08-02
US20150236944A1 (en) 2015-08-20
JPWO2014087500A1 (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
JP5958556B2 (ja) 中継装置および情報処理装置
JP6386468B2 (ja) Ipルーティング互換のためのネットワークノードのパケットフォーマットと通信方法及びそのネットワークノード
JP6137384B2 (ja) 通信システム、転送ノード、経路管理サーバおよび通信方法
JP5966561B2 (ja) 通信装置および通信方法
JP6085263B2 (ja) 中継ノード及び経路制御方法
JP2003258854A (ja) ルータ装置及びインターネットサービスプロバイダ選択方法
JP2022526132A (ja) エリア間srmpls igpネットワーク内の最適ルーティングのための方法、ノード、及びそのシステム
JP4177346B2 (ja) 負荷分散システム、実サーバ及び負荷分散方法
JP5438624B2 (ja) 通信システム、制御サーバ、フロー制御方法およびそのプログラム
CN103117930A (zh) 静态路由配置的检测方法和装置
JP5954000B2 (ja) 通信方法および通信装置
JP3736554B2 (ja) ルータ装置及びパケット転送制御方法
JP5001966B2 (ja) 経路情報管理方法およびその管理システム
US20100232300A1 (en) Routing control device, routing control method, and storage medium storing routing control program
JP4623317B2 (ja) 通信装置、ルーティング方法及びプログラム
US10735252B2 (en) Outside router fault detection
Cisco ISO CLNS Commands
Cisco ISO CLNS Commands
Cisco ISO CLNS Commands
Cisco ISO CLNS Commands
JP4746672B2 (ja) 経路確認装置、経路確認システム、経路確認方法およびそのプログラム
JP4610599B2 (ja) ルータ装置および通信方法
JP5413014B2 (ja) ルータ装置、ルーティング方法、プログラム及び記録媒体
JP6672127B2 (ja) 伝送経路変更システム、伝送経路変更方法、通信品質管理装置及びプログラム
JP4585498B2 (ja) Mplsルータ、経路設定方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12889554

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014550845

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12889554

Country of ref document: EP

Kind code of ref document: A1