网络分层与各层网络协议介绍

一.OSI七层模型

   1.OSI(Open Systems Interconnection)七层模型是由国际标准化组织(ISO)提出的一种网络通信协议的参考模型,用于标准化网络通信的过程。

OSI模型将网络通信分为七个层次,每个层次负责不同的通信功能。

2.以下是OSI七层模型的简单介绍:

物理层(Physical Layer) - 最底层,负责原始比特流的传输,定义了电缆、连接器和信号的物理特性。

数据链路层(Data Link Layer) - 负责在相邻节点之间可靠地传输数据,通过帧来封装数据,并处理错误检测和流量控制。

网络层(Network Layer) - 负责数据包的路由和转发,确保数据能够在网络中的设备之间传输。

传输层(Transport Layer) - 提供端到端的通信服务,确保数据可靠、顺序地传输,并处理流量控制和拥塞控制。

会话层(Session Layer) - 负责建立、管理和终止会话,即通信连接。

表示层(Presentation Layer) - 负责数据的表示、安全和压缩,确保一个系统应用层发送的数据能够被另一个系统的应用层理解。

应用层(Application Layer) - 最高层,直接为用户提供服务,如电子邮件、文件传输、Web浏览等。

3.OSI模型是一个理论上的框架,它帮助我们理解和设计网络通信协议。

在实际应用中,TCP/IP模型更为流行,它将网络通信分为四个层次:链路层、网络层、传输层和应用层。

二.TCP/IP模型

   TCP/IP模型将网络通信分为四个层次,每个层次负责不同的通信功能。以下是TCP/IP模型的网络分层介绍:

1. **链路层(Link Layer)** - 对应于OSI模型的物理层和数据链路层。链路层负责在直接相连的网络节点之间传输数据,包括物理介质的管理和数据帧的封装。

2. **网络层(Internet Layer)** - 对应于OSI模型的网络层。网络层负责数据包的路由和转发,确保数据能够在网络中的设备之间传输。IP协议是网络层最核心的协议。

3. **传输层(Transport Layer)** - 对应于OSI模型的传输层。传输层提供端到端的通信服务,确保数据可靠、顺序地传输,并处理流量控制和拥塞控制。TCP和UDP是传输层最常见的协议。

4. **应用层(Application Layer)** - 对应于OSI模型的应用层、表示层和会话层。应用层直接为用户提供服务,如电子邮件、文件传输、Web浏览等。HTTP、FTP、SMTP等协议都属于应用层。

TCP/IP模型比OSI模型更为简洁,它更贴近实际的网络通信过程,因此在实际应用中更为流行。TCP/IP模型的设计目标是实现不同网络之间的互联,因此它强调了网络层的路由和转发功能,以及传输层的端到端通信服务。

三.链路层协议

也称为数据链路层协议,是OSI模型的第二层协议,它们负责在直接相连的网络节点之间传输数据。以下是一些常见的链路层协议:

1. **以太网(Ethernet)** - 最常见的局域网(LAN)技术,用于在网络设备之间传输数据。以太网协议包括多种标准,如IEEE 802.3。

2. **Wi-Fi(无线 fidelity)** - 一种无线局域网技术,允许电子设备连接到无线网络。Wi-Fi协议包括IEEE 802.11a、802.11b、802.11g和802.11n等。

3. **PPP(点对点协议)** - 用于在点对点连接上传输多协议数据包的协议,常用于拨号网络连接。

4. **MAC(媒体访问控制)** - 负责控制网络设备如何访问传输媒体,并使用MAC地址来唯一标识网络中的设备。

5. **L2TP(第二层隧道协议)** - 一种用于在IP网络上创建虚拟专用网络(VPN)的隧道协议。

6. **VLAN(虚拟局域网)** - 一种将网络分割成多个逻辑分段的技术,以提高网络的安全性和性能。

7. **PPPoE(PPP over Ethernet)** - 一种将PPP会话封装在以太网帧中的协议,常用于宽带接入。

8. **LLC(逻辑链路控制)** - 提供数据链路层服务的一部分,用于IEEE 802 LAN协议族中。

9. **HDLC(高级数据链路控制)** - 一种用于同步数据传输的比特导向协议,常用于广域网(WAN)连接。

10. **帧中继(Frame Relay)** - 一种用于在本地和广域网络中传输数据的协议,常用于企业网络和广域网连接。

11. **STP(生成树协议)** - 用于防止网络中出现环路的协议,确保网络的稳定性和可靠性。

12. **MSTP(多生成树协议)** - STP的扩展,允许多个生成树同时存在,以提高网络的效率和性能。

