网络协议从入门到底层原理学习(一)—— 简介及基本概念

文章目录

    • 网络协议从入门到底层原理学习(一)—— 简介及基本概念
      • 一、简介
        • 1、网络协议的定义
        • 2、网络协议组成要素
        • 3、广泛的网络协议类型
          • 网络通信协议
          • 网络安全协议
          • 网络管理协议
        • 4、网络协议模型对比图
      • 二、基本概念
        • 1、网络互连模型
        • 2、计算机之间的通信基础

网络协议从入门到底层原理学习(一)—— 简介及基本概念

一、简介

1、网络协议的定义

什么是网络协议?

网络协议是由定义网络上两个或多个设备之间通信的规则、过程和格式组成的正式标准和策略

它们确保计算机网络设备可以使用一种通用语言传输和接收数据,而不管它们的设计、硬件或基础设施如何。

网络协议管理及时、安全、管理的数据或网络通信的端到端过程。

它们可以内置到硬件或软件中,而且它们是如此重要,以至于在实践中,每个网络的使用都依赖于网络协议来进行通信和连接。

简单来讲:

网络协议的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

网络协议是由几个组织根据某些行业标准开发和发布的。

最重要的包括:

  • 万维网联盟(W3C)
  • 国际电信联盟(ITU)
  • 国际标准化组织(ISO)
  • 互联网工程专责小组(IETF)
  • 电气和电子工程师协会(IEEE)

2、网络协议组成要素

网络协议是由三个要素组成:

(1) 语义。语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。

(2) 语法。语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。

(3) 时序。时序是对事件发生顺序的详细说明。(也可称为“同步”)。

人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。

3、广泛的网络协议类型

网络通信协议

通信协议允许网络设备之间进行基本的数据通信。 它们的用途包括在计算机之间或通过互联网传输文件,交换基于文本的消息,以及在路由器和外部或物联网设备之间建立通信。

通信协议的例子有:

  • 蓝牙协议
  • FTP
  • TCP / IP
  • 和HTTP
网络安全协议

安全协议通过保证在网络上传输的数据不会被未经授权的用户访问来实现网络通信的安全性。

安全性是通过各种方法建立的,例如通过使用密码、身份验证协议或数据加密。

在设备之间的传输过程中可以对数据进行加密和保护,可以拒绝未知或未经授权的设备或用户访问。

安全协议的例子包括:

  • HTTPS
  • SSL
  • SSH
  • SFTP
网络管理协议

网络管理协议通过定义操作网络所需的过程来提供网络治理和维护。

它们应用于在给定网络中运行的所有设备上,如服务器、路由器和计算机,以有效地协调它们。

网络管理协议保证了每台设备之间以及与网络本身之间的连接,并保证了这些连接的稳定性。

它们通常用于故障排除和评估网络连接的质量。

网络管理协议的例子包括:

  • SNMP
  • ICMP

4、网络协议模型对比图

在这里插入图片描述
在这里插入图片描述

二、基本概念

1、网络互连模型

为了更好地促进互联网络的研究和发展,国际标准化组织 ISO 在 1985 年制定了网络互连模型

  • OSI 参考模型(Open System Interconnect Reference Model),具有 7 层结构

在这里插入图片描述
请求过程
在这里插入图片描述
在这里插入图片描述
网络分层
在这里插入图片描述

2、计算机之间的通信基础

需要得知对方的 IP 地址

最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收

  • 如果网卡发现数据的目标 MAC 地址是自己,就会将数据传递给上一层进行处理

  • 如果网卡发现数据的目标 MAC 地址不是自己,就会将数据丢弃,不会传递给上一层进行处理

计算机之间的连接方式 ——网线直连

在这里插入图片描述
需要用交叉线(不是直通线)

计算机之间的连接方式—— 同轴电缆(Coaxial)

在这里插入图片描述
特点:

  • 半双工通信

  • 容易冲突

  • 不安全

  • 中间断了,整个都瘫了

计算机之间的连接方式——集线器( Hub )

在这里插入图片描述
特点:

  • 半双工通信

  • 容易冲突

  • 不安全

  • 跟同轴电缆一样:没有智商

计算机之间的连接方式—— 网桥(Bridge)

在这里插入图片描述
特点:

  • 能够通过自学习得知每个接口那侧的 MAC 地址
    • 从而起到隔绝冲突域的作用

计算机之间的连接方式 —— 交换机(Switch)

在这里插入图片描述
特点:

  • 相当于接口更多的网桥

  • 全双工通信

  • 比集线器安全

