网络通信基础概念介绍

news2024/12/24 11:08:56

网络通信基础概念介绍

局域网LAN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

局域网,即 Local Area Network,简称LAN。

局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。

局域网是指在一个相对较小的范围内,例如家庭、办公室、学校等地方内部建立的计算机网络。

广域网WAN

广域网则是指覆盖范围更广的计算机网络,通常是跨越城市、国家或者甚至是全球的。

IP地址

通过 IP 地址,来描述网络上的一个设备所在的位置。

端口号

区分一个主机上的不同应用程序。

一个网络程序,在启动的时候,都需要绑定一个或者多个端口号,后续的通信过程都需要依赖端口来进行展开的。mysql 默认绑定的端口3306

认识协议

协议就只是表示—种约定。这样的约定可以是任意的。网络通信协议,虽然更复杂,但都是人为约定出来的协议。

网络协议是网络通信经过的所有网络设备都必须共同遵从的一组约定。只有遵守这个约定,计算机之间才能相互通信交流。

协议分层

<1> 分层的作用

网络通信,是一个比较复杂的工作。会涉及到一系列非常繁琐,非常细节的工作…靠一个协议解决所有问题,导致这个协议非常复杂,非常庞大。

因此就需要对协议进行拆分,这么一拆分,拆分出来的协议就有点太多了。

于是就对这些协议进行 分类 - 分层。

分层:

上层协议调用下层,下层协议给上层协议提供服务。从而避免跨层级调用引起的混乱。

给这些协议搞了明确的层级关系,避免跨层之间的交互。降低耦合,提高整个系统的可读性。

<2> 两种主要方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. OSI 七层网络模型(只存在于教科书中)

  2. TCP / IP五层网络模型(实际环境中)

    物理层:描述的网络通信中的一些基础设施需要遵守的规范.

    数据联络层:相邻节点之间,数据如何传输.

    网络层:路径规划.

    传输层:只关注起点和终点,不关注中间过程。(数据从哪里出发,要到哪里去)

    应用层:拿这个数据具体要用来做什么

封装和分用

封装和分用都是网络数据传输的基本流程。

主机A,从上到下,依次添加报头的过程 (发送的过程),称为封装。主机B,从下到上,依次解析报头的过程 (接收到过程),称为分用。

以 QQ 发送消息为例,介绍网络传输数据的基本流程。 整个流程可以想象成快递员发快递的过程。

例:主机 A 把消息通过QQ 发给主机 B.


发送方的情况(主机A)

1.应用层

QQ应用程序,从输入框中获取到你要输入的消息。构造成应用层数据报 (根据应用层协议)

注:所谓的"构造应用层数据报"过程,就是按照一定的格式进行字符串拼接

因为很多应用程序里会自定义应用层协议,所以 qq 用的什么协议咱也不知道。只能假设:发送人QQ号,接收人QQ,时间,消息内容。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

应用程序,就会调用传输层提供的接口,把上述数据交给传输层进行处理~~

2.传输层

传输层协议有很多,其中最主要的是 TCP 和 UDP 此处假设使用 UDP.

上面把数据从应用层传到了传输层,交给了UDP。于是 UDP 协议就要按照自己的协议格式,生成一个 UDP 数据报~~

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

此时,传输层会把构造好的 udp 数据报,进一步的交给网络层。

3.网络层

网络层最主要的协议,是IP协议。

IP 协议也会根据自己的格式,来构造出IP数据报。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接下来,还需要继续把数据传输给数据链路层。

4.数据联络层

以太网,又会针对IP数据报,进行进一步的封装。再添加上数据头和数据尾。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上述这样的数据,还需要进一步交给物理层~~

5.物理层

硬件设备(网卡)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上述数据本质上都是二进制的数据(一组0101构成的)

硬件设备就需要对上述数据进行转换了,转换成 —— 光信号/电信号/电磁波


