网络模型

TCP/IP--ICMP和IGMP 本篇结构: ICMP IGMP 附 反思 接着上一篇,本章接着分享IP协议的两个配套协议–ICMP和IGMP。 一、ICMP 1.1、什么是ICMP ICMP的全称是Internet Control Message Protocol(网际控制信息协议)。 ICMP工作在TCP/IP体系中的网络层,是IP协议的一个补充,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受... 阅读详情

OSI 七层模型
在这里插入图片描述

1、物理层:
  主要功能:利用传输介质为数据链路层提供屋里连接,实现比特流的透明传输。
  作用:实现相邻计算机节点之间比特流的透明传输,尽可能屏蔽掉具体传输介质与物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。
  透明传输的意义就是:不管传的是什么,所采用的设备只是起一个通道作用,把要传输的内容完好的传到对方!

2、数据链路层:负责建立和管理节点间的链路。
  主要功能:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
  具体工作:接受来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上一层的数据帧,拆装为位流形式的数据转发到物理层;并且还负责处理接受端发回的确认帧的信息,以便提供可靠的数据传输。

该层通常又被分为 介质访问控制(MAC)和逻辑链路控制(LLC)两个子层:
    MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制。
    LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。

3、网络层:是OSI参考模型中最复杂的一层,也是通信子网最高的一层,它在下两层的基础上向资源子网提供服务。
  主要任务:通过路由算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与物理层之间的信息转发,建立、维持与终止网络的连接。具体的说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
  一般的,数据链路层是解决统一网络内节点之间的通信,而网络层主要解决不同子网之间的通信。例如路由选择问题。

在实现网络层功能时,需要解决的主要问题如下:
    寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一 个唯一的地址。由于各个子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)
    交换:规定不同的交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者包括报文转发技术和分组转发技术。
    路由算法:当源节点和路由节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径,由发送端传送的接受端。
    连接服务:与数据链路层的流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测

4、传输层:
  OSI的下三层的主要任务是数据传输,上三层的主要任务是数据处理。而传输层是第四层,因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
  主要任务:向用户提供可靠的、端到端的差错和流量控制,保证报文的正确传输。
  主要作用:向高层屏蔽下层数据通信的具体细节,即向用户透明的传送报文。
  传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割,然后,传输层将数据传送到网络层,并确保数据能准确无误的传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层负责监督工作。综上,传输层的主要功能如:
  传输连接管理:提供建立、连接和拆除传输连接的功能。传输层在网络层的基础上,提供“面向连接”和“面向无连接”两种服务
  处理传输差错:提供可靠的“面向连接”和不可靠的“面向无连接”的数据传输服务、差错控制和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认, 如果在指定的时间内未收到确认信息,数据将被重新发送。
  监控服务质量

5、会话层:是OSI参考模型的第五层,是用户应用程序和网络之间的接口
  主要任务:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。
  用户可以按照半双工、单工和全工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,他们是为用户专门设计的,更便于用户记忆。域名(DN)就是网络上使用的远程地址。会话层的具体功能如下:
  会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。
  会话流量控制:提供流量控制和交叉会话功能。
  寻址:使用远程地址建立会话连接。
  出错控制:从逻辑上讲,会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠错。会话控制和远程过程调用均属于这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等高级类的错误。

6、表示层:

表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。
  其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。
  表示层的具体功能如下:
    数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
    数据的编码:处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,因此,在设备之间需要具有在不同字符集或格式之间转换的功能。
    压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
    数据的加密和解密:可以提高网络的安全性。

7、应用层
  应用层是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口。

主要功能:直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。
  应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的。应用层的主要功能如下:
    用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
    实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。

OSI 7层模型的小结
由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。
在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。
TCP/IP四层模型与OSI七层模型的对应关系
在这里插入图片描述

TCP/IP协议族的分层:
在这里插入图片描述

IP、ARP、RARP、ICMP、IGMP(网络协议:网络层协议) 面试和笔试中,如果记住下面这张图,基本就能解决网络协议中70%的问题。需要记住: OSI模型和TCP/IP模型每一层名称; 每一层对应有哪些协议,或者说给出该协议要知道对应那一层; 该协议是基于TCP还是UDP的; 除了上图,如果还能记住该协议的功能就可以解决笔试中99%的网络协议问题,下面介绍网络层的各种协议。 网络层传输协议 IP IP所提供的服务通常被认为是无连接的和不可靠的,它将差错控制和流量控制之类的服务授权给了其他的各层协议,这正是TCP/IP 能够高效率工作的一个重要保证。网络层的功能主 阅读详情

相关推荐

NIO网络模型

