计算机网络-七层协议栈介绍

之前介绍了网络世界的构成,从宏观角度介绍了网络设备和网络架构,链接: link,但是这种认识过于粗糙,过于肤浅。网络本质上是用于主机之间的通信,是端对端的连接通信,两台计算机可能距离很远,主机之间传输数据效率需要得到提升,还要传输数据的可靠性(即保证对端主机能够接受到数据,并且得到对端主机的回应),这个时候就需要介绍今天的主题,七层网络协议栈。

目录

  • 协议概念:
  • 为什么要有七层协议栈:
  • 协议栈体系
  • 1. 物理层 (Physical Layer)
  • 2. 数据链路层 (Data Link Layer)
  • 3. 网络层 (Network Layer)
  • 4. 传输层 (Transport Layer)
  • 5. 会话层 (Session Layer)
  • 6. 表示层 (Presentation Layer)
  • 7. 应用层 (Application Layer)

协议概念:

网络的作用是使多台计算机之间完成数据传输,计算机中的数据都是二进制0和1,而不同设备之间表示0和1的方式不同,有的是通过信号的有无、信号的波峰波谷、电的正负极等。两台计算机进行通信的时候必须约定好双方传播数据的方式,这就叫做协议。

为什么要有七层协议栈:

多台计算机通信的时候,因为它们之间的距离变长,所以需要网络进行传输数据,距离变长了传输数据就会产生一系列问题,例如:

  1. 长距离传输,数据异常或丢失的问题
  2. 多台计算机之间,怎么准确的定位主机的问题
  3. 怎么进行路径选择
  4. 硬件级别的网络协议

有如此多的问题,就会有对应的解决方案。

把相关的问题放在一起解决,做出解决方案叫做高内聚。

上面这些问题,其实是有先后顺序的,例如解决了定位的问题才能考虑传输以及选择路径的问题,是可以分成若干个模块进行解决,所以网络协议就被设计成了层状结构,层和层之间低耦合。

这就是为什么协议分层的原因。

协议栈体系

OSI七层模型就是网络的协议栈,是网络通信的标准体系,总共被分为七层

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

协议栈是这样定义的,但是实现起来应用层、表示层、会话层统称为应用层。所以实现的是5层。当A主机向B主机发送消息时,数据首先会被应用层协议封装(HTTP),然后交付传输层(TCP或者UDP)封装,一直交付到物理层封装,每一层封装之后,都会有对应层的协议的数据头和数据体,数据头描述了数据的传输信息和数据体的信息,应用层只认识应用层的报文和报头,传输层只认识传输层的报文和报头,其他层也一样。

当数据到达B主机之后,物理层接收到数据,解析主机A物理层封装的物理层协议,之后向链路层交付,链路层解析链路层的协议,解析完之后交付给网络层,层层向上交付,一直交付到应用层,最后把数据显示给用户

在这里插入图片描述

计算机网络七层协议栈,也称为OSI模型(Open Systems Interconnection Model),是一个分层的网络设计模型,用于标准化网络通信。每一层都有特定的功能和协议。以下是对每一层作用的介绍:

1. 物理层 (Physical Layer)

  • 功能:负责实际的物理连接,包括电缆、网卡、集线器等硬件设备,定义物理设备的标准、电压、电缆规范、信号传输速率等。
  • 协议和标准:例如,Ethernet(以太网)、USB(通用串行总线)、光纤等。

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

  • 功能:负责节点间的数据传输,提供错误检测和纠正,确保数据在物理层上传输时的可靠性。数据链路层将数据分组成帧(Frames)。
  • 子层:逻辑链路控制(LLC)和介质访问控制(MAC)。
  • 协议和标准:如Ethernet(以太网)、PPP(点对点协议)、HDLC(高级数据链路控制)、802.11(Wi-Fi)等。

3. 网络层 (Network Layer)

  • 功能:负责数据在网络中的路由选择和传输,决定数据包的最佳传输路径,处理数据的逻辑地址(如IP地址)。
  • 协议和标准:如IP(互联网协议)、ICMP(互联网控制报文协议)、IGMP(互联网组管理协议)、IPsec(互联网协议安全)等。

