408计算机网络--基础概论
学习计算机网络走以前需要首先明白一个大的概念,计算机网络通常分为通信子网(实现数据通信)和资源子网(实现资源共享/数据处理)==七层妖塔
计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
重点探讨网络为什么要分层?(七层OSI法定标准,四层TCP/IP事实标准)
两台电脑之间传输pdf文件需要在发送文件前完成哪些工作:
- 发起通信的计算机必须将数据通信的通路进行激活。
- 要告诉网络如何识别目的主机。
- 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
- 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
- 确保差错和意外可以解决。
- ……
映射出来的问题就是做这样一堆十分复杂的事,那就考虑到把大问题拆解成一堆堆小问题
分层的基本规则:各层独立,每层界面清晰,下层独立,为上层提供服务
ISO提出的OSI参考模型:为了解决垄断性网络体系结构,打造全球异构网络的互联互通,可以让全球不同网络不同设备不同软硬件都可以在网络上面进行连接。但是OSI在理论学习上是很成功的,可以借鉴学习,但是在实际检验中是失败的。【周期长—生不逢时,不合理—重复交叉,不实用—市场检验】
介绍一下:OSI七层从下至上分别是【物联网淑惠试用—物链网输会示用】
由图可知,OSI七层妖塔,下三层是通信子网主要用于数据通信,后面介绍A–>中间系统–>B底层点到点的数据通路,传输层相当于上下层的接口,而最上面三层资源子网主要用于数据处理A–>B端到端协议(进程与进程之间通过端口通信),通信双方只需要关注消息本身,不需要关注底层二进制信息的传输
上述通信双方的打招呼通信过程:
写在前面:什么是PDU?
AI回答:PDU是协议数据单元,是用来描述在网络模型的不同层级中,数据经过封装后形成的特定格式的数据块。每层网络协议会给原始数据添加相应的头部信息和可能的尾部信息,形成该层的PDU。物理层PDU是比特流(bits);数据链路层PDU是数据帧(frames);网络层PDU是数据包(packets);传输层PDU是数据段(segments);高层协议如会话层、表示层、应用层PDU可以是HTTP消息(messages)
应用层首先对数据加了一个头部h7,代表加的是第七层的头部。就形成了一个第七层的pdu协议数据单元,第六层表示层的头部h6加上七层的pdu又形成了一个新的第六层的pdu。那第六层pdu组往下传,传到会话层,再加上会话层的首部h5,就形成了第五层的这个pdu。然后呢,继续往下依次到数据链路层不仅加了首部还有尾部【记忆:我字有五个比你们都多两个字】再到物理傻瓜层形成0101的比特流序列放到传输介质上,同样的根据网络协议,另外一台主机就可以知道如何去掉头部和首部的信息,依次向上还原。这样一层一层的往上加一层一层的拆解过程可以看作是现实场景中的打包和拆包过程。
下面就简要介绍一下OSI七层参考模型每层的功能和作用:
-
应用层:联网使用的程序属于应用层的范畴。文件传输(FTP)电子邮件(SMTP)万维网(HTTP)
-
表示层:负责数据的语法表示和意义解释,确保不同系统之间的数据格式能够被对方理解并正确处理,相当于翻译官。数据格式转化,加密解密,恢复压缩,数据一致性校验。JPEG、ASCII
-
会话层:需要为表示层提供服务,为表示层打通通话的服务建立连接并在连接上有序地传输数据。也是建立同步(SYN),就像是百度搜索电影,在一个窗口打开一个视频就建立一个会话,快进不会影响主机和其他窗口建立的会话,只会在当前会话中。可以建立、管理、终止会话,也可以通过校验点实现中断恢复。ADSP、ASP
-
传输层:负责两个进程之间的通信,首先是作为自下而上第一个面向端到端通信的层次,同时呢,也是上面三层资源子网和下面三层通信子网之间的一个接口。传输层主要负责的是主机当中两个进程的通信及端到端的通信传输单位是报文段或用户数据报。TCP/UDP。主要功能【可差流用】:
- 可靠传输、不可靠传输:基于确认机制的过程,区别就在于需不需要建立可靠的连接,例如QQ消息小数据就不需要可靠性连接,因为确认机制可靠链接非常耗时。
- 差错控制:顺序错了,丢失数据等问题来纠正错误
- 流量控制:解决两台终端之间发送和接收速率不一样的问题,让我发快点还是发慢点
- 复用分用:两台手机之前用QQ和微信分别发送信息,发送端QQ和微信的数据包会带指定端口【不同的应用程序通过各自对应的端口将数据发送出去,实现了复用技术】,接收端收到消息后根据端口判断是哪个进程的数据包【网络接口卡接收到数据包后,根据数据包中的目标端口号,将数据包分发给正确的进程(QQ或微信),这就是分用技术】,就送给哪个进程去处理实现复用技术。
-
网络层:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,传输单位是数据报。数据报相当于父,分组相当于子。主要功能:路由选择(选择最优路径)、流量控制、差错控制、拥塞控制。IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
-
数据链路层:主要任务是把网络层传下来的数据报组装成帧,传输单位是帧。主要功能:成帧(定义帧的开始和结束)、差错控制(帧错+纠错)、流量控制、访问/接入控制(控制主机对于信道的访问权限)。SDLC、HDLC、PPP、STP
-
物理层:主要任务是在物理媒体上实现比特流的透明传输(不管所传数据是什么样的比特组合,都应当能够在链路上传送),传输单位是比特。主要功能:定义接口特性(确定金属引脚)、定义传输模式(单工—单方向传输接收、半双工—对讲机、双工—打电话)、定义传输速率(宽度传输速率)、比特同步(发送方传1接收方收到1,实时同步)、比特编码(高低电平代表0和1的规范)Rj45、802.3
5层参考模型(物联网传用)综合了OSI和TCP/IP的优点
- 应用层:支持各种网络应用。FTP、SMTP、HTTP
- 传输层:进程—进程的数据传输。TCP、UDP
- 网络层:源主机到目的主机的数据报分组切割和路由转发。IP、ICMP
- 数据链路层:把数据报分组进行组装成帧。Ethernet、PPP
- 物理层:比特流信息传输。010101
图中的AB两台主机通信:首先,主机A上准备好数据,应用层会加一定的控制信息,然后这个控制信息形成的这个单位传输单元就叫做报文。接下来把这些报文分成段放到传输层上面进行传输,再加上传输层的控制协议就形成了一个个报文段。接下来,这个报文段再到网络层,把上层的数据单元再加上网络层的控制信息即网络层的头部形成一个数据报,如果数据过长那可以进行切割分组,接下来把这个数据报传到数据链路层需要封装成帧,并且在数据报组的头部和尾部加上链路层的控制信息形成的这样一个传递单元就是帧,接下来物理层不会去添加控制信息而是把这个数据帧转化成比特流的形式然后在链路上传输,那接下来传输到中间系统或者B端系统的时候,就需要进行一个解封装的过程(也就是还原),在物理层上就把这个传输单元还原成一个帧的形式,接下来在链路层需要把这个控制信息脱掉,脱下后就只剩下网络层的数据和控制信息,那在网络层识别出来控制信息后就把网络层的首部脱掉,剩下的就是传输层的一个协议数据单元,传输单元,那接下来再把传输层的控制信息去掉剩下的就是应用层的一个传输单元,再脱掉应用层的控制信息之后就返回给系统主机B了,最后收到的数据就是这个—数据DATA。总结下来就是快递传输和打包的过程,在每个地方加上每个地方的标识。
相关文章:

