网络初识必知会

局域网:把一些设备通过交换机/路由器连接起来

广域网:把更多的局域网也相互连接,当网络规模足够大的

交换机:组网过程中的重要设备!

路由器:组网过程中的重要设备!

IP地址:描述一个主机在互联网上的具体位置

端口号:区分一个主机上的应用程序

协议:(非常核心的概念)

协议就是约定,发送方约定了他发数据是啥样的格式,接收方也得理解这个格式,两边对上号,才能够进行正确的通信!

协议:在传输之前就先约定好发送方和接收方都约定好每组代表的啥意思!!

在网络通信中,需要约定的协议,其实是非常非常复杂的!!

面对复杂的环境,就需要复杂的协议!但是,太复杂了也不好!!

当一个协议太复杂了,就可以拆分成多个协议,当协议拆分出很多的时候,存在有些小的协议作用或者定位是类似的,那么,就可以针对这些小的协议进行“分类”,同时在针对这些不同的类别,进行分层,相当于约定层级和层级之间的调用关系,要求上层协议调用下层协议,下层协议给上层协议提供支持,不能跨层调用!!

公司经常有一定的层级关系:

跨层级进行交互,职场上一般是非常禁忌的!!

协议分成的好处:

  1. 分成之后,就可以做到层次之间,耦合程度比较低,上层协议不必了解下层的细节,下层也不必了解上层的细节!
  2. 方便的对某一层的协议进行替换!

真实的网络协议具体是怎么分成的呢??

OSI七层网络模型(仅仅存在于教科书上的!)

TCP/IP五层网络模型(当下最广泛使用的网络模型)

下列内容要求熟练背诵,计算机网络中最基础,最核心的概念!!

应用层,传输层,网络层,数据链路层,物理层

  1. 应用层,关注传过来的数据要干啥用!!(同一个人,针对同一个东西,拿来的用途也是不一样的)
  2. 传输层:不考虑中间路径,只关注起点和终点。如:我和淘宝卖家,都不关心,中间是怎么传输的(快递),只关心起点和中点,你乐意咋传输就咋传输,只要规定时间送到即可!!
  3. 网络层:主要负责两个遥远的节点之间的路线规划

    收货地是西安,发货地是上海

    上海到西安,中间有很多条路可以走~

    在众多的路径中,找一个合适的~

    上海《——》西安

    上海《——》南京《——》西安

    上海《——》苏州《——》徐州《——》西安

  4. 数据链路层:主要关注相邻节点之间的传输

    上海——》南京:火车??

    南京——》西安:卡车??

    网络上相邻节点,就是通过网线/光纤/无线直接连接的设备!!

  5. 物理层:网络通信的基础设施!!网线,光纤,网络接口…………

网络上的高速公路!!

那么,经过上述这样的分成之后,就可以让程序员同一时刻只关注一个子问题!!


在上述的五层中,只有应用层才真正的关注数据的用途!!

应用层:对咱们程序员写的应用程序,下面的四层测试操作系统内部一级封装好的!!因此,咱们写代码进行网络编程,主要工作还是围绕应用层展开的!!

目前:程序员改不了系统内核,也改不了硬件,则目前高校的课堂重点围绕应用层和传输层站卡!!

