网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)

互联网与家庭网络的区别

 
     互联网是一个遍布世界的巨大而复杂的系统

但其基本工作方式却出奇地简单。
和家庭

公司网络一样

互联网也是通过路由器来转发包的
, 而且路由器的基本结构和工作方式也并没有什么不同(如

)。
因此

我们可以将互联网理解为家庭、
公司网络的一个放大版
   

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

     
当然,互联网也有一些和家庭、公司网络不同的地方,其中之一就是与转发设备间的距离

在家庭

公司网络中
,与转发设备之间的距离不过几十米到几百米,
在这种情况下

只要延长以太网线就可以到达相邻的转发设备了

然而

互联网可不能这么搞

因为你家到最近的电话局至少也有几公里的距离,
而从日本连接到美国甚至要跨越太平洋

用以太网线是无法实现这种连接的。
除了距离之外,路由器在如何控制包的转发目标上也不一样

尽管从基本原理来看,
互联网也是根据路由表中的记录来判断转发目标的

但路由表记录的维护方式不同

互联网中的路由器上有超过
10
万条路由记录,
而且这些记录还在不断变化

当出现线路故障时

或者新的公司加入互联网时,
都会引发路由的变化

人工维护这些路由信息是不现实的,必须实现自动化

公司的路由器也有自动维护路由表的机制

但出于各种原因,
互联网中采用的机制和公司有所区别
 
 
距离的不同和路由的维护方式,就是互联网与家庭、公司网络之间最主要的两个不同点  

 

 

用户接入互联网:接入网

    网络包通过交换机和路由器的转发一步一步地接近它的目的地,
在通过互联网接入路由器之后

就进入了互联网

刚才讲过,
路由器的转发操作都是相同的,
简单来说,就是根据包 IP 头部中的接收方 IP 地址在路由表的目标地址中进行匹配,找到相应的路由记录后将包转发到这条路由的目标网关

不过

互联网接入路由器发送网络包的操作和以太网路由器有一点不同,
互联网接入路由器是按照接入网规则来发送包的

所谓接入网

就是指连接互联网与家庭

公司网络的通信线路

一般
家用的接入网方式包括
ADSL
B

FTTH
C

CATV

电话线

ISDN


公司
则还可能使用专线

接入网的线路有很多种类

我们无法探索所有这些线路,
因此下面先介绍一个比较有代表性的例子
——
ADSL
     

ADSL Modem 

 
     ADSL
技术使用的接入线路

其内部结构如图
所示

在这张图中 网络包是从右往左传输的。
用户端路由器
发出的网络包通过
ADSLModem
和电话线到达电话局

然后到达
ADSL
的网络运营商


ISP

互联网服务提供商)。
在网络包从用户传输到运营商的过程中

会变换几种不同的形态,
整个过程如图
所示。        

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

接入网: 
接入网这个词表示的是通信线路的用法,而并不表示通信线路的结构。例
如公司里使用的专线,当它用来连接互联网时就叫作接入网,而用来连接
总公司和分公司时就不叫接入网。此外,接入网这个词也不仅限于互联
网,当使用运营商提供的通信服务时,一般都会将用户与运营商之间的线
路叫作接入网。  
ADSL

Asymmetric Digital Subscriber Line
,不对称数字用户线。它是一种利用架设在电线杆上的金属电话线来进行高速通信的技术,它的上行方向 (用户到互联网)和下行方向(互联网到用户)的通信速率是不对称的。  
ADSL Modem
(也叫路由型
ADSL Modem
),其实就是把路由器和
ADSL Modem 装到一个外壳里而已。  
Modem:调制解调器,一般自己家里如果有联网的话都有接触过这个东西。  

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

 
     首先

客户端生成的网络包


①和②

先经过集线器和交换机到达互联网接入路由器(

 

),
并在此从以太网包中取出
IP
包并判断转发目标(




接下来

包发送的操作也很类似
。如果互联网接入路由器和 ADSL Modem
之间是通过以太网连接的

那么就会按照以太网的规则执行包发送的操作,
发送信号本身的过程跟之前是一样的
, 但以太网的头部会有一些差异。
这部分的具体情况各运营商会有所不同
, 而且还需要一些关于BAS
A

位于接入网另一端的包转发设备

的知识

因此相关的细节我们在探索 BAS
的时候再具体讲解

这里大家先记住

网络包会加上 MAC
头部

PPPoE
头部

PPP
B
头部总共
3
种头部



),
然后按照以太网规则转换成电信号后被发送出去。  

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

    每一个小格子称为一个信元

