计算机网络——分层的体系结构(OSI模型/五层协议栈)

2023-11-06

一、基础知识

计算机网络
计算机网络是一个非常复杂的系统,涉及许多组成部分:
主机(hosts)、路由器(routers)、各种链路(links)、应用( applications)、协议( protocols)硬件、软件
网络体系结构的特点
1.网络体系结构是从功能上描述计算机网络结构计算机网络体系结构简称网络体系结构(network architecture)是分层结构,每层遵循某个/些2.网络协议完成本层功能。
3.计算机网络体系结构是计算机网络的各层及其协议的集合
4.体系结构是一个计算机网络的功能层次及其关系的定义
5.体系结构是抽象的
为什么采用分层结构?
1.结构清晰,有利于识别复杂系统的部件及其关系
·分层的参考模型(reference model )模块化的分层易于系统更新、维护
·任何一层服务实现的改变对于系统其它层都是透明的
2.有利于标准化
基本概念
在这里插入图片描述
实体(entity)表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”。
下层协议的实现对上层的服务用户是透明的。
同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP(Service Access Point),交换原语,指定请求的特定服务。

二、OSI模型

在这里插入图片描述
自顶向下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
表示层
处理两个系统间交换信息的语法与语义问题
1.数据表示转化 ·转换为主机独立的编码
2.加密/解密
3.压缩/解压缩

会话层
负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

接下来我们将会在五层因特网协议栈重点介绍其余5个层次的功能和特点。
在这里插入图片描述

三、五层因特网协议栈

因特网协议栈共有五层:应用层、传输层、网络层、链路层和物理层。不同于OSI七层模型这也是实际使用中使用的分层方式
(1)应用层(网络应用)
功能:应用层是网络应用程序及其应用层协议存留的地方。
提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP(web文档的请求),HTTPS,FTP(文件的传送),TELNET,SSH,SMTP,POP3等。
一个端的应用程序使用协议与另一个端系统的应用程序交换信息分组
(2)传输层(端-端)
功能:在应用程序端点之间传送应用层报文。
把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。
传输层有两种协议,即TCP和UDP,二者根据不同规则向应用程序提供不同的服务。其中TCP协议的服务包括向目的地的确保传递和流量
控制,TCP也将长报文划分为短报文,并提供拥塞控制机制。
a.流量控制(Flow control)·避免淹没接收端
b.差错控制(Error control)·检测并重传损坏或丢失帧,并避免重复帧
c.访问(接入)控制(Access control)·在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权

在这里插入图片描述
1.TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务。
2.虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为
3.对数据准确性要求高,速度可以相对较慢的,可以选用TCP

(3)网络层(源主机-目的主机)
功能:将称为数据报的网络层分组从一台主机移动到另一台主机。
因特网的网络层包括IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如何运作这些字段。所有网络层的组件必须运行IP协议。
因特网的网络层也包括路由协议(顾名思义,该协议可以决定路由的选择),他根据该路由将数据报从源传输到目的地。因特网有很多路由选择协议。
在这里插入图片描述
(4)数据链路层(点-点)
功能:将分组从一个节点(路由、主机)移动到下一个节点。
数据链路层负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。
由链路层提供的服务取决于应用于该链路的特定链路层协议,与TCP协议不同的是,TCP提供一个端到另一个端的交付,在此过程中可能会经过多条链路,每条链路都有不同的链路层协议。
通俗来讲TCP提供的协议是一个起始地点到目的地的寻址,然而这条路上会遇到不同的站点(路由),每个站点间的传输需要链路层协议来完成。
在这里插入图片描述

(5)物理层(点-点)
功能:物理层将帧中的一个个比特从一个节点移动到另一个节点(对比链路层将整个帧从一个网络元素移动到邻近的网络元素)
在局部局域网上传送数据帧(data frame),它负责管理计算机通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。

