计算机网络第4章-IPv6和寻址

IP地址的分配

为了获取一块IP地址用于一个组织的子网内,于是我们向ISP联系,ISP则会从已分给我们的更大

地址块中提供一些地址。

例如,ISP也许已经分配了地址块200.23.16.0/20。

该ISP可以依次将该地址块分成8个长度相等的连续地址块,随后分给我们一块。

如下图所示:

获取主机地址:动态主机配置协议

某组织一旦获得了一块地址,它就可以为本组之内的主机与路由器接口逐个分配IP地址。

路由器的IP地址通常由系统管理员配置。

但是主机地址我们自己可以手动配置,但是更多的是使用动态主机配置协议(DHCP)来完成。

DHCP允许主机自动获取一个IP地址。

网络管理员可以配置DHCP,以便使主机每次与网络连接时能得到一个相同的IP地址,或者某主机

将被分配一个临时的IP地址。

DHCP也被称为“即插即用协议”或“零配置”协议。

DHCP又是一个客户-服务器协议,客户通常是新到达的主机,它要活的包括自身使用的IP地址在内

的网路配置信息。

下图是一个DHCP接入的子网:

对于一台新到达的主机而言,DHCP协议工作要经过大概四步:

1.DHCP发现

一台新到达的主机的首要任务是发现一个要与其交互的DHCP服务器。这可以通过使用DHCP发现

报文来完成,客户在UDP分组中向端口67发送该发现报文。

怎么发送呢?很简单。

前面我们讲过广播目的地址,因此DHCP客户会在子网中使用255.255.255.255并且使用“本主机”源

IP地址0.0.0.0。

DHCP客户将该IP数据报传递给链路层,链路层然后将该帧广播到所有与该子网连接的节点。

2.DHCP服务器提供

DHCP服务器收到一个DHCP发现报文时,用DHCP提供报文向客户做出响应,该报文向该子网的

所有节点广播,仍然使用IP广播地址255.255.255.255。

3.DHCP请求

新到达的客户从一个或多个服务器中提供中选择一个,并向选中的服务器提供DHCP请求报文,回

显配置的参数。

4.DHCP ACK

服务器用DHCP ACK报文对DHCP请求报文进行响应,证实所要求的参数。

一旦客户收到DHCP ACK后,交互便完成了,并且该能够在租用期内使用DHCP分配的IP地址。

网络地址转换

我们可能会想,在家庭中很多机器使用路由器上的网络,这些机器的IP地址该如何分配呢?如果这

些机器都分配一个IP地址,那么全球的机器数量远远多于40亿,IP地址显然是不够分的,那该怎么

办呢?

很简单,在这里我们使用NAT来解释,并且来引入一个“专用网络”概念。

什么是NAT?

NAT使路由器对于外部世界来说甚至不像一台路由器。

相反NAT路由器对外界的行为就如同一个具有单一IP地址的单一设备。

所有离开家庭路由器流向更大的报文都拥有一个源IP地址138.76.29.7(上图的例子),且所有进入家

庭的报文都拥有同一个目的IP地址138.76.29.7。

从本质上讲,NAT使路由器对外界隐藏了家庭网络的细节。

而路由器怎么将分组转发给哪个内部主机呢?

技巧就是使用NAT路由器上的一张NAT转换表,并且在表项中包含了端口号及其IP地址。

NAT转换表具体操作

假设一个用户坐在家庭网络主机10. 0. 0. 1后,请求IP地址为 128.119. 40. 186的某台Web服务器

(端口 80)上的一个Web页面。

主机10. 0. 0. 1为其 指派了(任意)源端口号3345并将该数据报发送到LAN中。

NAT路由器收到该数据报, 为该数据报生成一个新的源端口号5001,将源IP替代为其广域网一侧接口

的IP地址 138. 76. 29.7,且将源端口 3345更换为新端口5001

当生成一个新的源端口号时,NAT路由器可选择任意一个当前未在NAT转换表中的源端口号。(注

意到因为端口号字段为16 比特长,NAT协议可支持超过60 000个并行使用路由器广域网一侧单个

IP地址的连接!)

路由器中的NAT也在它的NAT转换表中增加一表项。Web服务器并不知道刚到达的包含 HTTP请求

的数据报已被NAT路由器进行了改装,它会发回一个响应报文,其目的地址是 NAT路由器的IP地

址,其目的端口是5001

当该报文到达NAT路由器时,路由器使用目的IP地址与目的端口号从NAT转换表中检索出家庭网络

浏览器使用的适当IP地址 (10. 0. 0.1)和目的端口号(3345)。于是,路由器重写该数据报的目

的IP地址与目的端 口号,并向家庭网络转发该数据报。

IPv6

IPv6数据报的格式

扩大的地址容量

IPv6将IP地址长度从32比特增加到128比特,这就确保全世界将不会用尽IP地址。

IPv6还引入了一种称为任播地址的新型地址,这种地址可以使数据报交付给一组主机中的任意一

个。

简化高效的40字节首部

新的选项编码允许进行更灵活的选项处理。

流标签

IPv6有一个难以琢磨的"流"定义。

该字段用于“给属于特殊流的分组加上标签,这些特殊流是发送方要求进行特殊处理的流,如一种

非默认服务质量或需要实时服务的流。”

版本

该4比特字段用于标识IP版本号,IPv6将该字段值设为6,但是该字段不能被置为4,即使置为4也

无法创建一个合法的IPv4数据报。

流量类型

该8比特字段与我们在IPv4中看到的TOS字段含义相似。

有效载荷长度

该16比特值为一个无符号整数,给出了IPv6数据报中跟在定长的40字节数据报首部后面的字节数

量。

下一个首部

该字段标识数据报中的内容(数据字段)需要交给哪个协议?(TVP/UDP)

跳限制

转发数据报的每台路由器将对该字段的内容减1,若被减少到0,则被丢弃。

数据

这是IPv6数据报的有效载荷部分,当数据报到达目的地时,该有效载荷就从IP数据报中移出。

分片/重新组装

IPv6不允许在中间路由器上进行分片与重新组装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/164171.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汉化程序的使用方法

首先:双击打开安装程序,输入密码

相机滤镜软件Nevercenter CameraBag Photo mac中文版特点介绍

Nevercenter CameraBag Photo mac是一款相机和滤镜应用程序,它提供了一系列先进的滤镜、调整工具和预设,可以帮助用户快速地优化和编辑照片。 Nevercenter CameraBag Photo mac软件特点介绍 1. 滤镜:Nevercenter CameraBag Photo提供了超过2…

矩阵乘积的迹对矩阵求导

矩阵A、B乘积的迹对矩阵A求导 下面来证明。

Stable Diffusion源码调试(一)

Stable Diffusion源码调试(一) 个人模型主页:https://liblib.ai/userpage/369b11c9952245e28ea8d107ed9c2746/model Stable Diffusion版本:https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.4.1 调试t…

Leetcode 第 368 场周赛题解

Leetcode 第 368 场周赛题解 Leetcode 第 368 场周赛题解题目1:2908. 元素和最小的山形三元组 I思路代码复杂度分析 题目2:2909. 元素和最小的山形三元组 II思路代码复杂度分析 题目3:2910. 合法分组的最少组数思路代码复杂度分析 题目4&…

Maven3.9.1安装及环境变量配置

一、Maven的下载与安装 maven各版本下载地址 打开链接后自行选择对应版本 下载完成后解压安装,最好别选择c盘,安装目录路径等使用英文,避免产生其他问题 我这里选择的是D盘 二、Maven的环境变量配置 2.1、右键点击此电脑选择属性,点击高级系统设置,点…

【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉…

深度学习之基于YoloV5的火灾检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 火灾检测系统基于YoloV5的介绍 火灾检测是一项重要的安全任务,它旨在及时发现和报警火灾风险。基于深度…

Tomcat 9.0.x 源码编译

文章目录 一、克隆源码二、构建 Maven1)在项目根目录中新建 pom.xml 文件2)然后 Add Maven Projects 三、在目录中增加 home 目录四、增加启动配置五、其它问题1)控制台乱码解决 2)启动后访问 localhost:8080 报错解决 一、克隆源…

力扣每日一题 -- 2919. 使数组变美的最小增量运算数

//这题本质还是一个背包问题 //怎么去思考这个问题呢 //我最开始的思想是根据经验来看,最小增量运算数,并且使数组变美丽,那么就有点像编辑距离的问题 //但是我看了下时间复杂度,不能是n^2,那么再去仔细思…

如何使用Pyarmor保护你的Python脚本

目录 一、Pyarmor简介 二、使用Pyarmor保护Python脚本 1、安装Pyarmor 2、创建Pyarmor项目 3、添加Python脚本 4、配置执行环境 5、生成保护后的脚本 三、注意事项与未来发展 四、未来发展 五、总结 本文深入探讨了如何使用Pyarmor工具保护Python脚本。Pyarmor是一个…

OpenHarmony,奏响中国基础软件的“光辉岁月”

梦想需要多久的时间,多少血和泪,才能慢慢实现? 天地间任我展翅高飞,谁说那是天真的预言? 《光辉岁月》歌词中的这两个问题,恰好可以送给今天的中国基础软件事业。 曾几何时,我们认为中国基础软件…