接收方的情况(主机B)

  1. 物理层:把收到的 光信号/电信号/电磁波 进行解调,得到一串 0101 二进制数据序列。

    解调后得到以太网数据帧,这个数据就要被交给上一层:数据联络层。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 数据联络层:以太网协议就会针对这个数据进行解析,此时把载荷部分取出来,交给上一层(IP协议)

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 网络层:IP协议针对这个数据进行解析。去掉 IP 报头,取出载荷,进一步的交给传输层。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  4. 传输层:根据 ip 报头中的字段,就知道当前这个载荷是一个UDP数据报,交给UDP处理。UDP也是要针对数据报进行解析,去掉报头,取出载荷,进一步的交给应用程序。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  5. 应用层:UDP报头中,有一个字段,目的端口。根据目的端口找到关联的应用程序,就交给这个程序即可。qq 程序收到这个数据了,就会按照qq的应用层协议,进行解析。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


每次网络数据的传输都要经历上述过程,主机 A 和主机 B 之间互通消息,会经过很多个交换机或者路由器。

消息转发到某个设备,每个设备处理流程都是和上面的封装分用是一样的。

交换机:分用到数据链路层即可

交换机解析出以太网数据帧,进一步的获取帧头中的“mac 地址”,根据 mac 地址查询交换机内部的转发表,确定接下来数据从哪个网口发出去。在发送之前又会重新把以太网数据帧分装好。

路由器:则是分用到网络层

解析出 IP 数据报,获取到 IP 报头,根据 IP 报头中的目的 IP 进一步规划接下来要走的路线。接下来又会把这个数据重新封装,进行转发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1251309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android设计模式--外观模式

弈之为术&#xff0c;在人自悟 一&#xff0c;定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口&#xff0c;使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的&#xff0c;尤其是在第三方的SDK里面&#xff0…

redis运维(二十)redis 的扩展应用 lua(二)

一 redis 的扩展应用 lua redis lua脚本语法 ① 什么是脚本缓存 redis 缓存lua脚本 说明&#xff1a; 重启redis,脚本缓存会丢失 下面讲解 SCRIPT ... 系列 SCRIPT ② LOAD 语法&#xff1a;SCRIPT LOAD lua代码 -->载入一个脚本,只是预加载,不执行思考1&#xff1…

leetcode中“辅助栈”类题目和“单调栈”类题目的异同

1 总结 1 栈中元素的特性 2 单调栈存在一次性连续删除多个栈顶的情况&#xff0c;但是普通的栈&#xff0c;一次只pop掉一个栈顶元素 2 LC1209. 删除字符串中的所有相邻重复项 II - 普通辅助栈 class Solution {public String removeDuplicates(String s, int k) {int ns.l…

OSG粒子系统与阴影-爆炸模拟(3)

爆炸模拟示例 爆炸模拟示例的代码如程序清单11-4 所示&#xff1a; /* 爆炸模拟示例 */ void explosion_11_4() {osg::ref_ptr<osgViewer::Viewer> viewer new osgViewer::Viewer();osg::ref_ptr<osg::GraphicsContext::Traits> traits new osg::GraphicsContex…

Linux:Ubuntu虚拟机安装详解:VMware下的逐步指南

目录 1. centOS系统 2. ubuntu系统 1. 下载Ubuntu映像 step1 step2 step3 2. 新建虚拟机 step1 step2 Step3 step4 step5 step6 内存 内核 映像 显示 网络 3. 网络配置 NAT模式 本机IP获取 ​编辑 bridge模式 4. 开启虚拟机 5. 虚拟机常用配置 语言 …

物联网后端个人第十二周总结

学习工作进度 物联网方面 1.模拟设备通过规则引擎将数据通过mqtt进行转发 在物联网平台上实现模拟设备通过规则引擎将数据通过mqtt进行转发已经全部完成了&#xff0c;所使用的物联网平台在这方面有不少的问题和bug&#xff0c;也可能是没有按照开发者的想法对平台进行使用才导…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑系统一次频率响应特性的新型电力系统源网荷储协调鲁棒规划》

这篇文章的标题涉及到新型电力系统的源&#xff08;发电源&#xff09;、网&#xff08;电网&#xff09;、荷&#xff08;负荷&#xff0c;即用电需求&#xff09;以及储&#xff08;储能系统&#xff09;的协调鲁棒规划&#xff0c;其中考虑了系统的一次频率响应特性。 让我…

软件设计师:计算机组成与体系结构之计算机基础知识

计算机基础知识 数据的表示 码制及进制转换 原码&#xff1a;将数值转成二进制反码&#xff1a;正数与原码完全相同&#xff1b;负数&#xff0c;除了符号位其他位取反补码&#xff1a;正数与原码完全相同&#xff1b;负数&#xff0c;在补码的基础上加1移码&#xff1a;补码…