计算机之间的连接方式 —— 路由器(Router)

在这里插入图片描述
在这里插入图片描述
特点:

  • 网线直连、同轴电缆、集线器、网桥、交换机

    • 连接的设备必须在同一网段
    • 连接的设备处在同一广播域
  • 路由器

    • 可以在不同网段之间转发数据
    • 隔绝广播域

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

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

相关文章

配置本地maven

安装maven安装包 修改环境变量 vim ~/.bash_profile export JMETER_HOME/Users/yyyyjinying/apache-jmeter-5.4.1 export GOROOT/usr/local/go export GOPATH/Users/yyyyjinying/demo-file/git/backend/go export GROOVY_HOME/Users/yyyyjinying/sortware/groovy-4.0.14 exp…

百度低质量站点怎么办?解决百度低质量站点的方法和工具

百度低质量站点怎么恢复?这是许多网站主和运营人员在SEO优化过程中经常面临的一个问题。百度作为中国最大的搜索引擎,对于网站收录和排名具有至关重要的影响。然而,由于各种原因,有些网站可能面临被百度降权或收录减少的情况。那么…

IDea寻找冲突的依赖包

场景:boot项目运行时,提示log4j2依赖包冲突。 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/maven/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/Stati…

AIGC专栏5——EasyPhoto AI写真照片生成器 sd-webui插件介绍、安装与使用

AIGC专栏5——EasyPhoto AI写真照片生成器 插件安装与使用 学习前言源码下载地址技术原理储备(SD/Control/Lora)StableDiffusionControlNetLora EasyPhoto插件简介EasyPhoto插件安装安装方式一:Webui界面安装 (需要良好的网络&…

stable diffusion实践操作-大模型介绍-SDXL1大模型

系列文章目录 大家移步下面链接中,里面详细介绍了stable diffusion的原理,操作等(本文只是下面系列文章的一个写作模板)。 stable diffusion实践操作 提示:写完文章后,目录可以自动生成,如何生…

【Linux】高级IO和多路转接 | select/poll/epoll

多路转接和高级IO 咳咳,写的时候出了点问题,标点符号全乱了(批量替换了几次),干脆就把全文的逗号和句号都改成英文的了(不然代码块里面的代码都是中文标点就跑不动了) 1.高级IO 1.1 五种IO模型…

RK3568-android11-适配ov13850摄像头

参考链接 https://blog.csdn.net/daocaokafei/article/details/127621511硬件连接 主要分为两部分: mipi接口:传输摄像头数据 i2c接口:配置摄像头和对焦马达芯片寄存器Camera engine基本框架 driver layer:驱动层 Engine layer:引擎层,包括core engine库(librkisp.so)…

WebSocket原理简介

慢聊Go之GoLang中使用Gorilla Websocket|Go主题月 - 掘金 (juejin.cn) 【Go项目】24. WebSocket 基本原理_哔哩哔哩_bilibili 1.http和socket的区别 1) http要先给服务器发请求,然后才会得到响应,基本是一问一答式。 而socke…

mybatis-generator-maven-plugin使用

前提说明 数据库&#xff1a;MYSQL57Mybatis : http://mybatis.org/generator/index.html 操作说明 引入插件 <plugins><!-- MyBatis 逆向工程 插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generat…

数学建模--粒子群算法(PSO)的Python实现

目录 1.开篇提示 2.算法流程简介 3.算法核心代码 4.算法效果展示 1.开篇提示 """ 开篇提示: 这篇文章是一篇学习文章,思路和参考来自:https://blog.csdn.net/weixin_42051846/article/details/128673427?utm_mediumdistribute.pc_relevant.none-task-blog-…

【Selenium2+python】自动化unittest生成测试报告

前言 批量执行完用例后&#xff0c;生成的测试报告是文本形式的&#xff0c;不够直观&#xff0c;为了更好的展示测试报告&#xff0c;最好是生成HTML格式的。 unittest里面是不能生成html格式报告的&#xff0c;需要导入一个第三方的模块&#xff1a;HTMLTestRunner 一、导…

一个 MySQL 数据库死锁的案例和解决方案

本文介绍了一个 MySQL 数据库死锁的案例和解决方案。 场景 生产环境出了一个偶现的数据库死锁问题&#xff0c;导致少部分业务处理失败。 分析特征之后&#xff0c;发现是多个线程并发执行同一个方法&#xff0c;更新关联的数据时可能会出现&#xff0c;把场景简化概括一下&…