⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 多连接多结点ppp组.htm

📁 internet协议集
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0058)http://www.longen.org/L-R/detaill~r/PPPBundleDiscovery.htm -->
<HTML><HEAD><TITLE>多连接多结点PPP组</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD width="100%"><FONT face=宋体 size=3>
      <P align=justify><STRONG>多连接多结点PPP组(Bundle)发现协议</STRONG></P>
      <P align=justify>1. 介绍</P>
      <P 
      align=justify>多连接PPP允许拨号用户对一个主机打开多个PPP连接。通常这种连接建立在动态申请的情况下,也就是说,当主连接的能力达到极限时,打开一个或多个次连接。当需求减少时关闭次连接。许多拨号主机支持使多个连接拨打同一个电话号码,这就是说必须有一个Modem库来进行响应。可能有许多个独立的Modem连接在远程访问服务器(RAS)上,使用一个模拟电话线路,也可能是一个Modem连接到T1/E1线路上。无论如何RAS必须能够处理请求,但现在的RAS还不能支持上百个连接,这就带来了问题,用户如何在连接了PPP主连接后,再连接PPP次连接。如果RAS已经没有可用的Modem或接收的请求被分配到另一台RAS上就会带来问题。为了解决这一问题,必须使RAS能够判断此连接是PPP主连接还是次连接。如果是次连接,RAS用于在主次连接上传输组头(Bundle 
      Head,BH)在什么地方。如果BH在另一RAS上,协议必须用于传输PPP包到包括BH的RAS上,这样PPP包才能够重组。下面我们会讨论发现机制和传输协议,以及发现协议需要配置的参数。</P>
      <P align=justify>2. BH发现机制</P>
      <P align=justify>当用户拨入RAS进行多连接PPP协商时,RAS必须决定下面的三种情况哪一种存在:</P>
      <OL>
        <LI>这是MP(多连接)的主连接,此时RAS创建BH; 
        <LI>这是MP的次连接,BH就在此RAS上,此时RAS将连接加入到组(bundle)中; 
        <LI>这是次连接,而BH在其它RAS上,此时RAS应该连接到有BH的RAS的连接,使用这一连接传输MP数据。 </LI></OL>
      <P align=justify>在操作时,RAS先判断是不是情况2,如果BH不是本地的而且它确实存在的话,发现协议用于决定BH在什么地方。</P>
      <P align=justify>2.1 包格式</P>
      <P align=justify>UDP端口号:581,组播地址:224.0.1.69。下面是发现消息的格式:</P>
      <P align=center></FONT><IMG height=48 alt=包格式 
      src="多连接多结点PPP组.files/PPPBundleDiscovery-1.gif" width=301></P>
      <TABLE cellSpacing=1 cellPadding=7 width="100%" border=1>
        <TBODY>
        <TR>
          <TD vAlign=top width="15%"><FONT face=宋体 size=3>
            <P align=justify>类型</FONT></P></TD>
          <TD vAlign=top width="11%"><FONT face=宋体 size=3>
            <P align=justify>2字节</FONT></P></TD>
          <TD vAlign=top width="74%"><FONT face=宋体 size=3>
            <P align=justify>1代表查询,2代表响应</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="15%"><FONT face=宋体 size=3>
            <P align=justify>长度</FONT></P></TD>
          <TD vAlign=top width="11%"><FONT face=宋体 size=3>
            <P align=justify>2字节</FONT></P></TD>
          <TD vAlign=top width="74%"><FONT face=宋体 size=3>
            <P align=justify>结束点ID的长度</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="15%"><FONT face=宋体 size=3>
            <P align=justify>随机ID</FONT></P></TD>
          <TD vAlign=top width="11%"><FONT face=宋体 size=3>
            <P align=justify>4字节</FONT></P></TD>
          <TD vAlign=top width="74%"><FONT face=宋体 size=3>
            <P align=justify>由RAS产生用于解析连接</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="15%"><FONT face=宋体 size=3>
            <P align=justify>Hash</FONT></P></TD>
          <TD vAlign=top width="11%"><FONT face=宋体 size=3>
            <P align=justify>2字节</FONT></P></TD>
          <TD vAlign=top width="74%"><FONT face=宋体 size=3>
            <P align=justify>结束点ID的无符号字节的总和。如果它为0则代表无hash产生</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="15%"><FONT face=宋体 size=3>
            <P align=justify>结束点ID</FONT></P></TD>
          <TD vAlign=top width="11%"><FONT face=宋体 size=3>
            <P align=justify>变长</FONT></P></TD>
          <TD vAlign=top width="74%"><FONT face=宋体 size=3>
            <P 
            align=justify>连接的结束点标记,从发现协议的角度看,它是一个透明值。但是,出于对多厂商的互操作性的考虑,此域的格式必须定义</FONT></P></TD></TR></TBODY></TABLE><FONT 
      face=宋体 size=3>
      <P align=center> <IMG height=88 alt=格式 
      src="多连接多结点PPP组.files/PPPBundleDiscovery-2.gif" width=348></P>
      <P align=justify>其中:EPD = 结束点descriminator;remote = 拨号主机;local = 
      RAS;级和长度域长度为1,数据域长度不定,可以为0。MP协议要求RAS都有相同的本地EPD,对于MMP,RAS可能不会使用它IP或MAC地址作为EPD。据有同一个轮询上的RAS都有相同的EPD,不同的轮询上可以共享不同的EPD。本地EPD被包括在结束点标记中以保证在不同轮询上的主机不会被因为EPD的相同而被发现机制发现。除了单播响应消息外,其它据有消息均发送到规定的组播地址上。如果系统不能发送组播消息,可以使用255.255.255.255进行广播。</P>
      <P align=justify>2.2 结束点标记匹配</P>
      <P 
      align=justify>比较结束点ID会是很费事的。首先必须决定EPD的等级,然后再比较值。这些比较是比较费时的,为了提高效率,使用hash域可以提高比较速度。当BH创建后,hash也随之创建并和结束点ID一起保存。当查询或响应消息产生时,hash被创建并保存在这些消息中。当RAS接收到一条消息,它可以进行利用hash和自己表中的相应hash域进行快速比较。如果hash不匹配,结束点不可能匹配,如果hash匹配,还要对结束点ID进行比较以确定是否匹配。创建hash也是有代价的,但对于每个BH和消息,它只创建一次,比较却要进行多次,因此还是划算的。</P>
      <P align=justify>2.3 协议操作</P>
      <P 
      align=justify>在本节中,据有的配置参数由它们的名字指定,例如ROBUSTNESS指传输数目等。发现协议在QUERY_INTERAL时组播ROBUSTNESS查询消息,如果响应消息在上一广播的QUERY_INTERVAL时间之内接收到,RAS会认为这是个主连接并开始建立BH,它发出一个组播响应消息。如果接收到响应消息,则不需要再发出另外的查询消息了,RAS就已经建立了一条通向包括BH的通道了。</P>
      <P 
      align=justify>如果RAS接收到一个MP连接的查询请求,而对此连接已经有BH了,它发出向查询者传送响应消息。这里不需要重复响应消息,因为即使此消息丢失,查询者的下一查询消息还会使RAS发出响应消息的。</P>
      <P align=justify>2.4 处理连接</P>
      <P 
      align=justify>在发送查询消息时,如果接收到相同MP连接的查询消息,则说明拨入结点同时请求多连接,解决的方法是选择BH。每个RAS等待据有的查询消息被发完,此后,拥有最小随机ID的RAS变为BH。如果两台或多台RAS拥有相同的随机ID,拥有最小IP地址的RAS成为BH。这台RAS在QUERY_INTERVAL时间内发出两个响应信息,向MP进行说明应该形成BH。当其它RAS接收到响应信息时,它们停止广播,停止检测附加的响应信息,并且向与它们相关的MP进程说明BH在什么地方。</P>
      <P 
      align=justify>RAS为每个连接产生一个随机ID,在查询和响应信息中使用与相关连接关联的随机ID值。因此随机ID不能重复使用,除非能够保证其它RAS不会因为重复使用随机ID而把信息发错了地方。</P>
      <P align=justify>2.5 MP操作</P>
      <P 
      align=justify>MP必须以下面的算法保证对于相同的MP连接不会有不同的BH。在进行MP连接时,必须首先检查是否已经为此连接创建了BH。如果创建了,则直接与此BH产生关联即可不必进行发现。作为一种优化,如果MP未发出此连接的BH,但发现存在此连接的次连接,MP应该连接到这个已知的BH上,而不进行发现。如果MP未找到已知的BH,那就进行发现过程,如果发现过程发现了BH,那MP就应该使用这个BH,如果发现过程没有发现,则MP创建新的BH。当RAS决定要为连接创建BH时,不要拖延,越快越好,因为越快建立就可以越早地为其它RAS主机进行响应,如果这个RAS拖延了,其它主机可能建立它们自己的BH。</P>
      <P align=justify>3. 传输协议</P>
      <P align=justify>第二层通道协议(L2TP)用于将PPP数据从包括次连接的RAS传输到包括BH的RAS上。</P>
      <P align=justify>4. 配置</P>
      <P align=justify>有两个必须的配置开关和一个条件配置开关。它们都是必须配置的。</P>
      <P align=justify>4.1 Robustness</P>
      <P 
      align=justify>此开关设置查询消息的重复次数,其值在1-15之间,默认值为3。这个值太小了可能会造成查询不完全,太大了会使用MP超时,在网络情况不好时可以设置大一点。</P>
      <P align=justify>4.2 Query Interval</P>
      <P 
      align=justify>此开头设置在响应消息和查询消息之间的时间。它的单位是1/10秒,值在1-15之间,默认值为1。太大了会使用MP超时,在网络情况不好时可以设置大一点。</P>
      <P align=justify>4.3 TTL(条件的)</P>
      <P 
      align=justify>此开关设置所有发现包IP层的TTL,对于使用限制广播地址的系统,不应该实现此开关,TTL应该设置为1,默认值是1。</P>
      <P align=justify>5. 安全问题</P>
      <P 
      align=justify>发现机制中没有涉及到安全机制,当不转发组播包时,发现包会局限于一个LAN内,如果LAN在物理上安全的,不需要进行软件上的保护。如果可以进行组播转发,但限制的范围很小,只需要物理上的安全网络,不需要进行软件保护。如果组播可以穿过整个Internet(虽然不推荐这样做)对RAS的认证可以通过IPSEC完成。</FONT></P></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -