访问网页的过程

TCP/IP协议族按层次分别为 应用层,传输层,网络层,数据链路层,物理层。
把 TCP/IP 协议分层之后,如果后期某个地方设计修改,那么就无需全部替换,只需要将变动的层替换。而且从设计上来说,也变得简单了。处于应用层上的应用可以只考虑分派给自己的任务,而不需要弄清对方在地球上哪个地方,怎样传输,如果确保到达率等问题。
在这里插入图片描述

应用层:

应用程序收到传输层的数据后,接下来就要进行解读。解读必须事先规定好格式,而应用层就是规定应用程序的数据格式。主要的协议有:HTTP.FTP,Telent等。

传输层:

该层为两台主机上的应用程序提供端到端的通信。传输层有两个传输协议:TCP(传输控制协议)和 UDP(用户数据报协议)。其中,TCP是一个可靠的面向连接的协议,UDP是不可靠的或者说无连接的协议

网络层:

决定如何将数据从发送方路由到接收方。网络层通过综合考虑发送优先权,网络拥塞程度,服务质量以及可选路由的花费等来决定从网络中的A节点到B节点的最佳途径。即建立主机到主机的通信。

数据链路层:

控制网络层与物理层之间的通信,主要功能是保证物理线路上进行可靠的数据传递。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据结构的结构包,他不仅包含原始数据,还包含发送方和接收方的物理地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。如果在传达数据时,接收点检测到所传数据中有差错,就要通知发送方重发这一帧。

物理层:

把计算机链接起来的物理手段

主要流程

1.在浏览器中输入相应的域名,比如www.baidu.com
2.DNS解析服务器解析域名,得到ip地址返回到我的电脑,然后使用子网掩码来判断目标ip是否和本地主机是同一网段,如果不是则要进行网关转发
3.将需要的数据封装,在应用层将得到的数据打包形成data域,经传输层到网络层,得到了原IP(本机IP)和目标IP。再进入数据链路层,获取到原mac地址和目标mac地址。DNS服务器不仅要把IP地址返回给用户电脑,还要把这个对应关系保存在缓存中,以备下次别的用户查询时,可以直接返回结果,加快网络访问。
4.通过APR协议来访问目标
5.如果以上正确,从目标传回来的数据就会进行处理,如果数据较大则需要分块处理,并将分好的数据发送到发送缓冲区。再将数据分割成特定的可被物理层传输的帧返回到接收缓冲区中
6.最后从接收缓冲区接收并逐步拼装成整个网页

主要问题

如何利用子网掩码判断两个IP地址是否为同一网段

要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网。
例:假定选择了子网掩码255.255.254.0,现在分别将上述两个IP地址分别与掩码做与运算,如下图所示:
211.95.165.24 11010011 01011111 10100101 00011000
255.255.254.0 11111111 11111111 111111110 00000000
与的结果是: 11010011 01011111 10100100 00000000

211.95.164.78 11010011 01011111 10100100 01001110
255.255.254.0 11111111 11111111 111111110 00000000
与的结果是: 11010011 01011111 10100100 00000000

可以看出,得到的结果(这个结果就是网络地址)都是一样的,因此可以判断这两个IP地址在同一个子网。

DNS解析和查询过程

参考文章:https://blog.csdn.net/u014465934/article/details/83241097?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159705486419724835801526%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159705486419724835801526&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-2-83241097.pc_ecpm_v3_pc_rank_v3&utm_term=DNS%E5%AF%BB%E6%89%BEip%E5%9C%B0%E5%9D%80%E7%9A%84%E8%BF%87%E7%A8%8B&spm=1018.2118.3001.4187

APR协议

将32位的IP地址转换为48位的物理地址。
当路由器或主机选择了某条路由时,首先会查找ARP缓存,若缓存中有对应IP地址的物理地址,则以此封装以太帧,否则会广播(为二层广播)ARP报文,每个主机接收到ARP请求报文后,会缓存发送源的IP——MAC对到ARP缓存中,目的主机会发送ARP回应(此时为单播),当发送源接收到回应时,会将目的方的IP——MAC对存放在ARP缓存中。在点到点的物理连接中,是不会用到ARP报文的,在启动时双方都会通告对方自己的IP地址,此时物理层的封装不需要MAC地址。windows上可以使用arp -a查看本机的ARP缓存。ARP缓存中的每个条目的最大存活时间为20分钟(从条目创建时开始计时)。
参考文章:https://blog.csdn.net/dhaiuda/article/details/79149239?biz_id=102&utm_term=arp&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-79149239&spm=1018.2118.3001.4187

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值