dhcp

DHCP协议总结

南笙酒味 提交于 2019-12-06 00:19:24
DHCP动态主机配置协议,简单点说,就是提供了自动获取ip地址的功能,基于四层的UDP协议; 以下描述此协议的整个工作流程: (1) 客户端发送discovery报文,二三层广播报文,源ip地址全0; (2)服务器收到discovery报文之后,进行ip地址分配,找到ip地址,并且进行arp探测,当发现 此ip地址空闲之后,组offer报文,发送给客户端,内部包含有ip地址,客户端mac地址,租约时间等信息; (3)客户端收到offer报文之后,会选择一个(一般是第一个)进行应答,并且发送request报文到服务器,同时也会进行 ARP探测,当发现有ip地址冲突的时候,会发送decline报文到服务器终止使用该ip地址,然后重新发送discovery; (4)服务器发送ack报文确认地址,客户端收到ack之后,开始使用该ip地址; ---以上流程报文均为广播; (5)客户端会在租约时间的1/2和3/4时间开始尝试续租该ip地址,成功则继续使用,否则到达租期后 不能继续使用,需要施放该ip地址,并且重新发discovery; (6)客户端可以发送release报文随时放弃该ip地址的使用; 我们重点说下服务器的一些实现问题: 1. 建立bit数组,在bit数组中将分配出去或者不能够分配的地址进行标记; 比较烂的实现是每次收到discovery请求之后,先随机一个地址

DHCP的工作机制

為{幸葍}努か 提交于 2019-12-06 00:18:14
DHCP 工作机制 DHCP 维护了两个租约表:静态租约表及动态租约表。静态租约表:对应一个静态租约存储文件, Server 运行时从文件中读取静态租约表。动态租约表:对应一个周期存储文件, Server 周期性将租约表存进该文件,在程序开始时将会读取上次存放的租约表。(租约表记录了当前所有分配的租约,包括静态链接的)。客户端发起请求,服务器读取客户端信息,并在租约表中进行检索找到相应的表项,再根据客户端的状态执行不同的回复。当收到客户端的首次请求时,DHCP 服务器先查找静态租约表;若存在请求的表项,返回这个客户的静态 IP 地址;否则,从 IP 地址池中选择可用的 IP 分配给客户,并添加信息到动态数据库中。此外,服务器将会周期性的刷新租约表写入文件存档,在这个过程中会顺便对动态租约表进行租期检查。 来源: https://www.cnblogs.com/zeng123/p/11953181.html

DHCP工作原理详解

做~自己de王妃 提交于 2019-12-06 00:17:29
DHCP 工作原理 一、什么是DHCP?   DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。 二、DHCP协议中的报文 DHCP报文共有一下几种: DHCP DISCOVER :客户端开始DHCP过程发送的包,是DHCP协议的开始 DHCP OFFER :服务器接收到DHCP DISCOVER之后做出的响应,它包括了给予客户端的IP(yiaddr)、客户端的MAC地址、租约过期时间、服务器的识别符以及其他信息 DHCP REQUEST :客户端对于服务器发出的DHCP OFFER所做出的响应。在续约租期的时候同样会使用。 DHCP ACK :服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。 DHCP NAK :DHCP ACK的相反的报文,表示服务器拒绝了客户端的请求。 DHCP

DHCP的配置

*爱你&永不变心* 提交于 2019-12-05 23:56:41
1、确保客户端与服务器之间的链路是互通的; #SW1 创建 VLAN 10 将端口放入VLAN 10 ; #Gateway 在 Router 上为 VLAN 10 配置一个 网关IP 地址; 2、配置 DHCP 客户端; # 进入 PC ,选择“自动获取”,点“应用”; 3、配置 DHCP 服务器; # 创建 IP 地址池; ip pool VLAN-10 network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.254 dns-list 8.8.8.8 lease day 3 # 开启 DHCP 服务 ; dhcp enable # 在 接收 DHCP 报文的端口上,配置 DHCP 的选择方式 - global ; interface gi0/0/0 dhcp select global // 表示的是当端口上收到 DHCP 报文以后 直接去 DHCP 服务器在全局配置的IP 地址池中选择一个可用的IP地址; 来源: https://www.cnblogs.com/123456qq/p/11951588.html

同网段DHCP配置

不想你离开。 提交于 2019-12-05 23:49:13
首先是设备的设置,需要一台交换机,一台路由器,两台pc 给其中一台pc配置好ip地址和子网掩码。然后对交换机进行配置 在拓扑图里添加一台pc终端,然后设置ip为自动获取,如果这台ip获取到了,设置的dhcp网段,就说明了配置是正确的 同一个局域网有两个DHCP服务器,同一网段,同一作用域,是可以同时运行的 如果需要相连则要么改成同一类型主机IP,或者用路由器相连,路由器是在不同类地址、工作组、网段工作的。交换机可以在同一网段、工作组、同类地址。考虑经济实力在做比较、路由器的速度要比交换机的传输速度要慢 第一:80/20规则只是dhcp负责分配一个地址池的百分比,可以调整。或者直接搞2个网段就搞定了,也不会发生ip地址冲突的现象。 第二:如果是windows 的dhcp按照这样的设置的话可以设置“冲突域”次数进行检测即将分配出去的ip地址是否已经被使用。 第三:DHCP服务器 在分配IP地址的时候会做ping测试。 第四:在DHCP获取地址的过程中,提到原则是接收最先收到的DHCPOFFER报文。 第五:当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。 来源: https://www.cnblogs.com/fn07216

