DHCP和PPPoE

引言

DHCP(本文只讨论IPv4)是一种流行的客户机/服务器协议,它用于为主机配置访问网络必要的配置信息。例如:IP地址,子网掩码,网关地址(路由器地址),DNS服务器的IP地址等配置信息。

DHCP基于一种早期协议BOOTP(引导程序协议),不同的是DHCP引入租用的概念来支持改变已提供的信息。

DHCP使用UDP/IP,客户端使用端口68,服务器使用端口67。

地址池和租用

DHCP支持3中地址分配方法:动态分配,自动分配,手动分配。生活中最主要使用的是动态分配.

动态分配

为DHCP服务器分配一系列连续的IP地址,分配给客户机的地址只在一定时间内有效,这个时间称为租期。租期结束时,客户机可以申请续约。租期在几小时到几天不等,需要在DHCP服务器上配置。

DHCP协议格式

为了实现和BOOTP协议的兼容,DHCP消息采用带有特殊选项的BOOTP消息,其协议格式如下(图片来源于维基百科):

DHCP和PPPoE_第1张图片
DHCP.png

DHCP协议操作

一个典型的DHCP交换过程如下

地址请求

  • 进入网络的客户机,在需要DHCP来申请网络配置时,首先广播一个DHCPDISCOVER消息。

  • 收到请求帧(无论是直接还是间接)的DHCP服务器,都会回复一个DHCPOFFER消息,并在“你的IP地址字段“包含提供的IP地址,以及其它配置选项:掩码,网关地址等。并告知客户机租用时间T,更新时间(更新租约)T1,重新绑定时间(更新地址)T2,一般T1是T的一半,T2接近但小于T。

  • 客户机收到若干个DHCP服务器的OFFER消息,从中选取一个后广播一个DHCPREQUEST ,其中包含了选取的DHCP服务器的标识符。网络中的DHCP服务器均收到了此消息,只有满足标识符的服务器作出响应,其它服务器收到后清除与此次请求相关的状态。

  • 被选中的DHCP服务器需要作出回应,如果之前回复给该客户机的IP地址仍然可用,则回复一个DHCOACK消息,告知客户机现在可以使用过该IP地址。如果期间已经被其它客户机占用该IP地址,则回复一个DHCPNAK消息。

  • 当客户机收到一个DHCPACK消息时,它还需自行探知该地址是否可用。例如发送免费ARP来进行IP地址冲突检测。如果地址冲突了,则客户机发送DHCPDECLINE消息通知该地址不能使用。经过一段时间后重试。

更新租约

当客户机已经获得一个地址,但是想要更新租约,例如续约等,可以跳过DHCPDISCOVER和DHCPOFFER步骤,客户机直接以DHCPREQUEST请求一个地址,如果是续约,就请求当前的地址。当然,服务器可以恢复ACK,亦可以恢复NAK。

PPPoE

DHCP提供了最常用的客户机系统配置方法。对于广域网连接(家里常用的ADSL),常用另一种PPP的方法代替它,这种方法在以太网中携带PPP,因此称为以太网上的PPP,即PPPoE(Point-to-Point Protocol over Ethernet)。PPPoE作为ISP建立连接的首选,是因为它能提供比DHCP更加细致的配置控制和审计日志。

为什么使用PPPoE:运营商希望通过一个前置接入设备连接远程的多个用户主机,有希望对每一台主机实现接入控制,计费等功能。就得通过PPPoE.

典型应用:小区网络用户的广域网接入,典型方法通过以太网连接小区用户,但是传统以太网不能实现认证,计费等功能,所以需要PPPoE.

PPPoE过程

发现阶段

在PC启动后,PC回合ISP进行几个交换,作为相互发现(相互了解对方的MAC地址),为建立会话打下基础。

PPP会话阶段

相互发现后,客户机可以请求获得ISP认证,从而可以让ISP返回网络配置,从而接入广域网。

你可能感兴趣的:(DHCP和PPPoE)