完整流程图如下:
在这里插入图片描述
如图所示,链路层交换机完成了第一层和第二层(物理层、链路层),路由器实现了第一层到第三层(物理层、链路层、网络层)。
上图也具化了该体系的封装概念。在发送主机端,一个应用层报文M被传输给传输层(运输层),运输层收到报文并附上附加信息Ht(首部信息),该首部将被接收端的传输层使用。应用层报文和传输层首部信息构成了传输层报文(Ht + M)。在网络层增加了如源和目的端系统地址等网络首部信息Hn生成了网络数据层报。在链路层生成链路层帧,由上至下一步一步封装,构成首部字段+有效载荷字段的结构。

四、IP地址、mac地址和端口号

在利用TCP/IP协议族进行通信的时候,有三个比较关键的确认身份的信息:mac地址、IP地址和端口号。

1.IP地址:(基于计算机或路由器)在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通过子网掩码确认某个IP地址所在的子网,而后再在子网内部确认mac地址就能找到准确的用户了。(32位,全球唯一)
2.MAC地址(物理地址):(基于网卡或路由器)在数据链路层包裹在以太网头部中的,它主要用来识别同一个链路中的不同计算机。Mac地址即网卡号,每块网卡出厂的时候,都有一个全世界独一无二的 MAC 地址,长度是 48 个二进制位,通常用 12 个十六进制数表示。(全球唯一,局部使用)
3.端口号:在传输层包含在TCP/UDP头部中的,用于识别应用程序。一台主机上能运行多个程序,那么接收到的消息到底是哪个程序的呢?就需要端口号来确认。(主机中唯一)
端口号有两种:
  固定的端口号,是形如http,telnet,ftp等广为使用的应用协议所使用的端口号是固定的
  动态分配的端口号,这个时候服务端要确定监听端口号,接受服务的客户端没必要确定端口号

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络——分层的体系结构(OSI模型/五层协议栈) 的相关文章

  • 什么是CSRF

    目录 1 CSRF是什么 2 CSRF漏洞检测 3 防御CSRF攻击 3 1 验证 HTTP Referer 字段 3 2 在请求地址中添加 token 并验证 3 3 在 HTTP 头中自定义属性并验证 1 CSRF是什么 CSRF Cr
  • 结合高阶函数聊聊useMemo和useCallback

    使用useMemo可以实现useCallback useCallback fn deps 其实相当于 useMemo gt fn deps 所以说 使用useMemo完全可以实现useCallback useCallback functio