1. NIO简介 NIO:Non-blocking I/O 或 New I/O 从特性出发:非阻塞IO 从年龄出发:新IO,在原始IO之后出现的 诞生:从 JDK 1.4 引入的全新的输入输出标准库,重新设计的一套IO标准 职务:高并发网络服务器支持岗。作为原始IO的补充,为了应对高性能高并发的应用场景。 2. 编程模型 模型:对事物共性的抽象(个人理解:用一个统一的方法解决一系列相似的问题)...

一只特立独行的猪 7548

ICMP,IGMP和SNMP(协议区别)

ICMP,IGMP和SNMP(协议区别):软考网工知识点总结

weixin_69884785的博客 6980

Kubernetes 网络模型

这些 CNI 插件通常对应有可执行文件,kubelet 在调用可执行文件时,会传递两个关键的数据 ,第一个是数据的操作方法比如 add 等等,详情请看【k8s 网络插件介绍[[#CNI]]】,第二个参数就是网络插件的配置,可执行文件一旦接收了这些数据,就会去配置 Pause 容器的网络,最后 kubelet 调用容器运行时去创建应用容器,并将其加入到 Pause 容器的网络命名空间中。通过这些命名空间,实现了容器之间的独立性。虽然容器具有独立的网络,但是除了宿主机之外,其他的网络是无法直接访问容器的。

m0_37843156的博客 670

ICMP与IGMP的区别

装载:http://www.cppblog.com/yehao/articles/145652.html ICMP与IGMP的区别 ICMP协议,英文全称(Internet Control Message Protocol),就是网际控制信息协议。主要是用于补充IP传输数据报的过程中,发送主机无法确定数据报是否到达目标主机。ICMP报文分为出错报告报文和查询报文两种。若数据报不能到达目...

ty13438189519的博客 1万+

K8s学习笔记之了解k8s的网络模型

K8s 网络插件介绍VXLAN 和 IPIP 他们不依赖低层网络环境,几乎可以在任何网络中使用。缺点就是数据包会经历两次封装和解包,这会导致一定的性能开销BGP 的优点是动态学习路由,基于路由出发,具有良好的网络性能,但是它依赖于二层网络,当节点较多的场景下路由表会是巨大的。

qq_62866151的博客 1619

Kubernetes网络模型

由于在企业中部署私有云的场景会更普遍,所以在私有云中运行Kubernetes + Docker集群之前,就需要自己搭建符合Kubernetes要求的网络环境。现在的开源世界里,有很多开源组件可以帮助我们打通Docker容器和容器之间的网络,实现Kubernetes要求的网络模型。当然每种方案都有自己适合的场景,我们要根据自己的实际需要进行选择。

昨日晨曦的博客 1385

一文了解Docker之网络模型

docker

qq_43649937的博客 7053

Kubernetes 网络模型

对于集群外部的客户端来说,由于无法直接访问 Pod IP 或 Service 的 Cluster IP,因此 Kubernetes 提供了 NodePort 和 LoadBalancer 两种方式,用于将集群内部的服务暴露给外部。当你创建一个 NodePort 类型的 Service 时,Kubernetes 会在每个节点上打开一个指定的端口,并将所有到这个端口的请求转发到对应的 Service。对于跨节点的 Pod,由于它们位于不同的网络命名空间,因此需要通过网络插件进行路由转发,以实现通信。

weixin_42241611的博客 683

docker的网络模型

1.NAT NAT模型是docker默认的网络模型,也就是bridge模型,然后通过宿主机上面docker0这个网络设备NAT出来我们的网络。 我们可以看下我宿主机上面是192开头的网络,然后docker0这个网络设备是172开头的,我们的容器也是172开头的,我们可以运行一个docker容器,进入里面看下。 docker run -it --rm alpine /bin/sh 我们可以看到容器内部跟docker0这个网络设备是在一个网段上的。这个docker0网段是可以通过修改/etc/docke

猿上生活 3099

仅一个字母之差,IGMP 与 ICMP有啥区别?

IGMP 和 ICMP 是网络中两个重要且互补的协议。IGMP 主要用于管理多播组的成员关系,确保多播流量能够高效地传输至多个接收者,优化了网络的带宽使用。ICMP 则专注于网络的诊断与控制,通过传输错误报告和网络状态信息,帮助管理员快速排查故障,优化网络性能。

网络技术联盟站 1157

告别Godot默认编辑器:手把手教你用VSCode配置C#开发环境(附中文注释避坑指南)

本文详细介绍了如何将VSCode配置为Godot引擎的C#开发环境,提升游戏开发效率。从环境准备、扩展配置到解决中文编码问题,提供完整的避坑指南和高级调试技巧,帮助开发者充分利用VSCode的智能补全和调试功能,打造高效工作流。

weixin_30596023的博客 189

Redis网络模型

redis底层网络模型——单线程与IO多路复用

2301_80926085的博客 2921

T2T基因组组装实战指南:从数据到完整染色体

本文详细介绍了T2T基因组组装技术的实战指南,从测序数据选择到完整染色体组装的全流程。重点解析了ONT ultra-long和PacBio HiFi测序技术的优势,以及如何攻克端粒和着丝粒等重复区域的组装难题。通过具体案例和实用技巧,帮助研究人员实现从数据到完整染色体的高质量组装。

weixin_29292535的博客 846

Docker网络模型深度解析

在Docker的生态系统中,网络模型主要负责容器之间以及容器和外部网络之间的通信。Docker抽象出了几种网络模式,使得开发者可以更加方便地管理和配置这些网络。bridge(桥接网络)host(宿主机网络)overlay(覆盖网络)macvlan(MAC地址虚拟网络)none(无网络)让我们逐一深入分析这些网络模型,并提供一些实际操作案例。bridge是Docker的默认网络模式。当你创建一个Docker容器时,如果没有指定网络,Docker会自动将容器连接到bridge网络。

vvvae1234的博客 1431

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

T527 uart串口配置导致系统进不去

T527 s_uart串口配置导致系统进不去。

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 676

【Redis 原理】网络模型

redis 网络模型

Suk_god的博客 1252

RedCap:一种通信技术的概述

总结起来,RedCap是一种基于数据包交换的通信技术,它提供了一种高效、可靠的数据传输机制。通过使用RedCap,我们可以轻松地发送和接收数据包,并确保数据的完整性和正确性。在上面的示例中,我们首先导入了RedCap库,并创建了一个RedCap实例。然后,我们定义了目标地址和源地址,并创建了一个数据包,其中包含了目标地址、源地址和要发送的数据。本文将介绍RedCap的基本原理和使用方法,并提供一些相关的源代码示例。RedCap还提供了其他一些功能,如数据包的重传机制、流量控制和拥塞控制等。

YgjWeb的博客 900

K8s网络模型

Docker网络模型 容器 容器不是模拟一个完整的操作系统,而是对进程进行隔离,对容器里的进程来说它接触到的各种资源都是独享的,比虚拟机启动快、占用资源少。 Docker Docker是对Linux底层容器技术的封装,提供容器使用接口,docker将应用程序和该程序的依赖打包在同一个文件,即Docker image,运行Docker image就会生成一个Docker容器,程序在容器里运行就像在物理机或者虚拟机一样。 容器与虚拟机对比 虚拟机要模拟整台机器的操作系统,包括硬件资源;容器和主机共享操作系统,容

bobi的博客 3971

桌面实施远程光电体积描记法:使用面部视频测量心率的C++详细指南

在现代医疗和健康监测领域,心率是一个非常重要的生理参数,它可以为我们提供关于身体健康状况的重要信息。但是,随着技术的进步,现在我们有了一种新的方法,称为远程光电体积描记法(rPPG),它可以无需与皮肤接触就测量心率。然后,我们从面部颜色的信号序列中提取绿色通道的值,因为绿色通道对于心率的变化最为敏感。在上述代码中,我们使用了OpenCV库,它是一个开源的计算机视觉库,非常适合这种应用。这种变化是由于血液流动引起的,当心脏跳动时,血液流经面部,导致肤色的轻微变化。要实现rPPG,首先需要检测并跟踪人脸。

qq_38334677的博客 609

2025.06.06【Ribo-seq】|RiboCode:基于Ribo-seq数据的全基因组翻译ORF检测工具详解与实战流程

大家好!今天我们要学习的是RiboCode——一个专为Ribo-seq(核糖体足迹测序)数据设计的高质量翻译ORF(开放阅读框)检测工具。RiboCode能够帮助我们在全基因组范围内精准识别翻译事件,发掘经典CDS之外的uORF、dORF、重叠ORF等新型翻译本,极大拓展了我们对转录本翻译潜能的认知。RiboCode 是由清华大学杨学睿课题组开发的开源软件,支持Linux/Mac平台,采用Python实现。自动化流程:一条命令即可完成注释准备、P-site定位、ORF预测。高灵敏度与特异性。

1858

【Redis网络模型】

第三章 Redis网络模型。

qq_46005538的博客 1346

Cilium动手实验室: 精通之旅---5.Mutual Authentication with Cilium

在Cilium 入门实验室中,您将在受《星球大战》启发的场景中实施高级第 3-7 层网络策略。在实验结束时,您将实施强大的网络策略,并通过微分段保护 Empire 免受来自叛乱的攻击。在本实验中,您将重新部署《星球大战》演示应用程序,但除了网络策略之外,您还将了解如何在工作负载之间实施相互身份验证。

Q先生 1399
上一篇: XML,DTD,XSD
下一篇: Swagger
qq_34348564
博客等级 码龄11年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值