【网络基础系列二】BOOTP、DHCP协议
BOOTP
含义:BOOT Protocol,引导协议
作用:引导无盘计算机或者第一次启动的计算机获取以下网络配置信息:
- 主机的IP地址、子网掩码
- 路由器(网关)的IP地址
- DNS服务器IP地址
C/S协议:
- Client:UDP 68端口
- Server:UDP 67端口
静态配置协议:
含义:BOOTP Server上预设了BOOTP Client的物理地址与IP地址的绑定。
注意:“静态”的含义并非是指获取方式的静态性,而是指BOOTP Client的物理地址和IP地址的绑定关系是初始化的时候就人为地配置在BOOTP Server中,后期不再改变。
BOOTP操作
1、BOOTP使用UDP,BOOTP服务器启动后一直处于被动响应状态,等待接受客户请求;
2、客户端从68端口发送UDP请求,服务器一直处于监听状态,当监听到有请求传过来时将请求从67端口接收;
3、服务器响应请求:服务器仍然从67端口发送相应报文给客户,客户也从发送端口68处接收该回应报文。
红色边框内是BOOTP封装,外层灰色是UDP封装,SP为源地址,而DA为目的地址。
上图中,BOOTP封装的SP是端口号68,目的地址是端口号67;而UDP封装的源地址是全0,因为使用BOOTP协议的主要目的就是为了获取本机的IP地址等信息,关键在于客户并不知道本机地址,因而使用全0表示,目的地址使用全1,表明该客户也不清楚BOOTP服务器在哪里,因而选用广播方式进行转发,全1表示的是广播地址。
下图中,BOOTP封装的SP是端口号67,目的地址是端口号68,与请求报文对应的源地址和目的地址恰好相反;而UDP封装的源地址是就是该服务器所在的IP地址,目的地址可以使用目标客户的地址也可以使用全1进行广播,所谓条条大路通罗马,最终实现的效果是一样的。
DHCP
含义:Dynamic Host Configuration Protocol,动态主机配置协议,RFC 2131
作用:
- BOOTP的扩充和增强,与BOOTP向后兼容
- 在有限期间内提供临时的静态的或动态配置
- 静态数据库:人工配置好的物理地址和IP地址的绑定,存放在静态的数据库中
- IP地址池:其余可用的待分配的IP地址存放在IP地址池中
【网络基础系列二】BOOTP、DHCP协议的更多相关文章
- Android网络编程系列 一 TCP/IP协议族
在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...
- 【C++自我精讲】基础系列二 const
[C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变 ...
- 网络基础和 TCP、IP 协议
1.网络基本概念 1.1 什么是网络:一些网络设备按照一定的通讯规则(网络协议)进行通讯的系统. 1.2 VPN(虚拟私有网络)加密,相当于专线,从分支机构到总部. 1.3 资源共享的功能和特点: 数 ...
- 异常处理与网络基础中的tcp,udp协议
# 异常处理: # 什么是异常?异常和错误的区别 # Error 语法错误 比较明显的错误 在编译代码阶段就能检测出来 # Iteration 异常 在执行代码的过程中引发的异常 # 异常发生之后的效 ...
- 网络基础之 tcp/ip五层协议 socket
1 网络通信协议(互联网协议) 1.1 互联网的本质就是一系列的网络协议 1.2 osi七层协议 1.3 tcp/ip五层模型讲解 1.3.1 物理层 1.3.2 数据链路层 1.3.3 网络层 1. ...
- keystone系列二:HTTP协议
一 为何要学习HTTP协议 http协议就是通信的双方共同遵守的标准,就好比要合伙办事的两家公司签署的合同. openstack中各组件是基于restful api通信的,restful api可以单 ...
- Java基础系列二:Java泛型
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.泛型概述 1.定 ...
- 【网络知识之二】HTTP协议
HTTP协议(Hypertext Transfer Protocol,超文本传输协议),一种无状态的.应用层的.以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系 ...
- 网络编程(二)--TCP协议、基于tcp协议的套接字socket
一.TCP协议(Transmission Control Protocol 传输控制协议) 1.可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会 ...
随机推荐
- AC日记——[ZJOI2009]假期的宿舍 cogs 1333
1333. [ZJOI2009] 假期的宿舍 ★★☆ 输入文件:zjoi09holiday.in 输出文件:zjoi09holiday.out 简单对比时间限制:1 s 内存限制:25 ...
- IE使用多彩文档上传数据库报错
使用多彩文档,用IE浏览器提交表单,双引号里面包含单引号,导致数据库插入不了,而用chrome浏览器不会报错,自动过滤单引号, 解决:content.replace("'", &q ...
- 为VLC增加在线字幕插件VLSub
VLC的在在线字幕插件VLSub,官网:https://github.com/exebetche/vlsub. 原理是通过搜索全球最大的字幕网站https://www.opensubtitles.or ...
- python--文本处理1
1.字符和字符值之间的转换 内建函数:ord(),chr() >>> print ord("a") 97 >>> print chr(97) a ...
- 邁向IT專家成功之路的三十則鐵律 鐵律七:IT人效率之道-時間管理
彷間有許多與時間管理方面的相關書籍與實務課程,但是究竟對於一位IT專業人士來說,甚麼樣的時間管理法則才是最有效率的呢?過去有許多IT朋友私下請教顧大俠這個問題,而顧大俠始終沒有很完整的分享這方面的經驗 ...
- 邁向IT專家成功之路的三十則鐵律 鐵律四:IT人快速成長之道-複製
相信您一定看到過現今有許多各行各業的成功人士,他們最初都是從複製別人的成功經驗開始的,就算是一位知名的歌手,有許多都是在未成名以前,先行模仿知名歌手的唱腔.舞蹈.服裝等等開始的,然後在慢慢經過自我努力 ...
- 【UI】为项目添加类似于淘宝筛选列表勾选的ui-choose
jQuery下载的地址:http://www.htmleaf.com/jQuery/Form/201512182916.html GitHub地址:https://github.com/wangxin ...
- talkingdata比赛分析
1.kaggle数据分析经验: https://medium.com/unstructured/how-feature-engineering-can-help-you-do-well-in-a-ka ...
- webstorm中使用java的块凝视
webstorm中使用java的块凝视 有图有真相 使用java中非常方便得/**+enter就能高速创建类凝视.可是webstrom中没有现成的,所以我们得自己去创建一个,详细方法例如以下: 博主w ...
- EasyUI基础入门之Droppable(可投掷)
怎么说呢Droppable这个单词究竟是什么意思,准确来说easyui作者究竟要表达什么意思,还是不大好拿捏的.只是没关系,没有必要纠结与这些细枝末节的东西,依据官网的demo效果,就简单的将之定义为 ...