当前位置: 首页 > news >正文

计算机网络各层的功能以及常用协议

目录

  • 1. 物理层(Physical Layer)
  • 2. 数据链路层(Data Link Layer)
  • 3. 网络层(Network Layer)
  • 4. 传输层(Transport Layer)
  • 5. 应用层(Application Layer)

计算机网络的五层是指OSI(开放系统互连)参考模型,它是一种将计算机网络通信过程划分为五个层次的模型,每一层都负责特定的功能。这种分层的设计使得网络通信更加简化和灵活,同时便于网络设备的互操作性和协作。

1. 物理层(Physical Layer)

物理层是网络模型的最底层,负责在物理媒介上传输原始比特流,关注数据传输的物理特性,如电压、电流和频率。

主要功能:

  • 传输数据:将比特流通过物理媒介传输。
  • 编码:将比特流转换为电信号。
  • 时钟同步:确保发送和接收端的时钟同步,使得数据能够正确传输。
  • 数据速率控制:调整传输速率以适应不同的媒介和设备。
  • 数据传输模式:半双工、全双工或单工传输模式。

物理层使用的协议:

  • Ethernet:局域网(LAN)常用技术,用于在局域网中传输数据帧。
  • USB(Universal Serial Bus):连接计算机和外部设备的接口协议。
  • HDMI(High-Definition Multimedia Interface):高清视频和音频传输的接口协议。
  • RS-232(Recommended Standard 232):常用于串行通信的接口标准。
  • IEEE 802.11(Wi-Fi):无线局域网协议,用于无线数据传输。

2. 数据链路层(Data Link Layer)

数据链路层负责在直连的节点之间传输数据帧,并处理物理层传来的原始比特流,确保数据在相邻节点间的可靠传输。

主要功能:

  • 帧同步:确保数据帧的开始和结束位置被正确识别。
  • 错误检测:通过校验和或冗余检验等方式检测传输过程中的比特错误。
  • 流量控制:控制数据的发送速率,以防止接收端缓冲区溢出。
  • 访问控制:协调共享媒介上的数据传输,防止冲突。
  • 透明传输:隐藏物理层细节,使数据链路层对上层透明。

数据链路层使用的协议:

  • PPP(Point-to-Point Protocol):在点对点连接中建立数据链路层通信。
  • Ethernet:在局域网中常用的数据链路层协议。
  • WLAN(无线局域网):无线网络中的数据链路层协议。
  • HDLC(High-Level Data Link Control):面向同步环境的数据链路层协议。
  • Frame Relay:在广域网中传输数据帧的协议。

3. 网络层(Network Layer)

网络层负责在不同网络间传输数据包,并处理数据的路由选择,使数据能够从源地址传输到目的地址。

主要功能:

  • 路由选择:确定数据包从源到目的地的最佳路径。
  • IP地址分配:分配唯一的IP地址以标识每个主机或设备。
  • 分段与重组:将大数据包分段成较小的数据包,并在接收端重新组装。
  • 数据转发:根据目标地址转发数据包到相应的网络接口。

网络层使用的协议:

  • IP(Internet Protocol):互联网中最重要的网络层协议,用于在全球范围内定位和路由数据包。
  • ICMP(Internet Control Message Protocol):发送错误和控制消息,如Ping请求和回应。
  • OSPF(Open Shortest Path First):内部路由的动态路由选择协议。
  • BGP(Border Gateway Protocol):用于在自治系统之间传递路由信息的协议。
  • RIP(Routing Information Protocol):简单的内部网关协议,用于小型网络的路由选择。

4. 传输层(Transport Layer)

传输层负责为两个主机之间的通信提供可靠的数据传输服务,确保数据包按序到达目的地。

主要功能:

  • 分段与重组:将应用层的数据分段,并在接收端重新组装。
  • 流量控制:通过滑动窗口机制控制数据发送的速率,确保接收端能够处理数据。
  • 错误检测与纠正:通过校验和和重传机制检测和纠正数据传输中的错误。
  • 连接管理:建立、维护和关闭传输连接。
  • 拥塞控制:控制数据流量,避免网络拥塞。

传输层使用的协议:

  • TCP(Transmission Control Protocol):提供可靠的、面向连接的数据传输服务,适用于要求数据完整性的应用,如网页浏览、文件传输等。
  • UDP(User Datagram Protocol):提供不可靠的、无连接的数据传输服务,适用于实时性要求较高的应用,如音视频流传输、实时游戏等。
  • SCTP(Stream Control Transmission Protocol):提供多重流的传输,适用于需要多路复用和分流的应用。
  • DCCP(Datagram Congestion Control Protocol):在UDP基础上添加拥塞控制机制的协议。
  • RUDP(Reliable UDP):将