4. 传输层 (Transport Layer)

  • 功能:提供端到端的传输服务,负责数据的分段和重组,保证数据的完整性和顺序。主要功能包括流量控制、错误检测和恢复。
  • 协议和标准:如TCP(传输控制协议)、UDP(用户数据报协议)。

5. 会话层 (Session Layer)

  • 功能:管理和控制应用程序之间的会话,建立、维护和终止会话,提供同步和对话控制。
  • 协议和标准:如NetBIOS、RPC(远程过程调用)。

6. 表示层 (Presentation Layer)

  • 功能:负责数据的表示、加密和压缩,确保数据能被应用层正确理解和使用。它处理数据格式转换、加密/解密、压缩/解压缩等。
  • 协议和标准:如TLS(传输层安全)、SSL(安全套接层)、JPEG、GIF、MPEG。

7. 应用层 (Application Layer)

  • 功能:为用户和应用程序提供网络服务,直接与用户交互。应用层协议提供各种网络服务,如文件传输、电子邮件、远程登录等。
  • 协议和标准:如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)、Telnet、SNMP(简单网络管理协议)。

每一层都依赖于下一层提供的服务,并为上一层提供服务,这种分层结构使得协议的设计和实现更加模块化和灵活。

先简单介绍一下七层协议栈,有一个概念性的了解,后续会补充各层协议的具体细节。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

IOday3

一、思维导图 二、模拟面试 结构体中一个char,一个int 结构体占字节长度是多少?描述一下结构体字节对齐规则?怎样改成两字节对其? 答: 8字节; 结构体中每个变量自己先要符合字节对齐原则…

MVC三层框架

什么是MVC : Model模型 view视图 Controller控制器 早先架构: 用户直接访问控制层,控制层就可以直接操作数据库 弊端:程序十分臃肿,不利于维护 servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理…

【从0制作自己的ros导航小车:上位机篇】04、使用gmapping建图

从0制作自己的ros导航小车 前言一、激光雷达数据发布二、激光雷达数据、小车模型、里程计数据同时显示三、键盘控制小车运动四、使用gmapping建图五、地图保存 系列文章: ①【从0制作自己的ros导航小车:介绍及准备】 ②【从0制作自己的ros导航小车&#…

Spring Boot实战权威指南 JavaEE开发的颠覆者(电子版教程)

前言 虽然 Spring Boot 给我们带来了类似于脚本语言开发的效率,但 Spring Boot 里没有使用任何让你意外的技术,完全是一个单纯的基于Spring的应用。如 Spring.Boot 的自动配置是通过Spring 4.x 的Conditional 注解来实现的,所以在学习 Sprin…

(40)温度传感器

文章目录 前言 1 设置 2 记录 3 参数说明 前言 ArduPilot 已经有许多可能的温度报告来源:电调,智能电池,电机 EFI,这些独立的传感器可以用来取代 ArduPilot 中已经存在的那些设备温度报告。它们也可以只是被记录下来。 ArduP…

Eclipse 主网向开发者开放

摘要:Eclipse 基金会宣布,Eclipse 主网已经向开发者开放。在接下来几周的时间里,Eclipse 将邀请开发者在主网上部署项目,并参加黑客马拉松活动——“Total Eclipse Challenge”。 Eclipse 是首个基于以太坊的 SVM Layer2 方案&am…

