笔记:计算机网络体系结构(OSI七层模型、TCP/IP五层协议)

news2024/12/23 15:01:07

计算机网络体系结构

计算机网络是一个复杂的、具有综合性技术的系统,它由计算机系统、通信处理机、通信线路和通信设备、操作系统以及网络协议等组成。为了更好地描述计算机网络结构,使计算机网络系统有条不紊地处理工作,需要定义一种较好的网络体系结构。分层结构就是一种较好地描述网络体系结构的方法。

计算机网络体系结构可以从网络体系结构、网络组织和网络配置三个方面来描述。
● 网络体系结构是从功能上来描述计算机网络。
● 网络组织是从网络的物理结构和网络的实现两方面来描述计算机网络。
● 网络配置是从网络应用方面来描述计算机网络的布局、软硬件和通信线路配置等。

计算机网络体系结构层次划分原则

● 每层功能相对独立。
● 相邻层功能具有一定的依赖关系。
● 对每层要完成的服务及实现过程进行明确规定。
● 对网络中处于不同地区的系统进行相同的层次结构划分。
● 不同系统的同等层具有相同功能(服务)。
● 高层使用低层提供的服务时,不需知道低层服务的具体实现方法。

计算机网络划分层次结构主要优点

● 各层相对独立。层次结构中每一层相对独立,一个层次只需要通过接口使用其下层提供的服务来完成本层功能,并对上一层提供服务。它只需知道下层能够提供哪些服务,而不需知道下层是如何实现这些功能的。
● 简化体系结构设计难度。由于各层相对独立实现某种功能,从而将一个庞大、复杂的大型问题拆解处理,简化问题难度。
● 网络体系的灵活性更好。因为网络结构层次间相对独立,因此,当某一层功能发生变更时,只要上下接口不发生变化,即向上层提供的服务和向下层要求的服务不变,则在更改层之上或之下的层次都不会受到影响。层次间的灵活性保证了每层可以根据自己的需求进行不断改进,而不影响其他层次的设计。
● 结构易于实现和维护。分层结构使得一个庞大系统的实现变得容易,因为整个系统的大问题转化成了若干易于处理的小问题了。

OSI七层模型

  • 应用层

应用层是OSI参考模型的最高层,它是服务于用户,是唯一直接为用户应用进程访问OSI环境提供手段和服务的层次,应用层以下各层通过应用层间接地向应用进程提供服务。因此,应用层向应用进程提供的服务是所有层提供服务的总和。应用层需要识别并保证通信双方的可用性,保证应用程序之间的同步,建立传输错误纠正机制和保证数据完整性控制机制。应用层包含了用户通常需要的各种协议。

  • 表示层

表示层的任务是处理两个通信系统之间交换信息的表示方式。表示层关注的是信息的语法和语义。不同的数据结构必须以相同的一种抽象方式来定义,以实现这些计算机之间的通信。表示层正是用来定义和管理这些抽象的数据结构,主要包括数据格式变换、数据加密和解密、数据压缩与恢复等功能。目前,表示层也没有具体的协议。

  • 会话层

会话层的任务是负责维护两个节点之间会话的建立、管理和终止。会话层允许不同机器上建立用户会话。会话可以提供各种服务,包括对话控制、令牌管理以及同步功能。目前,会话层没有具体的协议。

  • 传输层

传输层的任务是向用户提供一种端到端的服务。传输层是通信体系中关键的一层,因为它实现了向高层屏蔽下层数据通信的全部细节。传输层接收上一层传来的数据,将数据分割成较小的单元,将这些数据单元传送给网络层。传输层自始至终将数据从源端带到目的端。也就是说,源端在传输层利用报文首部和控制信息与目的端的类似程序进行会话,其下面各层通过协议与同等层级进行通信,其通信过程涉及多少路由,传输层并不需知道,也不涉及源端与目的端。

  • 网络层

网络层的任务是通过路由算法为分组选择最适合子网通信的路径,实现网络互连和拥塞控制。路由可以建立在静态表的基础上,也可以采用一种自动更新的方式,以此避免网络中出现的故障组件。路由可以处于高度动态中,这样针对每一个数据报都重新确定路径,反映当前网络的负载情况。网络层的传输单元是分组。

  • 数据链路层

数据链路层的任务是在物理层提供的服务基础上,为实体间的通信建立真正的数据链路连接。发送方将数据拆分成数据帧,顺序地发送这些数据帧。接收方正确接收到发送过来的数据帧之后,向发送方发送一个确认帧,作为回复消息。数据链路层的传输单元为帧,并采用差错控制与流量控制方法,确保数据线路的无差错传输。

  • 物理层