信元是一个非常小的数据块

开头是有
5
个字节的头部,
后面是
48
个字节的数据

用于一种叫作
ATM
A
的通信技术
。 大家可以将信元理解为一种更小一号的包,
原理上跟
TCP/IP
将应用程序的数据拆分成块装进一个个包的过程是一样的
。 说点题外话,
其实之所以要将包拆分成信元

原因是这样的

当初开发 ADSL
技术时

通信业比较看好
ATM
技术

各运营商也在
ATM
相关的 设备上投入了很多资金。
在这样的情况下

如果使用信元来传输数据

就比较容易和其他设备进行整合,
可以降低开发投入和设备投入

如果不是出于这样的原因,
其实并不需要将包拆分成信元

实际上也有一些
ADSL 运营商使用的 ADSL Modem
是不进行数据拆分的
 
ATM

Asynchronous Transfer Mode
,异步传输。它是在以电话线为载体的传统电话技术基础上扩展出来的一种通信方式。它的数据传输是以“信元”为单位来进行的,这和以包为单位传输数据的 TCP/IP
很像,但这种方式并不适用于计算机通信。        

ADSL工作方式

 

     将网络包拆分成信元之后

接下来就要将这些信元转换成信号了(上图

)。
以太网采用的是用方波信号表示 0

1
的方式

这种方式很简单

但同样是将数字信息转换成模拟信号,
ADSL
采用的方法要复杂一些

其中有两个原因

一个原因是方波信号的波形容易失真,
随着距离的延长错误率也会提高

另一个原因是方波信号覆盖了从低频到高频的宽广频段,
信号频率越高

辐射出来的电磁噪声就越强,
因此信号频谱太宽就难以控制噪声

因此,ADSL Modem 采用了一种用圆滑波形(正弦波)对信号进行合成来表示 0 和 1 的技术,这种技术称为调制
 
    
调制有很多方式,ADSL 采用的调制方式是振幅调制(ASK)和相位调制(PSK)相结合的正交振幅调制(QAM)方式
   
 振幅调制(ASK)  
    
下面先来看一下它的两个组成要素

振幅调制是用信号的强弱,也就是信号振幅的大小来对应 0 和 1 的方式

如图

b
),
振幅小的信号为
0

振幅大的信号为
1

这是一种最简单的对应关系。  

    在这个例子中振幅大小只有两个级别如果增加振幅变化的级别,就可以对应更多的比特例如如果将振幅增加到 4 个级别, 则振幅从小到大可分别对应 000110 11这样就可以表示两个比特了。这样做可以将单位时间内传输的数据量加倍也就能够提高速率以此类推,如果振幅有 8 个级别就可以表示 3 个比特16 个级别就可以表示 4 个比特速率也就越来越高不过信号会在传输过程中发生衰减,也会受到噪声影响而失真,如果振幅级别太多接收方对信号的识别就容易出错,因此振幅级别也不能太多。

 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

 
相位调制(PSK)  

      另一个组成要素是相位调制这是一种根据信号的相位来对应 0 1 的方式。Modem 产生的信号是以一定周期振动的波如图所示振动的起始位置不同,波的形状也就不同如果将波的一个振动周期理解为一个圆,则起始位置就可以用 0 度到 360 度的角度来表示这个角度就是相位,用角度来对应 0 1 的方式就叫作相位调制例如,从 0 度开始的波为 0,从 180 度开始的波为 1,这是一种最简单的对应关系如图c)所示。和振幅调制一样相位调制也可以通过将角度划分为更细的级别来增加对应的比特数量,从而提高速率但是角度太接近的时候也容易产生误判,因此这样提升速率还是有限度的。

     注意:在上图(c)中,在虚线处,波以多少度的角进入,下一个虚线区间就代表其进入角度对应的数字

180度进入,代表1:《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

0度进入,代表0:《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

 

