WEB入门浅谈15

本文介绍了网络通信的基础知识,包括网络层的IP协议与地址管理,子网掩码的概念,以及IPv4和IPv6的区别。网络地址的划分和路由选择原理,以及数据链路层的MAC地址和ARP协议的作用。此外,详细阐述了应用层的DNS协议,用于域名到IP地址的转换,并探讨了网络通信中的一些常见问题和解决方案。
摘要由CSDN通过智能技术生成

网络原理

网络层

网络层主要负责:地址管理、路由选择
主要协议:IP协议
IP协议当前主要就两个版本:IPv4、IPv6
在这里插入图片描述

网段划分

把一个IP地址分为两部分
网络号:局域网的身份标识
主机号:用来区分一个局域网中不同的主机
同一个局域网中,各个设备的网络号相同,主机号不同
两个相邻的局域网,网络号不同
过去曾提出把所有的IP地址分为5类
A 0+7位网络号+24位主机号 0.0.0.0-127.255.255.255
B 10+14位网络号+16位主机号 128.0.0.0-191.255.255.255 可划分65535台主机
C 110+21位网络号+8位主机号 192.0.0.0-223.255.255.255
D 1110+28位多播组号 224.0.0.0-239.255.255.255
E 11110+27位留待后用 240.0.0.0-247.255.255.255
但是这种划分方式导致B类网络地址不够用,而A类却浪费了大量地址
所以现在基本不用这种方式,而是引入了子网掩码来区分网络号和主机号
子网掩码也是一个32位的整数,特点就是从二进制的角度来看,前半部分都是1后半部分都是0。子网掩码与ip地址进行按位 与运算 得到的结果就是网络号,剩下的部分就是主机号。如:
在这里插入图片描述
IP地址和子网掩码还有一种更简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68, 子网掩码的高24位是1,也就是255.255.255.0
特殊的IP地址:
将IP地址的主机号全部置为0,就成了网络号,代表这个局域网
将IP地址的主机号全部置为1,就成了广播地址,用于给这个网络的所有主机发送数据报
127.*的IP地址用于本机的环回IP,通常使用127.0.0.1
IP地址的数量限制
IPv4 是一个32位的整数,范围:0-42.9亿
所以导致IP不够分,于是出现了两个方案:
动态分配:某个设备不上网,就不分配IP地址,只给使用网络的分配IP地址,但是这个方案治标不治本,还是不够用
NAT机制:把IP地址分为外网IP和内网IP,用一个外网IP代替N个内网IP(路由器用外网IP换掉源IP,把不同IP的源端口换为不同的源端口)这样一来,路由器接收到服务器的响应时,通过端口再传给不同的主机即可。这样一来,结合端口号就可以区分不同的设备(外网IP唯一)
IP地址专门划分出一部分标识局域网内部使用的IP(私网IP):
10.* 172.16.* 192.168.*
在命令行窗口敲入 ipconfig 查看本机IP
如果有外网IP,就能被所有设备访问,如果没有外网IP,就只能被局域网内部的设备访问
IPv6 是和IPv4 并列的协议,可以理解为IPv4的升级版,IPv6能够保证地址够用。IPv6用16个字节来表示IP地址 也就是128bit位,能表示的范围为2128
IPv6虽然可以从根本上解决IP不够用的问题,但是IPv6与IPv4不兼容,而当前情况下,大部分设备都只支持IPv4,如果要升级IPv6就需要更换这些设备

路由选择

路由就是一次一次在网络上寻找目的地(目的地址)时问路的过程
每个路由器内部都会维护一个数据结构 路由表 ,如果直接能查到目的IP,就直接转发至目的IP的端口,如果查不到,就转发至这个路由器默认的端口(路由器的WAN口,也就是转发至路由器的上一级端口),再次进行查询,直到找到为止。
网络通信的核心过程就是 查路由表 的过程

数据链路层

