-
DNS、NAT、ARP&RARP
2017-06-16 07:47:56对于同一个主机,机器只能识别通过二进制命名的点分十进制(IPv4)地址,这类地址是由总长度为32位的二进制,每八位使用“.”进行隔开,隔开的二进制数转换成十进制,于是就有了点分十进制表示的IP地址,如202.108....DNS
(1)什么是DNS?
域名系统(Domain Name System,DNS)解决人与机器交互过程中的命名问题。对于同一个主机,机器只能识别通过二进制命名的点分十进制(IPv4)地址,这类地址是由总长度为32位的二进制,每八位使用“.”进行隔开,隔开的二进制数转换成十进制,于是就有了点分十进制表示的IP地址,如202.108.22.5;然而对于人类来说,大量的IP地址会产生大量的数字,记忆起来十分不方便,因此产生了分层树状结构的注册域名,比如www.baidu.com,实际上,这两个表示的是同一个地址,前者便于机器理解,后者便于人类理解和记忆。
(2)DNS工作方式
DNS用于运行TCP/IP协议的网络,当网络中有客户机进行域名查询时,本地DNS服务器会率先响应请求,在本地的主机文件中查询网址映射关系,如果有,就将查询到的结果返回给主机;
如果本地主机没有对应的映射关系,则启用迭代查询。本地DNS服务器将用户请求转发给根DNS服务器,根DNS服务器收到请求(.com域)后,根据域名命名空间判断对这个域名进行授权管理的DNS服务器,并由进行授权管理的授权服务器解析,如果无法解析,则将请求转发给下一级的DNS服务器地址(baidu.com)对本地DNS服务器进行解析,如果它还是无法解析,则再进行下一级DNS服务器地址(www.baidu.com)进行交付,直至找到解析结果,最后将查询结果返回给本地DNS服务器,并进行缓存。NAT
(1)什么是NAT?
网络地址转换(Network Address Translation,NAT)是接入广域网技术,为了解决网络IP地址不足的问题, 将Internet上的IP地址分为两类,一类是合法地址(共有地址),一类是保留地址(私有地址),前者用于网络之间的通信,后者只能在网络内部使用,无法被外部网络设备识别,使用NAT技术可以实现两类地址之间的转换,使得网络内部的数据包可以被外部网络识别,并可以有效隔离来自外部网络的攻击,隐藏并保护网络内部的设备。
(2)NAT工作方式
NAT的具体实现可以通过以下三种方式:- 静态转换:一对一的固定私有IP地址与公有IP地址之间的转换;当内部数据包的目的地址为外部IP地址时,在网关处从NAT表中查找对应的转换条目,用共有IP地址替换私有IP地址,在外部网络中路由到达目的IP,而外部的数据包在进入内网的时候,同样要根据静态转换条目进行地址转换。
- 动态转换:动态定义可以进行地址转换的私有IP地址集和可以转换为哪些公有IP地址集,当客户机发出请求时,随机选择进行转换的公有IP地址;当数据包到达网关时,检查NAT表,查看是否已经建立了私有IP地址与公有IP地址的映射,如果没有,则动态、随机地从NAT池中选择一个公有地址进行映射,建立转换条目,并替换源地址,当数据传输完成,转换条目被删除,公有地址被回收到NAT池。
- 端口地址转换(Port Address Translation,PAT)可以实现地址复用,动态更改端口号,建立源地址与端口号的映射,内部网络的所有主机均可以共享一个合法外部IP地址访问外网;当数据包到达网关时,检查NAT表,查看是否已经建立了转换条目,如果没有,查看是否已经存在其他的转换条目,如果存在其他的转换条目,则直接调用共有IP地址进行源地址替换,并保存IP地址与端口号的映射。
ARP和RARP
(1)什么是ARP?
地址解析协议(Address Resolution Protocol,ARP)实现IP地址与物理地址之间的对应关系。在数据报传输过程中,数据报的IP地址会根据数据报传输过程中经过的设备进行改变,但是目的MAC地址始终保持不变。底层的物理网络通过物理地址来发送和接收消息,高层软件通过IP地址来指定源地址和目的地址。ARP使用广播的方式,使主机和设备之间互相通知自己的IP地址和物理地址的映射关系,源主机维护者一个ARP Cache表,在构建IP数据报时首先从ARP Cache表中找到目的IP地址的主机报告它的MAC地址,当收到IP所有者的ARP Relay报文后,更新Cache表。
逆地址解析协议(Reverse Address Resolution Protocol,RARP)作用与ARP相反,用于将MAC地址转换为IP地址。
(2)ARP工作方式
主机通过数据报的目的IP地址,在本地ARP缓存中查找匹配的MAC地址,如果找到,进行通信;
如果没有找到,则将请求目的IP地址硬件地址的请求帧广播到本地网络上的所有主机,包含进行请求主机的IP地址和MAC地址;
网络上的主机将请求中的IP地址与自己的IP地址进行匹配,如果不匹配,则扔掉ARP请求;如果匹配,则目的主机将源主机的IP地址与MAC地址映射添加到自己的ARP缓存中,并将自己的IP地址与MAC地址映射发送给源主机;
源主机收到回复消息后,就更新ARP缓存时间(ARP缓存有生存期),进行通信。
-
125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt
2019-09-04 19:19:18北京动力节点-Java编程零基础教程-038-Java基本语法-十进制到二进制转换.avi 北京动力节点-Java编程零基础教程-039-Java基本语法-二进制到十进制转换.avi 北京动力节点-Java编程零基础教程-040-Java基本语法-八... -
实用C语言编程(第三版).[美]Steve Oualline(带详细书签).pdf
2019-02-04 21:42:38二进制和ASCII码文件 252 行尾难题 253 二进制I/O 255 缓冲问题 257 非缓冲I/O 258 设计文件格式 264 答案 266 编程练习 267 第十五章 调试和优化 268 调试 268 交互调试器 280 调试一个二分查找程序 285... -
ewb multisim 仿真实例电路图全集
2015-10-21 09:19:01│ │ 2-74 用T触发器构成的同步二进制加法计数器.ms9 │ │ 2-75 4位同步二进制加法计数器74LS161.ms9 │ │ 2-76 用T'触发器构成的同步2进制加法计数器4520.ms9 │ │ 2-77 用T触发器构成的同步2进制减法计数器.... -
delphi 开发经验技巧宝典源码
2010-08-12 16:47:230112 如何将二进制转换为十进制 75 0113 如何将二进制转换为十六进制 76 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 ... -
C和指针(第二版)【高清+章节目录+可搜索+可编辑/复制/粘贴+无密码】
2018-05-03 06:47:46二、全部目录如下所示 第1 章 1.1 12 1.3 编译..….... ………............... ………........ ……………........ ………………......... …………·········· ………………........ …………······... -
Visual Basic开发实战1200例(第Ⅰ卷).(清华出版.孙秀梅.巩建华).part1
2016-06-14 11:19:42实例082 十进制转换为其他进制 实例083 使用迭代法求某数平方根 实例084 小管家房贷计算器 实例085 个人所得税计算器 4.2 判断类算法 实例086 判断闰年 实例087 判断身份证是否合法 实例088 判断城市电话... -
C#编程经验技巧宝典
2008-06-01 08:59:3358 <br>0081 文本中首字母改为大写 59 <br>0082 C#随机数的产生 59 <br>0083 身份证从15位升至18位算法 60 <br>0084 十进制数转二进制数的算法 60 <br>0085 十进制数转八进制数的算法 61... -
C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载
2018-02-20 01:26:55《C#开发实例大全(基础卷)》筛选、汇集了C#开发从基础知识到高级应用各个层面约600个实例及源代码,每个实例都按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析解读。全书分6篇共25章,主要... -
C语言编程要点
2017-09-18 00:10:374.6. 文本模式(textmode)和二进制模式(binarymode)有什么区别? 61 4.7. 怎样判断是使用流函数还是使用低级函数? 62 4.8. 怎样列出某个目录下的文件? 62 4.9. 怎样列出一个文件的日期和时间? 63 4.10. 怎样对某个目录... -
谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar
2013-06-13 22:35:218.5 函数的嵌套调用 108 8.6 函数的递归调用 109 8.7 数组作为函数参数 110 8.8 局部变量和全局变量 112 8.8.1 局部变量 113 8.8.2 全局变量 119 8.9 变量的存储类别 120 78.9.1 动态存储方式与静态动态存储方式 120... -
SQL Server 2008实战(SQL Server程序员和DBA不可或缺的权威参考手册)--详细书签版
2013-02-06 11:52:198.6.3 以字符串字面量表示二进制数据 240 8.6.4 计算表达式返回的数据类型 241 8.7 排名函数 242 8.7.1 生成递增行号 242 8.7.2 根据排名返回行 244 8.7.3 根据无间隔排名返回行 245 8.7.4 使用NTILE ... -
计算机网络与因特网(互联网技术的“圣经”)
2011-07-13 00:32:0416.8 类别和点分十进制表示法 131 16.9 地址空间的划分 131 16.10 地址的授权 131 16.11 编址实例 132 16.12 特殊IP地址 132 16.12.1 网络地址 133 16.12.2 直接广播地址 133 16.12.3 有限广播地址 133 16.12.4 本机... -
Visual C++范例大全 本书全部源码(1~17章)共406个实例
2010-02-06 15:27:35实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——... -
Visual C++范例大全 本书全部源码打包(1~17章)共406个实例
2013-08-18 10:08:00实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例... -
C++范例大全(400)
2013-06-29 21:23:07实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——... -
Visual C++范例大全 各章源代码
2013-07-06 15:57:34实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——... -
VC++6.0示例程序光盘
2012-03-18 13:40:03实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——... -
VC++6.0示例程序光盘.part1
2011-02-21 09:17:43实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——... -
Visual C++范例大全 400+的实例源码
2010-04-01 21:30:54实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——... -
C++程序员面试宝典
2013-04-01 13:36:19许多开发者对C/C++语言及其底层原理掌握不牢固,在面试过程中经常漏洞百出,无法取得好成绩。而招聘单位为了得到高素质的员工往往采用各种形式的面试考察求职者,这让面试难度大大增加。求职者要想成功应聘,不仅... -
数据结构(C++)有关练习题
2008-01-02 11:27:187、 编写一个程序,将10进制数转换为其它(2-9)进制数。可以将要转换的数重复除以基数,然后讲除的余数按反方向排列来实现; 8、 已知A[n]为正数数组,试写出实现下列运算的递归算法; a. 求数组A中的... -
Oracle Database 11g初学者指南--详细书签版
2013-02-03 11:26:057.1.3 Oracle 二进制文件 179 7.1.4 参数文件 179 7.1.5 控制文件 180 7.1.6 重做日志 180 7.1.7 撤消段 180 7.1.8 检查点 180 7.1.9 归档日志 181 7.1.10 数据文件、表空间、段、分区和块 182 7.1.11 转储... -
-
javascript函数的解释
2011-02-26 11:03:5240.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在 值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor (Math.random()*(n+1))... -
EXCEL编程VBA高级教程
2015-04-16 11:40:55第十一节过程和函数........................................................................................................................4 一.Sub过程....................................................