计算机网络——一次与网站的通讯

(如果自动被设置成vip,请私信作者)

当我们在浏览器中访问百度,网络上会发生什么?

一、域名转服务器地址

我们都知道,网络中表明地址的是ip地址,但在浏览器中输入的都是域名,而在网络中,路由器交换机是不认域名的。这时就需要一个域名系统(服务)协议 来帮助我们进行域名和IP地址的转换。(之所以要有域名是为了方便记忆网站地址,毕竟ip地址很难记)早期的墙就是对DNS进行限制,让你无法访问境外网站,可以通过修改本机host文件来整一些破解软件的操作,如果更有兴趣的话,可以看看DNS劫持内容。

【红框内为百度服务器的地址,在浏览器输入这个IP跟输入www.baidu.com是一样的】
在这里插入图片描述

二、数据封装

这里昨天已经讲过了,主要就是从TCP/IP模型,从应用层到物理层对原数据进行层层加工,以便于能在网络中识别。

(1)应用层:浏览器将请求数据(ip)封装为http协议(如果没有带端口号,默认(80端口)的数据。
(2)传输层:tcp将前一个封装数据包再次封装为tcp数据包(ip+port)
(3)网络层:ip协议再次封装
(4)数据链路层:以太网技术,携带mac(系统将数据包发送到本机网卡),封装为数据帧
(5)请求端—>发送数据---->局域网主机

这时,通过子网掩码,发现目的IP地址不在本网段中,就需要把数据包发往网关(路由器)处理。

【五元组】:源IP地址、目的IP地址、协议号、源端口、目的端口

三、NAT+NAPT

在这里插入图片描述当我们数据包封装结束后,发出来的数据,将带有的信息为:
源IP地址:192.168.1.4
源mac:自身的mac地址
源端口号:主机1应用程序的端口号
目的mac:为路由器1的mac地址
目的IP地址:14.215.177.39
目的端口:80

这里我们发现一个问题:我们的IP地址是192.168.1.4
我们知道IP地址都是唯一的,但192.168.1.4感觉好像不唯一,这个很多啊,感觉大家都可以同时用这个IP地址而不冲突。这里就要说说关于IP地址的问题了,IPV4的地址有有限的,而随着设备不断增多,IPv4的地址已经不够了,为了让更多的设备接入网络,就这样设置。192.168.1.4为私网IP地址,也就是在这个路由器内的地址是这样的,如果想要知道详细的可以去查查IP地址有关。

NAT协议就是把私网的地址转化成公网地址。
在这里插入图片描述【在百度中输入“IP”即可看到自己的公网IP】

NAPT协议就是把主机1的源端口映射为路由器1的端口

此时,原数据包的信息就要进行变化(先解包再封装):
1.源mac修改为本路由器mac;
2.目的mac修改下一站(路由器2)mac;
3.源ip:主机1私网ip修改为路由器1的公网ip;
4.目的ip:不变
5.源端口号:主机1程序端口号修改为路由器新映射的端口号;
6.目的端口:不变

四、路由器之间交换

我们知道,路途遥远,不可能一个路由器就给找到了(这好像也说不定。。。),我们需要很多的路由器来查找。

在这里插入图片描述其实变得信息差不多,但需要注意的是:
NAT+NAPT就发生一次,就斜体样式在你最近的那个路由器影射一次

而源mac地址和目的mac是一直在变的

在这里插入图片描述这有一个RIP协议(路由协议信息):RIP度量的单位是跳数,其单位是1,也就是规定每一条链路的成本为1,而不考虑链路的实际带宽、时延等因素,RIP最多允许15跳。当16跳就表示不可达。
也就是路由器之间交换信息的次数是有限制的,不能多于15次。

五、接收端响应数据

最终,找到服务器的地址,服务器要对我们的请求进行响应;

接收端响应数据:
源ip为接收端主机公网ip;
源端口为接收端应用程序端口号;
目的ip为路由器1公网ip;
目的端口为路由器1映射端口;
源mac目的mac和之前发送流程变化方式是一样的

在这里插入图片描述

六、返回路由器1

路途中的设备不停的解包分用,重新封装数据报(源mac修改为自己的,目的mac修改为下一个设备mac)。

最终,路由器1接收到数据报,发现目的ip和自己公网ip一致,就处理数据(目的端口绑定的程序处理),把目的ip修改为发送端主机私网ip,端口号修改为发送端应用程序端口号(NAT+NAPT),也就是找到私网中的主机。

扩展

1.目的主机不能处于局域网内

刚开始接收数据时,只能由接收端路由器公网ip+路由器端口号作为目的ip+目的端口,但是刚开始没有建立局域网内主机的映射关系,所以找不到具体是局域网内哪个主机(ip)哪个应用程序(端口)

2.路由器功能
1)NAT+NAPT技术:将(主机1私网ip+主机1程序源端口号)映射为路由器1公网ip+路由器1端口;
2)路由/路由表:记录了很多ip和mac信息,应该往哪个地方走,下一个应该发送哪个设备

3.映射作用
返回数据只能找到公网ip+公网ip所在设备端口

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值