查看 ----IP 交流流程
1.DHCP协议
H3刚接入网络时,只知道自己的MAC地址,所以需要通过DHCP协议请求自己的IP地址。
通过DHCP协议,得到IP地址、子网掩码、网关与DNS服务器IP地址。
DHCP协议是应用层协议(传输层为UDP),请求报文是广播(H3不知道DHCP服务器的IP地址),响应报文是广播(因为H3此时还没有IP地址)。一台主机得到IP地址、子网掩码、网关后,才认为它正确的接入了该网络。
2.DNS协议
若主机想要访问一个网站,只知道对方的域名,那么需要通过DNS协议请求目的IP地址。此时要通过ARP协议将本地DNS服务器的IP地址解析为对应的MAC地址,这样才能进行数据传输。
①若主机已知对方IP地址,那不需要进行DNS查询。
②只知道对方的域名,通过DNS协议请求目的IP地址。
DNS协议是应用层协议(传输层为UDP),分为递归查询和递归迭代查询,一般采用递归迭代查询(主机向本地DNS服务器发出请求为递归,本地DNS服务器向其他域名服务器发请求,为迭代)。
有几级域名,本地DNS服务器就需要查找几次其他域名服务器(四级域名需要查询1次根、1次*、2次权限)
答案:C
3.ARP协议
接下来需要知道目的MAC地址(下一跳的MAC地址),首先根据自己与对方的网络号判断是否在同一个网段。
网络号=子网掩码和IP地址进行与操作,判断(目的IP 与 本主机子网掩码)和(源IP与本主机子网掩码)是否相等情况
①:两者相同,说明在同一个子网;此时两主机的通信是在同一个子网内的,下一跳就是目的主机。
情况②:两者不同,说明不在同一个子网;每一个网段需要一次ARP请求,故需要多次ARP协议。在第一轮,源主机会发送链路层广播,请求网关MAC地址(源主机会将这个MAC地址存入ARP表中,之后与网关的通信就不需要发送ARP请求了),之后每个网段都是如此。
当目的主机收到了离他最近的网关的链路层广播,就会单播回应,这时网关就可以将源主机发给目的主机的帧转发给目的主机了。
以数据帧从H3发送到H1为例:
它跨越了路由器,所以可以分为两段:H3->R1和R1->H1
① 如果在同一子网则下一跳就是目的主机,ARP请求的是目的主机的MAC地址;
② 如果不在同一子网则下一跳是网关,ARP请求的是网关的MAC地址
如果没有NAT路由器,源,目的IP地址在传输过程中不变,而针对MAC地址,只要跨越了网段就需要改变源和目的MAC地址。
4.NAT路由器
对于跨网段的通信,发送方发出的报文,源址是自己的IP地址,目的地址填对方的外部IP地址(即通过NAT转换的地址)。
经过NAT路由器时,如果是内一>外:则改变源IP地址;如果是外一>内:则改变目的IP地址。
注:在改变NAT地址的同时,也会改变端口号,这个端口号是NAT服务器分配的,这说明NAT路由器是网络层之上的设备,而普通的路由器是网络层的设备。
例题:
上一篇: C++--堆栈和队列
下一篇: 线性代数杂谈 (1) - 基本矩阵
推荐阅读
-
查看 ----IP 交流流程
-
优化你的代码编写 - 使用 Commitizen来规范化提交流程
-
如何轻松使用JMeter进行HTTP接口测试 - 一步步教你设置线程组、 cookie、默认值与Sampler,加上响应断言和监听器,打造基础测试案例。针对复杂情况,将子系统和流程测试分类组织,确保数据一致性。同时,别忘了感谢阅读,给新手提供实战学习资源与全套测试指南,助你轻松踏上自动化测试之路! - 在"测试计划"点击右键,添加"线程组"并设定初始"线程数"和"循环次数" - 配置"HTTP Cookie管理器"与"Http请求默认值",输入目标系统信息,如域名、端口、协议等,让所有相关Sampler共享这些默认设置 - 在线程组内增加"HTTP Request"的Sampler,并填入接口详情,比如路径、请求方法及参数 - 添加"响应断言"检查接口返回结果,通过正则表达式验证预期结果 - 安装监听器,实时查看测试执行状况 - 如需处理流程性接口,请依次添加多个相关Sampler,关联前后请求间的上下文数据 特别提示:为了帮助大家避免学习中的曲折,我们准备了详尽的视频和文档资料库,无论你是软件测试的新手还是老司机,都能从中找到所需的全方位支持。只需点击下方链接加入我们的学习交流社群,就能立刻获取这份珍贵的学习宝藏!再次感谢您的耐心阅读,愿它成为您前行路上的一大助力!
-
EXT JS技巧回忆(4) - 表单创建(IV): 数据提交流程详解
-
Linux笔记之iftop查看特定IP地址吞吐量
-
linux 查看攻击者 IP
-
Windows 查看本地 IP 和端口
-
查看本地 IP 地址和子网掩码(掩码)
-
如何查看本机的 IP 地址和端口号
-
如何查看计算机的 IP 地址?