408计算机网络--基础概论

学习计算机网络走以前需要首先明白一个大的概念,计算机网络通常分为通信子网(实现数据通信)资源子网(实现资源共享/数据处理)==七层妖塔
pFE9tzQ.png

计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

重点探讨网络为什么要分层?(七层OSI法定标准,四层TCP/IP事实标准

两台电脑之间传输pdf文件需要在发送文件前完成哪些工作:

  1. 发起通信的计算机必须将数据通信的通路进行激活。
  2. 要告诉网络如何识别目的主机。
  3. 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
  4. 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
  5. 确保差错和意外可以解决。
  6. ……

映射出来的问题就是做这样一堆十分复杂的事,那就考虑到把大问题拆解成一堆堆小问题

分层的基本规则:各层独立,每层界面清晰,下层独立,为上层提供服务

ISO提出的OSI参考模型:为了解决垄断性网络体系结构,打造全球异构网络的互联互通,可以让全球不同网络不同设备不同软硬件都可以在网络上面进行连接。但是OSI在理论学习上是很成功的,可以借鉴学习,但是在实际检验中是失败的。【周期长—生不逢时,不合理—重复交叉,不实用—市场检验】

介绍一下:OSI七层从下至上分别是【物联网淑惠试用—物链网输会示用】
pFZfOKg.png

由图可知,OSI七层妖塔,下三层是通信子网主要用于数据通信,后面介绍A–>中间系统–>B底层点到点的数据通路,传输层相当于上下层的接口,而最上面三层资源子网主要用于数据处理A–>B端到端协议进程与进程之间通过端口通信),通信双方只需要关注消息本身,不需要关注底层二进制信息的传输
pFZfqxS.pngpFZfb28.png
上述通信双方的打招呼通信过程:

写在前面:什么是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的优点

pFZjICF.png

  • 应用层:支持各种网络应用。FTP、SMTP、HTTP
  • 传输层:进程—进程的数据传输。TCP、UDP
  • 网络层:源主机到目的主机的数据报分组切割和路由转发。IP、ICMP
  • 数据链路层:把数据报分组进行组装成帧。Ethernet、PPP
  • 物理层:比特流信息传输。010101

pFZj44U.png
图中的AB两台主机通信:首先,主机A上准备好数据,应用层会加一定的控制信息,然后这个控制信息形成的这个单位传输单元就叫做报文。接下来把这些报文分成段放到传输层上面进行传输,再加上传输层的控制协议就形成了一个个报文段。接下来,这个报文段再到网络层,把上层的数据单元再加上网络层的控制信息即网络层的头部形成一个数据报,如果数据过长那可以进行切割分组,接下来把这个数据报传到数据链路层需要封装成帧,并且在数据报组的头部和尾部加上链路层的控制信息形成的这样一个传递单元就是帧,接下来物理层不会去添加控制信息而是把这个数据帧转化成比特流的形式然后在链路上传输,那接下来传输到中间系统或者B端系统的时候,就需要进行一个解封装的过程(也就是还原),在物理层上就把这个传输单元还原成一个帧的形式,接下来在链路层需要把这个控制信息脱掉,脱下后就只剩下网络层的数据和控制信息,那在网络层识别出来控制信息后就把网络层的首部脱掉,剩下的就是传输层的一个协议数据单元,传输单元,那接下来再把传输层的控制信息去掉剩下的就是应用层的一个传输单元,再脱掉应用层的控制信息之后就返回给系统主机B了,最后收到的数据就是这个—数据DATA。总结下来就是快递传输和打包的过程,在每个地方加上每个地方的标识。

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

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

相关文章

Rabbitmq入门与应用(三)-RabbitMQ开发流程

RabbitMQ开发流程 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency>配置MQ 最简配置 spring:rabbitmq:host: mq的安装机器ipport: 5672username: ad…

忘记管理员密码

1、在/home/jenkins/config.xml中删除&#xff1a; <useSecurity>true</useSecurity><authorizationStrategy class"hudson.security.FullControlOnceLoggedInAuthorizationStrategy"><denyAnonymousReadAccess>false</denyAnonymousRea…

Hack The Box-Office

端口扫描&信息收集 使用nmap对靶机进行扫描 nmap -sC -sV 10.10.11.3开放了80端口&#xff0c;并且注意到该ip对应的域名为office.htb&#xff0c;将其加入到hosts文件中访问之 注意到扫描出来的还有robots文件&#xff0c;经过尝试后只有administrator界面是可以访问的 …

详解平面点云面积计算

部分代码展示&#xff1a; &#xff08;1&#xff09;利用格网法计算面积&#xff1a; //&#xff08;2&#xff09;测试使用格网法计算平面点云面积 void main() {char *inputpath "D:\\testdata\\data.txt";vector<pcl::PointXYZ> points ReadPointXYZIn…

Java 21 新特性的扫盲级别初体验

一、前言 JDK 21 于 2023 年 9 月发布&#xff0c;作为目前讨论热度最高的JDK&#xff0c;虽然大家都开玩笑说你发任你发&#xff0c;我用Java8&#xff0c;但是作为一个Javaer&#xff0c;对JDK21的新特性还是要有所了解的。 以下是 JDK 21 的新功能列表&#xff1a; 虚拟线…

