网络初识(概念入门)

目录

1.局域网VS广域网

1.1局域网

 1.2广域网

2.五元组

2.1  IP和端口 

2.1.1  IP

2.1.2端口号

 2.2协议

3.协议分层

4. TCP/IP五层模型

5.封装和分用

5.1封装

 5.2分用


1.局域网VS广域网

1.1局域网

简单介绍:指在某一特定区域内由多台计算机组成的互联网组。

(1)局域网,即 Local Area Network ,简称 LAN 。 Local 即标识了局域网是本地,局部组建的一种私有网络。 局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下, 是无法通信的。
(2)局域网组建网络的方式有很多种:
   1. 基于网线直连
   2. 基于集线器组建
   3.基于交换机组建
   4.基于交换机和路由器组建

 

 1.2广域网

简单介绍: 通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。

广域网,即 Wide Area Network,简称WAN

广域网内部的 局域网都属于其子网。

 


2.五元组

TCP/IP 协议中,用五元组来标识一个网络通信:
1. IP :标识源主机
2. 源端口号:标识源主机中该次通信发送数据的进程
3. 目的 IP :标识目的主机
4. 目的端口号:标识目的主机中该次通信接收数据的进程
5. 协议号:标识发送进程和接收进程双方约定的数据格式

2.1  IP和端口 

2.1.1  IP
IP 地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。
简单说, IP 地址用于定位主机 的网络地址
格式
(1) IP地址是一个32位的二进制数 ,通常被分割为 4 “8 位二进制数 (也就是 4 个字节),如: 01100100.00000100.00000101.00000110。
(2) 点分十进制 的方式来表示,即 a.b.c.d 的形式( a,b,c,d 都是 0~255 之间的十进制整数)。如: 100.4.5.6
2.1.2端口号

 引入:

IP 地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进 程来接收这个数据呢?这就需要端口号来标识。
端口号可以标识主机中发送数据、接收数据的进程。
简 单说:端口号用于定位主机中的进程
格式
端口号是0~65535范围的数字 ,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数 据。  
注意事项
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

 

 IP和端口的概念加深:

 2.2协议

 引入:

(1)有了 IP 地址和端口号,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制 0/1数据来传输,如何告诉对方发送的数据是什么样的呢?
(2)网络通信传输的数据类型可能有多种:图片,视频,文本等。同一个类型的数据,格式可能也不同,如 发送一个文本字符串“ 你好! :如何标识发送的数据是文本类型,及文本的编码格式呢?

基于网络数据传输,需要使用协议来规定双方的数据格式 

协议,网络协议的简称
网络协议是网络通信(即网络数据传输) 经过的所有网络设备 都必须共同遵从的一组约定、规则。如:怎么样建立连接、怎么样互相识别等。

 通常由三要素组成:

1. 语法:即数据与控制信息的结构或格式;
2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
3. 时序,即事件实现顺序的详细说明。
协议(protocol)最终体现为: 在网络上传输的数据包的格式。

 


3.协议分层

引入:

网络通信过程中,需要涉及到的细节方方面面,如果只有一个协议来完成通信,则这个协议无比复杂,非常不利于学习和维护。故我们需要把一个庞大,复杂的协议,拆分成一个小而美的协议。

通信协议拆分后归类形成层状结构。

细节:

(1)把功能定位相似的协议放在同一层。

(2)上层协议调用下层协议的功能,下层协议给上层协议提供服务。

(3)只有相邻的层次之间可以进行交互。 

分层的作用

(1)最大的好处 :定义好两层间的接口规范,让双方遵循这个规范来对接, 类似于面向接口编程

        在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类 (使用方,使用服务)
(2)上层协议自接使用下层协议(已封装好),不需要理解下层协议的细节。
(3)某一层的协议进行封装之后,对于其它层没影响。

4. TCP/IP五层模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。
TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
应用层:负责应用程序间沟通,关注的是 传输的数据在应用程序中如何使用
传输层:负责两台主机之间的数据传输。 关注的是传输的起点和终点
网络层 关注的是通信中的数据规划
数据链路层:负责设备之间的数据帧的传送和识别。 关注的是相邻结点的通信细节
物理层 :负责光 /电信号的传递方式。 是网络通信的基础设施

 

