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. LeetCode OJ——Binary Tree Inorder Traversal

    http://oj.leetcode.com/problems/binary-tree-inorder-traversal/ 树的中序遍历,递归方法,和非递归方法. /** * Definition ...

  2. AC日记——Dishonest Sellers Codeforces 779c

    C. Dishonest Sellers time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  3. Java原来如此-反射机制

    在Java运行时环境中,对于任意一个类,能知道这个类有哪些属性和方法.对于任意一个对象,能调用它的任意一个方法.这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflect ...

  4. Socks5代理Socks5 Proxy

    Socks5代理Socks5 Proxy   Socks5代理是基于Socks协议的一种代理模式.其中,5表示该协议的版本号.它可以让局域网的计算机通过socks5代理服务器,访问外网的内容.由于它工 ...

  5. chpasswd、dd命令、find实战、添加系统服务、buffer、cached

    1.如果两个文件的每一行想一一对应 paste 1.txt 2.txt # 文件3.txt中存放着用户跟密码,想要添加用户并设置密码: # 用户必须存在,文件格式必须是--用户名:密码 chpassw ...

  6. Java中ArrayList的初始容量和容量分配

    1.实例化ArrayList时默认不输入大小是10个,并且如果增加到11个时不会报错,会自动扩容. 2.获取指定索引的值时就必须保证ArrayList有这么多个. 3.推荐在new ArrayList ...

  7. Oracle SOA Suite OverView

    SOA是一场架构的变革,那既然是变革,那就一定是有内在的原因来推动这个架构的变革.在过去几十年的时间里面,应用程序架构已经经历了3次巨大的变革,从Terminal/主机--> Client/Se ...

  8. iOS开发之Xcode8兼容适配iOS 10资料整理笔记

    1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...

  9. Git以及github的使用方法(一)安装并设置git用户

    最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...

  10. 编写自己的UDTF

    1. UDTF介绍 UDTF(User-Defined Table-Generating Functions) 用来解决 输入一行输出多行(On-to-many maping) 的需求. 2. 编写自 ...