| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络 - 初识网络 -> 正文阅读 |
|
[网络协议]计算机网络 - 初识网络 |
1. 网络互连 1. 网络互连??几十年前, 在计算机刚刚兴起的时候, 计算机之间是相互独立的, 然而, 随着时代的发展, 越来越需要计算机之间的相互通信, 需要计算机之间进行共享数据, 传输数据, 也就是多个计算机协同完成业务, 于是, 网络互连由此产生. ??网络互连:多台计算机连接在一起, 实现数据的共享. 数据共享的本质其实就是网络中的数据传输, 即计算机通过网络来传输数据, 又叫做网络通信. 根据网络互连的规模大小, 我们将网络的互连划分为局域网和广域网. 局域网和广域网??局域网(local area Network), 又叫LAN, 局域网是在本地范围内局部组建的一种私有网络(例如一间办公室内的网络, 一个家庭里的网络) ??广域网(wide area Network), 又叫WAN, 通过路由器将多个局域网连接起来, 形成一个非常庞大的网络体系, 就构成了一个广域网, 广域网内部的局域网都属于其子网, 全球最大的广域网为 - “Internet”(因特网) ??局域网和广域网之间没有明显的划分, 也就是没有规定多少米范围内的网络属于广域网还是局域网, 要判断一个网络属于广域网还是局域网, 从宏观上判断即可, 范围小的网络即为局域网, 范围大的网络即为广域网. IP地址和端口号在进行网络互连时, 网络中的设备非常多, 像主机, 交换机, 路由器等设备都属于网络互连中的设备, 那么,如何将这么多的设备进行区分呢?
IP地址解决了设备在网络中的地址问题, 然而, 一台主机中可能同时运行着多个进程, 数据传输到相应的主机之后, 要由哪个进程来进行接收呢?
端口号是一个范围为0~65535的数字, 在网络通信中, 进程可以通过绑定一个端口号来实现网络数据的接收和发送. 例如, MySQL服务器的默认端口号为3306. 注意:在网络通信中, 同一个进程可以有多个不同的端口号, 但是, 不同进程的端口号不可以相同. 引入网络协议 ?? 有了IP地址和端口号之后, 就可以正确地定位到网络中特定主机上的进程, 那么, 进程和进程之间是如何实现数据传输的呢?例如, 我通过我的主机向其他人的主机发送了一条消息, 一个文档, 又发送了一张图片, 那网络是如何精准无误地将不同类型的数据传输到其他人的主机呢? 基于网络传输, 可以通过协议来规定双方的数据格式. 4. 网络协议?? 网络协议是网络通信过程中所有网络设备都必须遵守的一组约定和规则, 如怎样建立设备间的连接, 怎样互相识别等. 只有所有的设备都遵从网络协议, 才能实现设备间的通信交流. 网络协议的三要素:
为什么要使用网络协议呢? ??使用网络协议是为了消除网络中的差异. 例如, 如果没有物理层协议(网络协议中的一种), 不同的生产厂家生产出的计算机可能各不相同, 甚至是接口的大小和形状可能都会各有千秋. ??为了统一进行管理所有的网络设备, ISO提出了一个模型, 也就是OSI七层网络模型, 每层都有其对应的网络协议. 5. OSI七层模型OSI:即Open System Interconnection, 开放系统互联 OSI七层模型的体系结构为: ??但是, OSI模型有着明显的缺点, 这个模型太过理想化, 庞大的体系结构使得它既复杂又不实用, 这样的缺点使得这个模型几乎只存在于理论中, 生活中实际应用的是另一种模型 - TCP/IP五层模型, 这也是我们需要重点学习的. 6. TCP/IP模型
TCP/IP模型中每层的功能:
7. 模拟实现网络通信发送方向接收方发送一条消息:
2.传输层将应用层传过来的协议进行封装, 也就是为协议加上传输层协议的报头. 传输层最典型的协议有TCP协议, UDP协议等, 以TCP协议为例:
接收方收到消息:
??至此, 一次数据的发送过程就执行完了. 可以看出, 在这个执行过程中, 发送方的每一层都在对报文添加相应的信息, 这个过程叫做封装, 而接收方对报文中每一层信息的去除, 这一操作叫做分用. 对于上面的数据传输操作, 我们忽略了中间的转发过程, 实际上, 数据转发的过程是非常复杂的, 用于数据转发的路由器, 交换机等设备也都实现了TCP/IP模型, 只不过这些设备只实现了一部分, 例如: ??交换机实现了物理层和数据链路层, 交换机转发的大致操作为:先对报文进行分用(也就是拆分), 将报文解析到数据链路层, 更新以太网数据帧的帧头中的地址, 然后重新封装, 再进行转发. ??路由器实现了物理层, 数据链路层和网络层, 路由器进行转发的大致操作为:路由器对报文进行分用, 一直将报文解析到网络层, 拿到IP地址后进行下一阶段的路线规划, 然后向下封装, 并进行转发. The end |
|
网络协议 最新文章 |
使用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年11日历 | -2024/11/26 4:51:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |