广域网通信

来源:百度知道 编辑:UC知道 时间:2024/06/07 16:13:52
ping百度的服务器
所引发的流程可以这么认为吗?

A主机(ping命令执行者)-----数据打包成数据报发送至网络层
---适配器(A主机)把数据报封装成数据帧发送至链路层
-----数据帧来到路由器(假如是局域网)
-----路由器分析IP确认是本地包还是远程网络包
-----路由器通过查询路由表----获知远程LAN的MAC地址(路由器的MAC)
-----路由器-----发送数据帧至远程LAN的适配器
-----远程适配器(百度服务器的网卡)解析包----送至网络层
-----接着网络层处理数据包

过程是这样的
ping 百度域名
-首先本机发送域名请求数据到pc设置的DNSip
-pc通过子网掩码判断dnsip是本网段还是跨网段
-(只考虑跨网段)由于是跨网段,pc发送dns域名解析数据包到pc设置的网关ip上。(此时先要进行二层的mac转发,pc查看本机arp缓存表,如果表中有网关的mac地址,直接转发,如果没有使用arp解析协议解析到网关的mac地址。之后封装成数据帧发送到三层网络层)此时pc发送三层数据到网关,源地址为pc内网地址,目的地址为dns地址。而在二层源mac地址为pcmac地址,目的mac地址为网关mac地址。
-路由内网网关收到数据包,根据数据包的目的地址,查看路由表。根据路由表发送数据到下一跳上。(发送前,数据到达路由外网端口,会根据nat地址转换配置。形成一条内网IP+port与外网ip+port的一一对应关系。)
-发送到下一跳和内网通信都是一样的,查看路由arp缓存表,如果有下一跳mac地址,就直接发送,没有的话就是要arp协议解析一下。
-对端路由收到数据包,在接着根据路由表判断下一跳。这样一跳跳的最后到达dns服务器。服务器回查询数据库,而返回这个域名对应的ip地址。
-返回的数据包在isp的网络里最后寻址到你的路由器上,你的路由器收到数据包后,回查询路由nat连接表,寻找ip+port关系对应当内网ip。拆分数据包,封装成帧,最后pc收到域名对应的ip地址。
-在发起一次pc到目的域名ip地址的一次请求信息。
过程和上边的是一样的。
在整个这个过程中,源ip地址和目的ip地址是不变的(内网到路由器段不算)
而mac地址是变幻的,由这个路由发送到下个路由,源mac和目的mac都是变幻的。

如果想透彻的了解网络,建议看一下《TCP/IP协议》