| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络基础 -> 正文阅读 |
|
[网络协议]计算机网络基础 |
本篇我计划简单整理计算机网络中经常出现的抽象概念。这里只做简单基础介绍,具体类似报文格式、功能实现等不做赘述,对于热点协议后面会专门出博客介绍: URI 和 URL URL:全称统一资源定位器,网络上每个信息资源都有唯一地址。它标识了一个互联网资源,并指定获取操作该资源的方法。比如:https://www.baidu.com/,后面 www.baidu.com 可以定位到资源地址,前面 HTTPS 标识该资源可以通过 HTTP 协议获取 URI:全称统一资源标志符,通过它也可以确定网络上的唯一资源,区别在于它是某种规则下唯一的产物 举个例子:全北京有很多姓张的老头,但它们所在的小区不同。URL 此时就可以看做:回龙观小区张老头、天通苑小区张老头。。。也就是说:URL 先确定位置,再确定资源,通过这种方式找到唯一资源、而 URI 就类似身份证,通过身份证无论老头在哪都可以区分出来。两者都可以区分出唯一资源,不过 URI 范围更广,URL 更像 URI 的子集 一般情况下我们更倾向通过 URL 访问资源,使用 URI 访问资源意味着不分区域,此时访问格式可能变成这样:123456.html,很难理解 TCP/IP 协议族 TCP/IP 是一组协议,包含:TCP、UDP、IP、DNS、FTP、HTTP 等,通常我们所使用的网络就在 TCP/IP 的基础上运作。至于为什么这样命名,大概是因为协议族中,TCP、IP 协议最重要
TCP/IP 最重要的一点在于分层,按层次分为 应用层、传输层、网络层、数据链路层
利用 TCP/IP 协议族进行网络通信时,发送端从应用层往下走,接收端则从链路层往上走: 应用层 -》 报文 -》 传输层 -》 TCP 报文段 -》 网络层 -》 IP 数据包 -》数据链路层 -》 网络架构 -》到达对应服务器从后往前走 发送报文依次添加:TCP 首部、IP 首部、以太网首部、接收报文后依次去除首部,最后提交到上层应用。这种一层一层添加首部的方式也叫封装 协议和服务 在学习 DNS 时,有些地方说它是协议,有些地方说它是服务。协议本身又只是一组规则,有点云里雾里 事实上,两者还是有本质区别的:协议是水平的,服务是垂直的 协议是水平的:回想 TCP/IP 协议族,正是因为客户端和服务器应用层都实现了 HTTP 协议,客户端发送的 HTTP 报文才能被解析处理。也就是说:通过协议可以保证消息发出后可以被正常解析并处理 服务是上下层之间的:传输层为应用层提供服务,即下层通过接口为上层提供服务。只有实现了本层的协议,才能对上层提供服务,而要想实现本层的协议,必须调用下层的服务(数据链路层基于物流组件(光纤)实现) 回到 DNS,它本身是协议,而它的实现才是服务,两者还是有区别的:应用层基于 TCP、UDP 服务实现 DNS 协议,因为实现 DNS 协议,才可以提供 DNS 服务。这也是有些地方说 DNS 是协议,有些地方说 DNS 是服务的原因,角度不同,结果不同 IP、IP 地址、MAC 地址 IP 是 IP 协议,它位于网络层,几乎所有使用网络的程序都会用到 IP 协议,主要作用是把各种数据包传输给对方。要想把数据包传递给对方就离不开 IP 地址以及 MAC 地址 MAC 地址:48 位,通常表示为 12 个 16 进制数,每 2 个 16 进制数通过 : 隔开,如 00:50:29:5A:8H:1E 就是一个 MAC 地址。MAC 地址由制造商分配,应用于数据链路层,通过它将数据从一个节点传递到相同链路的另一个节点 IP 地址:32位,由用 . 分割的 4 个 8 位数组成,如 192.168.0.1 就是一个 IP 地址。IP 地址基于网络拓扑分配,应用于网络层,通过它将数据从一个网络传递到另一个网络 Socket 套接字 Socket 是对网络中不同主机上应用程序之间进行双向通信的端点的抽象,网络进程通信的一端就是一个套接字,不同主机上的进程通过套接字发送报文来通信。例如 TCP 使用 IP + 端口作为 TCP 连接的端点,该端点就是套接字 为了满足不同的传输层协议,Socket 包含三种类型:
未完待续 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年12日历 | -2024/12/27 13:46:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |