User Tools

Site Tools


2_x:datamodel:subnet-blocks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
2_x:datamodel:subnet-blocks [2020/08/11 17:56] – [Tabs] cnaud2_x:datamodel:subnet-blocks [2024/03/27 16:06] (current) – [Modifying a Subnet Block] cnaud
Line 1: Line 1:
 ====== Subnet Blocks ====== ====== Subnet Blocks ======
  
-{{classicon_ipv4subnetblock.png  }}  +{{icons8-module-48.png  }}  
-{{classicon_ipv6subnetblock.png  }} +{{icons8-modulev6-48.png  }} 
 Subnet blocks are hierarchical containers which main purpose is to model the IPv4 and IPv6 plans of a company or organization. They represent big chunks of IP space allocated to a geographical entity (region, country…) or reserved for given usage (WAN, Data Centre LAN, Office space…). They can hold subnet blocks or subnets. Subnet blocks are hierarchical containers which main purpose is to model the IPv4 and IPv6 plans of a company or organization. They represent big chunks of IP space allocated to a geographical entity (region, country…) or reserved for given usage (WAN, Data Centre LAN, Office space…). They can hold subnet blocks or subnets.
  
Line 10: Line 10:
 | **General Information** ||| | **General Information** |||
 | Organization | Foreign key to a(n) Organization | Yes | | Organization | Foreign key to a(n) Organization | Yes |
-| Delegated from | Foreign key to a(n) Organization | No | 
-| Parent | Foreign key to a(n) Subnet Block | No | 
 | Name | Alphanumeric string  | Yes | | Name | Alphanumeric string  | Yes |
 | Type | Alphanumeric string  | No | | Type | Alphanumeric string  | No |
Line 17: Line 15:
 | Requestor | Foreign key to a(n) Person | No | | Requestor | Foreign key to a(n) Person | No |
 | Allocation date | Date (year-month-day) | No | | Allocation date | Date (year-month-day) | No |
 +| **Automation**|||
 +| Allow automatic subnet creation | Possible values: yes, no \\ Brought by the [[extensions:teemip-request-mgmt|IP Request Management]] extension | No |
 +| **Delegation Information** |||
 +| Delegated from | Foreign key to a(n) Organization | No |
 +| Origin | Possible values*: RIR, LIR, Other | No |
 +| Registrar | Foreign key to a(n) Organization | No |
 | **IP Information** ||| | **IP Information** |||
 +| Parent | Foreign key to a(n) Subnet Block | No |
 | First IP | IPv4 or IPv6 Address | Yes | | First IP | IPv4 or IPv6 Address | Yes |
 | Last IP | IPv4 or IPv6 Address | Yes | | Last IP | IPv4 or IPv6 Address | Yes |
  
 +<note> 
 +The origin of a block can be a RIR (Regional Internet Registry like ARIN or RIPE), a LIR (Local Internet Registry like an internet provider that delegates public space to its customers) or an Other organization (to cover all other cases). 
 +</note>
 ==== Tabs ==== ==== Tabs ====
 ^  Tab  ^  Description  ^ ^  Tab  ^  Description  ^
-| Locations | All the Locations for this IP Object +| Global Settings | Settings defined for the block's organization and values used at creation time | 
-| Contacts | All the contacts for this IP Object +| Locations | All the Locations related to the block 
-| Documents | All the documents linked to this IP Object | +| Contacts | All the known contacts for the block 
-| Notifications | List of related notifications +| Documents | All the documents linked to this Object | 
-| Child Blocks | Subnet blocks strictly contained within the block | +| Notifications | List of related notifications - Present if a notification trigger exists for that class 
-| Subnets | Subnets belonging to the subnet block +| Child Blocks | Subnet blocks strictly contained within the block and belonging to the same organization 
-History | History of all changes made to the subnet block |+| Subnets | Subnets contained within the block and belonging to the same organization 
 +Activity panel | History of all changes made to the subnet block |
  
-* Present if a notification trigger exists for that class. 
 ==== Listing Subnet Blocks ==== ==== Listing Subnet Blocks ====
-The Subnet Blocks shortcuts of the IP Management module on the explorer menu display all the IPv4 or IPv6 subnet blocks of the selected organization or all IPv4 or IPv6 subnet blocks if no organization is selected.+The Subnet Blocks shortcuts under the **IP Management** menu display all the IPv4 or IPv6 subnet blocks of the selected organization or all IPv4 or IPv6 subnet blocks registered in the application if no organization is selected.
  
