计算机网络各层的功能以及常用协议
目录
- 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 题目大意:给出一个n个数的排列,可以将任意区间内的所有数头尾翻转,每次操作的费用等于区间长度,要求将其变成一个递增排列,求消耗费用的异或和的最小值和最大值 1<n<1e5 思路:操作…...
C++基础篇(五)内存模型及详细示例
目录 一、内存分区模型二、内存分区代码示例三、new 运算符详解 一、内存分区模型 C程序在运行时,将内存分为四个区域,不同的区域赋予不同的生命周期,以提供强大的灵活编程。 代码区:存储程序的二进制代码,通常是只读…...
基于 JMeter API 开发性能测试平台
目录 背景: 常用的 JMeter 类和功能的解释: JMeter 编写性能测试脚本的大致流程示意图: 源码实现方式: (1) 环境初始化 (2) 环境初始化 (3) 创建测试计划 (4) 创建 ThreadGroup (5) 创建循环控制器 (6) 创建 Sampler (…...
HBase-写流程
写流程顺序正如API编写顺序,首先创建HBase的重量级连接 (1)读取本地缓存中的Meta表信息;(第一次启动客户端为空) (2)向ZK发起读取Meta表所在位置的请求; (…...
[mongo]应用场景及选型
应用场景及选型 MongoDB 数据库定位 OLTP 数据库横向扩展能力,数据量或并发量增加时候架构可以自动扩展灵活模型,适合迭代开发,数据模型多变场景JSON 数据结构,适合微服务/REST API基于功能选择 MongoDB 关系型数据库迁移 从基…...
linux c語言之crc16错误检测的使用
一、是什么? CRC16是循环冗余校验的一种,是一种根据数据产生校验码的方法。它是一种比较常用的校验算法,可以用于错误检测和纠正等方面。CRC16是16位的校验码,可以检测出32位以内的错误。在通信协议、网络传输等领域中,CRC16被广泛应用. 二、使用步骤 1.引入库 代码如…...
搭建本地开发服务器
搭建本地开发服务器 :::warning 注意 在上一个案例的基础上添加本地开发服务器,请保留上个案例的代码。如需要请查看 Webpack 使用。 ::: 搭建本地开发服务器这一个环节是非常有必要的,我们不可能每次修改源代码就重新打包一次。这样的操作是不是太繁琐…...
linux脚本
程序后台运行: nohup java -jar xxx.jar &>hello.log & 后台运行java-jar命令,并且将日志输出到hello.log文件 防火墙: 开启防火墙:systemctl start firewalld 开放指定端口:firewall-cmd --zonepublic --…...
企升编辑器word编写插件
面向用户群体招投标人员,用统一的模板来编写标书,并最终合并标书。项目经理,编写项目开发计划书,项目验收文档等。开发人员,编写项目需求规格说明书、设计说明书、技术总结等文档。其他文档编写工作量较多的岗位人员。…...
怎么在JMeter中的实现关联
我们一直用的phpwind这个系统做为演示系统, 如果没有配置好的同学, 请快速配置之后接着往下看哦. phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理器来完成. 在需要查…...
算法通关村第六关——如何使用中序和后序来恢复一颗二叉树
1 树的基础知识 1.1 树的定义 树(Tree):表现得是一种层次关系,为 n ( n ≥ 0 ) n(n≥0) n(n≥0)个节点构成的有限集合,当n0时,称为空树,对于任一…...
leetcode算法题--判断是否能拆分数组
原题链接:https://leetcode.cn/problems/check-if-it-is-possible-to-split-array/ 一开始思路想错了。。导致浪费很多时间 其实只要能找到存在一个子数组,子数组长度为2,这个子数组符合条件就一定能拆分。。 func canSplitArray(nums []i…...
基于Flask的模型部署
基于Flask的模型部署 一、背景 Flask:一个使用Python编写的轻量级Web应用程序框架; 首先需要明确模型部署的两种方式:在线和离线; 在线:就是将模型部署到类似于服务器上,调用需要通过网络传输数据&…...
【资料分享】全志科技T507-H开发板规格书
1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板,主频高达1.416GHz,由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产…...
2023华数杯数学建模C题思路 - 母亲身心健康对婴儿成长的影响
# 1 赛题 C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情…...
【Kaggle】Identify Contrails to Reduce Global Warming 比赛数据集的可视化(含源代码)
一、数据简单解读 卫星图像最初来自: https://www.goes-r.gov/spacesegment/abi.html高级基线成像仪是GOES-R系列中用于对地球天气、海洋和环境进行成像的主要仪器。ABI用16个不同的光谱波段观察地球(上一代GOES只有<>个),…...
Spring(12) BeanFactory 和 ApplicationContext 区别
目录 一、BeanFactory 和 ApplicationContext 区别?二、既然 Spring Boot 中使用的是 ApplicationContext 进行应用程序的启动和管理,那么 Spring Boot 会用到 BeanFactory 吗? 一、BeanFactory 和 ApplicationContext 区别? Bea…...
git的日常使用
加入忽略列表:在.gitignore中加入忽略的文件,build/ 表示build文件夹下,*.jar 表示以jar结尾的,用换行符隔开将另一个分支合并到当前分支:git merge xxx冲突出现,可以看看这里:详解Git合并冲突—…...
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)
请求参数传json对象,后端采用(pojo)接收的前提条件: 1.pom.xml文件加入坐标依赖:jackson-databind 2.Spring Boot 的启动类加注解:EnableWebMvc 3.Spring Boot 的Controller接受参数采用:Reque…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
