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

作用:

  1. BOOTP的扩充和增强,与BOOTP向后兼容
  2. 在有限期间内提供临时的静态的或动态配置
  •   静态数据库:人工配置好的物理地址和IP地址的绑定,存放在静态的数据库中
  •   IP地址池:其余可用的待分配的IP地址存放在IP地址池中

【网络基础系列二】BOOTP、DHCP协议的更多相关文章

  1. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...

  2. 【C++自我精讲】基础系列二 const

    [C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变 ...

  3. 网络基础和 TCP、IP 协议

    1.网络基本概念 1.1 什么是网络:一些网络设备按照一定的通讯规则(网络协议)进行通讯的系统. 1.2 VPN(虚拟私有网络)加密,相当于专线,从分支机构到总部. 1.3 资源共享的功能和特点: 数 ...

  4. 异常处理与网络基础中的tcp,udp协议

    # 异常处理: # 什么是异常?异常和错误的区别 # Error 语法错误 比较明显的错误 在编译代码阶段就能检测出来 # Iteration 异常 在执行代码的过程中引发的异常 # 异常发生之后的效 ...

  5. 网络基础之 tcp/ip五层协议 socket

    1 网络通信协议(互联网协议) 1.1 互联网的本质就是一系列的网络协议 1.2 osi七层协议 1.3 tcp/ip五层模型讲解 1.3.1 物理层 1.3.2 数据链路层 1.3.3 网络层 1. ...

  6. keystone系列二:HTTP协议

    一 为何要学习HTTP协议 http协议就是通信的双方共同遵守的标准,就好比要合伙办事的两家公司签署的合同. openstack中各组件是基于restful api通信的,restful api可以单 ...

  7. Java基础系列二:Java泛型

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.泛型概述 1.定 ...

  8. 【网络知识之二】HTTP协议

    HTTP协议(Hypertext Transfer Protocol,超文本传输协议),一种无状态的.应用层的.以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系 ...

  9. 网络编程(二)--TCP协议、基于tcp协议的套接字socket

    一.TCP协议(Transmission Control Protocol 传输控制协议) 1.可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会 ...

随机推荐

  1. EXT.JS以下两种写法在初始载入时是一样的效果

    /* Ext.application({ name: 'MyfirstApplication', launch: function () { Ext.Msg.alert("Hello&quo ...

  2. PyTorch学习笔记之初识word_embedding

    import torch import torch.nn as nn from torch.autograd import Variable word2id = {'hello': 0, 'world ...

  3. Java泛型总结---基本用法,类型限定,通配符,类型擦除

    一.基本概念和用法 在Java语言处于还没有出现泛型的版本时,只能通过Object是所有类型的父类和类型强制转换两个特点的配合来实现类型泛化.例如在哈希表的存取中,JDK1.5之前使用HashMap的 ...

  4. pt-pmp :pt toolkit

    http://www.cnblogs.com/ivictor/p/6012183.html

  5. Android中使用SDcard进行文件的读取

    来自:http://www.cnblogs.com/greatverve/archive/2012/01/13/android-SDcard.html 平时我们需要在手机上面存储想音频,视频等等的大文 ...

  6. 【css】设置div位于浏览器的最底层,离用户最远

    有时候切换发现某块div一直悬浮在最上层,怎么设置div位于浏览器的最底层.离用户最远? <style> .in{ z-index: -1; } </style> 然后引用in ...

  7. 安装惠普M1136打印机一直处于“新设备已连接”状态怎么办?

    百度的答案是从控制面板的添加打印机入手,我试了遇到找不到设备的问题. 其实问题的原因是在安装驱动时一直把打印机到电脑的USB插着.我的解决方案是: 1.点击M1130MFP_M1210MFP开始安装, ...

  8. LINUX下目标文件的BSS段、数据段、代码段

    http://blog.chinaunix.net/uid-27018250-id-3867588.html bss 未初始化的全局数据 data 已经初始化的全局数据 text 代码段,机器指令 r ...

  9. js逻辑非同时两次使用 !!null

    今天遇到了“!!null”的写法,百度没有找到直接的解释,翻书在<javascript高级设计>P44找到了相应的解释: 同时使用两个逻辑非操作符,实际上就会模拟Boolean()转型函数 ...

  10. 嵌入式Linux驱动案例之中的一个

    前几天解决一个嵌入式Linux驱动问题,做为一个案例进行记录. 本案例是一个CPU通过LocalBus总线訪问外围一个设备,详细设备是一个DSP器件.在实际应用中,性能要求非常高,对数据訪问速度提出比 ...