-{{ classlist_ipv4subnetblock.png }}+{{ classlist_ipv4subnetblock-3x.png }}
  
-{{ classlist_ipv6subnetblock.png }} 
  
-The "Space Usedcolumn gives the percentage of the subnet block that is already consumed by all the subnet blocks and the subnets attached to that block.+The **Space Used** column gives the percentage of the subnet block that is already consumed by all the subnet blocks and the subnets attached to that block.
  
 <note tip> <note tip>
Line 48: Line 54:
  
 ==== Displaying Tree ==== ==== Displaying Tree ====
-Display can be switch from the listing view to tree view through the "Display Treeaction in the tool menu.+Display can be switched from the listing view to tree view through the **Display Tree** action in the **Other Actions** menu.
  
-{{ details-popup-menu-blockdisplaytree.png }}+{{ details-popup-menu-blockdisplaytree-3x.png }}
  
 When no default organization is selected, a tree per existing organization is displayed. Otherwise, only the tree that corresponds to the selected organization is displayed. When no default organization is selected, a tree per existing organization is displayed. Otherwise, only the tree that corresponds to the selected organization is displayed.
  
-{{ classtree_ipv4subnetblock.png }}+{{ classtree_ipv4subnetblock-3x.png }}
  
-Display can be switched back to the listing view through the "Display Listaction available in the tool menu.+Display can be switched back to the listing view through the **Display List** action available in the **Other Actions** menu.
  
-{{ details-popup-menu-blockdisplaylist.png }}+{{ details-popup-menu-blockdisplaylist-3x.png }}
  
  
 ==== Creating a new Subnet Block ==== ==== Creating a new Subnet Block ====
-From the listing or tree view, click on the "New..." menu to display the creation form. +From the listing or tree view or from any create action of a subnet block badge, click on the {{plus-button.png?nolink|Edit icon}} to display the creation form. 
  
-{{ classcreate_ipv4subnetblock.png }}+{{ classcreate_ipv4subnetblock-3x.png }}
  
 An implicit but intuitive set of rules must be followed when a subnet block is created: An implicit but intuitive set of rules must be followed when a subnet block is created:
-  * A subnet block belongs to a unique organization +  * A subnet block belongs to a unique organization, 
-  * A subnet block can be fully contained within another subnet block. We talk, then, about child block or parent block. +  * A subnet block can be fully contained within another subnet block. We talk, then, about child block or parent block, 
-  * Two blocks cannot share the same name +  * Two blocks cannot share the same name, 
-  * Two blocks cannot share common IP space unless one is fully contained within the other. +  * Two blocks cannot share common IP space unless one is fully contained within the other, 
-  * Minimum size of a subnet block is defined by the global parameter "Minimum size of IPv4 / IPv6 Subnet Blocks" +  * If not set, **Parent block** is automatically computed when **First IP** and **Last IP** are defined.
-  According to the global parameter “Align IPv4 / IPv6 Subnet Blocks to CIDR”, a subnet block needs to be CIDR aligned or not. +
- +
-At creation time, global settings “Minimum size of IPv4 / IPv6 Subnet Blocks” and “Align IPv4 / IPv6 Subnet Blocks to CIDR” can be overwritten. Note that a change on these parameters, if any, only applies to the current creation and don’t affect the value of the global parameters. If it is required to change them globally, these can be changed through the [[2_x:datamodel:ip-settings|Global IP Settings]] menu of the Data Administration module.+
  
 <note tip> <note tip>
 For IPv6 blocks, a simple autocompletion mechanism is used to help typing the Last IP: its first 64 bits are copied from the first IP and its last 64 bits are set to 1... which can, of course, be manually changed by the user. For IPv6 blocks, a simple autocompletion mechanism is used to help typing the Last IP: its first 64 bits are copied from the first IP and its last 64 bits are set to 1... which can, of course, be manually changed by the user.
 </note> </note>
 +
 +Default parameters can be adjusted in the **Global Settings** tab.
 +
 +{{ classcreate_ipv4subnetblock-settings-3x.png }}
 +
 +  * **Organization settings** recalls the default parameters defined for the selected organization. If required, these can be changed through the [[2_x:datamodel:ip-settings|Global IP Settings]] of the organization.
 +  * **Subnet blocks settings** holds the value that will be chosen for the block at creation time. These will be stored together with the block attributes and may be recalled later on, if the block needs to be modified for instance.
 +
 +==== Displaying a Subnet Block ====
 +In a list of blocks, select the item you are interested in:
 +
 +{{ classdetails_ipv4block-3x.png }}
 +
 +The **Child Blocks** tab displays the blocks that are directly or indirectly attached to the displayed block. A filter may be applied to that list through the **Change display** toggle button. Display may contain:
 +  * Only the child blocks that are directly attached to the block,
 +  * The whole child blocks hierarchy under the block.
 +
 +{{ classdetails_child_ipv4block_tab-3x.png }}
 ==== Modifying a Subnet Block ==== ==== Modifying a Subnet Block ====
-From the detailed view of a subnet block, click on the "Modify" button.+From the detailed view of a subnet block, click on the {{pen-icon.png?nolink|Edit icon}} button.
  
 Only a few parameters can be changed here: Name, Type, Note, Requestor, Allocation date, Locations, Contacts and Documents. Only a few parameters can be changed here: Name, Type, Note, Requestor, Allocation date, Locations, Contacts and Documents.
  
 +==== Navigating between adjacent Subnet Blocks ====
 +TeemIp provides an easy and efficient way to navigate between adjacent blocks. If the action is enabled, the left and rights arrows of the object menu {{navigate-icon.png?nolink|Navigate icon}} will bring you to the previous or next registered subnet block in TeemIp. This action is driven by default parameters that can be overwritten in the configuration file.
 +
 +<code>
 + 'teemip-ip-mgmt' => array (
 + ...
 + 'bloc_navigation' => array (
 +   'enabled' => true,
 +   'within_block_only' => false,
 + ),
 +                ...
 +        ),
 +
 +</code>
  
 +^  Parameter  ^  Description  ^
 +| enabled| Enable or disable the function |
 +| within_block_only| Limit the navigation to the parent block that the block belongs to or not |
 ==== Other Actions ==== ==== Other Actions ====
-Next to standard actions, a set of specific actions can be applied to subnet blocks. These can be found in the "Other Actionsmenu available from the details page.+Next to standard actions, a set of specific actions can be applied to subnet blocks. These can be found in the **Other Actions** menu available from the details page.
  
-{{ details-popup-menu-blockotheractions.png }}+{{ details-popup-menu-blockotheractions-3x.png }}
  
 These specific actions are described in below chapters. These specific actions are described in below chapters.
Line 94: Line 132:
  
 ==== Delegate ==== ==== Delegate ====
-A block belonging to an organization can be delegated to another organization. This can only be done if the block already exists. Delegation is not available at creation time anymore. Conditions to delegate a subnet block are: +A block belonging to an organization can be delegated to another organization. This can only be done if the block already exists. Delegation is not available at creation time. Conditions to delegate a subnet block are: 
-  * The block doesn'contain any child block nor subnet +  * The block does not contain any child block nor subnet, 
-  * The block doesn'collide with any other subnet block already created in the target organization+  * The block does not collide with any other subnet block already created in the target organization.
  
-By default, a block can only be delegated to a child organization. However, this restriction can be lifted through the [[2_x:datamodel:ip-settings|Global IP Settings]].+By default, a block can only be delegated to a child organization. However, this restriction can be lifted by the **Delegate blocks to children organizations only** parameter defined in the [[2_x:datamodel:ip-settings|Global IP Settings]].
  
  
-In order to delegate a subnet block, click on the "Delegateaction of the "Other Actionsmenu. The following display appears:+In order to delegate a subnet block, click on the **Delegate** action of the **Other Actions** menu. The following display appears:
  
-{{ classdelegate_subnetblock.png }}+{{ classdelegate_subnetblock-3x.png }}
  
-If all delegation conditions are met, subnet block is effectively delegated once the "Applybutton is pressed.+If all delegation conditions are met, subnet block is effectively delegated once the **Apply** button is pressed.
  
  
 ==== Un-Delegate ==== ==== Un-Delegate ====
-A delegated block can be returned to its original owner organization with the "Un-delegateaction. Condition to remove a delegation on a subnet block is that the block doesn't contain any child block nor subnet.+A delegated block can be returned to its original owner organization with the **Un-delegate** action. Condition to remove a delegation on a subnet block is that the block doesn't contain any child block nor subnet.
  