在协议分层的背景下,数据如何通过网络传输的呢??(封装&分用

发送方发送数据,要把数据从上到下,依次交给对应的层次的协议,进行封装,接收方收到数据,要把数据从上午到下,依次交给对应的层次的协议进行解析,解析的过程就叫分用!!

总的来说:

  1. 应用层:应用程序,拿到数据怎么用??:应用程序
  2. 传输层:负责关注传输过程中起点和终点:系统内核封装
  3. 网络层:负责整个传输过程中的路径规划
  4. 数据链路层:负责两个相邻节点之间的数据传输:硬件+驱动
  5. 物理层:硬件设备,基础设施

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

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

相关文章

什么,这年头还有人不知道404

写在前面 哥,来帮我看看,这个请求怎么404了,明明接口路径是对的啊!一个下午,组里的小哥突然让我帮忙看这个问题,我不禁一惊,啥,这年头了还有人搞不定404,如有还有&#…

FFmpeg:打印音/视频信息(Meta信息)

多媒体文件基本概念 多媒体文件其实是个容器在容器里面有很多流(Stream/Track)每种流是由不同的编码器编码的从流中读出的数据称为包在一个包中包含着一个或多个帧 几个重要的结构体 AVFormatContextAVStreamAVPacket FFmpeg操作流数据的基本步骤 打印音/视频信息(Meta信息…

LVGL_基础控件滚轮roller

LVGL_基础控件滚轮roller 1、创建滚轮roller控件 /* 创建一个 lv_roller 部件(对象) */ lv_obj_t * roller lv_roller_create(lv_scr_act()); // 创建一个 lv_roller 部件(对象),他的父对象是活动屏幕对象// 将部件(对象)添加到组,如果设置了默认组&#xff0c…

不断优化的素数算法

前言:素数判断是算法中重要的一环,掌握优秀的素数判断方法是算法player的必修课。本文介绍的是由简到繁的素数算法,便于初学者从入门到精通。 素数(质数):只能被 1 和它本身整除的数称作素数,如…

总结二:linux面经

文章目录 1、 Linux中查看进程运行状态的指令、查看内存使用情况的指令、tar解压文件的参数。2、文件权限怎么修改?3、说说常用的Linux命令?4、说说如何以root权限运行某个程序?5、 说说软链接和硬链接的区别?6、说说静态库和动态…

(四)正点原子STM32MP135移植——u-boot移植

一、概述 u-boot概述就不概述了,u-boot、kernel、dtb三件套,dddd 经过国庆艰苦奋战,已经成功把所有功能移植好了 二、编译官方代码 进入u-boot的目录 2.1 解压源码、打补丁 /* 解压源码 */ tar xf u-boot-stm32mp-v2022.10-stm32mp-r1-r0.…

充分理清限制与条件+构造二分图+最小割:ARC142E

https://www.luogu.com.cn/problem/AT_arc142_e 他的充要条件是是什么: a i , a j ≥ m i n ( b i , b j ) a_i,a_j\ge min(b_i,b_j) ai​,aj​≥min(bi​,bj​)存在 a i ≥ m a x ( b i , b j ) a_i\ge max(b_i,b_j) ai​≥max(bi​,bj​) 第一个条件直接预处理一…

Springcloud支付模块

客户端消费者80 order 微服务提供者8001 payment 订单模块可以调动支付模块 步骤: 1、建moudle 2、改写pom 3、写yml 4、主启类 5、业务类

【LinuxC】时间、时区,相关命令、函数

文章目录 一、序1.1 时间和时区1.11 时间1.12 时区 1.2 查看时间时区的命令1.21 Windows1.22 Linux 二、C语言函数2.1 通用2.11 函数简介2.12 数据类型简介 2.2 windows 和 Linux特有函数2.3 C语言示例 一、序 1.1 时间和时区 1.11 时间 时间是一种用来描述物体运动变化的量…

黑马点评-01基于Redis实现短信登陆的功能

环境准备 当前模型 nginx服务器的作用 手机或者app端向nginx服务器发起请求,nginx基于七层模型走的是HTTP协议,可以实现基于Lua直接绕开tomcat访问Redis nginx也可以作为静态资源服务器,轻松扛下上万并发并负载均衡到下游的tomcat服务器,利用集群支撑起整个项目 使用nginx部…

黑马JVM总结(二十七)

(1)synchronized代码块 synchronized代码块的底层原理,它是给一个对象进行一个加锁操作,它是如何保证如果你出现了synchronized代码块中出现了问题,它需要给这个对象有一个正确的解锁操作呢,加锁解锁是成对…

【c++_containers】10分钟带你学会list

前言 链表作为一个像是用“链子”链接起来的容器,在数据的存储等方面极为便捷。虽然单链表单独在实际的应用中没用什么作用,但是当他可以结合其他结构,比如哈希桶之类的。不过今天学习的list其实是一个带头双向链表。 言归正传,让…

overleaf在线编辑工具使用教程

文章目录 1 用 orcid注册overleaf获取模板2 使用模板 1 用 orcid注册overleaf获取模板 通常来说,在期刊投稿网站information for author中找template 。下载压缩包后上传到over leaf中。 加入找不到官方模板,用overleaf中的 2 使用模板 .bib文件&…

3D孪生场景SDK:Viwer 孪生世界

NSDT 编辑器 提供三维场景构建、场景效果设计、场景服务发布全流程工具等,其场景编辑器支持资产管理、灯光设置、骨骼动画等功能;致力于协助资源不足的中小企业及个人快速开发数字孪生场景,帮助企业提高生产力、实现降本增效。 NSDT编辑器简…

adb详细教程(四)-使用adb启动应用、关闭应用、清空应用数据、获取设备已安装应用列表

adb对于安卓移动端来说,是个非常重要的调试工具。本篇介绍常用的adb指令 文章目录 一、启动应用:adb shell am start二、使用浏览器打开指定网址:adb shell am start三、杀死应用进程adb shell am force-stop/adb shell am kill四、删除应用所…

【AI视野·今日CV 计算机视觉论文速览 第262期】Fri, 6 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Fri, 6 Oct 2023 Totally 73 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Improved Baselines with Visual Instruction Tuning Authors Haotian Liu, Chunyuan Li, Yuheng Li, Yong Jae Lee大型多模…

python开发幸运水果抽奖大转盘

概述 当我女朋友跟我说要吃水果,又不知道吃啥水果时候,她以为难为到我了,有啥事难为到程序员的呢! 今天用python利用第三方tkinterthreadingtime库开发一个幸运水果抽奖大转盘!抽到啥吃啥 详细 老规矩!咱…

基于A4988/DRV8825的四路步进电机驱动器

概述 简化板的CNC sheild V3.0,仅保留步进电机速度与方向的控制引脚STEP/DIR、使能端EN、芯片供电VCC\GND,共计11个引脚。PCB四周开设四个M3通孔,以便于安装固定。此外,将板载的焊死的保险丝更改为可更换的保险座保险丝&#xff…

Labview 实战 99乘法表

基于新手小白,使用Labview实现99乘法表,敢于发表自己的一点方法,还请各位大侠放过! 如下: 运行效果如下: 思路为:将要显示出来的数据,全部转换为字符串形式,再塞入到数组…

Java基于SSM+Vue的平时成绩管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…