首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【网络协议】DHCP动态主机配置协议

    一、什么是DHCP?   DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。 网络中的IP地址可以由网络管理员分配静态的IP,但是当机器多的时候网络管理员进行分配,那可就忙不过来了。因此,我们需要有一个自动配置的协议,也就是称动态主机配置协议。 有了这个协议网络管理员就轻松多了。他只需要配置一段共享的IP地址。每一台新接入的机器都通过DHCP协议,来这个共享的IP地址里申请,然后自动配置好就可以了。等人走了,或者用完了,还回去,这样其他的机器也能使用。 所以说,如果是数据中心里面的服务器,IP一旦配置好,基本不会变,这就相当于买房自己装修。DHCP的方式就相当于租房。你不用装修,都是帮你配置好的。你暂时用一下,用完就退租了。 二、解析DHCP的工作方式   当一台机器新加入一个网络的时候 ,肯定一脸懵,啥情况都不知道,只知道自己的MAC地址。怎么办?先吼一句,我来啦,有人吗?这时候的沟通基本靠“吼”。这一步,我们都成为DHCP Discover.   新来的机器使用IP地址0.0.0.0发送了一个广播包,目的IP地址为255.255.255.255.广播包封装在UDP里面,UDP封装在BOOTP里面。其实DHCP是BOOTP的增强版,但是如果你去抓包的话,看到的名称还是BOOTP协议。   在这个广播包里,新人大喊:我是新来的(Boot request),我的MAC地址是这个,我还没有IP,谁能给我个IP地址。   格式就像这样:

    00

    网络基础:网络IP 、子网掩码 、路由器 、DNS知识分享

    IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地主机不在同一子网内的目标主机的数据,会因为错误的判断而认为目标主机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目标主机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关(文章下方有解释)的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。如果一个网络的规模不超过254台电脑,采用“255.255.255.0”作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码;假如在一所大学具有1500多台电脑,这种规模的局域网可以使用“255.255.0.0”。

    02

    一文搞懂网络知识,IP、子网掩码、网关、DNS、端口号

    IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地主机不在同一子网内的目标主机的数据,会因为错误的判断而认为目标主机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目标主机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关(文章下方有解释)的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。如果一个网络的规模不超过254台电脑,采用“255.255.255.0”作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码;假如在一所大学具有1500多台电脑,这种规模的局域网可以使用“255.255.0.0”。

    03

    深入解析DHCP带来了什么功能,服务器回应到底是用广播还是单播呢?

    不知道大家在看到这个图的时候第一时间想到的是什么,【好复杂】【看不懂】【终端数好多】,这里不看整体的结构怎么样,来看看终端数量都非常的多,终端要与网络中进行通信,势必需要IP地址,从最开始学习到现在好像都是手动去设置的终端IP地址,如果一个网络中有几百台、几千台的终端设备,难道需要IT维护人员一个一个去设置吗,那工作量太大了,并且如果涉及到整改,比如换了一个新的网段,那岂不是之前设置的又需要重新修改,那估计TCP/IP的体系也没人使用了,使用起来太麻烦,不方便维护跟扩展,所以呢,出了一个应用层协议---DHCP。

    02

    Linux下的DHCP服务的原理及搭建

    DHCP:     动态主机配置协议Dynamic host configuration protocol     DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议。(主要包括:ip地址,子网掩码,网关和dns等)     工作原理:         1、客户机寻找服务器:广播发送discover包,寻找dhcp服务器         2、服务器响应请求:单播发送offer包,对客户机做出响应。提供客户端网络相关的租约以供选择         其中服务器在收到客户端的请求后,会针对客户端的mac地址与本身的设定数据进行一下工作:             a、到服务器的登录文件中寻找该用户之前曾经使用过的ip,若有且该ip目前没有人使用,这提供此ip为客户机             b、若配置文件中有针对该mac提供额外的固定ip,且该ip没有被使用,则提供此ip给客户机             c、如果没有符合以上两个条件,则随机取用目前没有被使用的ip参数给客户机并记录到leases文件中。         3、客户机发送ip请求:广播request包,选择一个服务器提供的网络参数租约回报服务器。             此外,客户机会发送一个广播封包给局域网内的所有主机,告知自己已经接受服务器的租约。         4、服务器确认租约:单播Ack包,服务器与客户机确认租约关系并记录到服务器的leases文件中 。         客户端打开68号端口,服务器打开67号端口。     配置:         配置文件都放在/etc/dhcp目录下;主配置文件为dhcpd.conf         将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件复制到配置文件目录下,并覆盖dhcpd.conf文件,即可获得主配置文件。         主配置文件的主要内容介绍:             option domain-name "example.org";      --指定网域的域名             option domain-name-servers ns1.example.org, ns2.example.org;        --指定域名解析服务器(DNS)的ip地址。             default-lease-time 600;    --默认租约时间,单位为s             max-lease-time 7200;        --最大租约时间,单位为s。过期续约,续约直接发送request包即可。             log-facility local7;        --日志设备类型为local7.一般日志设备类型包括mail、crontab。通过此选项可以找到该服务的日志记录路径             subnet 10.5.5.0 netmask 255.255.255.224 {      --指定分配网段的ip地址以及子网掩码,括号内部为局部配置。             range 10.5.5.26 10.5.5.30;      --可使用的地址池范围             option domain-name-servers ns1.internal.example.org;        --该网段的域名,可以省略             option domain-name "internal.example.org";      --网段DNS             option routers 10.5.5.1;        --指定网关             option broadcast-address 10.5.5.31;    --指定广播地址             default-lease-time 600;    --租约时间             max-lease-time 7200;        --最大租约时间。             }             host passacaglia {      --主机名称             hardware ethernet 0:0:c0:5d:bd:95;      --主机的MAC地址             filename "vmunix.passacaglia";             server-name "toccata.fugue.com";        --文件名和服务器名,不太需要。             fixed-address fantasia.fugue.com;      --固定的ip地址

    02
    领券