UDP协议扩展为可靠传输的协议。

5. 应用层(Application Layer)

应用层是用户直接与网络交互的接口,提供各种网络应用服务。

主要功能:

  • 提供各种网络应用服务:如电子邮件、文件传输、网页浏览等。
  • 实现应用层协议:各种网络应用使用特定的应用层协议进行通信。
  • 用户认证与授权:确保用户的身份和权限进行合法验证。

应用层使用的协议:

  • HTTP(Hypertext Transfer Protocol):在Web浏览器和Web服务器之间传输超文本数据。
  • SMTP(Simple Mail Transfer Protocol):用于电子邮件的发送。
  • FTP(File Transfer Protocol):在客户端和服务器之间传输文件。
  • DNS(Domain Name System):将域名解析为IP地址,使用户能够通过易记的域名访问网站。
  • SNMP(Simple Network Management Protocol):用于网络设备的管理和监控。

总结:
计算机网络的五层模型提供了一种组织和管理网络通信的有效方法,每一层在整个通信过程中发挥着重要的作用。从物理层到应用层,数据经过一系列的处理和转换,从发送端传输到接收端,最终被应用层解析和使用。每个层级使用特定的协议,确保数据在各层之间传递时能够保持完整性和正确性。这种分层的结构使得计算机网络更加稳定、可靠,并促进了不同设备和系统的互联互通,为人们的信息交流和互动提供了强大的支持。

相关文章:

计算机网络各层的功能以及常用协议

目录 1. 物理层(Physical Layer)2. 数据链路层(Data Link Layer)3. 网络层(Network Layer)4. 传输层(Transport Layer)5. 应用层(Application Layer) 计算机网…...

M. Minimal and Maximal XOR Sum 2023“钉耙编程”中国大学生算法设计超级联赛(7)hdu7359

Problem - 7359 题目大意&#xff1a;给出一个n个数的排列&#xff0c;可以将任意区间内的所有数头尾翻转&#xff0c;每次操作的费用等于区间长度&#xff0c;要求将其变成一个递增排列&#xff0c;求消耗费用的异或和的最小值和最大值 1<n<1e5 思路&#xff1a;操作…...

C++基础篇(五)内存模型及详细示例

目录 一、内存分区模型二、内存分区代码示例三、new 运算符详解 一、内存分区模型 C程序在运行时&#xff0c;将内存分为四个区域&#xff0c;不同的区域赋予不同的生命周期&#xff0c;以提供强大的灵活编程。 代码区&#xff1a;存储程序的二进制代码&#xff0c;通常是只读…...

基于 JMeter API 开发性能测试平台

目录 背景&#xff1a; 常用的 JMeter 类和功能的解释&#xff1a; JMeter 编写性能测试脚本的大致流程示意图&#xff1a; 源码实现方式&#xff1a; (1) 环境初始化 (2) 环境初始化 (3) 创建测试计划 (4) 创建 ThreadGroup (5) 创建循环控制器 (6) 创建 Sampler (…...

HBase-写流程

写流程顺序正如API编写顺序&#xff0c;首先创建HBase的重量级连接 &#xff08;1&#xff09;读取本地缓存中的Meta表信息&#xff1b;&#xff08;第一次启动客户端为空&#xff09; &#xff08;2&#xff09;向ZK发起读取Meta表所在位置的请求&#xff1b; &#xff08;…...

[mongo]应用场景及选型

应用场景及选型 MongoDB 数据库定位 OLTP 数据库横向扩展能力&#xff0c;数据量或并发量增加时候架构可以自动扩展灵活模型&#xff0c;适合迭代开发&#xff0c;数据模型多变场景JSON 数据结构&#xff0c;适合微服务/REST API基于功能选择 MongoDB 关系型数据库迁移 从基…...

linux c語言之crc16错误检测的使用

一、是什么? CRC16是循环冗余校验的一种,是一种根据数据产生校验码的方法。它是一种比较常用的校验算法,可以用于错误检测和纠正等方面。CRC16是16位的校验码,可以检测出32位以内的错误。在通信协议、网络传输等领域中,CRC16被广泛应用. 二、使用步骤 1.引入库 代码如…...

搭建本地开发服务器