四.网络层协议

   是OSI模型的第三层协议,它们负责数据包的路由和转发,确保数据能够在网络中的设备之间传输。以下是一些常见的网络层协议:

1. **IP(Internet Protocol)** - 最基础的网络层协议,用于在网络中的设备之间传输数据包。IP协议有两个版本:IPv4和IPv6。

2. **ICMP(Internet Control Message Protocol)** - 用于发送错误消息和操作信息的数据包协议,如ping和traceroute命令所使用的协议。

3. **IGMP(Internet Group Management Protocol)** - 用于管理IPv4网络中的多播组成员资格的协议。

4. **ARP(Address Resolution Protocol)** - 用于将网络层地址(如IPv4地址)解析为数据链路层地址(如MAC地址)的协议。

///

5. **RARP(Reverse Address Resolution Protocol)** - 用于通过物理地址获取IP地址的协议,现在已经很少使用。

6. **OSPF(Open Shortest Path First)** - 一种内部网关协议(IGP),用于在单个自治系统内进行路由选择。

7. **BGP(Border Gateway Protocol)** - 一种路径向量协议,用于不同自治系统之间的路由选择。

8. **RIP(Routing Information Protocol)** - 一种距离向量路由协议,用于在网关和主机之间交换路由选择信息。

9. **EIGRP(Enhanced Interior Gateway Routing Protocol)** - 一种由Cisco开发的IGP,用于在单个自治系统内进行路由选择。

10. **IS-IS(Intermediate System to Intermediate System)** - 一种链路状态路由协议,用于在单个自治系统内进行路由选择。

11. **LDP(Label Distribution Protocol)** - 用于MPLS(Multiprotocol Label Switching)网络中分发标签的协议。

12. **RSVP(Resource Reservation Protocol)** - 用于在网络中为数据流预留资源的协议。

13. **PIM(Protocol Independent Multicast)** - 一种用于多播路由的协议。

五.传输层协议

是OSI模型的第四层协议,它们负责在网络中的端点之间提供可靠的数据传输服务。以下是一些常见的传输层协议:

1. **TCP(Transmission Control Protocol)** - 一种面向连接的、可靠的、基于字节流的传输层协议。TCP提供了可靠的数据传输、流量控制、拥塞控制和错误检测等功能。

2. **UDP(User Datagram Protocol)** - 一种无连接的、不可靠的传输层协议。UDP提供了简单的、无序的数据报传输服务,适用于那些不需要可靠传输或可以容忍数据丢失的应用程序。

///

3. **SCTP(Stream Control Transmission Protocol)** - 一种面向消息的、可靠的传输层协议,设计用于支持信号传输和多媒体通信。SCTP提供了多流和多回家功能,可以更好地处理网络中的故障。

4. **DCCP(Datagram Congestion Control Protocol)** - 一种无连接的、面向消息的传输层协议,它提供了拥塞控制但不像TCP那样提供可靠性。DCCP适用于那些需要拥塞控制但不需要可靠传输的应用程序。

5. **RLP(Reliable Data Protocol)** - 一种可靠的数据传输协议,用于在不可靠的网络环境中提供可靠的数据传输服务。

6. **SPX(Sequenced Packet Exchange)** - 一种由Novell开发的传输层协议,用于NetWare网络中的数据传输。

7. **IL(Internetwork Layer)** - 在某些网络模型中,传输层也被称为互联网层,它提供了网络层和传输层之间的接口。

四.常见网络应用层协议

1. HTTP (Hypertext Transfer Protocol)** - 用于Web浏览器和服务器之间传输超文本文档的协议,是互联网上最常用的协议之一。

2. HTTPS (HTTP Secure)** - HTTP协议的安全版本,通过SSL/TLS加密来保护数据传输,是处理敏感信息(如在线交易)时的标准协议。

3. FTP (File Transfer Protocol)** - 用于在网络上的计算机之间传输文件的协议,虽然不如以前流行,但仍然广泛用于文件传输。

4. SFTP (SSH File Transfer Protocol)** - 通过SSH加密的FTP协议,提供安全的文件传输。

5. DNS (Domain Name System)** - 用于将域名解析为IP地址的协议,是互联网上最重要的服务之一。

6. DHCP (Dynamic Host Configuration Protocol)** - 用于自动分配IP地址的协议,简化了网络设备的配置。

7. SSH (Secure Shell)** - 提供安全的远程登录和命令行界面访问的协议,广泛用于系统管理。

8. NTP (Network Time Protocol)** - 用于同步网络中计算机时间的协议。