物理层我们考虑的比较少。因此很多时候也可以称为 TCP/IP 四层模型。
网络设备所在分层
(1)对于一台 主机 ,它的 操作系统 内核实现了从传输层到物理层的内容,也即是 TCP/IP 五层模型的 四层
(2)对于一台 路由器 ,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的 下三层
(3)对于一台 交换机 ,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的 下两层
对于 集线器 ,它只实现了 物理层

网络分层对应
网络数据传输时,经过不同的网络节点(主机、路由器)时,网络分层需要对应。
以下为同一个网段内的两台主机进行文件传输:

 


5.封装和分用

1.不同的协议层对数据包有不同的称谓,在传输层叫做段 (segment),在网络层叫做数据报
(datagram),在链路层叫做帧(frame)
2.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header) ,称为封装
(Encapsulation)
3.首部信息中包含了一些类似于首部有多长,载荷 (payload) 有多长,上层协议是什么等信息。
4.数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中 的 " 上层协议字段 " 将数据交给对应的上层协议处理

我们通过QQ发消息的例子来介绍封装和分用

A通过QQ给B发送一个hello

5.1封装

每一层的数据都会组装交给下一层。

交给下一层:下层提供api,上层调用api,把组装的数据当作参数传递。

 

 

 5.2分用

封装的逆过程

 

补充:

交换机或路由器的封装分用过程也同样适用。

只是 封装分用的程度不同。

对于一台 路由器 ,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的 下三层
对于一台 交换机 ,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的 下两层

总结:

 


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue概念详解【目录】

本专栏简介: 这个专栏是关于 Vue2 和 Vue3 各种概念的大集合!它深入挖掘原理,分析各种优势和劣势,适配各种应用场景,部分内容还列出了代码示例,以清晰地讲述原理。在这里,你将全面了解 Vue2 和…

基于华为atlas的分类模型实战

分类模型选用基于imagenet训练的MobileNetV3模型,分类类别为1000类。 pytorch模型导出为onnx: 修改mobilenetv3.py中网络结构,模型选用MobileNetV3_Small模型,网络输出节点增加softmax层,将原始的return self.linear4…

测试开发(6)软件测试教程——自动化测试selenium(自动化测试介绍、如何实施、Selenium介绍 、Selenium相关的API)

接上次博客:测试开发(5)测试分类标准 :按测试对像划分、按是否查看代码划分、按开发阶段划分、按测试实施组织、按是否运行划分、按是否手工划分、按测试地域划分-CSDN博客 目录​​​​​​​ 什么是自动化测试 自动化测试介绍…

【Git教程】(五)分支 —— 并行式开发,分支相关操作(创建、切换、删除)~

Git教程 分支 1️⃣ 并行式开发2️⃣ 修复旧版本中的 bug3️⃣ 分支4️⃣ 当前活跃分支5️⃣ 重置分支指针6️⃣ 删除分支7️⃣ 清理提交对象🌾 总结 对于版本提交为什么不能依次进行,以便形成一条直线型的提交历史记录,我们认为有 以下两个…

ARM系列 -- 虚拟化(四)

今天来看看虚拟中断。 在一个非虚拟化的系统中,操作系统可以直接访问GIC的寄存器,并且处理GIC的物理中断接口(physical interrupt interface)。 但是在一个虚拟化的系统中,不是这样。Guest OS并不知道它运行在虚拟系…

LiveGBS流媒体平台GB/T28181功能-查看国标设备下通道会话列表直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话

LiveGBS流媒体平台GB/T28181功能-查看直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话 1、会话列表2、会话类型3、搭建GB28181视频直播平台 1、会话列表 LiveGBS-> 国标设备-》点击在线状态 点击会话列表 2、会话类型 下拉会话类型可以看到 直播会话、回放会话、下载…

uniapp:使用DCloud的uni-push推送消息通知(在线模式)java实现

uniapp:使用DCloud的uni-push推送消息通知(在线模式)java实现 1.背景 今天开发app的时候遇到一个需求: 业务在出发特定条件的时候向对应的客户端推送消息通知。 为什么选择在线模式,因为我们使用的是德邦类似的手持终端&#xf…

Qt6.8 GRPC功能使用(2)标准 Qt实现客户端

简介 基于之前的文章所说, Qt6.7之后才开始支持客户端、服务端、及双向流,恰好电脑需要重装,看到Qt6.8版本就直接安装了,内容也是使用Qt6.8的版本进行编译的 客户端实现步骤 1. 安装Qt6.8, 包含GRPC功能模块 Qt 6.8安装目录下包…

