一、DHCP

某组织一旦获得了一块地址,它就可以为本组织内的主机与路由器接口逐个分配IP地址。
主机地址可以手动配置,但是这项任务目前通常更多的是使用动态主机配置协议(DHCP)。
DHCP允许一个主机自动获取以下信息:IP地址、子网掩码、默认网关、DNS地址。
该协议支持即插即用,即一个新的网络设备加入网络时不需要重新启动该协议。

1、DHCP工作过程


对于一台新到达的主机而言,针对上图所示的网络设置,DHCP协议是一个4个步骤的过程,如下图所示。

(1)DHCP服务器发现:当一个笔记本连入网络时,它需要请求IP地址,首先客户在UDP分组中向端口67发送DHCP发现报文(DHCP discover),这个消息声明自己的存在;src是0.0.0.0这是因为笔记本也不知道自己的IP地址。目的地址是255.255.255.255广播地址,会生成一个广播帧,而这个广播帧会在局域网广播。
(2)DHCP服务器提供:当DHCP发现报文被同一个局域网的DHCP服务器收到时,它会返回一个DHCP提供报文(DHCP offer)。这个报文的目的地址仍然是广播地址。DHCP offer消息中还有收到的DHCP discover报文的事务ID 号、向客户主机推荐的IP地址、网络掩码、IP地址租用期等信息。
(3)当笔记本收到来自DHCP服务器的DHCP offer消息时,它会返回DHCP请求报文(DHCP request)进行IP地址的请求。
(4)DHCP ACK:最后服务器用DHCP ACK消息对请求进行响应。
我们可以看到DHCP返回的不仅仅是IP地址,还包括了:
(1)客户的第一跳路由器的地址。
(2)DNS服务器的IP地址和域名。
(3)网络掩码(用于指示网络的网络号部分和主机号部分)。

2、DHCP实例

DHCP实例:

(1)相连的笔记本请求IP地址、第一跳路由器的IP地址、DNS服务器的IP地址:使用DHCP。
(2)DHCP请求被封装成UDP包,进而被封装到IP包,进而被封装为802.1以太帧。
(3)以太帧在局域网中广播,运行DHCP服务器程序的路由器收到该广播帧。
(4)广播帧在DHCP服务器上逐层解封装得到DHCP请求消息。
(5)DHCP服务器构建DHCP ACK消息,包括客户的IP地址、第一跳路由器的IP地址、DNS的IP地址和名字。
(6)DHCP服务器封装消息成帧,转发给客户,在客户端将帧解封装为DHCP消息。
(7)客户目前知道了它的IP地址,第一跳路由器的IP地址,DNS服务器的IP地址和名字。
下图为运用Wireshark抓包工具抓到的DHCP请求和响应报文:

3、IP地址分配

关于IP地址及域名的获得:
互联网提供商是通过向一个国际组织申请IP地址和域名的。这个组织叫做ICANN,其主要职责是分配IP地址、管理DNS、分配域名,解决纠纷。
IP地址具体怎么分配呢?即给定一个地址块,怎么进行子网划分,以及为每个子网分配地址段呢?
某单位从ISP处购买了一个IP地址块202.40.70.0/24。如果该单位有3个部门,第一个部门78台计算机,第2个和第3个部门各有48台计算机,现在我们为这3个部门划分子网,给出各部门的网络号、子网掩码和主机可分配的IP地址范围:
因为202.40.70.0/24前24位是网络号,后8比特是主机号可以用于分配。在后8比特中可以将其划分为3个子网。每个子网对应一个部门。子网划分的好处是可以进行广播流量的隔离。子网1分配的IP地址范围至少需要支持78台电脑,子网2和子网3分配的IP地址范围至少需要分别支持48台电脑。78个IP地址至少需要用7比特来表示(因为2KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲6是64,不够分配78台电脑)。因此可以选择用最高位为0表示子网1即前25位是网络号,后7位是主机号;最高位为1表示子网2和子网3,那么进一步怎么区分子网2和子网3呢?48个IP地址只需要6比特来表示即可,因此可以采用次高位来区别子网2和子网3。次高位为0表示子网2,次高位为1表示子网3。由此可得如下图设置:

二、NAT:网络地址转换

1、转换原因