element-plus日期选择器2次封装

预期效果 官网默认样式&#xff1a; 修改后的样式&#xff1a; 代码实现 DatePicker.vue <template><div class"date-picker-container"><el-date-picker v-model"date" change"handleChange" type"date" value-for…

CMake无Name和Value部分界面

鼠标会变成以下 拉开后就 出现想要的部分

PTA-九九乘法表

从键盘输入n&#xff08;n为1~9&#xff09;&#xff0c;输出九九乘法表的前n行&#xff0c;每个式子按“a * b c”形式输出&#xff0c;其中a和b各占1位列宽&#xff0c;c占4位列宽并左对齐。 输入格式: 一个1~9之间的整数n&#xff0c;如&#xff1a;9 输出&#xff1a; …

vue3项目配置按需自动引入自定义组件unplugin-vue-components

我们通常在项目中&#xff0c;需要手动引入自定义的各种组件&#xff0c;如果涉及的页面功能比较多的话&#xff0c;光是import的长度都能赶上春联了。 如果&#xff0c;能有一个插件帮我们实现自动引入&#xff0c;是不是要谢天谢地了呢&#xff1f; 接下来就进入我们的主角u…

centos中安装go

安装过程 &#xff08;1&#xff09;源码二进制下载地址 wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz &#xff08;2&#xff09;将下载的二进制包解压至 /usr/local目录。 tar -C /usr/local/ -xzf go1.13.5.src.tar.gz &#xff08;3&#xff09;设置环…

XR行业首家|李未可科技通过深度合成服务算法备案

2月18日&#xff0c;国家网信办发布第四批深度合成服务算法备案。 根据《互联网信息服务深度合成管理规定》第十九条规定&#xff0c;具有舆论属性或者社会动员能力的深度合成服务提供者&#xff0c;应当按照《互联网信息服务算法推荐管理规定》履行备案和变更、注销备案手续。…

人工智能_普通服务器CPU_安装清华开源人工智能AI大模型ChatGlm-6B_003---人工智能工作笔记0098

前面的环境安装差不多了,这里我没有安装git,因为我认为用不到,好下面去下载算法: 首先是算法下载: https://codeload.github.com/THUDM/ChatGLM-6B/zip/refs/heads/main 算法的下载连接是这里: 可以看到下载以后得到这个ChatGLM-6B-main这个算法压缩包 然后我们再去: 然后…

Guitar Pro8最新官方破解版下载步骤教程

使用Guitar Pro 8的步骤如下&#xff1a; 安装Guitar Pro 8软件。双击打开安装包&#xff0c;按照提示完成安装过程。打开软件后&#xff0c;使用左侧工具栏上的按钮输入谱号和拍号。点击左侧工具栏的和弦图按钮&#xff0c;输入所需要的和弦。使用鼠标和键盘在乐谱中输入乐曲…

MCAL知识点(二十七):TC275如何通过GPT12实现ABZ解码

目录 1、概述 2、代码实现 1、概述 GPT12 - General Purpose Timer Unit (GPT12):通用定时器单元,具备较为灵活的定时器结构,可以用来做定时器、事件计数、脉冲宽度测量、产生PWM、频率调制、ABZ编码器增量测量。文章记录一下如何通过GPT12实现编码器ABZ信号的测量。 注意…

修复 Android 手机陷入恢复模式的 5 种方法

您的手机卡在 Android Recovery 模式且无法退出此模式&#xff1f;无论您按什么按钮组合&#xff0c;甚至在取出并重新插入电池后重新启动手机&#xff0c;手机都会启动回到恢复模式吗&#xff1f; Android卡在recovery模式的情况并不罕见&#xff0c;各种品牌的Android手机都…

极狐GitLab 如何配置多个 LDAP?

本文仅适用于极狐GitLab私有化部署场景。 场景化痛点 极狐GitLab 的多 LDAP 接入功能解决了企业在以下场景中可能遇到的痛点&#xff1a; 多个组织/部门的整合&#xff1a;在大型企业或跨国公司中&#xff0c;往往存在多个组织或部门&#xff0c;它们可能拥有独立的 LDAP 服务…

LeetCode42.接雨水(单调栈)

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 &#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,…

解决kkFileView4.4.0版本pdf、word不能预览问题

这里使用的是http下载流url预览&#xff0c;遇到的问题。 官方使用指南&#xff1a;kkFileView - 在线文件预览 1 前端测试代码 1.1 官方示例代码 1.2 本人测试代码 注意&#xff1a;要给预览文件的url进行编码encodeURIComponent(Base64.encode(previewUrl))。 <!DOCTYP…

Linux 驱动开发基础知识——LED 模板驱动程序的改造:设备树(十一)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;Vir2021GKBS &#x1f43c;本文由…

【4.1计算机网络】TCP-IP协议簇

目录 1.OSI七层模型2.常见协议及默认端口3.TCP与UDP的区别 1.OSI七层模型 osi七层模型&#xff1a; 1.应用层 2.表示层 3.会话层 4.传输层&#xff1a;TCP为可靠的传输层协议。 5.网络层 6.数据链路层 7.物理层 2.常见协议及默认端口 3.TCP与UDP的区别 例题1. 解析&#xff1…