CUDA编程二、C++和cuda混合编程的一些基础知识点

目录 一、C运行过程 1、C编译过程 2、代码运行示例 单文件 多文件 a、编译所有cpp文件&#xff0c;但是不链接 b、链接所有的.o文件 c、运行程序 CMake编译 代码 使用方法 编译过程 代码运行 二、C和cuda混合编程 cuda 单文件 cuda和C多文件 手动分步编译 C…

TDA笔记:夏克林老师,南洋理工大学

TDA比传统的统计方法有优势&#xff1a;benchmark中展现了这种优势 laplacian矩阵 多种单纯复形构造方式&#xff0c;可以构造出不同表征 二部图&#xff1a;Dowker complex Tor algebra可以用到多大数据 目前较新

python教程:正常shell与反弹shell

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 正常shell需要先在攻击端开机情况下开启程序,然后攻击端运行程序,才能连接 反弹shell,攻击端是服务端,被攻击端是客户端 正常shell,攻击端是客户端,被攻击端是服务端 反弹shell,先启用服务端,再启用客户端 反弹shell的好处…

OPPO VOOC快充原理

1 USB 3.0标准A插头 USB 3.0连接器是基于USB 2.0改进而来的&#xff0c;这个设计给USB 3.0连接器带来了一些潜在风险&#xff0c;如果USB 3.0设备插入主机的速度太慢&#xff0c;3.0的针脚还没来得及被识别到&#xff0c;就会被主机判定成USB 2.0的设备。 Figure 1-1 USB 3.0标…

【C++】构造函数和析构函数第四部分(深拷贝和浅拷贝)--- 2023.11.25

目录 什么是浅拷贝&#xff1f;浅拷贝的问题使用深拷贝解决浅拷贝问题结束语 什么是浅拷贝&#xff1f; 如果在一个类中没有人为定义拷贝函数&#xff0c;则系统会提供默认拷贝函数。那么在此默认拷贝函数中主要进行了简单的赋值操作&#xff0c;那这个简单的赋值操作我们一般…

教师编制缩减是为什么

老师们有没有注意到一个趋势&#xff1f;那就是教师编制正在逐步缩减。不知道你们发现没有&#xff0c;我最近在研究教育领域的新闻&#xff0c;发现这两年教师编制缩减的消息越来越多。这是为什么呢&#xff1f;今天就来跟大家聊一聊。 原因一&#xff1a;资金压力 第一个原因…

HarmonyOS应用开发实战—登录页面【ArkTS】

文章目录 本页面实战效果预览图一.HarmonyOS应用开发1.1HarmonyOS 详解1.2 ArkTS详解二.HarmonyOS应用开发实战—登录页面【ArkTS】2.1 ArkTS页面源码2.2 代码解析2.3 心得本页面实战效果预览图 一.HarmonyOS应用开发 1.1HarmonyOS 详解 HarmonyOS(鸿蒙操作系统)是华为公司…

SD卡选型参考

文档版本日期类型REV1.02023.11.25新建 SD卡对于大家来说&#xff0c;应该很熟悉了&#xff0c;都是我们在各类电子设备中经常使用的。不过大家在购买SD卡的时候都会关注哪些参数呢&#xff1f;可能大部分使用者&#xff0c;甚至包括我在内也只是会关注下容量&#xff0c;当然是…

案例-某验四代滑块反爬逆向研究一

系列文章目录 第一部分 案例-某验四代滑块反爬逆向研究一 文章目录 系列文章目录前言一、分析流程二、定位 w 值生成位置三、device_id 值的定位生成四、pow_msg 值 和 pow_sign 值的生成总结 前言 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff…

性能优化中使用Profiler进行内存泄露的排查及解决方式

文章目录 一、前言二、内存泄露的排查方式三、参考链接 一、前言 对于常规意义上的线程使用要及时关闭&#xff0c;数据库用完要及时关闭&#xff0c;数据用完要及时清空等等这里不再赘述&#xff0c;但是在开发中总会有不熟悉的api&#xff0c;开发进度过快&#xff0c;开发人…

2022年09月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 运行下列程序后,结果为120的是? A: B: C: D: 答案:C 本题考察阶乘知识,12345的结果为120. <