-In order to un-delegate a subnet block, just click on the Un-delegate” action of the Other Actions” menu. If above condition is met, delegation will be removed straight away.+In order to un-delegate a subnet block, just click on the **Un-delegate** action of the **Other Actions** menu. If above condition is met, delegation will be removed straight away.
  
 ==== Shrink ==== ==== Shrink ====
-The "Shrinkaction available from the "Other Actionsmenu allows you to reduce the size of a subnet block. When selected, the following page is displayed:+The **Shrink** action available from the **Other Actions** menu allows you to reduce the size of a subnet block. When selected, the following page is displayed:
  
-{{ classshrink_ipv4subnetblock.png }}+{{ classshrink_ipv4subnetblock-3x.png }}
  
 The 3 first lines recall the main characteristics of the subnet block. Other lines list the attributes that can be changed:  The 3 first lines recall the main characteristics of the subnet block. Other lines list the attributes that can be changed: 
Line 127: Line 165:
 The rules used at creation time apply here as well. On top of them, the shrink action follows its own set of rules: The rules used at creation time apply here as well. On top of them, the shrink action follows its own set of rules:
   * New subnet block must be strictly contained within the border of the current subnet block.   * New subnet block must be strictly contained within the border of the current subnet block.
-  * One or several child subnet blocks can be dropped during the operation. In that case, the child blocks will be attached to the parent block or to no parent block if none exists. +  * One or several child subnet blocks can be dropped during the operation. In that case, the child blocks will be attached to a new parent block or to no parent if none exists. 
-  * One or several subnets can be dropped during the operation. However, this may happen only if they can be attached to an existing parent block.+  * One or several subnets can be dropped during the operation. However, this may happen only if these ssubnets can be attached to an existing parent block as orphean subnets are not allowed in TeemIp.
   * The change won’t be applied if a child subnet block or a subnet contained within the block sits across the new borders of the subnet block.   * The change won’t be applied if a child subnet block or a subnet contained within the block sits across the new borders of the subnet block.
   * A delegated block cannot be shrunk.   * A delegated block cannot be shrunk.
- 
-"Global Settings" tab allows global setting related to subnet blocks to be changed for the operation and for that operation only. 
  
  
 ==== Split ==== ==== Split ====
-The "Splitaction available from the "Other Actionsmenu allows you to split a subnet block into 2 blocks. When selected, the following page is displayed:+The **Split** action available from the **Other Actions** menu allows you to split a subnet block into 2 blocks. When selected, the following page is displayed:
  
-{{ classsplit_ipv4subnetblock.png }}+{{ classsplit_ipv4subnetblock-3x.png }}
  
 The 3 first lines recall the main characteristics of the subnet block. Other lines list the attributes that can be changed:  The 3 first lines recall the main characteristics of the subnet block. Other lines list the attributes that can be changed: 
Line 150: Line 186:
   * The change won’t be applied if a child subnet block or a subnet contained within the block sits across the new borders of the two subnet blocks.   * The change won’t be applied if a child subnet block or a subnet contained within the block sits across the new borders of the two subnet blocks.
   * A delegated block cannot be split.   * A delegated block cannot be split.
- 
-"Global settings" tab allows global setting related to subnet blocks to be changed for the operation and for that operation only. 
  
  
 ==== Expand ==== ==== Expand ====
-The "Expandaction available from the "Other Actionsmenu allows you to increase the size of a subnet block. When selected, the following page is displayed:+The **Expand** action available from the **Other Actions** menu allows you to increase the size of a subnet block. When selected, the following page is displayed:
  
-{{ classexpand_ipv6subnetblock.png }}+{{ classexpand_ipv6subnetblock-3x.png }}
  
 The 3 first lines recall the main characteristics of the subnet block. Other lines list the attributes that can be changed: The 3 first lines recall the main characteristics of the subnet block. Other lines list the attributes that can be changed:
Line 167: Line 201:
  
 The rules used at creation time apply here as well. On top of them, the expand action follows its own set of rules: The rules used at creation time apply here as well. On top of them, the expand action follows its own set of rules:
-  * New first IP must be smaller than current first IP of subnet block +  * New first IP must be smaller than the current first IP of subnet block 
-  * New last IP must be higher than current last IP of subnet block+  * New last IP must be higher than the current last IP of subnet block
   * All subnet blocks contained within the expanded block will be absorbed by it.   * All subnet blocks contained within the expanded block will be absorbed by it.