9. Telnet -用于远程登录和命令行界面访问的协议,但传输的数据不加密,因此安全性较低。

10. MQTT (Message Queuing Telemetry Transport)** - 用于物联网(IoT)中的轻量级消息传输协议。

11. CoAP (Constrained Application Protocol)** - 用于物联网(IoT)中的轻量级通信协议。

12. XMPP (Extensible Messaging and Presence Protocol)** - 用于即时消息和在线状态管理的协议。

13. AMQP (Advanced Message Queuing Protocol)-用于消息中间件中的消息传输协议。

14. WebSocket** - 用于在Web浏览器和服务器之间进行全双工通信的协议,支持实时通信。

15. VPN (Virtual Private Network)** - 用于创建加密的网络隧道的协议,如IPsec、L2TP、PPTP等,提供安全的远程访问。

16. SNMP (Simple Network Management Protocol)** - 用于网络管理和监控的协议。

17. LDAP (Lightweight Directory Access Protocol)** - 用于访问目录服务中的信息的协议,常用于用户身份验证和目录服务。

18. RDP (Remote Desktop Protocol)** - 用于远程桌面连接的协议,允许用户远程控制其他计算机。

19. OAuth** - 用于授权第三方应用程序访问用户数据的协议,广泛用于社交媒体和云服务。

20. OpenID Connect** - 用于身份验证的协议,基于OAuth 2.0,简化了用户登录过程。

21. RTSP (Real Time Streaming Protocol)** - 用于流媒体播放控制的协议。

22. SIP (Session Initiation Protocol)** - 用于控制多媒体通信会话的协议,如语音和视频通话。

23. SIPS (SIP over TLS)** - 通过TLS加密的SIP协议,提供安全的通信会话控制。

24. H.323** - 用于视频会议和VoIP通信的协议。

25. SMTP (Simple Mail Transfer Protocol)** - 用于发送电子邮件的协议,是电子邮件传输的基础。

26. POP3 (Post Office Protocol 3)** - 用于接收电子邮件的协议,允许用户下载邮件到本地计算机。

27.IMAP (Internet Message Access Protocol)** - 用于接收电子邮件的协议,允许用户在服务器上管理邮件,而不必将邮件下载到本地计算机。

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

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

相关文章

Java集合-List(Collection子接口)及其子类(ArrayList、Vector、LinkedList)

List接口是 Collection接口的子接口。 1、List集合类中数据有序, 即添加顺序和取出顺序有序,而且可以重复。 2、List集合类中每个元素都有其对应的顺序索引,即支持索引。例,list.get(2);取第三个元素。 3、实现类有很多…

cocosCreator2.x滑动组件全面版一体化(虚拟列表+分页列表+普通列表改良版)

