网络的基础理解

文章目录

        • 网络的基础认识
    • 网络协议
      • 协议分层
        • OSI七层模型
        • TCP/IP 五层/四层 模型

网络的基础认识

先来看下面几个问题

  • 什么是网络?
    • 网络就是有许多台设备包括计算机单不仅限于计算机,这些设备通过相互通信所组成起来系统,我们称之为网络
    • 所以如何计算机如何进行网络通信也就是计算机网络的关键
  • 网络概念:
    • LAN:局域网,部分计算机或者设备连接在一起的就是局域网。比如我们常说的WLAN,其实就是无线局域网。思考以下,你家的WLAN是不是就几台手机链接,这其实就是一种LAN
    • WAN:广域网,许多设备连接在一起通信的系统。
  • 计算机之间是如何通信的呢?
  • 首先我们要明白,计算机的世界本质就是二进制,通信的时候也是电信号的2进制数据。拿如何识别这些数据进行转换成我们呢?答案是协议
  • 什么是协议呢?
    • 协议就是一种约定,我们彼此就像电影里面的摩斯密码,对应的符号表示对应的信息.计算机通信时,我们把对应的01数据做合适的解析就能够彼此识别。

网络协议

众所周知,计算机有许多硬件,以及底层的操作系统都有好多(对应的厂商也有很多),如果说彼此之间通信协议都不同意,如同打电话交流一样,你说英语,我说汉语该如何理解彼此的意思呢?
基于上述原因,不同计算机厂商都遵守的通信标准,来使得计算机能正常通信的标准,叫网络协议。

协议分层

协议实际时是由多层协议,一层一层的封装的。就好之你打电话,你们都说汉语是一种协议,底层无线电传输振动与电磁波相互转换也涉及协议。
网络协议也是分层的

OSI七层模型

请添加图片描述

  • 应用层:**针对特定应用的协议,**比如电子邮件,你网盘的文件传输,linux的ssh远程登陆等等。
  • 表示层:设备固有数据格式 与 网络标准数据格式之间的转换。比如传输图片二进制或者其他格式作为网络数据传播。
  • 会话层:通信管理,负责建立与断开通信链接。 (如何建立链接,建立多久,比如你用一些如xshell等软件远程登录linux时,每一个窗口其实也就是会话管理)
  • 传输层:负责管理两个结点之间数据传输。 比如A主机到B主机的数据发送成功与否。
  • 网络层:地址管理与路由选择。 网络中有许多主机,该如何让数据在主机之间选择正确的路径传播。
  • 数据链路层:互联设备之间传送与识别数据帧。
  • 物理层:传输的物理信号,也就是01。

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。

  • 优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯
  • 缺点,过度的逻辑抽象与划分,对初学网络的很不友好 反而使得理解的成本增加
TCP/IP 五层/四层 模型
  • TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇

  • TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.

五层协议:其中四层就是不考虑物理层
在这里插入图片描述

  • 应用层:负责应用程序间的沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
  • 传输层:负责两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。
  • 网络层: 负责地址管理和路由选择
  • 数据链路层: 负责设备之间的数据帧的传送和识别
  • 物理层:采用光电信号传输

对于程序员而言,应用层和传输层应当是需要十分和熟悉的,应为平常写代码等业务逻辑主要就是在这两层。网络层和数据链路层并非不重要,需要非常了解,出了问题才方便排查

如图:每层数据传输时,都会添加对应的报头(header),那些形状就是表示对应的报头。
**下图的数据传输也并非就是所有的网络通信都是如下图,实际还有中间路由转发等。
请添加图片描述

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

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

相关文章

Gartner发布中国数据安全安全与风险管理领导者指南:将孤立的数据安全产品集成到数据安全平台中,实施一致的数据安全策略

在中国开展业务或与中国相关的组织面临着越来越多的数据安全风险和法规。安全和风险管理领导者必须采用风险优先的数据安全计划和投资,以响应监管要求,以增强数据驱动的数字创新能力。 主要发现 跨组织职能的分散的数据安全举措和不协调的利益相关者责任…

服务器c盘爆满了,这几种方法可以帮助C盘“瘦身”

我们在使用服务器的时候基本不会在C盘安装软件,那么用久了发现C盘满了,提示空间不足?那么这是怎么回事,为什么空间会占用这么快呢? 原因一: C盘满了,很可能是因为电脑里的垃圾文件过多。操作系…

薪资不公、晋升无望?动笔写一份申诉材料吧!

薪资不公、晋升无望?动笔写一份申诉材料吧! 引言:每个努力工作的人都值得公平对待 在职场上,我们付出了汗水和智慧,期待着相应的回报——合理的工资和公正的晋升机会。然而,现实并不总是如此美好。当你感觉…

芯片设计公司外协ERP数字化运营:科技与管理的融合

随着信息技术的快速发展,ERP(企业资源计划)系统已经成为现代企业管理不可或缺的一部分。在芯片设计行业,由于产品的复杂性、技术的高要求以及市场的快速变化,外协ERP数字化运营显得尤为重要。 芯片设计公司的外协ERP数字化运营,主…

