菜鸟笔记
提升您的技术认知

pppoe和ipoe-ag真人游戏

1.ipoe

ipoe认证又称为dhcp 认证的技术,使用dhcp配合其他技术实现认证,例如dhcp web radius,dhcp option扩展字段进行认证。最早应用于运营商,现在已经广泛应用在高校,火车站,机场等有大规模用户接入的地方。
本文讲解的是dhcp option扩展字段进行认证的方式,因此要明白ipoe的原理,得先从dhcp说起

1.1.dhcp协议

dhcp有bootp协议发展而来。bootp协议提供了有限的主机信息配置,且主机信息已经配置就很难被修改。dhcp提供 几乎所有的主机信息的配置,且引入了租约等概念,使得主机信息能够动态发生变化。dhcp向后兼容bootp。
  dhcp基于udp/ip传输,服务器使用端口号67,客户端使用端口号68。

1.1.1.协议内容

dhcp 主要分为两部分: 地址的管理 和 配置信息的传递

  • 地址管理:地址管理处理ip地址的动态分配、向客户端提供地址租约
  • 配置信息的传递:包含dhcp报文格式、状态机

1.1.2.地址池与地址租约

在ip地址的动态分配中,dhcp客户端想dhcp服务器发送ip地址请求。dhcp服务器会维护一个 ip地址池,dhcp从地址池取出一个ip回应给dhcp客户端。在地址分配时,dhcp服务器也会指定回应给dhcp客户端的ip地址的租约期,该地址只有在该租约期内可用,不过dhcp客户端可用在租约期内请求延长租约(更新租约期)。

1.1.3.报文

op: 			报文类型,分为 两大类: request(1) 和 reply(2)
hw type: 硬件类型,一般是以太网(1)
hw len: 	硬件地址长度,单位字节。(硬件类型为以太网时,值为6)
transaction id:事务id,随机数,由客户端生成,服务器reply时,会把request中的transaction id拷贝到reply报文中
secs: 		距离第一次发送ip请求或renew请求过去的秒数
flags:		标志位,目前仅第一个bit有使用,置1 表明为广播
client ip address:当前客户端的ip地址,如果当前客户端没有ip地址,则置0
your ip address: 	服务器向客户端提供ip地址时,会把ip地址填入本字段
(next)server ip address:		客户端引导时,需要的另一个服务器的ip地址
gateway (relay) ip address: 网关(中继)ip地址,有dhcp 中继器在转发dhcp报文的时候填入
server name: 	server名字,有64bytes,一般不使用,填充为0
boot file name:boot file的路径,128bytes, 一般不使用,填充为0
option: 				选项,不定长度。 dhcp报文中比较重要的字段,后面会有比较详细的介绍。

1.1.4.dhcp option

1.1.4.1.option
   option 	名称 	描述
    000 pad 	填充位
    001 	subnet mask 	子网 掩码
    003 	router address 	路由器地址
    006 	dns 	dns server
    015 	dn 	域名
    050 	requested ip address 	请求的ip地址
    051 	address lease time 	地址租约时间
    053 	dhcp message type 	dhcp 消息类型,如discover、request、offer、ack等
    054 	server identifier 	服务器标识
    055 	parameter request list 	参数请求列表
    056 	dhcp error message 	dhcp 错误消息
    058 	lease renewal time 	租约续期时间
    059 	lease rebinding time 	租约重新设定的时间
    061 	client identifier 	客户标识
    119 	domain search list 	域名查找列表
    255 	end 	结束

dhcp协议其实就是携带许多类型option的bootp。
  option遵循以下格式:

  • 如果option没有值,则只有标志位之类的内容,则以一个字节表示
  • 如果opiton有值,即opiton是以下name-value对,则opiton需要多个字节表示,其中第一个字节表示 option的名字,第二字节表示value的长度,第三个字节开始表示value。
1.1.4.2.dhcp message type
在dhcp option中,我们着重看下dhcp message type(53),dhcp message type标识dhcp消息类型,主要有一下类型:
dhcp 消息类型 	对应的option值
dhcpdiscover 	1
dhcpoffer 	2
dhcprequest 	3
dhcpdecline 	4
dhcpack 	5
dhcpnak 	6
dhcprelease 	7
dhcpinform 	8
dhcpforcerenew 	9
dhcpleasequery 	10
dhcpleaseunassigned 	11
dhcpleaseunknown 	12
dhcpleaseactive 	13
dhcp 协议 操作流程
1.1.4.3.dhcp获取流程
  • 当客户端要加入网络时,会使用0.0.0.0作为源地址,发送discover广播报文,探索dhcp服务器;
  • dhcp服务器接收到dhcp discover报文后,回应offer报文,提供ip地址给客户端(可能还包含掩码,路由,广播地址,dns等其他信息);

  • 客户端根据收到的offer报文,选择一个dhcp服务器,并选择它提供的ip地址。然后广播request报文,向dhcp服务器请求该ip地址,同时向本地网络公告自己已经选择了某个dhcp服务器的某个ip地址

  • dhcp服务器回应ack报文,将ip地址分配给客户端

  • 客户端收到ack报文后,会针对获得的ip地址发送arp request,进行ip地址冲突检测;
  • 如果ip地址已经被其他主机使用,则客户端放弃该ip地址,向服务器发送dhcp decline报文,告诉服务器该地址不能使用,然后一段时间后(一般10s)再此尝试获取该ip地址;
  • 若客户端仍然无法使用该ip地址,则发送dhcp release报文,放弃该地址;
  • 客户端若已经有ip地址,只想更新租约:1>客户端发送携带当前ip地址的request报文;2>若服务器同意client续约,则发送dhcp ack报文,如果拒绝续约,则发送dhcpnak报文;

1.2.ipoe协议

ipoe只是基于dhcp的扩展option字段,进行认证授权。看了dhcp的原理,应该不难理解了。

网站地图