IP协议3

99封情书 提交于 2019-12-05 23:17:32
ICMP 架构IP网络时需要特别注意两点:确认网络是否正常工作,以及遇到异常时进行问题诊断。 ICMP正是提供这类功能的一种协议。 主要功能包括:确认IP包是否成功送达目标地址,通知在发送过程中IP包被废弃的具体原因,改善网络设置等。 ICMP的消息大致可以分为两类:一类是通知出错原因的错误消息,另一类是用于诊断的查询消息。 主要消息类型 DHCP(Dynamic Host Configuration Protocol) 逐一为每一台主机设置IP地址会非常繁琐的事情。特别是移动设备,每到一个新地方,就要重新设置IP地址 于是为了实现自动设置IP地址、统一管理IP地址分配,就产生了DHCP协议。 有了DHCP,计算机只要连接到网络,就可以进行TCP/IP通信。 DHCP工作机制 使用DHCP前,首先要假设一台DHCP服务器。然后将DHCP所要分配的IP地址设置到服务器上。此外,还需要将相应的子网掩码、路由控制信息以及DNS服务器的地址等设置到服务器上。 为了检查所要分配的IP地址以及已经分配了的IP地址是否可用,DHCP服务器或DHCP客户端必须具备以下功能: DHCP服务器: 在分配IP底之前发送ICMP回送请求包,确认没有返回应答 DHCP客户端: 针对从DHCP哪里获得的IP地址发送ARP请求包,确认没有返回应答 在大规模组织机构的网络环境中,往往需要将DHCP统一管理 来源:

How to configure a Docker container for acquiring DHCP IP/s from dhcp server running on ESX

怎甘沉沦 提交于 2019-12-05 23:08:14
问题 My host is SLES12 VM running on an ESX server. VM Host has interfaces which acquire DHCP IPs from the DHCP server running on ESX. In my docker container (docker image: opensuse) I am running a NFS server and hence need external access. I want the container to acquire dhcp IP from the dhcp server running on ESX (just like my Host VM gets). I have tried pipework but could not get it working. Here is what I did: Enabled Promiscuous mode on ESX. Created new bridge (br1) and attached it to Host

APIPA

蹲街弑〆低调 提交于 2019-12-05 22:53:44
自动专用IP地址(Automatic Private IP Address,APIPA)是当客户端无法从DHCP服务器中获得IP地址时自动配置的地址。IPv4地址前缀169.254/16已经被IANA注册为APIPA专用(RFC 3927)。 当网络中的DHCP服务器失效,或者由于网络故障而找不到DHCP服务器时,这个功能开始生效,使得客户端可以在一个小型局域网中运行,与其他自动或手工获得APIPA址的计算机进行通信。其实APIPA的主要用途是为了移动计算使用的,两个笔记本式计算机用户之间可以通过APIPA地址直接通信,而不需要其他网络连接的支持。 来源: https://www.cnblogs.com/724795211qqq/p/11949283.html

Python Raw Socket to Ethernet Interface (Windows)

独自空忆成欢 提交于 2019-12-05 20:55:52
I'm trying to create a DHCP Server and the first step is for me to send packets through my ethernet port. I'm trying to send packets to my Ethernet interface and having an error popping up. The code is below. import socket def sendeth(src, dst, eth_type, payload, interface = "eth0"): """Send raw Ethernet packet on interface.""" assert(len(src) == len(dst) == 6) # 48-bit ethernet addresses assert(len(eth_type) == 2) # 16-bit ethernet type #s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW) s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW) # From the docs: "For raw packet

网络相关的命令工具研究报告

心已入冬 提交于 2019-12-05 20:17:20
一:什么是DHCP 动态主机配置协议(DHCP)是一种客户端/服务器协议,该协议自动向 Internet 协议(IP)主机提供其 IP 地址和其他相关的配置信息,如子网掩码和默认网关。 Rfc 2131 和2132将 DHCP 定义为基于启动协议(BOOTP)的 Internet 工程任务组(IETF)标准,这是 DHCP 共享多个实现细节的协议。 DHCP 允许主机从 DHCP 服务器获取所需的 TCP/IP 配置信息。 二:为什么实验DHCP 基于 TCP/IP 的网络上的每个设备都必须具有唯一的单播 IP 地址,才能访问网络及其资源。 如果没有 DHCP,必须手动配置从一个子网移到另一个子网的新计算机或计算机的 IP 地址;必须手动回收从网络中删除的计算机的 IP 地址。 对于 DHCP,这整个过程是自动进行的,并集中管理。 DHCP 服务器维护 IP 地址池,并在网络上启动时为任何启用了 DHCP 的客户端租用一个地址。 由于 IP 地址是动态的(租用),而不是静态的(永久分配),因此不再使用的地址会自动返回到池以进行重新分配。 网络管理员建立 DHCP 服务器来维护 TCP/IP 配置信息,并以租约提议的形式为启用 DHCP 的客户端提供地址配置。 DHCP 服务器将配置信息存储在包含以下内容的数据库中: 网络上的所有客户端的有效 TCP/IP 配置参数。