计算机网络各层的功能以及常用协议
目录
- 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…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