xxe漏洞--xml外部实体注入漏洞

1.xxe漏洞介绍 XXE(XML External Entity Injection)是一种攻击技术,它允许攻击者注入恶意的外部实体到XML文档中。如果应用程序处理XML输入时未正确配置,攻击者可以利用这个漏洞访问受影响系统上的敏感文件、执行远程代码、探测内…

晶体振荡器

一、晶振与晶体区别 晶振是有源晶振的简称,又叫振荡器,英文名称是oscillator,内部有时钟电路,只需供电便可产生振荡信号;晶体是无源晶振的简称,也叫谐振器,英文名称是crystal,是无极…

机械臂与Realsense D435 相机的手眼标定ROS包

本教程主要介绍机械臂与 Realsense D435 相机手眼标定的配置及方法。 系统:Ubuntu 20.0.4 ◼ ROS:Noetic ◼ OpenCV 库:OpenCV 4.2.0 ◼ Realsense D435:librealsense sdk(2.50.0)、realsense-ros 功能包&…

Kafka-文件存储机制

Kafka概述 Kafka-文件存储机制 1. 分区: Kafka中的每个主题(topic)都可以分成一个或多个分区。 Topic是逻辑上的概念,而Partition是物理上的概念。 分区是消息的基本单元,每个分区都是一个有序的log日志文件。 Pr…

Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓 前言文件结构与基本概念配置网络接口的常用参数高级网络配置技巧实用工具与调试技巧实战案例与最佳实践 前言 在我们的日常生…

【数据库基础】基本认识数据库--入门引导

文章目录 什么是数据库?主流数据库基本使用安装MySQL连接服务器服务器、数据库、表关系使用案例数据逻辑存储 MySQL架构SQL语句分类什么叫存储引擎 什么是数据库? 数据库是指在磁盘和内存中存储特定结构组织的数据。数据库通常用于存储于某个系统、组织或…

基于springboot实现的校园博客系统

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

Mac SourceTree配置ssh git仓库

一、准备条件 1、Mac系统电脑 2、安装好SourceTree 3、获取ssh git仓库地址 二、配置步骤 1、打开终端命令行 ssh -t rsa -C "xxx""xxx"代表注册git仓库时,使用的用户名,可以是字符串也可以是邮箱地址。 如果遇到输入密码&#xf…

无线网络安全技术基础

无线网络安全技术基础 无线网络安全风险和隐患 随着无线网络技术广泛应用,其安全性越来越引起关注.无线网络的安全主要有访问控制和数据加密,访问控制保证机密数据只能由授权用户访问,而数据加密则要求发送的数据只能被授权用户所接受和使用。 无线网络在数据传输时以微波进…

数据访问层设计_6.连接对象管理设计

1.数据库连接管理 在基于JDBC的数据库应用开发中,数据库连接的管理是一个难点,因为它是决定该应用性能的一个重要因素。 对于共享资源,有一个很著名的设计模式——资源池。该模式正是为了解决资源频繁分配、释放所造成的问题。把该模式应用到…

Centos7.9安装卸载Docker

文章目录 1、官网安装1.1、卸载旧版本Docker1.2、通过rpm仓库安装1.2.1、设置仓库1.2.2、安装Docker Engine1.2.3、启动Docker1.2.4、验证安装 1.3、通过rpm软件包安装1.4、通过便捷脚本安装 2、yum安装2.1、安装docker-ce以及客户端2.2、启动docker2.3、配置镜像加速 3、卸载D…

Linux安装刻录软件

在工作场景经常使用光盘和刻录机,在windows系统下有nero软件,在linux下有k3b,但是原始的k3b只能一次刻录,十分浪费光盘,这里我们使用经优麒麟优化过的刻录软件,实现多次追加刻录。 进入优麒麟软件仓库,需要…

项目管理—需求管理规程(软件研发过程标准,管理标准,标书技术编写,资质评审,安全管理体系,项目交付,实施运维,各类建设方案)

软件资料清单列表部分文档清单:工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概要设计说明书,技术解…

30.包名的修改和新建后端模块

权限和第三方登录确实令人头疼,我们来学一点简单一点的。 另外,如果各位有属于自己的域名和ICP/IP备案,布置一个作业,自行实现第三方QQ登录。 我们所说的包名修改,是一次性修改ruoyi的全部包名,因为发现很多人有这样的需求,下载别人的代码,想要改成自己公司的包名,结…

Spring Boot:SpringBoot 如何优雅地定制JSON响应数据返回

一、前言 目前微服务项目中RESTful API已经是前后端对接数据格式的标配模式了,RESTful API是一种基于REST(Representational State Transfer,表述性状态转移)原则的应用程序编程接口(Application Programming Interfac…

P6【知识点】【数据结构】【树tree】C++版

树是由一个集合以及在该集合上定义的一种关系构成的,集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构,在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点。 二叉…