主机获得IP地址,除了可以通过静态配置,还可以通过动态主机配置协议DHCP: Dynamic Host Configuration Protocol从服务器动态获取IP地址、子网掩码、默认网关地址、DNS服务器名称与IP地址
DHCP协议允许地址重用、支持在用地址续租、支持移动用户加入网络
DHCP协议又称为即插即用协议(plug-and- play protocol) 。
 
DHCP协议在应用层实现,请求报文封装到UDP数据报中
每个子网将具有一台DHCP 服务器。如果在某子网中没有服务器,则需要一个DHCP中继代理(通常是一台路由器),这个代理知道用于该网络的DHCP服务器的地址
(1)主机广播DHCP发现报文
客户在UDP分组中向端口67发送该发现报文。
src : 0.0.0.0,
dest.: 255.255.255.255, //受限广播地址
yiaddr: 0.0.0.0
transaction ID:
DHCP 客户将该IP数据报传递给链路层,链路层将该帧广播到所有与该子网连接的子网
(2)DHCP服务器利用DHCP提供报文进行响应
src: 223.1.2.5,
dest: 255.255.255.255, //仍然广播
yiaddr: 223.1.2.4 //愿意给你分配的IP地址
transaction ID: //收到的发现事物报文的ID
lifetime: secs //IP地址租用期
(3)主机利用DHCP请求报文请求IP地址
src: 0.0.0.0,
dest:: 255.255.255.255, //此处仍然广播,同时也告诉了其它DHCP服务器,我准备租用该IP
yiaddr: 223.1.2.4
transaction ID:
(4)DHCP服务器利用DHCP确认报文分配IP地址
src: 223.1.2.5,
dest: 255.255.255.255,
yiaddr: 223.1.2.4
transaction ID:
lifetime: secs
 

计算机网络-网络层(3)DHCP协议的更多相关文章

  1. 计算机网络-DHCP协议抓包分析总结

    前置问题:什么是(网络)协议? 网络协议为计算机网络中进行数据交换而建立的规则.标准或约定的集合. 而且: 一个网络协议至少包括三要素: 语法:用来规定信息格式;数据及控制信息的格式.编码及信号电平等 ...

  2. 计算机网络——网络层

    一.虚拟线路与数据报线路 1. 在网络层提供有连接的计算机网络为虚电路网络: 如因特网:它需要VC(虚拟电路)号,用于建立虚拟电路的报文称为信令报文,相关的协议称为信令协议: 无连接的网络为数据报网络 ...

  3. 趣谈 DHCP 协议,有点意思。

    计算机网络我也连载了很多篇了,大家可以在我的公众号「程序员cxuan」 或者我的 github 系统学习. 计算机网络第一篇,聊一聊网络基础 :计算机网络基础知识总结 计算机网络第二篇,聊一聊 TCP ...

  4. ICMP协议、DNS、ARP协议、ping、DHCP协议

    1.ICMP协议 1)ICMP协议,即:网络控制消息协议(Internet Control Message Protocol) 2)ICMP是网络层协议,因为ICMP报文是装在IP数据报中,作为它的数 ...

  5. 计算机网络参考模型与5G协议

    计算机网络参考模型与5G协议 目录 一.分层思想 1.1·2:分层思想概念 1.2.优点 二.OSI七层参考模型 三.TCP/IP协议族 3.1.TCP/IP协议族的组成 3.2.OSI模型与TCP/ ...

  6. 协议森林16 小美的桌号(DHCP协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...

  7. 协议分析 - DHCP协议解码详解

    协议分析 - DHCP协议解码详解 [DHCP协议简介]         DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...

  8. DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习

    相关学习资料 http://www.rfc-editor.org/rfc/rfc2131.txt http://baike.baidu.com/view/7992.htm?fromtitle=DHCP ...

  9. DHCP协议讲解

    一.DHCP服务介绍: DHCP为动态主机配置协议,该协议能自动配置主机的IP地址.子网掩码.网关及DNS服务器等TCP/IP信息.DHCP可以降低客户机IP地址配置的复杂度和网络管理成本. DHCP ...

随机推荐

  1. shell变量子串

    表达式 说明 ${parameter} 返回变量$parameter的内容 ${#parameter} 返回变量$parameter内容的长度(按字符),也适用于特殊变量 ${parameter:of ...

  2. PHP操作Redis步骤详解

    一.Redis连接与认证 $redis = new Redis(); //连接参数:ip.端口.连接超时时间,连接成功返回true,否则返回false $ret = $redis->connec ...

  3. springboot+quartz以持久化的方式实现定时任务

    springboot+queue以持久化的方式实现定时任务 篇幅较长,耐心的人总能得到最后的答案 小生第一次用quartz做定时任务,不足之处多多谅解. 首先 在springboot项目里做定时任务是 ...

  4. 浅析protobuf应用

    Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化.反序列化,常用于RPC 系统(Remote Procedure Call Protocol Syste ...

  5. Django开发之ORM批量操作

    版本 1 Python 3.8.2 2 Django 3.0.6 批量入库 场景: 前端页面通过 textarea 文本框提交一列多行数据到Django后台,后台通过ORM做入库操作 表名: Tabl ...

  6. MySQL 容器修改配置文件后无法启动问题(终极解决办法)

    docker inspect 容器名称或容器 ID 例如:  docker inspect mysql cd /var/lib/docker/overlay2/1d7877d715b9c730103e ...

  7. Servlet学习之Tomcat secretRequired配置报错问题

    Tomcat secretRequired配置问题 在启动Tomcat时,控制台可能会出现IllegalArgumentException异常,即"AJP连接器配置secretRequire ...

  8. Django创建简单数据库

    在 创建好的 app 目录下的 models.py 中,编写创建 数据库表的限制条件 class Student(models.Model): s_name = models.CharField(ma ...

  9. PHP unixtojd() 函数

    ------------恢复内容开始------------ 实例 把 Unix 时间戳转换为儒略日计数: <?phpecho unixtojd();?> 运行实例 » 定义和用法 uni ...

  10. SparkSQL JDBC和JDBCServer区别

    注意SparkSQL JDBC和SparkSQL JDBCSever是完全两种不同的场景. SparkSQL JDBC SparkSQL可以使用JDBC的方式访问其他数据库,和普通非spark程序访问 ...