正交振幅调制(QAM)

     
ADSL 使用的正交振幅调制就是将前面这两种方式组合起来实现的
。 图

d

就是将图

b

和图

c

组合起来的一个例子

大家应该一看就明白了。
如果信号的振幅可以表示
1
个比特

相位可以表示
1
个比特
, 那么加起来就可以表示 2
个比特

因此

将两种方式组合起来

正交振幅调制就可以用一个波表示更多的比特,
从而提高传输速率

正交振幅调制中

通过增加振幅和相位的级别
,就可以增加能表示的比特数。
例如

如果振幅和相位各自都有
4
个级别

那么组合起来就有
16 个级别,
也就可以表示
4
个比特的值

当然

和单独使用振幅调制或相位调制的情况一样,
级别过多就容易发生误判

因此这种方法提升的速率是有限度的。  

 

ADSL使用多个波来提高速率

    上面的例子中的信号是一个频率的波实际上信号不一定要限制在一个频率。不同频率的波可以合成,也可以用滤波器从合成的波中分离出某个特定频率的波因此我们可以使用多个频率合成的波来传输信号, 这样一来,能够表示的比特数就可以成倍提高了。 ADSL 就是利用了这一性质通过多个波增加能表示的比特数来提高速率的。具体来说如图所示ADSL 使用间隔为 4.3125 kHz 的上百个不同频率的波进行合成,每个波都采用正交振幅调制而且根据噪声等条件的不同,每个波表示的比特数是可变的也就是说,噪声小的频段可以给波分配更多的比特,噪声大的频段则给波分配较少的比特,每个频段表示的比特数加起来,就决定了整体的传输速率

 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

 
     ADSL
技术中

上行方向(用户到互联网)和下行方向(互联网到用户)的传输速率是不同的

原因也在这里

如果上行使用
26
个频段

下行则可以使用 95
个或者
223
个频段

波的数量不同

导致了上下行速率不同。 当然,
下行使用的频段较高

这些信号容易衰减而且更容易受到噪声的影响,
因此这些频段可能只能表示较少的比特数

或者干脆无法传输信号。
距离越远

频率越高

这种情况也就越显著

因此如果你家距离电话局太远,
速率就会下降
。 噪声和衰减等影响线路质量的因素在每条线路上都不同,
而且会随着时间发生变化。
因此

ADSL
会持续检查线路质量

动态判断使用的频段数量,
以及每个频段分配到的比特数

具体来说


Modem
通电后

会发送测试信号,
并根据信号的接收情况判断使用的频段数量和每个频段的比特数,
这个过程称为训练

握手
),
需要几秒到几十秒的时间
     

分离器的作用

 
     ADSL Modem
将信元转换为电信号之后

信号会进入一个叫作分离器的设备,
然后
ADSL
信号会和电话的语音信号混合起来一起从电话线传输出去。
在信号从用户端发送出去时,电话和 ADSL 信号只是同时流到一条线路上而已,分离器实际上并没有做什么事。 分离器的作用其实在相反的方向,也就是信号从电话线传入的时候
。 这时,
分离器需要负责将电话和
ADSL
的信号进行分离

电话线传入的信号是电话的语音信号和 ADSL
信号混合在一起的

如果这个混合信号直接进入电话机,
ADSL
信号就会变成噪音

导致电话难以听清

为了避免这样的问题,
就需要通过分离器将传入的信号分离

以确保
ADSL信号不会传入电话机。
具体来说

分离器的功能是将一定频率以上的信号过滤掉,
也就是过滤掉了
ADSL
使用的高频信号

这样一来

只有电话信号才会传入电话机,
但对于另一头的
ADSL Modem

则是传输原本的混合信号给它。
ADSL Modem
内部已经具备将
ADSL 频率外的信号过滤掉的功能

因此不需要在分离器进行过滤。    

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

     
大家可能会认为分离器的功能只是过滤掉高频信号,防止 ADSL 对电话产生干扰,而实际上它还可以防止电话对 ADSL 产生干扰

如果没有分离器,
拿起电话听筒接通电话的状态

和放下听筒挂断电话的状态下

信号的传输方式是不同的。
当放下听筒时

