DJ4-4 NAT、ICMP、IPv6

news2024/11/26 4:25:54

目录

一、NAT:网络地址转换

1、工作原理

2、NAT 的限制

二、ICMP

1、ICMP 协议

2、ICMP 类型和代码

3、Traceroute 命令

三、IPv6 地址

1、IPv6 的引入

2、IPv6 的表示


一、NAT:网络地址转换

动机:对外部网络来讲,本地网络只用一个 IP 地址。

  • 不需要从 ISP 分配一系列地址,只需要一个 IP 地址用于所有的设备
  • 在本地网络,改变设备的 IP 地址不用通知外部世界
  • 可以变更 ISP,同时又不用改变本地网络的设备地址
  • 本地网络内部设备不能被外部世界明确寻址或不可见

增加了安全性

1、工作原理

① 外出的分组

  1. 在 NAT 转换表中记录每个 (源 IP 地址,端口号) 到 (NAT IP 地址,新端口号) 转换配对
  2. 替换每个外出的分组的 (源 IP 地址,端口号) 为 (NAT IP 地址,新端口号)
  3. 远程客户/服务器用 (NAT IP 地址,新端口号) 作为目的地来响应

② 进来的分组

  • 替换每个进来的分组的 (NAT IP 地址,新端口号) 为 (源 IP 地址,端口号)

采用 16 位端口号:一个局域网地址可以同时支持 60,000 个并发连接!

2、NAT 的限制

NAT 存在争议:路由器只应该处理到第三层,违反了端到端主张,应用程序设计者在设计时不得不将 NAT 加以考虑,如:P2P 应用程序。

应使用 IPv6 来解决地址短缺问题。

二、ICMP

1、ICMP 协议

Internet Control Message Protocol,因特网控制报文协议

功能:用于主机路由器之间彼此交流网络层信息。

  • 差错报告:不可到达的主机、网络、端口、协议
  • 请求和应答(用 于 ping、traceroute)

位于 IP 之上:因为 ICMP 消息是装载在 IP 分组里的。

可见,同一层的协议可以相互封装

2、ICMP 类型和代码

主打一个:探测网络连通性

3、Traceroute 命令

源端发送一系列的 UDP 分组给目的端:

  • 第一个分组的 TTL=1
  • 第二个分组的 TTL=2,等等

考虑第 n 个分组到达第 n 个路由器时,

  • 由于 TTL=0 ,因此路由器丢弃该分组
  • 并给源端发送一个 ICMP 报文 (type 11,code 0)
  • 该报文包含了路由器的名称和 IP 地址

当源端收到 ICMP 报文时,计算传输 RTT 往返时间。

事实上,对应每个 TTL 都发送了三次分组

回顾:路由器每次将 TTL-1 后,都要重新计算校验和。

源端停止发送的依据:

  1. UDP 报文最终到达目的端
  2. 目的端返回应答的 ICMP 报文 (type 3, code 3)
  3. 源端收到应答 ICMP 报文后停止发送

三、IPv6 地址

1、IPv6 的引入

引入的原因:

  • (初始动机) 32位的 IPv4 地址空间即将用尽。
  • 首部格式可帮助加速处理和转发
  • 改变首部利于 QoS 要求

IPv6 数据报格式:

  • 固定长度的 40 字节首部
  • 不允许分片

2、IPv6 的表示

① 冒号十六进制表示法

例如:104.220.136.100.254.254.254.255.0.0.18.128.140.10.254.255

用冒号十六进制表示为:69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF

② 零压缩表示法

例如:FF0C:0:0:0:0:0:B1

零压缩表示为:FF0C::B1

即使有两段可以进行压缩,也只能选择其中一个进行压缩。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RISC-V处理器的设计与实现——基本指令集

本人小白一枚,在学习FPGA的过程中偶然刷到了tinyriscv这个开源项目,并且自己对计算机体系结构的知识也很感兴趣,所以想参考这个开源项目做一个基于RISC-V指令集的CPU,下面是tinyriscv这个开源项目的地址,本项目很多思路…

优思学院|六西格玛倡导者与项目赞助人是什么角色?有何区别?

倡导者(Champion)和项目赞助人(Sponsor)在正式的六西格玛的组织架构中是两个不同的角色,所以希望在这篇文章中解释一下两个角色的区别。 倡导者(Champion)是负责组织竞争力和增长的董事和高管&…

quartus 无法识别usb blaster

一、Windows无法正常驱动USB-Blaster 问题:驱动问题 解决方法: 右键我的电脑->管理->设备管理器找到设备USB-Blaster,此时是带有黄色感叹号的 3.右键->更新驱动程序软件 4. 选择“浏览计算机以查找驱动程序软件(R)”,如选择自动搜索是不能安装成功的,…

jQuery 基础语法使用指南

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1. 引入 jQuery 2. jQuery 语法 3. 选择器 …

FusionComputeV100R006C10SPC101平台安装win10踩坑记

生产环境中有一套华为FusionCompute,版本比较老,V100R006C10SPC101,该产品已EOS了,无法升级。因业务需要,需安装Windows10系统,遇到了不少坑,在此记录一下。 一、坑1:Windows10版本…

CAN总线终端电阻

CAN总线终端电阻,一般来说都是120欧姆,实际上在设计的时候,也是两个60欧姆的电阻串起来,而总线上一般有两个120Ω的节点,基本上稍微知道点CAN总线的人都知道这个道理。 但是这两个终端电阻的具体作用是什么呢&#xf…

迅为视频教程 | RKNPU2 从入门到实践一套搞定!

迅为基于瑞芯微RK3568和RK3588处理器设计开发的两款开发板都自带NPU,RK3568自带1T算力的NPU、RK3588自带6T算力的NPU,且这两款开发板使用的都是RKNPU2。 (RKNPU发展历程) RKNPU2较RKNPU1有较大的提升,但市面…

Unity核心9——3D动画

一、3D 动画的使用 ​ 使用导入的 3D 动画: 将模型拖入场景中为模型对象添加 Animator 脚本为其创建 Animator Controller 动画控制器(状态机)将想要使用的相关动作,拖入 Animator Controller 动画控制器(状态机&…

Java:时间日期类

文章目录 DateCalendarDate/Time APILocalDateLocalTimeLocalDateTimeZonedDateTime 功能获取标准时间 参考文献 Date 同样位于java.util包下。 在java中,获取时间最简单的方式就是直接实例化Date类。 以自定义格式,取当前的时间日期: Da…

渗透测试入门指南之小白该如何学习渗透?

前言: 内容都是精华,如果想要入安全的行,强烈建议仔细阅读。 目录: 渗透测试是什么? 学习渗透测试的战略方针是什么? 学习渗透测试的具体方法是什么? 遇到的各种疑难杂症怎么解决&#xf…

践行公益担当 | 关爱留守儿童,暖到“心理”

农民在中国各个时代都扮演着十分重要的角色,为中国的发展做出了卓越的贡献。随着经济的发展,农民为了改善生活而大规模的进城打工,“留守儿童”成为一个新的社会问题,开始在农村甚至部分城市出现。 全国“留守儿童”达6102.55万&…

从0到1精通自动化测试,pytest自动化测试框架,测试用例setup和teardown(三)

目录 一、前言 二、用例运行级别 三、函数式 1、setup_function / teardown_function 2、setup_module / teardown_module 四、类和方法 五、函数和类混合 一、前言 学过 unittest 的都知道里面用前置和后置 setup 和 teardown 非常好用,在每次用例开始前和…

计算机组成原理-复习大纲(期末版)

目录 第一章 计算机系统概论 1.1 冯诺依曼型计算机 1.2 计算机的硬件组成 第二章 运算方法和运算器 2.1 ieee754标准、32位浮点数 2.2 补码运算 2.3 运算器的基本结构形式 第三章 存储系统 3.1 主存与cache的地址映射 3.1.1 全相联映射方式 3.1.2 直接映射方式 3.1.3 组相…

全网最细,web自动化测试实战场景(滚动元素的滚动操作)直接上干g货......

前言 使用 selenium 进行 web 自动化测试对我们来说是个常规操作。用了很多次后,我们经常会抱怨 selenium 封装的操作实在是太少了。 比如说 selenium 没有对页面的滚动提供丰富 API , 有的只有一个孤零零的 location_once_scrolled_into_view 方法,把…

css 解决多张图片显示时出现的空白间隙问题

1、出现的间隙 在后端设置富文本时,添加了多张图片,但是到前台展示时,每2张图片直接都会多出一个间隙; 2、空白间隙产生的原因 在网上查阅资料时,发现是由于图片设置了display: inline-block;属性,使图…

任意分频器电路设计

目录 任意分频器电路设计 1、任意偶数分频器电路设计 1.2、实验任务 1.3、程序设计 1.3.1、代码如下: 1.3.2、编写仿真 TB 文件 2、任意奇数分频器电路设计 2.1、实验任务 2.2、程序设计 2.2.1、奇数分频电路代码 2.2.2、编写仿真 TB 文件 2.2.3、仿真验…

关于前端项目安全问题的一些思考

1.路由守卫,本地路径与本地存储加密后的该用户所有能访问的的路径列表对比,是否有权限,这个要搞个一级页面-二级页面三级页面这种记录下来,后台管理员开启后赋予用户访问某些页面的权限,即能打开相关菜单的权限&#x…

【吴恩达老师《机器学习》】课后习题2之【逻辑回归(logistic_regression)】

逻辑回归-线性可分 用于解决输出标签y为0或1的二元分类问题 判断邮件是否属于垃圾邮件?银行卡交易是否属于诈骗?肿瘤是否为良性?等等。 案例:根据学生的两门学生成绩,建立一个逻辑回归模型,预测该学生是否会被大学录…

卷积码编码器的结构与表示

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 卷积码基础卷积码的…

Oracle数据库startup mount时的报错处理(ORA-01078LRM-00109)

安装监听 Disconnected [oraclerac1 ~]$ netcaOracle Net Services Configuration:[oraclerac1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 20 22:50:36 2023Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to an idle …