网络通信基础概念介绍

网络通信基础概念介绍

局域网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.mzph.cn/news/169402.shtml

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

相关文章

【【linux C 编程记述 之 VIM的用法讲述】】

linux C 编程记述 之 VIM的用法讲述 我们所说的编写代码包括两部分&#xff1a;代码编写和编译&#xff0c;在Windows下可以使用Visual Studio来完成这两部&#xff0c;可以在 Visual Studio 下编写代码然后直接点击编译就可以了。但是在 Linux 下这两部分是分开的&#xff0c…

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. 虚拟机常用配置 语言 …

Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip

Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip 文章目录 Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip一、more1.1 输出重定向>和>>1.2 输入重定向< 二、 再谈一切皆文件三、less指令【重要】四、head指令五、tail指令…

Banana Pi BPI-R3 Mini 开源路由器,也能拍出艺术美感

香蕉派BPI-R3 Mini路由器板开发板采用联发科MT7986A(Filogic 830)四核ARM A53芯片设计&#xff0c;板载2G DDR 内存&#xff0c;8G eMMC和128MB SPI NAND存储&#xff0c;是一款非常高性能的开源路由器开发板&#xff0c;支持Wi-Fi6 2.4G/5G&#xff08;MT7976C&#xff09;&am…

ACL权限

ACL权限 目录&#xff1a; 1. 什么是ACL 2. 操作步骤 1. 什么是ACL ACL是Access Control List的缩写&#xff0c;即访问控制列表 每个项目成员在有一个自己的项目目录&#xff0c;对自己的目录有完全权限 项目组中的成员对项目目录也有完全权限 其他人对项目目录没有…

Ubuntu 安装 JMeter:轻松上手

Apache JMeter 是一个开源的负载测试工具&#xff0c;可以用于测试静态和动态资源&#xff0c;确定服务器的性能和稳定性。在本文中&#xff0c;我们将讨论如何下载和安装 JMeter。 安装 Java&#xff08;已安装 Java 的此步骤可跳过&#xff09; 要下载 Java&#xff0c;请遵…

JSP:JDBC

JDBC&#xff08;Java Data Base Connectivity的缩写&#xff09;是Java程序操作数据库的API&#xff0c;也是Java程序与数据库相交互的一门技术。 JDBC是Java操作数据库的规范&#xff0c;由一组用Java语言编写的类和接口组成&#xff0c;它对数据库的操作提供基本方法&#…

leetCode 226.翻转二叉树

给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 226. 翻转二叉树 - 力扣&#xff08;LeetCode&#xff09; 示例 1: 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1] 示例 2&#xff1a; 输入&#xff1a;root…

AR眼镜双目光波导/主板硬件方案

AR(增强现实)技术的发展离不开光学元件&#xff0c;而在其中&#xff0c;光波导和Micro OLED被视为AR眼镜光学方案的黄金搭档。光学元件在AR行业中扮演着核心角色&#xff0c;其成本高昂且直接影响用户体验的亮度、清晰度和大小等因素。AR眼镜的硬件成本中&#xff0c;光机部分…

11.与JavaScript深入交流-[js一篇通]

文章目录 1.变量的使用1.1基本用法1.2理解 动态类型 2.基本数据类型2.1number 数字类型2.1.1数字进制表示2.1.2特殊的数字值 2.2string 字符串类型2.2.1基本规则2.2.2转义字符2.2.3求长度2.2.4字符串拼接 2.3boolean 布尔类型2.4undefined 未定义数据类型2.5null 空值类型 3.运…

讲述 什么是鸿蒙 为什么需要鸿蒙 为什么要学习鸿蒙

首先 我们为什么要学习鸿蒙开发&#xff1f; 因为 鸿蒙发展前景巨大 鸿蒙自发布依赖 一直受社会各界关注 强两百的 App厂商 大部分接受了与鸿蒙的合作 硬件也有非常多与鸿蒙合作的厂商 鸿蒙的合作企业基本已经覆盖整个互联网客户的主流需求 所以鸿蒙的崛起不过是早晚的问题 …

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

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

TCP/IP、Http、Socket之间的区别

目录 前言 一、TCP/IP协议 二、HTTP协议 三、Socket通信机制 四、TCP/IP、HTTP和Socket之间的区别 总结 前言 TCP/IP、HTTP和Socket是计算机网络中的三个重要概念&#xff0c;它们之间有着密切的联系和区别。 一、TCP/IP协议 TCP/IP是指传输控制协议/因特网协议&#x…

Pygame游戏实战五:拼图游戏

介绍模块 本游戏使用的是由Pycharm中的pygame模块来实现的&#xff0c;也可以在python中运行。通过Pygame制作一个拼图游戏&#xff0c;将一个完整的图片进行随机切分&#xff0c;在将其进行还原成完整的图像&#xff0c;看看这个是你小时候玩的游戏吗&#xff1f; 最小开发框…

【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core

目录 1、项目介绍 2、集成方式 方法一&#xff1a;项目中通过Nuget包管理器安装导入 方法二&#xff1a;手动从Nuget官网下载&#xff0c;下载地址&#xff1a; 3、代码中导入命名空间 4、版本变更说明 1.0.7 版本 1.0.6 版本 1.0.5 版本 1.0.4 版本 5、演示示例 示…

45岁后,3部位“越干净”,往往身体越健康,占一个也要恭喜!

众所周知&#xff0c;人的生命有长有短&#xff0c;而我们的身体健康状态&#xff0c;也同样会受到年龄的影响&#xff0c;就身体的年龄层次而言&#xff0c;往往需要我们用身体内部的干净程度来维持&#xff0c;换句话说就是&#xff1a;若是你的身体内部越干净&#xff0c;那…

深度学习图像风格迁移 计算机竞赛

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习图像风格迁移 - opencv python 该项目较为新颖&#xff0c;适合作为竞赛课题…

【问题思考总结】多维随机变量函数的分布的两种情况的计算方法【离连/连连】

问题 今天做李六第一套的时候发现&#xff0c;有的时候&#xff0c;面对这种第二问的题&#xff0c;很自然地就想到了Fz&#xff08;z&#xff09;&#xff0c;然后进行化简&#xff0c;但是有的时候&#xff0c;像这道题&#xff0c;就突然发现P{XY<z}是一个非常复杂的形式…

【从浅识到熟知Linux】基本指定之cat、more和less

&#x1f388;归属专栏&#xff1a;从浅学到熟知Linux &#x1f697;个人主页&#xff1a;Jammingpro &#x1f41f;每日一句&#xff1a;写完这篇我要去吃晚饭啦&#xff01;&#xff01; 文章前言&#xff1a;本文介绍cat、more和less指令三种查看文件的用法并给出示例和截图…