📄 rfc1801.txt
字号:
of a routing tree follows the O/R address hierarchy, which is specified in a separate document [15]. Where there is any routing action associated with a node in a routing tree, the node is of object class routingInformation, as defined in Section 10.8.2 The Open Community Routing Tree The routing tree of the open community starts at the root of the DIT. This routing tree also serves the special function of instantiating the global O/R Address space in the Directory. Thus, if a UA wishes to publish information to the world, this hierarchy allows it to do so. The O/R Address hierarchy is a registered tree, which may be instantiated in the directory. Names at all points in the tree are valid, and there is no requirement that the namespace is instantiated by the owner of the name. For example, a PRMD may make an entry in the DIT, even if the ADMD above it does not. In this case, there will be a "skeletal" entry for the ADMD, which is used to hang the PRMD entry in place. The skeletal entry contains the minimum number of entries which are needed for it to exist in the DIT (Object Class and Attribute information needed for the relative distinguished name). This entry may be placed there solely to support the subordinate entry, as its existence is inferred by the subordinate entry. Only the owner of the entry may place information into it. An analogous situation in current operational practice is to make DIT entries for Countries and US States.---------------------------------------------------------------------routingTreeRoot OBJECT-CLASS ::= { SUBCLASS OF {routingInformation|subtree} ID oc-routing-tree-root} Figure 1: Location of Routing Trees---------------------------------------------------------------------Kille Experimental [Page 12]RFC 1801 X.400-MHS Routing using X.500 Directory June 19958.3 Routing Tree Location All routing trees follow the same O/R address hierarchy. Routing trees other than the open community routing tree are rooted at arbitrary parts of the DIT. These routing trees are instantiated using the subtree mechanism defined in the companion document "Representing Tables and Subtrees in the Directory" [15]. A routing tree is identified by the point at which it is rooted. An MTA will use a list of routing trees, as determined by the mechanism described in Section 9. Routing trees may be located in either the organisational or O/R address structured part of the DIT. All routing trees, other than the open community routing tree, are rooted by an entry of object class routingTreeRoot, as defined in Figure 1.8.4 Example Routing Trees Consider routing trees with entries for O/R Address: P=ABC; A=XYZMail; C=GB; In the open community routing tree, this would have a distinguished name of: PRMD=ABC, ADMD=XYZMail, C=GB Consider a routing tree which is private to: O=Zydeco Services, C=GB They might choose to label a routing tree root "Zydeco Routing Tree", which would lead to a routing tree root of: CN=Zydeco Routing Tree, O=Zydeco Services, C=GB The O/R address in question would be stored in this routing tree as: PRMD=ABC, ADMD=XYZMail C=GB, CN=Zydeco Routing Tree, O=Zydeco Services, C=GB8.5 Use of Routing Trees to look up Information Lookup of an O/R address in a routing tree is done as follows: 1. Map the O/R address onto the O/R address hierarchy described in [15] in order to generate a Distinguished Name.Kille Experimental [Page 13]RFC 1801 X.400-MHS Routing using X.500 Directory June 1995 2. Append this to the Distinguished Name of the routing tree, and then look up the whole name. 3. Handling of errors will depend on the application of the lookup, and is discussed later. Note that it is valid to look up a null O/R Address, as the routing tree root may contain default routing information for the routing tree. This is held in the root entry of the routing tree, which is a subclass of routingInformation. The open community routing tree does not have a default. Routing trees may have aliases into other routing trees. This will typically be done to optimise lookups from the first routing tree which a given MTA uses. Lookup needs to take account of this.9. Routing Tree Selection The list of routing trees which a given MTA uses will be represented in the directory. This uses the attribute defined in Figure 2. --------------------------------------------------------------------- routingTreeList ATTRIBUTE ::= { WITH SYNTAX RoutingTreeList SINGLE VALUE ID at-routing-tree-list} RoutingTreeList ::= SEQUENCE OF RoutingTreeName RoutingTreeName ::= DistinguishedName Figure 2: Routing Tree Use Definition --------------------------------------------------------------------- This attribute defines the routing trees used by an MTA, and the order in which they are used. Holding these in the directory eases configuration management. It also enables an MTA to calculate the routing choice of any other MTA which follows this specification, provided that none of its routing trees have access restrictions. This will facilitate debugging routing problems.9.1 Routing Tree Order The order in which routing trees are used will be critical to the operation of this algorithm. A common approach will be:Kille Experimental [Page 14]RFC 1801 X.400-MHS Routing using X.500 Directory June 1995 1. Access one or more shared private routing trees to access private routing information. 2. Utilise the open routing tree. 3. Fall back to a default route from one of the private routing trees. Initially, the open routing tree will be very sparse, and there will be little routing information in ADMD level nodes. Access to many services will only be via ADMD services, which in turn will only be accessible via private links. For most MTAs, the fallback routing will be important, in order to gain access to an MTA which has the right private connections configured. In general, for a site, UAs will be registered in one routing tree only, in order to avoid duplication. They may be placed into other routing trees by use of aliases, in order to gain performance. For some sites, Users and UAs with a 1:1 mapping will be mapped onto single entries by use of aliases.9.2 Example use of Routing Trees Some examples of how this structure might be used are now given. Many other combinations are possible to suit organisational requirements.9.2.1 Fully Open Organisation The simplest usage is to place all routing information in the open community routing tree. An organisation will simply establish O/R addresses for all of its UAs in the open community tree, each registering its supporting MTA. This will give access to all systems accessible from this open community.9.2.2 Open Organisation with Fallback In practice, some MTAs and MDs will not be directly reachable from the open community (e.g., ADMDs with a strong model of bilateral agreements). These services will only be available to users/communities with appropriate agreements in place. Therefore it will be useful to have a second (local) routing tree, containing only the name of the fallback MTA at its root. In many cases, this fallback would be to an ADMD connection. Thus, open routing will be tried first, and if this fails the message will be routed to a single selected MTA.Kille Experimental [Page 15]RFC 1801 X.400-MHS Routing using X.500 Directory June 19959.2.3 Minimal-routing MTA The simplest approach to routing for an MTA is to deliver messages to associated users, and send everything else to another MTA (possibly with backup). An organisation using MTAs with this approach will register its users as for the fully open organisation. A single routing tree will be established, with the name of the organisation being aliased into the open community routing tree. Thus the MTA will correctly identify local users, but use a fallback mechanism for all other addresses.9.2.4 Organisation with Firewall An organisation can establish an organisation community to build a firewall, with the overall organisation being registered in the open community. This is an important structure, which it is important to support cleanly. o Some MTAs are registered in the open community routing tree to give access into the organisation. This will include the O/R tree down to the organisational level. Full O/R Address verification will not take place externally. o All users are registered in a private (organisational) routing tree. o All MTAs in the organisation are registered in the organisation's private routing tree, and access information in the organisation's community. This gives full internal connectivity. o Some MTAs in the organisation access the open community routing tree. These MTAs take traffic from the organisation to the outside world. These will often be the same MTAs that are externally advertised.9.2.5 Well Known Entry Points Well known entry points will be used to provide access to countries and MDs which are oriented to private links. A private routing tree will be established, which indicates these links. This tree would be shared by the well known entry points.9.2.6 ADMD using the Open Community for Advertising An ADMD uses the open community for advertising. It advertises its existence and also restrictive policy. This will be useful for:Kille Experimental [Page 16]RFC 1801 X.400-MHS Routing using X.500 Directory June 1995 o Address validation o Advertising the mechanism for a bilateral link to be established9.2.7 ADMD/PRMD gateway An MTA provides a gateway from a PRMD to an ADMD. It is important to note that many X.400 MDs will not use the directory. This is quite legitimate. This technique can be used to register access into such communities from those that use the directory. o The MTA registers the ADMD in its local community (private link) o The MTA registers itself in the PRMD's community to give access to the ADMD.10. Routing Information Routing trees are defined in the previous section, and are used as a framework to hold routing information. Each node, other than a skeletal one, in a routing tree has information associated with it, which is defined by the object class routingInformation in Figure 3. This structure is fundamental to the operation of this specification, and it is recommended that it be studied with care. --------------------------------------------------------------------- routingInformation OBJECT-CLASS ::= { SUBCLASS OF top KIND auxiliary MAY CONTAIN { subtreeInformation| routingFilter| routingFailureAction| mTAInfo| accessMD| 10 nonDeliveryInfo| badAddressSearchPoint| badAddressSearchAttributes} ID oc-routing-information} -- No naming attributes as this is not a -- structural object class subtreeInformation ATTRIBUTE ::= { 20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -