IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> WEB入门浅谈15 -> 正文阅读

[系统运维]WEB入门浅谈15

网络原理

网络层

网络层主要负责:地址管理、路由选择
主要协议: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文件渲染成最终页面的效果)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:15:45  更:2021-10-01 17:17:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:05:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码