物理层的任务是在一条物理通信线路上传输原始比特。发送方发送1(或0)时,接收方应当接收到1(或0),而不是0(或1)。因此物理层需要考虑的是使用多大的电压来代表1或0,以及接收方采用何种方式来识别发送方的比特数据,从而实现比特流的透明传输,为数据链路层提供数据传输服务。物理层的传输单元为比特。

OSI七层模型与TCP/IP五层协议关系图

在这里插入图片描述

TCP/IP五层协议

  • 应用层(application layer)
    应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程(process)就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,等等。我们将应用层交互的数据单元称为报文(message)。

  • 运输层(transport layer)
    运输层的任务就是负责向两个主机中进程之间的通信提供通用的数据传输服务。

运输层主要使用以下两种协议

● 传输控制协议TCP (Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
● 用户数据报协议 UDP (User Datagram Protocol)——提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

  • 网络层(network layer)
    网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包(packet)进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫作 IP数据报,或简称为数据报(datagram)。

  • 数据链路层(data link layer)
    数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。

  • 物理层(physical layer)
    在物理层上所传数据的单位是比特。发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各条引脚应如何连接。当然,解释比特代表的意思,就不是物理层的任务。
    请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理媒体当作第0层。

数据在各层之间的传递过程

在这里插入图片描述
假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H5就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H4,再交给第3层(网络层),成为第3层的数据单元。依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H2)和尾部(T2);而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。

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

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

相关文章

2023.04.30 学习周报

文章目录 摘要文献阅读1.题目2.摘要3.介绍4.本文贡献5.数据处理6.模型6.1 look - up操作6.2 LSTM6.3 周期模拟及额外因素 7.实验7.1 数据集7.2 基线7.3 实验表现 8.结论 ISOMAP1.基本思想2.欧氏距离3.折线近似曲线4.计算折线长度5.Floyd-Warshall算法6.ISOMAP算法7.总结 数学建…

Educoder/头歌JAVA——Java Web:基于JSP的网上商城

目录 一、商品列表 本关任务 具体要求 结果输出 实现代码 二、商品详情 本关任务 JDBC查询方法封装 商品相关信息介绍 具体要求 结果输出 实现代码 三、商品搜索 编程要求 测试说明 实现代码 四、购物车列表 本关任务 JDBC查询方法封装 购物车相关信息介绍…

IPsec中IKE与ISAKMP过程分析(主模式-消息4)

IPsec中IKE与ISAKMP过程分析(主模式-消息1)_搞搞搞高傲的博客-CSDN博客 IPsec中IKE与ISAKMP过程分析(主模式-消息2)_搞搞搞高傲的博客-CSDN博客 IPsec中IKE与ISAKMP过程分析(主模式-消息3)_搞搞搞高傲的博客…

Jenkins+Docker+gitee 持续部署spring boot 应用教程

目录 参考安装jenkinsci拉取镜像创建目录安装maven启动镜像配置输入密码安装推荐的插件 创建用户密码配置环境变量安装gitee和dingtalk插件创建SpringBoot并创建Dockfile配置gitee的webhook配置构建shell脚本配置监听gitee webhook触发构建 配置dingtalk钉钉通知 参考 Jenkins…

归纳截图小结

文章目录 web服务器、缓存和PHP加速对比没有做软连接http状态码cookie是什么图形管理界面nginx的访问路径LANM架构redisd服务整体框架免密连接kubeletk8s架构图kubeadm、kubectl、kubelet作用k8s集群token失效时,重新创建tokenk8s网络通信OSI总结pod的理解k8s核心知…

springboot+vue高校实验室预约管理系统

开发环境 开发语言:Java 后端框架:springbootweb 前端框架:vue.js 服务器:tomcat 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 校实验…

K8S集群原理(IT枫斗者)

K8S集群原理(IT枫斗者) 看图说K8S 先从一张大图来观看一下K8S是如何运作的,再具体去细化K8S的概念、组件以及网络模型。从上图,我们可以看到K8S组件和逻辑及其复杂,但是这并不可怕,我们从宏观上先了解K8S…

【设计模式】责任链模式的设计与示例

