这系列文章为计算机网络理论的学习笔记,学习笔记基于老师给的的PPT、他人学习笔记和维基百科、百度百科等一系列权威资料。学习笔记仅个人学习用,便于记录和复习,无广泛传播之意,若有侵权,请联系我删除。欢迎各位大佬指正和交流。
1 DHCP
DHCP(动态主机配置协议)是一个局域网的网络协议,为网络内IP 地址分配提供快速、自动和集中管理的协议。
DHCP还用于配置设备上的子网掩码、默认网关和DNS 服务器信息。
1.1 DHCP功能
- DHCP 可以自动为局域网中主机完成TCP/IP协议配置(自动为客户端分配IP地址),避免了IP地址冲突的问题。
- DHCP采用客户端/服务器模式,服务器负责集中管理,客户端向服务器提出配置申请,服务器根据策略返回相应配置信息。
- DHCP报文采用UDP封装。服务器所侦听的端口号是 67,客户端的端口号是 68。
1.2 DHCP特点
- 即插即用性
- 客户端无须配置即能获得IP地址及相关参数。简化客户端网络配置,降低维护成本。
- 统一管理
- 所有IP地址及相关参数信息由DHCP服务器统一管理,统一分配。
- 使用效率高
- 通过IP地址租期管理,提高IP地址的使用效率。
- 可跨网段实现
- 通过使用DHCP中继,可使处于不同子网中的客户端和DHCP服务器之间实现协议报文交互。
1.3 DHCP的系统组成
- DHCP服务器
- 能提供DHCP功能的服务器或具有DHCP功能的网络设备。
- DHCP中继
- 一般为路由器或三层交换机等网络设备。
- DHCP客户端
- 需要动态获得IP地址的主机。
1.4 DHCP地址分配方式
DHCP服务器具有三种IP的分配方式:手动分配、自动分配和动态分配。
其中动态分配功能最为强大,但同时配置也最为烦琐。
目前的DHCP服务器一般支持全部的几种分配方式或者是其中的两种。
- 手工分配:
- 根据需求,网络管理员在DHCP服务器人工为DHCP客户机(如DNS服务器、打印机)绑定固定的IP地址,其地址不会过期。
- 自动分配:
- 为连接到网络的DHCP客户机分配IP地址,租用到IP地址后,该地址就长期分配给了该DHCP客户机使用,而不会再分配给其他客户机。
- 动态分配:
- 主机申请IP地址最常用的方法。DHCP服务器暂时租给给客户机一个IP地址,只要租约到期,这个地址就会还给DHCP服务器,以供其他客户机使用。如果租用时间到期,客户端必须重新申请IP地址。
动态分配方法是惟一能够自动重复使用IP地址的方法,它对于暂时连接到网上的DHCP客户机来说尤其方便,对于永久性与网络连接的新主机来说也是分配IP地址的好方法。
使用动态分配方法可以解决IP地址不够用的困扰。
1.5 IP地址动态获取过程
可以结合DHCP.swf文件进行学习。
IP地址拒绝及释放
DHCP租约更新
通过租期管理IP地址来提高使用效率。
1.6 DHCP中继工作原理
1.6.1 DHCP服务器基本配置
请参考DHCP服务器基本配置:DHCP服务器基本配置_bianfu0639的博客-CSDN博客
2 IPv6基础
IPv6(Internet Protocol Version 6)是指互联网协议第6版,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。
IPv4最大的问题在于网络地址资源不足(已经枯竭),严重制约了互联网的应用和发展。
IPv6的地址长度从32比特增加到128比特(即从2^32-1个 --> 2^128-1个),不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
2.1 IPv6的组成结构
2.1.1 IPv6地址构成
2.1.2 IPv6地址的表示方法
- 冒分十六进制表示法(16位一段,共8段)
- 格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
这种表示法中,各部分的前导0是可以省略的:
- 格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
- 0位压缩表示法
- 在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
0:0:0:0:0:0:0:1 → ::1
0:0:0:0:0:0:0:0 → ::
- 在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
- 内嵌IPv4地址表示法
- 为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示。
- 例如 ::192.168.0.1 ::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。
2.1.3 IPv6地址分类
- 单播地址
- 用来唯一标识一个接口,类似于IPv4中的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的一个接口。
- 你喊XXX名字,那么只有XXX回过头来答应你。
- 组播地址
- 用来标识一组接口(通常这组接口属于不同的节点),类似于IPv4中的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。
- 你在大街上大喊一声“美女”, 会有好几个女性回头看你。
- 任播地址
- 用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。任播提供的是一种无状态的、尽力而为的服务。
IPv6取消了广播,增加了任播。
IPv6采用任播机制的初衷是彻底去简化在互联网中寻找合适服务器的任务。
IPv6地址类型是由地址前缀部分来确定,主要地址类型与地址前缀的对应关系如下:
地址类型 | 地址前缀(二进制) | IPv6前缀标识 | |
单播地址 | 未指定地址 | 00…0(128 bits) | ::/128 |
环回地址 | 00…1(128 bits) | ::1/128 | |
链路本地地址 | 1111111010 | FE80::/10 | |
唯一本地地址 | 1111 110 | FC00::/7 (包括FD00::/8和 不常用的FC00::/8) | |
站点本地地址(已弃用) | 1111111011 | FEC0::/10 | |
全局单播地址 | 其他形式 | ||
组播地址 | 11111111 | FF00::/8 | |
任播地址 | 从单播地址空间中进行分配,使用单播地址的格式 |
2.1.4 IEEE EUI-64格式
设备根据MAC地址自动生成接口标识符。
2.2 邻居发现协议
邻居发现协议NDP(Neighbor Discovery Protocol)是TCP/IP协议栈的一部分,主要与IPv6共同使用。它工作在网络层,负责在链路上发现其他节点和相应的地址,并确定可用路由和维护关于可用路径和其他活动节点的信息可达性。
主机无须任何配置就可以连通网络。
2.2.1 邻居发现协议的功能
邻居发现协议具有地址解析、路由器发现、地址自动配置等功能。
- 地址解析
- 与IPv4中的ARP类似。
- 路由器发现/前缀发现
- 用于发现网络中的路由器及前缀,有利于自动配置。
- 地址自动配置
- 全新的功能,用于自动生成地址。
- 其它
- 地址重复检测等。
2.2.2 IPv6地址解析
- 通过交互信息来解析邻居的链路层地址。
- HostA 组播 给所有邻居发送请求消息。
- HostB 邻居单播回应 HostA 通告消息。
2.2.3 IPv6地址自动配置
通过交互信息来发现路由器及前缀,实现自动配置。
主机发送路由器请求消息。
路由器回应路由器通告消息。
主机生成全球单播地址。
2.3 IPv6地址配置
(1)使能IPv6报文转发功能
[RTA] ipv6
(2)配置接口使用IPv6链路本地地址FE80::1
[RTA-Ethernet0/1] ipv6 address FE80::1 link-local
(3)配置接口使用IPv6全球单播地址2001::1/64
[RTA-Ethernet0/1] ipv6 address 2001::1/64