搭建本地开发服务器 :::warning 注意 在上一个案例的基础上添加本地开发服务器&#xff0c;请保留上个案例的代码。如需要请查看 Webpack 使用。 ::: 搭建本地开发服务器这一个环节是非常有必要的&#xff0c;我们不可能每次修改源代码就重新打包一次。这样的操作是不是太繁琐…...

linux脚本

程序后台运行&#xff1a; nohup java -jar xxx.jar &>hello.log & 后台运行java-jar命令&#xff0c;并且将日志输出到hello.log文件 防火墙&#xff1a; 开启防火墙&#xff1a;systemctl start firewalld 开放指定端口&#xff1a;firewall-cmd --zonepublic --…...

企升编辑器word编写插件

面向用户群体招投标人员&#xff0c;用统一的模板来编写标书&#xff0c;并最终合并标书。项目经理&#xff0c;编写项目开发计划书&#xff0c;项目验收文档等。开发人员&#xff0c;编写项目需求规格说明书、设计说明书、技术总结等文档。其他文档编写工作量较多的岗位人员。…...

怎么在JMeter中的实现关联

我们一直用的phpwind这个系统做为演示系统, 如果没有配置好的同学, 请快速配置之后接着往下看哦. phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理器来完成. 在需要查…...

算法通关村第六关——如何使用中序和后序来恢复一颗二叉树

1 树的基础知识 1.1 树的定义 树(Tree)&#xff1a;表现得是一种层次关系&#xff0c;为 n &#xff08; n ≥ 0 &#xff09; n&#xff08;n≥0&#xff09; n&#xff08;n≥0&#xff09;个节点构成的有限集合&#xff0c;当n0时&#xff0c;称为空树&#xff0c;对于任一…...

leetcode算法题--判断是否能拆分数组

原题链接&#xff1a;https://leetcode.cn/problems/check-if-it-is-possible-to-split-array/ 一开始思路想错了。。导致浪费很多时间 其实只要能找到存在一个子数组&#xff0c;子数组长度为2&#xff0c;这个子数组符合条件就一定能拆分。。 func canSplitArray(nums []i…...

基于Flask的模型部署

基于Flask的模型部署 一、背景 Flask&#xff1a;一个使用Python编写的轻量级Web应用程序框架&#xff1b; 首先需要明确模型部署的两种方式&#xff1a;在线和离线&#xff1b; 在线&#xff1a;就是将模型部署到类似于服务器上&#xff0c;调用需要通过网络传输数据&…...

【资料分享】全志科技T507-H开发板规格书

1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板,主频高达1.416GHz,由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产…...

2023华数杯数学建模C题思路 - 母亲身心健康对婴儿成长的影响

# 1 赛题 C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一&#xff0c;她不仅为婴儿提供营养物质和身体保护&#xff0c; 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况&#xff0c;如抑郁、焦虑、 压力等&#xff0c;可能会对婴儿的认知、情…...

【Kaggle】Identify Contrails to Reduce Global Warming 比赛数据集的可视化(含源代码)

一、数据简单解读 卫星图像最初来自&#xff1a; https://www.goes-r.gov/spacesegment/abi.html高级基线成像仪是GOES-R系列中用于对地球天气、海洋和环境进行成像的主要仪器。ABI用16个不同的光谱波段观察地球&#xff08;上一代GOES只有<>个&#xff09;&#xff0c…...

Spring(12) BeanFactory 和 ApplicationContext 区别

目录 一、BeanFactory 和 ApplicationContext 区别&#xff1f;二、既然 Spring Boot 中使用的是 ApplicationContext 进行应用程序的启动和管理&#xff0c;那么 Spring Boot 会用到 BeanFactory 吗&#xff1f; 一、BeanFactory 和 ApplicationContext 区别&#xff1f; Bea…...

git的日常使用

加入忽略列表&#xff1a;在.gitignore中加入忽略的文件&#xff0c;build/ 表示build文件夹下&#xff0c;*.jar 表示以jar结尾的&#xff0c;用换行符隔开将另一个分支合并到当前分支&#xff1a;git merge xxx冲突出现&#xff0c;可以看看这里&#xff1a;详解Git合并冲突—…...

【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)

请求参数传json对象&#xff0c;后端采用&#xff08;pojo&#xff09;接收的前提条件&#xff1a; 1.pom.xml文件加入坐标依赖&#xff1a;jackson-databind 2.Spring Boot 的启动类加注解&#xff1a;EnableWebMvc 3.Spring Boot 的Controller接受参数采用&#xff1a;Reque…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...