-  * The change won’t be applied if an existing subnet block or a subnet has conflicting borders with the new expanded block (i.e. is not fully contained or fully outside new expanded block).+  * The change won’t be applied if an existing subnet block or a subnet has conflicting borders with the new expanded block (i.e. is not fully contained or fully outside the new expanded block).
   * A delegated block cannot be expanded.   * A delegated block cannot be expanded.
- 
-Global settings tab allows global setting related to subnet blocks to be changed for the operation and for that operation only. 
  
  
 ==== List Space ==== ==== List Space ====
-The "List Spaceaction available from the "Other Actionsmenu will simply list, in numerical order, the child subnet blocks and subnets contained within the subnet block. It will list as well the free spaces contained between the child objects with information on their size.+The **List Space** action available from the **Other Actions** menu will simply list, in numerical order, the child subnet blocks and subnets contained within the subnet block. It will list as well the free spaces contained between the child objects with information on their size.
  
-{{ classlistspace_ipv4subnetblock.png }}+{{ classlistspace_ipv4subnetblock-3x.png }}
  
 <note tip> <note tip>
Line 186: Line 218:
  
 ==== Find Space ==== ==== Find Space ====
-This "Find Spaceaction available from the "Other Actionsmenu helps IP administrator to find free space of a given size within a subnet block and to allocate it if required. When selected, the following page is displayed:+This **Find Space** action available from the **Other Actions** menu helps IP administrator to find free space of a given size within a subnet block and to allocate it if required. When selected, the following page is displayed:
  
-{{ classfindspace1_ipv4subnetblock.png }}+{{ classfindspace1_ipv4subnetblock-3x.png }}
  
 This screen allows you to select the size of the free space that you are looking for and the maximum number of offers that you want to receive. Note that only CIDR aligned space can be searched within a subnet block. This screen allows you to select the size of the free space that you are looking for and the maximum number of offers that you want to receive. Note that only CIDR aligned space can be searched within a subnet block.
  
-Once parameters are chosen, hitting the "Applybutton will trigger the search action. The result is then displayed in a list format:+Once parameters are chosen, hitting the **Apply** button will trigger the search action. The result is then displayed in a list format:
  
-{{ classfindspace2_ipv4subnetblock.png }}+{{ classfindspace2_ipv4subnetblock-3x.png }}
    
-All ranges offered can be transformed into a subnet block or a subnet. By clicking the appropriate "+", you’ll open a window where you’ll be able to create the requested object. If you don’t wish to proceed, the top right menus will lead you to your next page.+All ranges offered can be transformed into a subnet block or a subnet. By clicking the appropriate {{ipmini-add-xs.png?nolink|Add icon}}, you’ll open a window where you’ll be able to create the requested object. If you don’t wish to proceed, the top right menus will lead you to your next page.
  
 <note> <note>
Line 202: Line 234:
 </note> </note>
  
 +===== Use cases =====
 +==== Internet Provider - Delegate Space to your customers ====
 +Not only TeemIp offers the possibility to document the space that a Regional Internet Registry has given to your organisation but it provides to Internet Providers (called as well Local Internet Registries) an easy way to delegate part of that space to their customers. This can be done in very few steps. Let's see how:
 +
 +=== 1. Document RIR space ===
 +First of all, document the public IP space given to you by your RIR.
 +
 +{{ classdisplay_rir_subnetblock-3x.png }}
 +
 +=== 2. Find and allocate space ===
 +Through the **Find Space** action (and through that ation **__only__**), look for the space you need in the block and assign it directly to a customer organization. Note that in a RIR block, subnet blocks can be allocated but **__no__** subnet. 
 +
 +{{ rir-delegation-step1-3x.png }}
 +
 +=== 3. Block and subnets are created ===
 +At creation time, the new block is set with LIR Origin and a child subnet of the same size of the block is created. This subnet belongs to the customer organization and can therefore be managed by its members.
 +
 +{{ rir-delegation-step2-3x.png }}
 +
 +<note warning>
 +For that process, IP configuration may need to be adjusted for both the Internet provider and the customer.
 +  * Minimum size of IP Subnet blocks may need to be lowered below 256 IPs,
 +  * IPv4 Subnet blocks have to be CIDR aligned so that child subnet can be created at the same time,
 +  * It may be needed to allow delegation to all organizations and not to children organization only.
 +</note>
2_x/datamodel/subnet-blocks.1597161405.txt.gz · Last modified: 2020/08/11 17:56 by cnaud