/******************************************* author kL <klk0qq.com>* date 2019/6/6* doc 列表组件.* end******************************************/ /* eslint-disable */ const { ccclass, property, disallowMultiple, menu, executionOrder, requireComponent…

家政预约小程序10公众号集成

目录 1 使用测试号3 工作流配置4 配置关注事件脚本5 注册开放平台6 获取公众号access_token6 实现关注业务逻辑总结 我们本次实战项目构建的相当于一个预约平台&#xff0c;既有家政企业&#xff0c;也有家政服务人员还有用户。不同的人员需要收到不同的消息&#xff0c;比如用…

99.网络游戏逆向分析与漏洞攻防-ui界面的设计-角色信息显示的界面与功能

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

机器人学导论P115求雅可比矩阵python实现

代码如下&#xff1a; import numpy as np import matplotlib.pyplot as plt import seaborn as sns import plotly.express as px import plotly.graph_objects as go from plotly.subplots import make_subplots from numpy import sin from numpy import cos plt.rcParams[…

【考试100】安全员B证《建设工程安全生产技术》单选题

​ 题库来源&#xff1a;考试100 【考试100】安全员B证《建设工程安全生产技术》单选题 1&#xff0e;在悬空部位作业时&#xff0c;操作人员应&#xff08; &#xff09; A.遵守操作规定 B.进行安全技术交底 C.戴好安全帽 D.系好安全带 【考试100答案】&#xff1a;D…

【R基础】如何开始学习R-从下载R及Rstudio开始

文章目录 概要下载R流程下载Rstudio流程下载完成-打开 概要 提示&#xff1a;如何开始学习R-从下载R及Rstudio开始&#xff0c;此处我只是想下载指定版本R4.3.3 下载R流程 链接: R官网 文件下载到本地 下载文件展示 按照向导指示安装 下载Rstudio流程 链接: Rstudio官网…

新人硬件工程师,工作中遇到的问题list

新人硬件工程师能够通过面试&#xff0c;已经证明是能够胜任硬件工程师职责&#xff0c;当然胜任的时间会延迟&#xff0c;而不是当下&#xff0c;为什么呢&#xff1f;因为学校学习和公司做产品&#xff0c;两者之间有差异&#xff0c;会需要适应期。今天来看看新人硬件工程师…

低代码与人工智能的深度融合:行业应用的广泛前景

引言 在当今快速变化的数字化时代&#xff0c;企业面临着越来越多的挑战和机遇。低代码平台和人工智能技术的兴起&#xff0c;为企业提供了新的解决方案&#xff0c;加速了应用开发和智能化转型的步伐。 低代码平台的基本概念及发展背景 低代码平台是一种软件开发方法&#x…

生产计划排产,制定每小时计划产量(“查表法”SQL计算)

根据日生产计划产量排产&#xff0c;制定每2小时理论计划生产产量。 每2小时计划产量 每2小时工作时间&#xff08;秒&#xff09;/生产计划节拍&#xff08;秒&#xff09;。 假设&#xff0c;生产计划节拍 &#xff1a; 25.0(秒)/台 工厂以每天8点00分钟作为当日工作日的…

解决MYSQL5.7版本only_full_group_by报错解决方法

问题 出现this is incompatible with sql_modeonly_full_group_by这个语句就说明启动了only_full_group_by规则了 介绍only_full_group_by规则&#xff1a; 这种情况可能是5.7版本的规则比较严格&#xff0c;当启用“only_full_group_by”模式时&#xff0c;MySQL会对执行GROU…

SpringBoot中MyBatisPlus的使用

MyBatis Plus 是 MyBatis 的增强工具&#xff0c;提供了许多强大的功能&#xff0c;简化了 MyBatis 的使用。下面是在 Spring Boot 中使用 MyBatis Plus 的步骤&#xff1a; 添加依赖&#xff1a;在 Maven 或 Gradle 的配置文件中添加 MyBatis Plus 的依赖。 配置数据源&#…

Day10:平面转换、渐变色

目标&#xff1a;使用位移、缩放、旋转、渐变效果丰富网页元素的呈现方式。 一、平面转换 1、简介 作用&#xff1a;为元素添加动态效果&#xff0c;一般与过渡配合使用。 概念&#xff1a;改变盒子在平面内的形态&#xff08;位移、旋转、缩放、倾斜&#xff09;。 平面转换…

Tale全局函数对象base

目录 1、 Tale全局函数对象base 1.1、 * tale alert删除 1.2、 * 成功弹框 1.3、 * 弹出成功,并在500毫秒后刷新页面 1.4、 * 警告弹框 1.5、 * 询问确认弹框,这里会传入then函数进来

【前端Vue】——课堂笔记(二)

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

小米投屏怎么投?收好这3个投屏指南!(2024新)

近年来&#xff0c;小米凭借过硬的品质和合理的价格成为手机市场的一股强劲力量。随着其销量的上升&#xff0c;人们可以通过多种方式使用它来获得乐趣和便利。比如小米MIUI 11自带一个“光环”——Miracast&#xff0c;可以让用户在电脑上控制小米/红米/小米&#xff0c;获得更…

The book

Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD is the book that forms the basis for this course. We recommend reading the book as you complete the course. There’s a few ways to read the book – you can buy it as a paper bo…

flask流式接口

一、接口封装 from flask import Flask, request, Response, stream_with_context app Flask(__name__) app.logger.disabled Truedef chat_stream_(prompt):for new_text in [1,2,3]:yield new_textapp.route(/chat_stream, methods[POST]) def chat_stream():prompt requ…

CameraProvider启动流程

从Android 8.0之后&#xff0c;Android 引入Treble机制&#xff0c;主要是为了解决目前Android 版本之间升级麻烦的问题&#xff0c;将OEM适配的部分vendor与google 对android 大框架升级的部分system部分做了分离&#xff0c;一旦适配了一个版本的vendor信息之后&#xff0c;之…

【excel】设置可变下拉菜单(一级联动下拉菜单)

文章目录 【需求】制作动态下拉菜单&#xff0c;显示无重复的“班级”列表【思路】设置辅助列&#xff0c;使用UNIQUE()函数去重&#xff0c;并用FILTER()去掉结果中的“0”【步骤】step1 辅助列step2 设置下拉菜单 【总结】 【需求】制作动态下拉菜单&#xff0c;显示无重复的…