电话机的电路和电话线是断开的
, 当拿起听筒时电话机就和电话线相连,
电话机的信号就会传到电话线上
。 这两种状态的差异会导致噪声等线路状态的改变,
如果
ADSL
通信过程中拿起话筒导致线路状态改变,
就需要重新训练

握手
),
这就会导致几十秒的通信中断,
分离器可以防止发生这样的问题

当然,也有一种技术能够快速重新握手,即便没有分离器也不会影响 ADSL 通信,G.992.2 的 ADSL规格就包含这种技术


ADSL
信号还是会影响电话

因此
G.992.2
的ADSL 规格中一般还是需要使用分离器

 

 

从用户电话机到电话局

 
    从分离器出来

就是插电话线的接口

信号从这里出来之后

会通过室内电话线,
然后到达大楼的
IDF
A

MDF
B

外面的电话线在这里和大楼内部的室内电话线相连接。
如果是独栋住宅

就可以将室外线和室内线直接连起来。
通过配线盘之后

信号会到达保安器

保安器是为了防止雷电等情况下电话线中产生过大电流的一种保护装置,
内部有保险丝
。接下来,
信号会进入电线杆上架设的电话电缆

电话线是一种直径0.32~
0.9 mm
C
的金属信号线

这些信号线如图
4.8
所示被捆绑在一起

 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

   电话电缆在用户住宅附近一般是架设在电线杆上

但中途会沿电线杆侧面的金属管进入地下。
由于电话线必须进入很多住宅和大楼

所以电话局附近就会集结数量庞大的电缆,
这么多电缆要通过电线杆引入电话局是非常不现实的,
电话局周围得密密麻麻地立满了电线杆

而且电线杆上架设过多的电缆,
还会产生防灾方面的问题

因此

在电话局附近

电话线
都是埋在地下的

由于电话局附近的地下电缆很多
,集中埋设电缆的地方就形成了一条地道,
这部分称为电缆隧道

如照片
)。
通过电缆隧道进入电话局后,
电缆会逐根连接到电话局的
MDF 上。

 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

   

 

通过DSLAM到达BAS

DSLAM

DSL Access Multiplexer
,数字用户线接入复用设备。它是一种电话局用的多路 ADSL Modem
,可以理解为将多个
ADSL Modem
整合在一个外壳里的设备。

 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

     信号通过电话线到达电话局之后

会经过配线盘

分离器到达
DSLAM
A(上图

)。
在这里

电信号会被还原成数字信息
——
信元



)。 DSLAM 通过读取信号波形

根据振幅和相位判断对应的比特值

将信号还原成数字信息,
这一过程和用户端的
ADSL Modem
在接收数据时的过程是一样的。
因此

如果在电话局里安装一大堆和用户端一样的
ADSL Modem,
也可以完成这些工作

只不过安装这么多
Modem
需要占用大量的空间,
而且监控起来也非常困难

因此,电话局使用了 DSLAM 设备, 它是一种将相当于很多个 ADSL Modem 的功能集中在一个外壳里的设备
。 不过,
DSLAM
和用户端
ADSL Modem
相比还是有一个不同的地方
。 用户端 ADSL Modem
具备以太网接口

可以与用户端的路由器和计算机交互,
收发以太网包


DSLAM
一般不用以太网接口

而是用
ATM
接口

和后方路由器收发数据时使用的是原始网络包拆分后的
ATM
信元形式
。信元从 DSLAM
出来之后

会到达一个叫作
BAS
的包转发设备
 
    
BAS

DSLAM
一样

都具有
ATM
接口

可以接收
ATM
信元,
还可以将接收到的
ATM
信元还原成原始的包

图 11
)。
到这里
, BAS 的接收工作就完成了

接下来

它会将收到的包前面的
MAC
头部和PPPoE 头部丢弃

取出
PPP
头部以及后面的数据

图 13
)。
MAC
头部和PPPoE 头部的作用是将包送达
BAS
的接口

当接口完成接收工作后

它们就完成了使命,
可以被丢弃了

具有以太网接口的路由器在接收到包之后也会丢弃其中的 MAC
头部

道理是一样的

接下来

BAS
会在包的前面加上隧道专用头部

并发送到隧道的出口


14

。 然后,
网络包会到达隧道出口的隧道专用路由器