在Ubuntu22.04 LTS上搭建Kubernetes集群

文章目录 准备工作系统准备软件包准备主机和IP地址准备 安装步骤安装前准备关闭防火墙设置服务器时区关闭 swap 分区关闭SELinux配置hosts配置文件转发 IPv4 并让 iptables 看到桥接流量 安装容器运行时安装Kubernetes配置并安装apt包初始化集群 安装calico网络插件部署应用 本…

配置MMDetection的solov2攻略整理

目录 一、MMDetection 特性 常见用法 二、ubuntu20.04配置solov2 三、Windows11配置solov2 一、MMDetection MMDetection是一个用于目标检测的开源框架,由OpenMMLab开发和维护。它提供了丰富的预训练模型和模块,可以用于各种目标检测任务&#xff…

Chiplet技术与汽车芯片(一)

目录 1.摩尔定律放缓 2.Chiplet的优势 2.1 提升芯片良率、降本增效 2.2 设计灵活,降低设计成本 2.3 标准实行,构建生态 3.Chiplet如何上车 22年8月左右,Chiplet概念突然在二级市场火了起来,封测四小龙华天、长电、通富微电、…

架构设计:生产消费模型

1. 引言 在现代软件系统中,处理大量数据和消息是一项重要的任务。生产消费模型作为一种经典的并发模式,在解决数据生产和消费之间的关系上发挥着关键作用。该模型通过有效地管理生产者和消费者之间的通信和数据流动,实现了系统组件之间的解耦…

ChatGPT学习第三周

📖 学习目标 ChatGPT在各行各业的应用 探索ChatGPT在不同领域(如教育、客户服务等)的实际应用案例。 ChatGPT的局限性和挑战 讨论ChatGPT面临的挑战,包括偏见、误解及其限制。 ✍️ 学习活动 学习资料 《人工智能通用大模型(…

利用 ChatGPT 提升个人工作、生活品质

利用 ChatGPT 提升个人工作、生活品质和个人智慧是一个多方面而又切实可行的方法。 以下是一些具体的建议: 获取信息和知识: ChatGPT 可以回答各种问题并提供相关信息和知识。你可以利用它来查询工作中遇到的问题、学习新的知识领域或是获取日常生活中的…

react-组件进阶

1.目标 能够实用props接收数据 能够实现父子组件之间的通讯 能够实现兄弟组件之间的通讯 能够给组件添加props校验 能够说出生命周期常用的钩子函数 能够知道高阶组件的作用 2.目录 组件通讯介绍 组件的props 组件通讯的三种方式 Context props深入 组件的生命周期 Render-p…

docker-mysql:5.7安装

1、下载mysql:5.7镜像 [rootlocalhost ~]# docker search mysql (某个XXX镜像名字) [rootlocalhost ~]# docker pull mysql:5.7 按装之前查看一下是否按装过mysql。如果安装过会占用3306端口。 [rootlocalhost ~]# ps -ef | grep mysql 2、简单的安装 [rootlocalhost ~]# d…

一款开源.NET WPF界面库介绍

一款开源.NET WPF界面库介绍 这是一个WPF版的Layui前端UI样式库,该控件库参考了Web版本的LayUI风格,利用该控件库可以完成现代化UI客户端程序,让你的客户端看起来更加简洁丰富又不失美感 如何使用 步骤一 : 添加LayUI.Wpf Nuget包; Inst…

通过一个栗子来看看创建和运行servlet

通过前面一篇文章的介绍(搞着搞着对web project是不是有点迷糊?先关注几个问题-CSDN博客)大家对于servlet作为中间层接收请求和反馈响应有了概念上的认知,接下来通过一个栗子来加深一下理解,还是基于前面的jsp项目&…

APIFox-自动获取登录状态操作

APIFox-自动获取登录状态操作 概述 作为纯后端开发码农,每次接口开发完的调试很重要,因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作,可以很方便的自动获取登录状态,节省大量重复劳动时间。…

BevFusion (2): nuScenes 数据介绍及点云可视化

1. nuScenes 数据集 1.1 概述 nuScenes 数据集 (pronounced /nu:ːsiː:nz/) 是由 Motional (以前称为 nuTonomy) 团队开发的自动驾驶公共大型数据集。nuScenes 数据集的灵感来自于开创性的 KITTI 数据集。 nuScenes 是第一个提供自动驾驶车辆整个传感器套件 (6 个摄像头、1 …
最新文章