我们在家里组建了一个本地局域网络,互联家里的网络设备,每台设备配置的都是内部私有的IP地址。对于内部私有IP地址,互联网上的路由器是不能进行寻址的,因此在与外界网络进行通信时会在家里的网关路由器上进行网络地址转换。将私有的内部IP地址转换为一个全局、可寻址的IP地址。在上图中,全局IP地址是138.76.29.7.。
NAT转换动机:对外部来讲,本地网络的所有主机只需要使用一个共同的全局IP地址。详细来说:
(1)不需要从ISP分配一系列地址,只要一个IP地址用于所有设备。
(2)在本地网络改变设备的IP地址不用通知外部世界。
(3)可以变更ISP而不用改变本地网络的设备的地址。
(4)本地网络内部设备不能被外部世界明确寻址,或是不可见(增加了安全性)。
使用NAT转换,路由器必须做到:
(1)外出的分组:替换每个外出的分组即源IP地址、端口号为NAT IP地址、新端口号,远程客户/服务器用NAT IP地址、新端口号作为目的地来响应。
(2)在NAT转换表中记录每个源IP地址、端口号到NAT IP地址、新端口号转换配对。
(3)进来的分组:对每个进来的分组,用保存在NAT表中的对应的源IP地址、端口号替换分组中的NAT IP地址、新端口号。

2、转换过程

转换过程如下:

如上图所示,首先主机10.0.0.1发送数据报外部服务器128.119.40.186。这个分组到达网络路由器时,路由器在NAT转换表中建立一个表项记录本地的源IP地址和源端口号到NAT IP地址和新端口号的映射。这里NAT IP地址是138.76.29.7,新的端口号是5001。当该分组到达外部服务器时,外部服务器对此产生一个响应消息,如分组3所示,这里响应消息的目的IP地址是NAT转换后的全局IP地址。因此该分组到达网关路由器时需要用本地IP地址和源端口号对其进行切换,如分组4所示。这就是整个NAT代换的工作过程。

3、NAT限制

NAT:网络地址转换的一些限制:
(1)由于本地网络的映射,不同主机的不通透应用都是通过全局IP加源端口号进行区分,因此同时可以支持的并发连接数为216^{16}16即65536个。
(2)NAT应用在学术界任然存在争议,例如通常认为路由器只应该处理到第三层,而在NAT需要需改端口号就是需改了传输层的信息。此外,NAT的设计违反了因特网设计的端到端的主张。最后很多学者认为NAT只能缓解地址短缺的问题,应该及时过度到IPv6协议,从根本上解决地址短缺问题。
(3)NAT的另一个重要问题是它妨碍P2P应用程序,包括P2P文件共享应用和P2PIP语音应用。在一个P2P程序中,任何参与对等方A应当能够对任何其它参与对等方B发起一条TCP连接。但是如果对等放B在一个NAT后面,它不能充当服务器并接收TCP连接,若同时对等方A不在一个NAT的后面,则该NAT问题可以绕过去。在这种情况下,对等方A能够首先通过一个中间对等方C与对等方B联系,其中C不位于NAT之后并与B已经创建了一条进行中的TCP连接。对等方A则能够经过对等方C请求对等方B,发起直接返回对等方A的一条TCP连接。一旦对等方A和B之间创建一条直接的P2P TCP连接,这两个对等方就能够交换报文或文件。这种雇佣关系被称为连接反转,实际上被许多P2P应用程序用于NAT穿越。如果对等方A和对等方B都在它们自己的NAT后面,这种情况要使用应用程序进行中继处理。

