我对协议和 OSI 模型有一些基本了解。例如,我知道很多有关 HTTP 和 FTP 的工作方式或 TCP 和 UDP 之间的区别,但我从未研究过互联网协议的具体细节。不过,我对调制解调器的底层有一个疑问(我使用的是 ADSL 连接)。
我知道常见的 ADSL 调制解调器需要身份验证,并且能够与服务器通信以检索 IP 号码并通过互联网与其他计算机连接,对吗?
但是我的调制解调器第一次如何连接到这个“服务器”?当我设置互联网时,我唯一做的事情就是将调制解调器连接到固定电话,配置一些设置和身份验证信息,然后就好了。
我确信我从未配置过服务器地址,而且我相信不会有地址;因为这是在我有 IP 地址之前发生的。
ADSL 调制解调器如何在物理设置后发现网络?
答案1
以下是我的设置的运作方式:
调制解调器将尝试与 DSLAM 协商第一层通信。我对这部分不太了解,因此就不多说了。
我有一个路由器(通常可以集成到调制解调器中),它启动 PPPoE 会话,然后调制解调器将 PPPoE 封装到 PPPoA 中。不同的设置对这部分操作不同。在某些情况下,路由器可能会直接使用 PPPoA,或者调制解调器可能会解压 PPPoE 并将其重新打包为 PPPoA。在某些情况下,提供商的核心网络可能会使用以太网而不是 ATM,那么根本不会有 PPPoA。
然后路由器继续广播以太网上的 PPP主动发现启动 (PADI) 数据包并等待某些东西对其做出响应。
数据包通过我电信的核心网络到达宽带远程访问服务器。在我的例子中,有好几个。每个都会向路由器的 WAN 侧 MAC 地址发送回复。回复数据包的类型称为 PPP over Ethernet Active Discovery Offer (PADO),其中包含发送回复的设备名称、服务名称、唯一标识等信息。
我的路由器收到第一个 PADO 后,它会发送 PPP 主动发现请求。
然后,它完成以太网上的 PPP 主动发现阶段,发起会话并开始使用 PPP 进行通信链路控制协议。我认为会话号码是用来维持与BRAS的连接。
路由器发送 PPP LCP 配置请求数据包。
BRAS 应首先发送 LCP 配置确认数据包,然后使用配置请求类型的数据包进行响应,并指示其支持哪些类型的身份验证协议。在我的例子中,这只是密码认证协议(人民行动党)。
路由器接收来自BRAS的配置请求并发出确认。
之后,使用身份验证请求路由器中的 PAP 发送用户名和密码(由于使用了 PAP,因此它是纯文本,可供所有人查看)。
然后,BRAS 会以 PAP 身份验证确认数据包进行响应,表明身份验证成功。身份验证本身通常使用连接到 BRAS 的另一个专用身份验证、授权和计费服务器。
之后他们转向互联网协议控制协议。在此类网络中,它代替 DHCP 使用。
路由器发送 IPCP 配置请求并指示它想要获取哪些参数,在我的情况下是 IP 地址和主 DNS 服务器和辅助 DNS 服务器。
之后,它会将 IPv6CP 配置请求与设备标识符一起发送出去。
然后,BRAS 发送带有 IPv4 地址的 IPCP 配置确认数据包。
接下来,BRAS 发出 IPCP 协议拒绝包,拒绝 PPP IPv6CP 请求。
此后,我的路由器再次发送 IPCP 配置请求,并接收带有 IPv4 地址和 DNS 服务器地址的 IPCP 配置确认。
完成上述操作后,BRAS 会发出 PPPoE 主动发现会话确认数据包,从此,我便可以连接互联网了。然后,通信从我这里通过电信公司的网络进入 ISP 的网络,最后进入互联网。
还有一点我要提一下,LCP 启动后,我的路由器每秒都会发出一次 LCP 回显请求并收到 LCP 回显回复。通过这个,它可以确认它确实具有 Internet 连接。
最后,为了终止会话,可以发送 PPP 主动发现终止数据包,或者设备可以跳过足够多的 Echos 以使连接因缺少保持活动消息而终止。
在我的例子中,不使用 PADT。相反,路由器会发出 LCP 终止请求,并在收到 LCP 终止确认后关闭 WAN 接口。
答案2
这包括两个部分:
1) 调制解调器连接到线路另一端的调制解调器。这涉及一个“训练”过程,通过测量线路的电气特性来确定线路上可以实现的带宽。在此过程结束时,调制解调器可以交换数字数据。
2) 现在有数字链路,调制解调器将发出 DHCP 请求。这是一个“链路本地广播” - 它会发送到另一个调制解调器及其所在的网络,但不会再进一步。您的 ISP 将发送一个响应,其中包含 IP 地址和要使用的默认网关的地址。