查缺补漏----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路由器是网络层之上的设备,而普通的路由器是网络层的设备。

例题:

相关推荐
testpassportcn2 分钟前
Fortinet FCSS_SDW_AR-7.4 認證介紹|Fortinet Secure SD-WAN 高級路由專家考試
网络·学习·改行学it
盛世宏博北京39 分钟前
《可复制推广:智慧档案馆 “十防” 安全防护体系建设指南》
网络·人工智能·web安全·智慧档案
liulilittle1 小时前
LIBTCPIP 技术探秘(tun2sys-socket)
开发语言·网络·c++·信息与通信·通信·tun
zbtlink1 小时前
2.5G路由器是啥?和家用的有哪些差异?
网络·智能路由器
以太浮标1 小时前
华为eNSP模拟器综合实验之- HRP(华为冗余协议)双机热备
运维·网络·华为·信息与通信
食咗未1 小时前
Linux tcpdump工具的使用
linux·服务器·网络·驱动开发·tcp/ip·测试工具·tcpdump
YJlio1 小时前
WinObj 学习笔记(15.7):看懂内核对象管理器与命名空间的“地图”
linux·服务器·网络·windows·笔记·学习·微信
MOON404☾1 小时前
003.端口扫描
网络·安全·web安全·网络安全·系统安全
F133168929571 小时前
WD5030K,耐高压输出电流10A,WD5030A输出电流12A
网络·单片机·嵌入式硬件·物联网·汽车
我的golang之路果然有问题1 小时前
linux 个人笔记导出之网络,防火墙,定时,权限,后台
linux·运维·服务器·网络·笔记·个人笔记