408计算机网络--基础概论
学习计算机网络走以前需要首先明白一个大的概念,计算机网络通常分为通信子网(实现数据通信)和资源子网(实现资源共享/数据处理)七层妖塔 计算机网络:是一个将分散的、具有独立功能的计算机系统࿰…...

数据库应用:kylin 部署 达梦数据库DM8
目录 一、实验 1.环境 2.部署前规划 3.部署达梦数据库DM8 4.创建数据库及数据库事例管理 5.达梦数据库的基本操作 二、问题 1.xhost命令报错 2.执行安装程序DMInstall.bin 报错 3.解压安装程序报错 4.安装程序找不到文件 5.图像化界面打不开 6.安装内存太小 7.打开…...
GO框架基础 (二)、sqlx库
在 Go 语言中,sqlx 包是一个用于数据库操作的库,它建立在标准库的 database/sql 包之上,并提供了一些额外的功能,以简化和增强与数据库的交互。sqlx 的目标是通过提供更方便的 API 和一些附加功能来改善在 Go 中进行 SQL 数据库查…...

Expected class selector “.menuChildMall“ to be kebab-case报错原因
 使用stylelint格式化css文件时候报上述错误: 原因: css类名未使用-分隔符 将类名修改为: .menu-child-mall形式即可...

NC文件不规则裁剪(利用shp文件裁剪)(三)
文章目录 前言实例数据代码部分需要的库加载文件写入地理信息裁剪NC结果 完整代码奉上 前言 Hello大家好呀,最近正好需要用到多个SHP去裁剪NC,按照我以前的两种办法(办法1和办法2)操作的话,我自己都会破防,…...

java 宠物在线商城系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目
一、源码特点 java 宠物在线商城系统是一套完善的java web信息管理系统 servletdaobean mvc模式,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…...