在目的地址传输数据时,路线怎么选,这是网络层的工作,那么路线选好后,要怎么传输,这就是数据链路层的工作了。
数据链路层中最核心的协议:以太网协议 FDDI协议,平时用的网线就叫以太网线
关于网络传输的数据,涉及到几个不同的概念:
传输层,数据一般叫做 数据段 segement
网络层,数据一般叫做 数据报 packet
数据链路层,数据一般叫做 数据帧 frame
在这里插入图片描述
MAC地址,也叫物理地址,是和主机网卡设备绑定的,只要主机出厂,MAC地址就被写死了。每个设备的MAC地址都是唯一的,不会冲突,每个设备的MAC地址一般是不能被改变的。
虽然已经有IP地址了,但是MAC地址也有准确的定位:
IP地址立足于全局,进行网络路线规划
MAC地址立足于局部,只关注相邻节点间的通讯
目的地址:这里的目的地址指的是目的MAC地址,这个目的MAC地址并不是最终的IP地址所在的地址,而是这个设备的相邻设备,根据MAC找到要从哪个网口把数据发送出去,然后目的MAC得到数据后会修改目的MAC,又改为下一个目的MAC地址,直到到达最终地址。如果只有IP或只有MAC地址,也完全可以完成转发功能。
源地址:与目的地址一样,每到达一个目的MAC地址,就会重新进行构造源地址和目的MAC地址
MAC地址为6个字节 48位,如图
在这里插入图片描述
由于物理地址不可改变,所以常用来:
1、绑定付费软件使用(如:外挂)
2、不允许游戏多开的检测
3、封号(封机)

ARP协议

我们在传输数据时,到达目的MAC地址后,就需要更改目的MAC地址,查询路由表就可以得到下一个设备的IP,然后我们用下一个设备的IP通过ARP协议来获得下一个设备的MAC地址
ARP 会每隔一段时间,给当前局域网进行广播(一个局域网中的设备并不是一成不变),广播给当前局域网中的所有设备后,各个设备就会回应一个ARP响应,ARP响应中就会带有自己的IP和MAC,然后路由器就会把这些信息保存起来。
ARP协议只是辅助转发,并不是真正携带数据。
ARP应用比较广泛,是通过IP来查找MAC
RARP应用的比较少,是通过MAC来查IP

应用层

DNS协议

DNS协议,又名域名解析系统。作用就是通过域名来查找IP地址。
一般访问网站时,我们通常都是通过域名来来访问,而不是通过IP地址来访问(域名就是一个字符串),但是本质上的网络传输,还是靠IP地址。
DNS可以把域名转化为IP地址,记录了域名和IP的映射关系
如果代码是供个人使用,就没有使用域名的需要,如果是给广大用户使用,那么域名就有必要要搞一个了(而且要备案)
原本这个映射关系保存在本地,但是维护的成本太高,所以就把这个映射关系放在了服务器上,(hosts文件虽然保留了下来,但是已经不再使用了),但是全世界这么多客户端都访问DNS服务器来获取IP,DNS的服务器是不够用的,于是有了两种解决方案:
浏览器本地缓存。
分布式:全球存在很多DNS服务器,网络运营商也会搭建自己的DNS服务器,都是从 根域名服务器 进行数据同步的。
https://www.baidu.com/
在这个url中,一级域名为com(二级域名baidu,三级域名www),,DNS服务器1就只保存com系列的域名、服务器2就只保存cn系列的域名,服务器3就只保存vip(org…)系列的域名,这样一来每个服务器保存的数据都不会很多,压力就不至于太大了。
比较知名的 根域名服务器 : 8.8.8.8 114.114.114.114

补充

有时候电脑可以登上QQ,使用各种软件,但是网页打不开。
这种情况多半是当前的域名解析服务器出现了问题,手动把IPv4中的获取DNS域名改为8.8.8.8就可以了


浏览器中输入一个url,会发生什么事情?
在后端,网络传输过程(DNS解析,HTTP协议的格式,TCP建立连接和传输,IP协议转发过程,数据链路层转发过程) 应用程序(Tomcat根据请求找到servlet代码,执行代码,根据请求构造响应,把响应返回给客户端) 服务器整体系统处理流程(分布式架构的基本面)
在前端,网络传输过程(DNS解析,HTTP协议的格式,TCP建立连接和传输,IP协议转发过程,数据链路层转发过程) 浏览器是如何处理用户操作的(包括但不限于 浏览器如何读取到地址栏的字符串。如何构造一个HTTP请求,如何发送出去) 浏览器如何处理服务器的响应数据(如果相应是一个HTML,浏览器如何把HTML文件渲染成最终页面的效果)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值