这种技术的明显缺点是,它要求您记住很多关于网络拓扑结构、快速链接等的信息。更糟糕的是,网络拓扑结构的变化——比如链接被删除或主机被移除——可能会导致消息失败,仅仅是因为您没有意识到这种变化。最后,如果您搬到不同的地方,您很可能必须更新所有这些路由。
然而,使源路由的使用成为必要的一件事是歧义主机名的存在:例如,假设有两个名为 moria 的站点,一个在美国,一个在法国。那么 moria!janet 指的是哪个站点呢?这可以通过指定到达 moria 的路径来明确。
消除主机名歧义的第一步是 UUCP 映射项目 的成立。它位于罗格斯大学,注册所有官方 UUCP 主机名,以及有关其 UUCP 邻居和地理位置的信息,确保没有主机名被使用两次。映射项目收集的信息以 Usenet 地图 的形式发布,这些地图定期通过 Usenet 分发。 地图中一个典型的系统条目(在删除注释后)如下所示。
moria bert(DAILY/2), swim(WEEKLY)这个条目说明 moria 有一个到 bert 的链接,它每天呼叫两次,以及到 swim 的链接,它每周呼叫一次。我们将在下面更详细地讨论地图文件格式。
使用地图中提供的连接信息,您可以自动生成从您的主机到任何目标站点的完整路径。此信息通常存储在路径文件中,有时也称为 路径别名数据库。假设地图声明您可以通过 ernie 到达 bert,那么从上面的地图片段生成的 moria 的路径别名条目可能如下所示
moria ernie!bert!moria!%s如果您现在给出一个 janet@moria.uucp 的目标地址,您的 MTA 将选择上面显示的路由,并将消息发送到 ernie,信封地址为 bert!moria!janet。
然而,从完整的 Usenet 地图构建路径文件并不是一个好主意。其中提供的信息通常相当扭曲,并且偶尔会过时。因此,只有少数主要主机使用完整的 UUCP 世界地图来构建其路径文件。大多数站点仅维护其邻域中站点的路由信息,并将任何找不到其数据库中的站点的邮件发送到具有更完整路由信息的更智能的主机。这种方案称为 智能主机路由。只有一条 UUCP 邮件链接的主机(所谓的叶子站点)不执行任何自己的路由;它们完全依赖于它们的智能主机。