图15
),
在这里隧道头部会被去掉,
IP
包会被取出


16
),
并被转发到互联网内部

图 17
)。      

接入网时使用的PPP和隧道

 
    刚才已经简单讲过

用户发送的网络包会通过
ADSL

FTTH (光纤)
等接入网到达运营商
的 BAS(Broadband Access Server 宽带接入服务器
)。
互联网本来就是由很多台路由器相互连接组成的,因此原则上应该是将接入网连接到路由器上

随着接入网发展到
ADSL

FTTH

接入网连接的路由器也跟着演进,
而这种进化型的路由器就叫作
BAS
 
    
下面我们来具体讲一讲。首先是用户认证和配置下发功能。
ADSL 和 FTTH 接入网中,都需要先输入用户名和密码,登录之后才能访问互联网,而 BAS 就是登录操作的窗口。BAS 使用 PPPoE (PPPoE:Point-to-Point Protocol over Ethernet,以太网的点对点协议。)方式来实现这个功能

PPPoE
是由传统电话拨号上网上使用的 PPP
协议发展而来的

所以我们先来看一看
PPP
拨号上网的工作方式。  
ppp工作方式  
       在使用电话线或者
ISDN
拨号上网时

PPP
是如图
这样工作的

首先
,用户向运营商的接入点拨打电话(


-1
),
电话接通后


 

-2
)输入用户名和密码进行登录操作(

 

-2
)。
用户名和密码通过
RADIUS
协议从
RAS
G
发送到认证服务器

认证服务器校验这些信息是否正确
。当确认无误后,
认证服务器会返回
IP
地址等配置信息

并将这些信息下发给用户 (图
 

-3
)。
用户的计算机根据这些信息配置
IP
地址等参数

完成
TCP/IP 收发网络包的准备工作

接下来就可以发送
TCP/IP
包了


 

)。 这个过程的重点在于图

-3
下发
TCP/IP
配置信息的步骤

在接入互联网时,必须为计算机分配一个公有地址,但这个地址并不是事先确定的。因为在拨号连接时,可以根据电话号码来改变接入点,而不同的接入点具有不同的 IP 地址,因此无法事先在计算机上设置这个地址。所以,在连接时运营商会向计算机下发 TCP/IP 配置信息,其中就包括为计算机分配的公有地址。    

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

RAS

Remote Access Server
,远程访问服务器
RADIUS

Remote Authentication Dial-in User Service
,远程认证拨号用户服务。      

PPP上网的三种方式

   
    ADSL

FTTH
接入方式也需要为计算机分配公有地址才能上网

这一点和拨号上网是相同的。
不过

ADSL

FTTH


用户和 BAS 之间是通过电缆或光纤固定连接在一起的,因此没有必要验证用户身份,所以实际上并不需要 PPP 的所有这些功能

然而

通过用户名和密码登录的步骤可以根据用户名来切换不同的运营商,
这很方便

因此

接入运营商在ADSL 和
FTTH
中一般也会使用
PPP
。 不过,
拨号上网的
PPP
是无法直接用于
ADSL

FTTH


要理解这里的原因,
我们先来看看
PPP
协议是如何传输消息的
。 传输 PPP
消息的思路和将
IP
包装入以太网包中传输是一样的

PPP
协议中没有定义以太网中的报头和 FCS
等元素

也没有定义信号的格式

因此无法直接将 PPP
消息转换成信号来发送

要传输
PPP
消息

必须有另一个包含报头、
FCS

信号格式等元素的

容器
”,
然后将
PPP
消息装在这个容器里才行。
于是

在拨号接入中
PPP
借用了
HDLC
C
协议作为容器

而 HDLC 协议原本是为在专线中传输网络包而设计的

拨号接入方式对这一规格进行了一些修正。
最终

PPP
消息就是像图

a

这样来进行传输的
。 ’  
HDLC

High-level Data Link Control
,高级数据联接控制  
     
对于 ADSL 和 FTTH,如果可以和前面一样借用 HDLC 来作为容器,PPP 协议就可以直接使用了

但是

ADSL

FTTH
并不能使用
HDLC
,因此需要寻找另一个机制作为替代。
于是

如图

b

③和图

c
) ③所示,
我们用以太网包代替
HDLC
来装载
PPP
协议

此外

以太网和PPP 在设计上有所不同

为了弥补这些问题就重新设计了一个新的规格
, 这就是 PPPoE
 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

   

 

除PPPoE之外的方式:PPPoA

 
PPPoA

Point-to-Point Protocol over ATM
 
     刚才我们讲的内容都是基于
PPPoE
方式的

实际的接入网还有其他一些方式,比如PPPoA。  
    
 首先,
我们先看看使用
PPPoA
A
方式的
ADSL
接入网

ADSL
使用PPPoE 方式时

是先将 PPP 消息装入以太网包中,然后再将以太网包拆分并装入信元,而 PPPoA 方式是直接将 PPP 消息装入信元(下图)

由于只是开头加不加 MAC
头部和
PPPoE
头部的区别

PPP
消息本身是没有区别的,
因此密码校验

下发
TCP/IP
配置参数

收发数据包等过程都是和PPPoE 基本相同的

不过

虽然开头加不加
MAC
头部和
PPPoE
头部看上去只是很小的区别,
但却会对用户体验产生一定的影响

 
   PPPoA 方式不添加 MAC 头部和 PPPoE 头部,而是直接将包装入信元中。
由于 PPPoA 没有 MAC 头部,所以 PPP 消息是无法通过以太网来传输的,这就意味着需要和 BAS 收发 PPP 消息的设备,也就是计算机和路由器,必须和 ADSL Modem 是一体的,否则 PPP 机制就无法工作了

这个一体化的方式主要有以下两种。第一种是将计算机和 ADSL Modem

USB
接口连接起来

这样ADSL Modem 就和计算机成为一体了

不过

这种方式最终并没有普及。  

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

     另一种方式是像下图
所示的这样


ADSL Modem
和路由器整合成一台设备。
这种方式和
PPPoE
中使用路由器上网的方式基本没什么区别

因此得到了广泛的普及。
不过

正如我们刚才提到的

当由于地址转换产生问题时,
这种方式就不容易处理了

因为我们无法抛开路由器用计算机直接上网。  

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

 
      当然

PPPoA

PPPoE
相比也有一些优势

PPPoE
方式中

需要添加
PPPoE
头部和
PPP
头部

这意味着
MTU(最大传输单元) 
就相应变小了
, 这可能会降低网络的效率。

PPPoA
不使用以太网包来传输
PPP
消息
,因此不会发生 MTU
变小的问题
。 PPPoE 会降低网络效率

PPPoA
也有
ADSL Modem
和路由器无法分
离的限制

这两个问题其实都是由
PPP
引起的

因此
,有一些运营商不使用 PPP

他们使用
DHCP
协议从
BAS
向用户端下发
TCP/IP
配置信息
。 DHCP 经常用于通过公司网络向客户端计算机下发
TCP/IP
配置信息
, 其原理如图
所示

首先客户端请求配置信息



),
然后
DHCP服务器下发配置信息(

 

),
非常简单

不需要像
PPP
那样需要多个步骤,
也不需要验证用户名和密码

没有用户名和密码

就意味着无法通过用户名来切换运营商网络,
但这种方式也有优势

它可以单纯地直
接传输以太网包

不需要添加额外的
PPP
头部

因此不会占用
MTU。此外,
采用
DHCP
的运营商使用的
ADSL Modem
也和
PPPoE

PPPoA方式不同,
这种
ADSL Modem
不使用信元

而是直接将以太网包调制成ADSL 信号

因此没有
ADSL Modem
和路由器无法分离的问题
 

 

通过隧道将网络包发给运营商

 
     
BAS 除了作为用户认证的窗口之外,还可以使用隧道方式来传输网络包。所谓隧道,就类似于套接字之间建立的 TCP 连接
 
    

TCP
连接中
, 我们从一侧的出口(
套接字

放入数据

数据就会原封不动地从另一个出口出来,
隧道也是如此

也就是说

我们将包含头部在内的整个包从隧道的一头扔进去,
这个包就会原封不动地从隧道的另一头出来

就好像在网络中挖了一条地道,
网络包从这个地道里穿过去一样
。 像这样,
如果在
BAS
和运营商路由器之间的
ADSL/FTTH
接入服务商的网络中建立一条隧道,
将用户到
BAS
的接入网连接起来

就形成了一条从用户一直到运营商路由器的通道,
网络包通过这条通道

就可以进入互联网内部了,
这样的机制就类似于将接入网一直延伸到运营商路由器
。 隧道有几种实现方式,
刚才提到的
TCP
连接就是其中一种实现方式 (图

a
))。  

    这种方式中首先需要在网络上的两台隧道路由器之间建立 TCP 连接然后将连接两端的套接字当作是路由器的端口并从这个端口来收发数据。换句话说在路由器收发包时是基于隧道的规则向隧道中放入或取出网络包,这时TCP 连接就好像变成了一根网线包从这里穿过到达另一端。图b中还介绍了另一种基于封装encapsulation的隧道实现方,这种方式是将包含头部在内的整个包装入另一个包中传输到隧道的另一端。在这种方式中包本身可以原封不动地到达另一端的出口从结果上看和基于 TCP 连接的方式是一样的都实现了一个可供包进行穿梭的通道通过前面的介绍大家可以发现,无论任何机制,只要能够将包原封不动搬运到另一端,从原理上看就都可以用来建立隧道。

 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

 

 

用户接入互联网的步骤纵览

 

      理解了 PPPoE 和隧道的原理之后下面来看看接入网的整体工作过程。

1)接入网的工作从用户端的互联网接入路由器进行连接操作开始

     首先, 接入路由器中需要配置运营商分配的用户名和密码 然后接入路由器会根据 PPPoE 的发现机制来寻找 BAS这一机制和 ARP 一样是基于广播来实现的,过程如下很简单。 用户询问:“BAS 在不在在的话请报告 MAC 地址。” BAS 回答:“我在这里我的 MAC 地址是 xx:xx:xx:xx:xx:xx。” 这样用户端就知道了 BAS MAC 地址也就可以和 BAS 进行通信了。大家可以认为前面这个过程相当于拨号上网中拨通电话的动作。 互联网接入路由器通过 PPPoE 的发现机制查询 BAS 的 MAC 地址。

2)接下来,进入用户认证和下发配置的阶段

    这里的工作过程有点复杂我们只说重点第一个重点是用户名和密码如何发送给 BAS这里有两种方式一种是将密码进行加密的 CHAPB 方式另一种是不加密的 PAPC 方式在互联网接入路由器的设置画面中可以选择。进行加密的 CHAP 方式显然安全性更高一般也推荐使用这种方式,但也并不是说使用不加密的 PAP 方式密码就立刻会被窃取由于明文密码只在 BAS 和用户端路由器之间传输 ,所以如果要窃取密码,要么在路由器和 ADSL Modem 中间进行窃听,要么爬到电线杆上安装窃听装置拾取电缆中泄漏的电磁波不过光纤是不会泄漏电磁波的因此无法通过第二种方式进行窃听。

     第二个重点是,在校验密码之后 BAS 如何向用户下发 TCP/IP 配置信息。这里下发的配置信息包括分配给上网设备的 IP 地址 、DNS 服务器的IP 地址以及默认网关的 IP 地址。当使用路由器连接互联网时,路由器会根据这些信息配置自身的参数。这样一来,路由器的 BAS 端的端口就有了公有地址,路由表中也配置好了默认网关,接下来就可以将包转发到互联网中了接下来客户端就会开始发送用来访问互联网的网络包比如有人在浏览器里输入了一个网址,这时网络包就开始发送了这些包的目的地是互联网中的某个地方,这个地方或许在互联网接入路由器的路由表里是找不到的。这时路由器会选择默认路由并将这个包转发给默认路由的网关地址,也就是 BAS 下发的默认路由这里的操作过程和路由器转发包的过程相同 只不过在通过路由表判断转发目标之后包不是按照以太网规则转发,而是按照 PPPoE 规则转发具体的过程如下

     首先,如图 要发送的包会被加上头部信息并设置相应的字段第一个 MAC 头部中接收方 MAC 地址填写通过 PPPoE 发现机制查询到的BAS 的 MAC 地址发送方 MAC 地址填写互联网接入路由器的 BAS 端的端口的 MAC 地址然后以太类型填写代表 PPPoE 8864十六进制)。接下来是 PPPoE 头部和 PPP 头部它们包含的字段如图所示其中除了载荷长度之外,其他的值都是可以事先确定的,载荷长度就是需要传输的包的长度再往后的部分就是包含 IP 头部在内的原始网络包可以说,这里的转发操作中基本上不需要根据头部中的信息进行判断,只要将事先准备好的头部加上去就可以了。然后网络包会被转换成信号从相应的端口发送出去。

 

《网络知识入门,用户如何连接互联网,ADSL调制解调器的妙用,PPP上网的三种方式(十二)》

  3)去头部  
     接下来

网络包会到达
BAS


BAS
会将
MAC
头部和
PPPoE
头部去掉,
取出
PPP
头部以及后面的部分

然后通过隧道机制将包发送出去
。 最后,
PPP
包会沿隧道到达另一端的出口

也就是网络运营商的路由器

 

不分配IP地址的无编号端口号

      前面介绍了
PPPoE
的工作过程

这里面有一个有趣的问题

就是互联网接入路由器在发送包的时候为什么要加上那些头部呢?
头部里面的值基本上都是事先定好的,
跟路由表里面的默认网关地址根本没什么关系

当采用一对一连接,也就是两台路由器的端口用一根线直接连起来的情况下, 一端发送的包肯定会到达另一端,那么这种情况下就没有必要按照路由表查询默认网关来判断转发目标地址了

如果没有必要判断转发地址

那么网关的地址也就没什么用了;
如果网关地址没用

那么目标路由器的端口也用不着分配 IP
地址了

上面的性质对于所有一对一连接都是适用的
。 以前,
即便是在这样的场景中

还是会为每个端口分配
IP
地址

这是因为有一条规则规定所有的端口都必须具有 IP
地址

然而,当公有地址越来越少时,就提出了一个特例,即一对一连接的端口可以不分配 IP 地址。 现在,在这种场景中按惯例都是不为端口分配 IP 地址的 ,这种方式称为无编号(unnumbered)

这种情况下

BAS
下发配置信息时就不会下发默认网关的 IP
地址。

 

互联网接入路由器:将私有地址转换为公有地址

 
       前面的介绍里面其实遗漏了一个地方

那就是互联网接入路由器在转
发包时需要进行地址转换

刚才我们讲过

BAS
会向用户端下发 TCP/IP的配置信息,
如果将这些信息配置在计算机上

就相当于计算机拥有了公有地址,
这种情况下不需要进行地址转换也可以访问互联网

其实 TCP/IP 原本的设计就是这样的。然而,如果使用路由器来上网,BAS 下发的参数就会被配置在路由器上,而且公有地址也是分配给路由器的。
这样一来
, 计算机就没有公有地址了。 这时,
计算机会被分配一个私有地址

计算机发送的包需要通过路由器进行地址转换然后再转发到互联网中。
Web
和电子邮件等应用程序不会受到地址转换的影响,
但有些应用程序会因为地址转换无法正常工作

这一点需要大家注意。
这是因为有些应用程序需要将自己的
IP
地址告知通信对象或者告知控制服务器,
但在有地址转换的情况下这些操作无法完成

遇到应用程序因地址转换无法正常工作的情况时,我们可以不使用路由器,而是直接让计算机接收来自 BAS 的 PPPoE 消息,也就是采用最原始的上网方法

这样一来

计算机就具有了公有地址

不需要地址转换也可以上网了
 
     
不过,不用路由器上网也有一点需要注意,因为上网的计算机拥有公有地址,这意着来自互联网的包可以直接到达计算机,这可能导致计算机被攻击。因此,对于直接上网的客户端计算机,我们应该采取安装防火
墙软件等防御手段。  
 网络电话、聊天、对战游戏等需要客户端之间直接收发网络包的应用程序都需要将自己的 IP
地址告知对方。这些应用程序会受到地址转换的影响,但现在已经有很多解决方案,因此不能说这些应用程序全都不能正常工作。对于某个应用程序来说,如果不知道它是否采用了相应的解决方案, 就无法判断它是否会受到地址转换的影响。  

    原文作者:JJH的创世纪
    原文地址: https://blog.csdn.net/ck784101777/article/details/103902823
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