DCHP协议简介

DHCP基本知识点

   1 DHCP协议在RFC2131种定义,使用udp协议进行数据报传递,使用的端口是67以及68.

   2 DHCP最常见的应用是,自动给终端设备分配ip地址,掩码,默认网关,但是DHCP也同样可以给终端设备自动配置其他options,比如DNS server,利用dhcp协议来实现对终端设备的自动配置。

   3 DHCP服务的系统最基本的构架是 client/server模式,并且如果client server不再同一个2层网络内(即广播可以到达的网络范围),则必须要有能够透过广播报文的中继设备(这里的设备一般指的是路由器上的ip helper address),或者能把广播报文转化成单播报文的设备(ciscoios就引经了这种功能)

   4 CISCO的路由器(IOS12.0 T1以后),可以配置为dhcpip helper addressDHCP的客户端设备,也可以配置为DHCP的服务器。

   5 同一个网段DHCP服务器可以有多个,这不会影响终端设备从服务器获取配置信息,终端设备以接受到的第一组配置信息为准。以后又服务器段返回的DHCP配置信息被抛弃。

   6 DHCP 服务器往往遵守先来先服务的规则(first-come, first-served),或者说他能够建立一个IP地址和终端设备MAC地址之间的映射表(或者叫做database,由此可以保证特定的终端(也就是特定的MAC)每次开机后都能够获得此相同的ip地址。

DHCP的工作原理

第一次登录的时候:

  1.寻找Server。当DHCP客户端第一次登录网路的时候﹐也就是客户发现本机上没有任何IP资料设定﹐它会向网路发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网路﹐所以封包的来源位址会为0.0.0.0﹐而目的位址则为255.255.255.255﹐然后再附上Dhcpdiscover的信息﹐向网路进行广播。

cisco的预设情形下,Dhcpdiscover的等待时间预设为3秒每次发送3个包.如果没有请求成功隔30秒以后在次发送请求﹐直收到DHCP服务器的回应.

  2.提供IP租用位址。当DHCP服务器监听到客户端发出的Dhcpdiscover广播后﹐它会从那些还没有租出的位址范围内﹐选择最前面的的空置IP,连同其它TCP/IP设定,回应给客户端一个DHCPOFFER封包。由于客户端在开始的时候还没有IP位址﹐所以在其Dhcpdiscover封包内会带有其MAC位址信息﹐并且有一个XID编号来辨别该封包﹐DHCP服务器回应的Dhcpoffer封包则会根据这些资料传递给要求租约的客户。根据伺服器端的设定﹐Dhcpoffer封包会包含一个租约期限的信息。默然情况下是一天。

  3.接受IP租约。如果客户端收到网路上多台DHCP服务器的回应﹐只会挑选其中一个Dhcpoffer而已(通常是最先抵达的那个)﹐并且会向网路发送一个Dhcprequest广播封包﹐告诉所有DHCP伺服器它将指定接受哪一台伺服器提供的IP位址。同时﹐客户端还会向网路发送一个ARP封包﹐查询网路上面有没有其它机器使用该IP位址﹔如果发现该IP已经被占用﹐客户端则会送出一个DHCPDECLINE封包给DHCP伺服器﹐拒绝接受其Dhcpoffer﹐并重新发送Dhcpdiscover信息。

  4.租约确认。当DHCP伺服器接收到客户端的Dhcprequest之后﹐会向客户端发出一个DHCPACK回应﹐以确认IP租约的正式生效﹐也就结束了一个完整的DHCP工作过程。



更多相关文章
  • TCP/IP协议简介虽然大家对现在的互联网很熟悉,但是计算机网络比互联网出现的早得多.为了把全世界不同的计算机都连起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准.因为互联网协议包含了上百种协议标准,但是最重要 ...
  • 工业控制已从单机控制走向集中监控.集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便.Modbus就是工业控制器的网络协议中的一种.一. Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间.控制器经由网络(例如以太网)和其它设备之间 ...
  • 什么是TCP/IP?TCP协议和IP协议指两个用在Internet上的网络协议(或数据传输的方法).它们分别是传输控制协议和互连网协议.这两个协议属于众多的TCP/IP 协议组中的一部分.TCP/IP协议组中的协议保证Internet上数据的传输,提供了几乎现在上网所用到的所有服务.这些服务包括:电 ...
  • FTP协议简介1.  什么是FTP协议FTP协议(File Transfer Protocol)即远程文件传输协议,是一个用于简化IP网络上系统之间文件传送的协议,FTP是TCP/IP的一种具体应用,它工作在OSI模型的第7层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,FTP建立的 ...
  • Python17.1HTTP协议简介
    HTTP协议简介在web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来.而浏览器与服务器之间的传输协议就是HTTP,所以:HTML是一种用来定义网页的文本,会HTML就可以编写网页:HTTP是在网络上传输HTML的协议,用于浏览器与服务器之间的通信.在举 ...
  • HTTP协议简介
    一.套接字1.Socket简介        应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据.为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提 ...
  • 摘要:OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的.同时,任何第三方都可以使用OAUTH认证服 ...
  • http协议简介及web服务原理
    HTTP简介   HTTP(HyperText Transfer Protocol)叫超文本传输协议,那么什么是超文本?简单来说超文本就是带有超链接的文本.据说web设计之初它就实现了用超链接实现了文档之间的跳转这个功能.最早的http版本是http0.9,它仅支持纯文本,定义了最简单的请求和响应. ...
一周排行
  • nginx搭建直播缓存服务器
      线上只有一台直播服务器,现在是商务打算给另外一个公司直播,一台服务器带宽不能满足,业务 ...
  • VisualStudio2015速递4——高级特性之移动开发
    系列文章 Visual Studio 2015速递(1)--C#6.0新特性怎么用Visu ...
  • 远程仓库相关命令检出仓库:[email protected]:yaoxiabing/saltstack.git 查看远程仓库:$ git remote -v 添加远程仓库:$ git remote add [na ...
  • 转:http://blog.sina.com.cn/s/blog_7d31bbee0101lzh9.html 非常感谢!第一步:下载python2.7.4版本源码:wget http://python.org/ftp ...
  • 1.python语言的特点1)高级     至少比c和c++都高级,呵呵 2)面向对象   Python 绝不想Java 或Ruby 仅仅是一门面向对象语言,事实上它融汇了多种编程风格 3)可升级      Pyth ...
  •     模拟实现strncat():    与函数strcat()有区别,主要区别是:strncat()可防止当自己连接自己时找不到'\0'无法连接.而关于strcat()函数可见博客链接http://1074018 ...
  • CCNP学习笔记15-RSTP
    生成树协议的不足:    端口从阻塞到转发必须经历30s延时快速生成树 802.1w    ...
  • 关于LOL的打野
    http://lol.ahgame.com/daye/2012080833.shtml   ...
  • 有些程序需要加的查询条件是本月的所有数据,所以就必须要将本月的第一天和最后一天通过现在的诗句推算出来方法有多种方法一本月第一天:DateTime.Now.AddDays(1 - DateTime.Now.Day)本月 ...
  • 转载 http://www.cnblogs.com/xyd21c/archive/2012/12/19/2825314.html读取错误错误描述:(60)Operation timed out现象:某些网站无法打开( ...