随机推荐

  • 如何用MODIS数据在TIMESAT中提取物候参数

    感觉研究植被物候的帖子好少呀 也找不到关于TIMESAT的操作教程 这里便记载我学习植被物候信息提取的学习笔记 下面是我综合了很多零零散散的信息学习到的东西 但是还是有很多看不明白的地方 比如一些参数的设置上面 希望有知道的可以让我学习一下
  • Spring Boot + Jpa(Hibernate) 架构基本配置

    1 基于springboot 1 4 0 RELEASE版本测试 2 springBoot Hibernate Druid Mysql servlet jsp 不废话 直接上代码 一 maven的pom文件
  • Git 常用指令

    Git 常用指令 bashrc 文件 用于输出git提交日志 alias git log git log pretty oneline all graph abbrev commit 用于输出当前目录所有文件及基本信息 alias ll l
  • pandas数据预处理------去除‘特征重复’的2种方法

    常见的数据重复包括 1 记录重复 一个或多个特征的某条记录的值完全相同 2 特征重复 存在一个或者多个特征名称不同 但数据完全相同的情况 去除特征重复的2种方法 1 通过相似度矩阵去重 要去除连续的特征重复 可以利用特征间的相似度将两个相似
  • permission denied while trying to connect to the Docker daemon socket 错误

    安装 docker 执行错误如下 docker ps permission denied while trying to connect to the Docker daemon socket at unix var run docker
  • 做一个统计单词数目的Atom插件

    本文是Atom 教程 制作单词计数插件的简化介绍 所有代码都来自这篇文章 如果希望参考详细的文档 请直接查看原文 这篇文章用一个简单的小例子 为我们讲解了如何编写一个Atom编辑器插件 该例子使用的是CoffeeScript 所以为了更好地
  • leetcode----JavaScript 详情题解(2)

    目录 2629 复合函数 2631 分组 2634 过滤数组中的元素 2635 转换数组中的每个元素 2637 有时间限制的 Promise 对象 2648 生成斐波那契数列 2649 嵌套数组生成器 2665 计数器 II 2666 只允
  • 可重复读输入流的问题

    为了统一签名 需要在controller之前读json输入流数据 controller的参数绑定是直接读inputStream 但一般httpServletRequest只能读一次 解决方法是 在filter中直接读一次inputStrea
  • 【7-4 h0018.金币 (20 分)】思路清晰,c++实现,分分钟解决

    7 4 h0018 金币 20 分 国王以金币支付给他忠诚的骑士 在他服役的第一天 骑士会得到一枚金币 在接下来的每两天 服务的第二和第三天 骑士会收到两枚金币 在 在接下来的三天里 第四 第五和第六天 骑士每一天都会得到三枚金币 在接下来
  • HTML中怎么设置图片的位置和大小

    其他的也不多废话了直接上代码 img src fan jpg width 800 height 800
  • python批量爬取公众号文章

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 版权归原作者所有 如有问题请及时联系我们以作处理 作者 舴艋的舟 PS 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群
  • js逆向:rpc远程调用

    websocket python代码 服务端 先开启这个 import asyncio import websockets connected set async def server websocket connected add web
  • Linux系统连接华为oceanstor数据存储

    Linux系统连接华为oceanstor数据存储 一 登录检查oceanstor数据存储 二 配置linux使用的数据储存 1 创建LUN 2 创建Lun组 3 创建主机 4 创建主机组 5 创建映射关系 三 Linux客户端操作 1 查看
  • 「建议收藏」Pycharm使用教程(非常详细,非常实用)

    Pycharm使用教程 1 Jetbrains家族和Pycharm版本划分 pycharm是Jetbrains家族中的一个明星产品 Jetbrains开发了许多好用的编辑器 包括Java编辑器 IntelliJ IDEA JavaScrip
  • Atcoder Beginner Contest 300

    A N choice question AC代码 include
  • 【Java基础11】面向对象、面向过程、类、对象、封装

    一 面向对象和面向过程 面向对象 以对象为单位 通过调度组合不同的对象来完成某一个功能 面向过程 以步骤为单位 一步一步完成某一个具体的功能 二 类 1 类的定义 class 类名 在类中定义属性 方法 class student Stri
  • pytorch 多个模型 求平均

    from collections import OrderedDict import torch from models faceland d import FaceLanndInference d if name main model F
  • Vite 打包体积分析,性能提升不再困扰

    其实这个问题最好改成 rollup 打包体积分析 但是为什么我会取这个名字呢 其实这主要是由于我的习惯性引起的 因为太久没用一个东西 如果遇到问题 肯定会去围绕它自身去进行搜索 例如遇到 vite 打包分析相关问题 就会在 google 搜
  • MinIO从信息泄漏到RCE

    文章目录 信息泄露 漏洞利用 漏洞分析 漏洞修复 RCE 漏洞分析 参考文章 信息泄露 漏洞利用 如果MinIO以集群方式部署 存在信息泄露漏洞 攻击者可以通过HTTP请求获取目标进程的所有环境变量 包括MINIO SECRET KEY和M
  • 计算机网络——分层的体系结构(OSI模型/五层协议栈)

    一 基础知识 计算机网络 计算机网络是一个非常复杂的系统 涉及许多组成部分 主机 hosts 路由器 routers 各种链路 links 应用 applications 协议 protocols 硬件 软件 网络体系结构的特点 1 网络体