前言 责任链模式是一种行为设计模式,执行上它允许请求沿着一条处理链路依次向下传递,每个处理节点都能对当前状态的请求进行处理,满足一定条件后传递给下一个处理节点,亦或者直接结束这一次处理流程。 在现实生产环境中&#xf…

工作流框架研究

工作流框架研究 主流开源框架介绍OsWorkFlowJBPMActivitiFlowableCamundaCamunda 和Flowable对比功能上对比性能上对比 总结 主流开源框架介绍 OsWorkFlow 对于比较简单的流程,OsWorkFlow会是一个比较好的选择,对于复杂的流程就不推荐了,Os…

小 C 的数学(math)

祝大家劳动节快乐!!小手动起来 言归正传┏ (゜ω゜)☞ 题目描述 小 C 想要成为一名 OIer,于是他提前学习数学,为 OI 做好铺垫。这一天,他的数学老师给了一道题:给定正整数 a,以及给定一个区间 …

Python基础之列表元组

1.列表 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 去锁定它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作…

HTB-Forge

HTB-Forge 信息收集80端口 立足user -> root 信息收集 80端口 试试上传图片看看有什么限制。 jpg上传成功,并且会给一个随机的文件名存储图片,过了一阵子图片就会被清除。 上传phpinfo后访问界面出现报错。 看来没有执行上传的PHP代码&#xff0…

第43天-DP-第九章 ● 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!

文章目录 1. 单词拆分2.多重背包3. 背包总结 1. 单词拆分 s class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet(wordDict.begin(), wordDict.end());// 1. dp[i] 为true代表 可以拆分为一个或者多…

PySyft框架

openmined社区开源的pysyft框架可以提供安全的联邦学习&#xff0c;有助于解决基于“不可见数据”的统计分析与建模开发。在PySyft中&#xff0c;syft是重要的张量&#xff0c;通过建立SyftTensor抽象类来表现张量链的运算或数据状态转换。如图5-7所示&#xff0c;张量链的结构…

3.3 泰勒公式例题分析

例1 写出函数f(x)带有拉格朗日余项的n阶麦克劳林公式 我的答案&#xff1a; 一、信息 1.f(x)的表达式 2.目标求这个f(x)的n阶麦克劳林公式 二、分析 条件1&#xff1a;告诉我f(x)的表达式为我后续带入公式做准备 条件2&#xff1a;告诉我用什么公式和此次求解的方向 三…

【ONE·C++ || 二叉搜索树】

总言 二叉树进阶&#xff1a;主要介绍二叉搜索树相关内容。 文章目录 总言1、基本介绍1.1、什么是二叉搜索树 2、相关实现2.1、基本框架2.1.1、如何构建二叉树单节点2.1.2、如何定义一个二叉搜索树 2.2、非递归实现&#xff1a;插入、查找、删除2.2.1、二叉搜索树插入&#xf…

系统集成项目管理工程师 笔记(第16章:变更管理)

文章目录 16.1.2 项目变更的分类 50416.1.3 项目变更产生的原因 50516.2 变更管理的基本原则 50516.3 变更管理角色职责与工作程序 50616.3.1 角色职责 50716.3.2 工作程序 50716.4.1 变更管理操作要点 511 第16章 变更管理 504 16.1 项目变更的基本概念 504 项目变更是指在信息…

05 KVM虚拟化Linux Bridge环境部署

文章目录 05 KVM虚拟化Linux Bridge环境部署5.1 安装Linux Bridge5.1.1 安装bridge-utils软件包5.1.2 确认安装是否成功 5.2 配置Linux Bridge5.2.1 创建网桥br05.2.2 将物理网卡ens33绑定到Linux Bridge5.2.3 配置ens33的ip5.2.4 为Linux Bridge网桥br0分配ip5.2.4.1 DHCP设置…

JavaWeb04(登录绑值模糊查询功能实现连接数据库)

目录 一.实现登录功能 2.2 制作简易验证码 2.3 完成登录验证 2.4 登录实现 ①连接字符串 private static final String URL"jdbc:oracle:thin:localhost:1521:orcl"; ②加载驱动 OracleDriver private static final String URL"jdbc:oracle:thin:localh…

更好地提问ChatGPT_常用prompt表

对常见的用途&#xff0c;记录该表以便获得ChatGPT更高质量的回复。 类别目的提问方式要点文案写作周报、日报、年终总结本周我做了以下几件事情&#xff1a;出差客户办事处、交流演示、初步数据分析。请帮我写一份周报要点形式列举工作内容。可以说明职位&#xff0c;以便工作…