前言
写作说明
写作目的是知识归纳和成果可视化,在输出的过程中完成更深入的学习。本文是作者的理解,与绝对正确的知识有偏差,不过又说回来,谁能说什么是绝对正确呢?
文章内容
介绍计算机网络的层次和各层次的协议,希望取得条理清晰的成果,而非单纯罗列。
正文
计算机网络就是计算机的形象和网的形象的组合:将计算机连接起来,以实现资源共享和信息传递。
衡量计算机网络的指标通常有网速、带宽和时延。
计算机网络的层次
按功能逻辑可分为通信子网、传输层与资源子网。
通信子系统的作用是完成数据搬运,由网络接口层和网际层组成,顾名思义,前者负责同一局域网内数据在设备间的传输,后者负责规划数据从源到目的地的跨局域网路径。
传输层负责端口到端口的控制。端口处与应用层关联,数据均通过端口传入和传出应用层,数据传输过程被屏蔽;端口之间与通信子系统关联,传输层管理数据的完整传输历程,通过控制确保数据精准到达。
资源子系统就是应用层,应用层就是数据发挥价值的地方。
打个比方,网络接口层是道路和桥梁,提供物理传输介质;网际层是司机,负责将数据运送到下一站;传输层既是交通规则制定者,规定数据怎么分段、怎么编号、丢了怎么补、乱序怎么排、流量多大合适,又是监控中心,进行确认收到、超时重传等实时监控。
计算机网络不同层次的协议
TCP/IP协议族是目前计算机网络的通用语法,在不同层次有不同的协议。
协议族相关的名词
定位类:
- 端口:对同一台设备不同程序的编号,IP+端口=唯一网络进程,部分端口被分配给固定服务。
- DNS:由DNS协议控制的数据库,将域名与特定IP地址对应。
- URL:统一资源(所有数字资源)定位符,由域名(IP地址)+端口+路径(端口对应的应用中的位置,是应用层的定位符)组成。
接口类
- 服务器:为提供某种应用层服务而生的特殊化电脑,常见的有:Web服务器(托管网站,处理HTTP请求)、数据库服务器(存储、查询、管理数据)等。
- Web应用:通过浏览器访问、无需安装客户端软件的应用程序,运行环境就是Web服务器。
- API:中文名是应用程序编程接口,本质就是一个规则——“调用方按规则输入+黑盒处理+按约定输出”,所以封装的函数、HTTP接口等都是API。
- HTTP接口:按照HTTP协议(通用的请求与响应格式)和业务规则(URL、参数、返回的JSON等)写的API,简单来说就是规定处理HTTP请求的规则。
- HTTP请求方法:告知服务器需要什么操作:取、增、改、删,是HTTP接口的规定。
- 状态码:服务器返回的三位数字,用于告知请求结果(可能会由于自动处理而隐藏),是HTTP接口的规定。
- JSON:用于传递数据的、特殊格式的文本。承载的是业务的状态,是HTTP接口选择的。
网际层
IP:主要规定数据包结构,制订分片重组规则,规定地址结构(为计算机分配IP地址,标明位置)。
一个特殊的IP地址:127.0.0.1(localhost),特殊之处在于代表本机IP地址,断网也能用,但其他电脑访问不了。应用于本地开发测试、数据库本地连接等。
传输层
TCP/UDP:数据包传输协议(由端到端),前者连接稳定、可靠完整(保准确);后者传输速度快(保速度)。
应用层
HTTP,HTTPS:超文本传输(安全)协议。网络请求的通用协议,规定服务器传递视频、图片、网页等,常用的如:浏览器、微信、抖音等。
补充:浏览器的功能是请求数据、接收数据、渲染交互。
结语
以通信子网、传输层、资源子网三层架构有点离经叛道,但我确实很难理解为什么传输层能分进资源子网。