三防平板丨手持工业平板丨ONERugged工业三防平板丨推动数字化转型
随着科技的发展,数字化转型已经成为企业转型升级的必由之路。而在数字化转型中,三防平板作为一种重要的工具,可以极大地推动企业的数字化转型。本文将从以下几个方面探讨三防平板如何推动数字化转型。 一、提高工作效率 ONERugged加固平板的…...

【Linux | C++ 】基于环形队列的多生产者多消费者模型(Linux系统下C++ 代码模拟实现)
阅读导航 引言一、生产者消费者模型二、环形队列简介三、基于环形队列的生产者消费者模型(C 代码模拟实现)⭕Makefile文件⭕ . h 头文件✅sem.hpp✅ringQueue.hpp ⭕ . cpp 文件✅testMain.cpp 温馨提示 引言 在上一篇文章中,我们深入探讨了…...

【Docker】Docker存储卷
文章目录 一、什么是存储卷二、为什么需要存储卷三、存储卷分类四、管理卷Volume创建卷方式一:Volume 命令操作方式二:-v 或者--mount 指定方式三:Dockerfile 匿名卷 操作案例Docker 命令创建管理卷Docker -v 创建管理卷Docker mount 创建管理…...
基于python的租车管理平台/汽车租赁网站
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、详情页、用户中心、家政入驻模块。后台功能包括:总览、车辆管理、分类管理…...

【JVM】双亲委派机制
📝个人主页:五敷有你 🔥系列专栏:JVM ⛺️稳中求进,晒太阳 双亲委派机制 在Java中如何使用代码的方式去主动加载一个类呢? 方式1:使用Class.forName方法,使用当前类的类加载…...

分布式id实战
目录 常用方式 特征 潜在问题 信息安全 高性能 UUID 雪花算法 数据库生成 美团Leaf方案 Leaf-segment 数据库方案 Leaf-snowflake 方案 常用方式 uuid雪花算法数据库主键 特征 全局唯一趋势递增信息安全 潜在问题 信息安全 如果id连续递增, 容易被爬虫, 批量下…...
深入了解 SOCKS5 代理、代理 IP 和 HTTP
在网络通信和数据传输中,代理服务器扮演着至关重要的角色。本文将深入探讨 SOCKS5 代理、代理 IP 和 HTTP,揭示它们的工作原理、应用场景以及优缺点。 1. SOCKS5 代理 SOCKS(Socket Secure)是一种网络协议,允许客户端…...

外包干了3个多月,技术退步明显。。。。
先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

Unity之闪电侠大战蓝毒兽(简陋的战斗系统)
目录 🎨一、创建地形 🎮二、创建角色 🏃2.1 动画 🏃2.2 拖尾 🏃2.3 角色控制 🏃2.4 技能释放 🏃2.5 准星 📱三、创建敌人 🐲3.1 选择模型 🐲3.…...
C# 菜鸟级别有关于redis的使用
public IActionResult Index() { ConnectionMultiplexer _conn ConnectionMultiplexer.Connect("127.0.0.1:6379");//初始化 var database _conn.GetDatabase(7);//指定连接的库 0 RedisHelper redisHelper new Redi…...

AlexNet的出现推动深度学习的巨大发展
尽管AlexNet(2012)的代码只比LeNet(1998)多出几行,但学术界花了很多年才接受深度学习这一概念,并应用其出色的实验结果。 AlexNet(由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton共同设计…...
2024面试offer收割宝典字节篇
1.IO 模型有哪些,讲讲你理解的 nio ,他和 bio,aio 的区别是啥, 谈谈 reactor 模型。 IO 模型主要包括以下几种:1. 阻塞 I/O (BIO): 当一个线程调用 read() 或 write() 系统调用时,如果数据没有准备好或者缓冲区已满,则该线程会被操作系统阻塞,直到有数据可读或写入完…...

冒泡排序及其优化
冒泡排序 int[] arr {1,3,2,9,4,7,2,8};//比较多少轮(n个数字比较n-1次)for(int i0,n arr.length;i<n-1;i) {//每轮比较多少次(n-1-i次)for(int j 0;j<n-1-i;j) {//两两比较if(arr[j] > arr[j1]) { //比较结果为升序排列,如果想要降序排列结果将 >…...

【医学大模型 补全主诉】BioGPT + LSTM 自动补全医院紧急部门主诉
BioGPT LSTM 自动补全医院紧急部门主诉 问题:针对在紧急部门中自动补全主诉的问题子问题1: 提高主诉记录的准确性子问题2: 加快主诉记录的速度子问题3: 统一医疗术语的使用子问题4: 减少打字错误和误解子问题5: 提高非特定主诉的处理能力 解法数据预处理神经网络方…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...