专栏首页desperate633TCP/IP之DHCP协议静态配置DHCP协议

TCP/IP之DHCP协议静态配置DHCP协议

首先,我们考虑一个主机如何获取IP地址?

有两种获取方法,一种是静态配置,就是从网络管理员获取一个给定的IP地址,也叫硬编码,还有一种就是动态配置IP地址,这就是我们即将要讲的DHCP协议,动态主机配置协议。

静态配置

硬编码。

image.png

硬编码,就是像windows系统中选择给定的IP地址,我们需要指定IP地址,子网掩码和默认网关。默认网关是什么呢?默认网关就是属于这个子网的所有主机,如果将来要离开这个子网,就会被统一转发给这个默认网关指定的IP,我们可以认为它是一个转发路由。如果有多个默认网关,则可以选择其中一个就可以了。

image.png

DHCP协议

  • 从服务器动态获取: • IP地址 • 子网掩码 • 默认网关地址 • DNS服务器名称与IP地址
  • “ 即插即用”
  • 允许地址重用
  • 支持在用地址续租
  • 支持移动用户加入网络

DHCP协议交换信息的基本步骤

  • 主机广播 “ DHCP discover” (发现报文)
  • DHCP服务器利用 “ DHCP offer” (提供报文) 进行响应
  • 主机请求IP地址: “ DHCP request” (请求报文)
  • DHCP服务器分配IP地址: “ DHCP ack” (确认报文)

DHCP工作过程示例:

image.png

  • DHCP discover 客户端源地址四个0表示本机,端口号68和服务器的67都是DHCP指定的。发送一个广播报文。在这个网络中的所有主机包括服务器都会收到这个发现报文,但是只有DHCP服务器才会对其进行响应。
  • DHCP offer 我们看到服务器的提供报文里,也是通过广播地址发送的,这很容易理解,因为这个是时候请求主机还没有IP地址,所以需要进行广播,请求主机才能够收到,提供报文会将所分配的IP地址加在报文里,图中的223.1.2.4。那么主机如何知道这是它请求的服务器发来的提供报文呢,通过transaction ID来确认。
  • DHCP request 这里有一个问题,就是为什么主机发送依然是采取广播的方式,实际上这里的作用是,因为整个网络中,不止一个DHCP服务器,所以采取广播的方式,同时也在告诉其他的dhcp服务器,我现在已经确定了我所需要请求的dhcp服务器了,你们别给我发消息了。
  • DHCP ack 服务器收到请求后,会发送确认报文,主机收到之后,就确认可以使用223.1.2.4作为它的IP地址了。

我们可以看到实际上dhcp之间的信息交换,可以分为两块,一块是主机线广播确认找到提供IP的dhcp服务器,然后再从确认的dhcp服务器收取IP地址。

DHCP协议在应用层实现

  • 请求报文封装到UDP数据报中
  • IP广播
  • 链路层广播(e.g. 以太网广播)

image.png

  • DHCP服务器构造ACK报文
  • 包括分配给客户的IP地址、子网掩码、默认网关、 DNS服务器地址

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入理解缓存一致性问题缓存一致性问题如何解决缓存一致性的问题

    当程序在运行过程中, 会将运算需要的数据从主存复制一份到 CPU 的高速缓存当中, 那么 CPU 进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据, ...

    desperate633
  • LintCode Binary Tree Maximum Node二叉树的最大节点分析代码

    Find the maximum node in a binary tree, return the node.

    desperate633
  • LintCode 二叉树的最小深度题目代码

    desperate633
  • 电脑的 ip 是怎么来的呢?我又没有配置过

    显然,这里有两种配置方式,一种是自动获取 ip 地址,一种是我们手动来设置,我相信大部分人都是通过自动获取的方式来得到 ip 的,那么问题来了,它是如何自动获得...

    帅地
  • 服务器99一年-腾讯云服务器99一年

    服务器99一年,是腾讯云服务器的优惠活动,99一年服务器的配置为1核CPU,1G内存,1M带宽。不过服务器99一年有时间限制,超过了优惠活动的时间,就结束了,(...

    用户1361591
  • 基于发行版本内核打造自己的内核

    Linux当中最核心的部分就是内核,这个也是最基础,最可能被忽视的一部分,随便找一个刚入职的运维,学习个两三天,网上找些资料也能能自己安装编译内核了,很多运维的...

    用户2772802
  • 腾讯云服务器秒杀活动_2019年最新秒杀优惠活动

    在4月15日开始,每天有3场(9:00, 14:00,19:00)秒杀,主打云服务器、云数据库和短信等产品,今天的精彩秒杀有香港云服务器,不过只限新用户,1核1...

    用户2416682
  • npm相关操作

    治电小白菜
  • 文本分类实战(八)—— Transformer模型

      文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类。

    绝命生
  • 腾讯云秒杀活动-腾讯云服务器秒杀活动

    https://cloud.tencent.com/act/cps/redirect?redirect=1044&cps_key=926cbf665559b54...

    用户5908769

扫码关注云+社区

领取腾讯云代金券