Java7.0标准之重要特性及用法实例(十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…

关于cacti监控-如何理解cacti统计图表的数据-cacti流量图怎么看及linux下svn常用管理命令及svn忽略文件目录-设置vimdiff来比较差异

一、关于cacti监控-如何理解cacti统计图表的数据-cacti流量图怎么看 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据&…

React 学习——useEffect 清除副作用

清除副作用的函数 最常见的执行时机是在组件卸载时自动执行 import { useEffect, useState } from "react"function Son(){useEffect(()>{const timer setInterval(()>{console.log(定时器);},1000); // 清除副作用return () > {clearInterval(timer)} …

计算机网络—电路、分组、报文交换—图文详解

计算机网络—电路、分组、报文交换 计算机网络中的数据传输方式可以根据数据的处理方式和网络资源的使用方式分为电路交换、分组交换和报文交换三种类型。 这些方式在网络设计和数据传输过程中起到了不同的作用和效果。 1. 电路交换(Circuit Switching&#xff0…

公布一批脸书爬虫(facebook)IP地址,真实采集数据

一、数据来源: 1、这批脸书爬虫(facebook)IP来源于尚贤达猎头公司网站采集数据; ​ 2、数据采集时间段:2023年10月-2024年7月; 3、判断标准:主要根据用户代理是否包含“facebook”和IP核实。…

CTF学习笔记汇总(非常详细)零基础入门到精通,收藏这一篇就够了

CTF学习笔记汇总 Part.01 Web 01 SSRF 主要攻击方式如下: 01 对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息。 02 攻击运行在内网或本地的应用程序。 03 对内网Web应用进行指纹识别,识别企业内部的资产信息。 …

React案例知识点解读 【ES6】新特性用法

前面有写过一篇React的实战小案例 React项目 实战案例 实用推荐收藏-CSDN博客,有同学对里面的部分知识点有疑问,在这里专门出一片实战部分知识点解读,以方便更好的理解。 欢迎参考以及交流,谢谢。 目录 1.const 关键字 2.箭头…

实战内测-某内测项目站点FUZZ到Sql注入

0x1 前言 下面给师傅们分享的案例呢是前段时间实战的一个站点,也是我朋友前段时间让我测的一个站点。整体的测试流程也还算ok,然后里面有些细节要是对师傅们有帮助可以收藏下,后面主要是利用FUZZ打了一个sql注入漏洞上去。 0x2 fuzz和sql结…

嵌入式学习Day17---Linux软件变编程

目录 ​编辑 一、Linux 系统 1.1.Linux服务器 1.2.Linux嵌入式 1.3.Linux系统上的软件开发 1.操作系统 2.Linux内核 3.man手册 1.4.shell命令 1.基本命令 2.文件查看命令 3.文件查找命令 4.压缩解压文件 5.其他命令 6.通配符 7.管道 8.重定向 1.5.虚拟机上网 1.NAT模式 …

【中项】系统集成项目管理工程师-第9章 项目管理概论-9.1PMBOK的发展与9.2项目基本要素

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

旷野之间30 - 创业者如何更好的获取VC

让我们来谈谈初创公司创始人如何获得资金——以及他们为什么没有获得资金。 很多初次创业的企业家都向我咨询如何帮助他们的公司获得资金。现在,我不再做这些了,但我确实认识很多风险投资 (VC) 和天使投资者,所以我问了他们中的很多人&#…

JavaWeb开发——Eclipse安装配置教程

一、安装 1.Eclipse官方下载网站:https://www.eclipse.org/downloads/packages/ 2.点击Eclipse IDE for Enterprise Java and Web Developers进行安装 3.按需求选择操作系统的版本 4.点击DownLoad 5.打开文件并解压 6.打开文件 7.打开程序 8.配置安装 出现以…

基于站点的中国6小时PM2.5数据集(1960-2020)

基于站点的中国6小时PM2.5数据集(1960-2020) 数据介绍 几十年来,PM2.5改变了地球上的辐射平衡,增加了环境和健康风险,但直到2013年才在中国得到广泛监测。历史长期 PM2.5具有高时间分辨率的记录是必不可少的&#xff0…

《代码大全》读书笔记-第5章 软件构建的设计

有人会说,设计不是真正的构建活动。但在小项目中,包括设计在内的许多活动都被认为是构建。有些设计更关注系统级问题,许多设计工作留给构建。有些大型项目设计非常详细,导致编码成为一项机械性劳动。小型项目的设计更多的是程序员…