网际协议:动态主机配置协议(DHCP)和NAT相关推荐

  1. 动态主机配置协议服务器不能提供,计算机网络基础课程—动态主机配置协议(Dhcp)...

    原标题:计算机网络基础课程-动态主机配置协议(Dhcp) DHCP(RFC 2131,2132)是对BOOTP的扩展,这种扩展体现在两个方面: 能在一个DHCP消息中为客户提供所有的网络配置信息,如I ...

  2. 域名系统DNS、文件传送协议FTP、动态主机配置协议DHCP、远程登录协议TELNET、电子邮件协议(SMTP/POP3/IMAP)、常用端口

    1.DNS域名系统 Domain Name System DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务. 这里的分布式数据库是指,每个站点只保留它自己的那部分数据. 域名具 ...

  3. 动态主机配置协议DHCP

    动态主机配置协议----DHCP协议(Dynamic Host Configure Protocol)允许新加入网络的计算机快速.动态地获取IP地址. DHCP的工作过程如下: ①只要有新计算机连到网 ...

  4. OpenWrt之DHCP(动态主机配置协议)

    OpenWrt之DHCP(动态主机配置协议) DHCP简介 在TCP/IP网络上,每台主机在访问网络及其资源之前,都必须进行基本的网络信息配置,包含IP地址.子网掩码.默认网关和DNS等.在大型网络中 ...

  5. HCIP/HCIE RoutingSwitching / Datacom备考宝典系列(十六)DHCP知识点全面总结(动态主机配置协议)

    目录 一.技术背景 二.DHCP概述 三.DHCP系统组成 四.DHCP报文结构 五.DHCP报文类型 六.DHCP工作流程 七.DHCP租期更新 50% 八.DHCP重绑定 87.5% = 7/8 ...

  6. 计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)

    目录 前言 一.DHCP的定义 二.接口模式的 DHCP 命令 (1)开启DHCP配置功能 (2)开启接口的DHCP功能 (3)设置排除地址 (4)设置地址池ip租用有效期 (5)设置DNS地址 (6 ...

  7. 动态主机配置协议(DHCP)

    什么是DHCP DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client).DHCP通 ...

  8. IP地址荷官——DHCP(动态主机配置协议)简介

    文章目录 IP地址荷官--DHCP(动态主机配置协议) 前言 一.什么是DHCP? 二.DHCP的优势 三.DHCP的配置原理 DHCP分配的三种模式 DHCP地址池 DHCP配置特殊应用场景 四.D ...

  9. Telnet,命令级别,DHCP (动态主机配置协议),DHCP租期, 地址池,全局配置,接口配置,DHCP中继代理,网络三要素,路由项匹配算法

    Telnet Tcp协议 自带mac 缺少ip 手动配置ip 客户端配置: System-view //进入系统模式 interface GigabitEthernet 0/0/0 //进入端口 ip ...

最新文章

  1. 64位OpenCV库生成32位库并配置环境变量
  2. Chrome浏览器相关细节整理
  3. oracle 12c undo,Oracle 12C新特性-临时UNDO段(Temporary Undo Segments) | 信春哥,系统稳,闭眼上线不回滚!...
  4. 作为函数的mixin
  5. iOS 为自定义返回按钮的页面添加右滑返回
  6. scheduler 基本原理
  7. mysql建表测试_总结MySQL建表、查询优化实用小技巧
  8. Java速成系列-03-Java的下载
  9. 卡巴斯基激活码 卡巴斯基2010激活码下载
  10. arduino入门-用arduino uno制作基于蓝牙的数据监控系统
  11. 网站速度和性能测试工具
  12. mt7620 外置pa_openwrt在mt7620a芯片上对外置PA的支持
  13. 吕文翰 php,自己动手写一个 iOS 网络请求库(三)——降低耦合
  14. MySQL 8.0踩到的坑(2)
  15. nginx打包文件以及解压
  16. 【Torch API】pytorch 中torch.ones_like和torch.zeros_like函数详解
  17. 金融计量模型(三):工具变量法
  18. 蚂蚁数字科技与梆梆安全达成战略合作 共同构建移动端全链路的安全能力
  19. 网络营销不是收费删帖:为网络营销正本清源
  20. KONICA MINOLTA China | 柯尼卡美能达-SMB扫描问题

热门文章

  1. 3个月转行数据分析师,你需要掌握这些内容
  2. 华为诺亚开源贝叶斯优化库:超参数调优河伯、组合优化器CompBO
  3. 用开源的人工标注数据来增强RoFormer-Sim
  4. Funnel-Transformer:让Transformer更高效地处理长序列
  5. 当前最好的非深度迁移学习方法:流形空间下的分布对齐
  6. 如何走近深度学习人脸识别?你需要这篇超长综述 | 附开源代码
  7. 沉默是金 矩阵快速幂
  8. python标准库time_Python3标准库:time时钟时间
  9. java是什么_Java是什么?
  10. 牛客题霸 NC6 二叉树的最大路径和