This is not a direct answer to the question, but judging from the comments, I think there is a confusion between address aggregation and address assignment.
update: i think you can think of this in terms of disjoint sets and set unions. Each subnet is a set of IP addresses. All subnets must be disjoint, that is each subnet is unique. Hierarchy works on unions, not individual sets. That is, when a union of sets can be aggregated by a single address, summarization is possible. So, R1 can summarize a union of orange, green, and red (and whatever is behind R3 and R4). R2 could summarize a union of green and red.
update2: Can you draw your picture with orange spanning the whole network, red spanning link between R2 and R3 and whatever is behind R3, and identical for green. Each layer 2 segment within the network has to have a unique address/mask. But your addresses are summarizable on circle boundaries.
(1) Route summarization works only in one direction. R1 can summarize routes if all routes to addresses 10.1.*.* This means that routers outside of your picture will learn only one address to 10.1../16 via R1. In contrast, without summarization, they could learn routes to 10.1.100., 10.1.200. separatelly. Route summarization does not affect what happens inside, and what happens inside does not have direct effect on route summarizaiton.
Further, R1's ability to do this does not require anything within your network to be actually hierarchical. It only requires all addresses to match 10.1.*.* (and no other parts of network to have addresses that match). No matter how you assign your addresses within your network, this will not change.
Having a link between R1 and R2 have /30 or /31 address does not prevent R1 from summarization.
(2) IP interconnects layer 2 segments. Thus IP differentiates between systems, reachable directly using layer 2 and systems, not reachable, where the address has to be actually forwarded (here routed would mean ~ the same). If an interface has an address 10.1.0.1 and mask 255.255.0.0, IP can assume that all addresses that match 10.1.*.* are local, and not forwarded. This means, that 10.1.*.* should be delivered using layer 2 of the corresponding interface (for IP -> do ARP, get mac address, and send packet to the mac address)
In this sence, a configuration where 10.1.*.* are local, but 10.1.100.* has to be forwarded, although could make sence from longest prefix match point of view, is actually incorrect. I can't find any specification which says what exactly will happen. I think it is safe to say, that it is unclear whether this will work or not.
So, you can have a routing table: 10.1.100.* -> interface 3 via R_X (forwarded), and 10.1.*.* -> interface 2 via R_Y (again forwarded) (this will be resolved using longest prefix match), but you cannot have a situation 10.1.100.* -> interface 2 via R_Y (forwarded), 10.1.*.* -> interface 2, local.
(3) also IP does not know that the link between R1 and R2 is a cable. If the cable is ethernet, there is also no guarantee that it remains this way. You could replace it with a switch, and plug 2 routers and N hosts to the switch. If you do this, and these N hosts are in network 10.1.*.* they can in theory have any IP within this network, including 10.1.100.1. If this happens your overlapping subnets will cause problems.
Thus it is recommended to use /30 or 31/ addresses, because they only allow 2 systems in the subnet, and if you try to get a third one in, it won't work.
(4) As an example, let's consider a situation where you want to have route summarization on R2 as well. R1 is already summarizing routes.
- note, that R1 and R2 cannot summarize the link between each other. they have to learn about this link. Let's assign 10.1.0.0/31 to the link (so that 10.1.0.0000 000* (last one binary) are assigned to this link.
R2 has two networks, green and red, and it wants to summarize addresses. To do so, these networks have to have addresses that have a common prefix, and this prefix should not overlap with the link above. Since you have all 10.1.*.* to choose from, let's assign them addresses that match arbitrary 10.1.1*** ****. **** ****
(which is 10.1.128.0/17). Then red one can get 10.1.10 ** ****.*
and green one gets 10.1.11 ** ****.**** ****
, or 10.1.128.0/18 and 10.1.192.0/18 Then R2 can announce a single address 10.1.128.0/17 to R1. R2 cannot announce it to anyone else, because it has to be able to route between green and red. [please verify my binary to decimal convertion!]
Now, in red zone there is a link between R2 and R3. We can assign it a /31 address that matches 10.1.128.0/18, or 10.1.10** ****.**** ****
. Let's use all zeroes and have 10.1.1000 0000.0000 000* or 10.1.128.0/31. All other addresses can be assigned to whatever is behind R3.
So, this is what you do when you assign subnets. Each subnet has a unique address. However all subnets who are summarized, can be covered by a unique address with a shorter prefix.
Which brings me to final notes
(5). When route summarization can be performed actually depends on your protocol. Distance-vector protocols can do it everywhere, link state routing can not. Link state routing protocols have to know the topology, thus route summariation cannot be performed. OSPF divides its domain into separate areas, where each area does link-state routing separatelly, but inter-area communication is not done based on link-state approach. OSPF can only do summarization on area boundary. There are more complicated cases with external routes and route re-distribution, but they follow the same pattern. There are "border" routers, which can get routes from outside of the area and inject them in the area. Route summarization can only be done by such a router.
(6) route summarization is not the same as keeping small tables. Route summarization affects information exchanged by a routing protocol itself. Even if your routers use OSPF and cannot actually summarize anything, they would (i think) still be able to have fewer entries in routing tables.
P.S. I use the notation .0100 0000. as a binary representation of the octet in IP address. And * in address to represent, that a bit can have arbitrary value, i.e., it is not covered by prefix length. 10.1.10** . **** is an ip address where first 8 bits are decimal 10, second 8 bits are decimal 1, and the rest 2 octets are in binary notation, where the third octed must start with 10 and have all other bits arbitrary or irrelevant.