09_计算机网络模型

news2025/2/24 6:47:35

目录

OSI/RM七层模型

OSI/RM七层模型

各层介绍及硬件设备

传输介质

TCP/IP协议簇

网络层协议

传输层协议

应用层协议

完整URL的组成

IP地址表示与计算

分类地址格式

子网划分和超网聚合

无分类编址

特殊含义的IP地址

IPv6协议

过渡技术


OSI/RM七层模型

OSI/RM七层模型

OSI/RM七层模型见表,需要明确各层的功能、设备及协议

层次

名称

主要功能

主要设备及协议

7

应用层

实现具体的应用功能

POP3、FTP、HTTP、Telnet、SMTP、DHCP、TFTP、SNMP、DNS

6

表示层

数据的格式与表达、加密、压缩

5

会话层

建立、管理和终止会话

4

传输层

端到端的连接

TCP、UDP

3

网络层

分组传输和路由选择

三层交换机、路由器

ARP、RARP、IP、ICMP、IGMP

2

数据链路层

传送以帧为单位的信息

网桥、交换机、网卡

PPTP、L2TP、SLIP、PPP

1

物理层

二进制传输

中继器、集线器

各层介绍及硬件设备

物理层:直接是二进制传输,最底层,中继器和集线器都是中转设备,能够延长信号。

数据链路层:将数据封装成帧进行传输,网桥、交换机、网卡这些设备能形成局域网,局域网内主机可以通信,可识别MAC物理地址,准确传送至局域网内的物理主机上。

网络层:将帧分组传输,路由器用来连接到互联网上,实现网络共享。能准确地将数据传送至互联网的网络主机上。

传输层:端到端的连接,传送至主机端口上,TCP和UDP协议需要掌握。

会话层:管理主机之间的会话,提供会话管理服务。

表示层:提供会话数据之间的格式转换、压缩、加密等操作,对数据进行处理。包括MPEG等数据、图像处理协议。

应用层:是两个进程之间的直接通信。网关是应用层物理设备,连接不同类型且协议差别较大的网络,可以转换协议。

传输介质

双绞线:将多根铜线按规则缠绕在一起,能够减少干扰;分为无屏蔽双绞线UTP和屏蔽双绞线STP,都是由一对铜线簇组成,也就是常说的网线;双绞线的传输距离在100m以内。

无屏蔽双绞线UTP:价格低,安装简单,但可靠性相对较低,分为CAT3(3类UTP,速率为10Mb/s)、CAT4(4类UTP,与3类差不多,无应用)、CAT5(5类UTP,速率为100Mb/s,用于快速以太网)、CAT5E(超5类UTP,速率为1000Mb/s)、CAT6(6类UTP,用来替代CAT5E,速率也是1000Mb/s)。

屏蔽双绞线STP:与UTP相比增加了一层屏蔽层,可以有效地提高可靠性,但对应的价格高,安装麻烦,一般用于对传输可靠性要求很高的场合。

光纤:由纤芯和包层组成,传输的光信号在纤芯中传输,然而从PC端出来的信号都是电信号,要经过光纤传输,就必须将电信号转换为光信号。

多模光纤MMF:纤芯半径较大,因此可以同时传输多种不同的信号,光信号在光纤中以全反射的形式传输,采用发光二极管LED为光源,成本低,但是传输的效率和可靠性都较低,适合于短距离传输,其传输距离与传输速率相关,速率为100Mb/s时为2km,速率为1000Mb/s时为550m。

单模光纤SMF:纤芯半径很小,一般只能传输一种信号,采用激光二极管LD作为光源,并且只支持激光信号的传播,同样是以全反射形式传播,只不过反射角很大,看起来像一条直线,成本高,但是传输距离远,可靠性高。传输距离可达5km。

TCP/IP协议簇

网络层协议

IP:最核心的协议,无连接、不可靠。

ICMP:因特网控制信息协议,用来检测网络通信是否顺畅,其报文封装在IP数据报中。

ARP:地址解析协议,将IP地址转换为物理地址,其报文封装在数据链路层以太网帧中。

RARP:是将物理地址转换为IP地址。

传输层协议

(1)TCP协议。

可靠连接,因为有验证机制,TCP建立连接需要三次握手过程,这种方法可以防止出现错误的连接。如2-1-2图所示,其中,seq是当前TCP报文的序号,ack是确认号,ACK是确认位,SYN是同步位,同一个TCP报文里seq和ack之间无关联,ack是对接收到的报文的seq做出响应的,如seq=x,表示期望接收编号为x的字节,那么下次就会发送ack=x+1,至于seq=y表示当前报文字节序号。

(2)TCP传输协议。

停止等待协议:TCP保证可靠传输的协议,“停止等待”就是指发送完一个分组就停止发送,等待对方的确认,只有对方确认过,才发送下一个分组。

连续ARQ协议:TCP保证可靠传输的协议,它是指发送方维护着一个窗口,这个窗口中不止一个分组,窗口的大小是由接收方返回的win值决定的,所以窗口的大小是动态变化的,只要在窗口中的分组都可以被发送,这就使得TCP一次不是只发送一个分组了,从而大大提高了信道的利用率。并且它采用累积确认的方式,对于按序到达的最后一个分组发送确认。

滑动窗口协议:TCP流量控制协议,可变的窗口是不断向前走的,该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输,还可以控制流量的问题。

TCP协议采用的是可变大小的滑动窗口协议。

(3)UDP协议。

不可靠连接,因为数据传输只管发送,不用对方确认,因此可能会有丢包现象。一般用于视频、音频数据传输,连接无需确认,消耗少。

应用层协议

应用层协议如图2-1-3所示,牢记基于TCP和UDP的应用层协议。

FTP:可靠的文件传输协议。

HTTP:超文本传输协议,用于上网。使用SSL加密后的安全网页协议为HTTPS。SMTP和POP3:邮件传输协议,邮件报文采用ASCⅡ格式表示。

Telnet:远程连接协议。

TFTP:不可靠的小文件传输协议。

SNMP:简单网络管理协议,必须以管理员的身份登录才能完成配置。

(1)DHCP协议。动态分配IP地址协议,DHCP客户端能从DHCP服务器获得DHCP服务器的IP地址、DNS服务器的IP地址、默认网关的IP地址等。但是,不能获得Web服务器的IP地址和邮件服务器地址。

自动分配规则为客户机/服务器模型,租约默认为8天,当租约过半时,客户机需要向DHCP服务器申请续租,当租约超过87.5%时,如果仍然没有和当初提供IP地址的DHCP服务器联系上,则开始联系其他DHCP服务器。

(2)DNS协议。将域名解析为IP地址,输入网址(即域名)后,首先会查询本地DNS缓存,然后查询hosts文件,无果后再查询本地DNS服务器,DNS协议又分为递归查询和迭代查询两种方式。协议端口号对照见表2-1-2。

递归查询:主机提出一个查询请求,本地服务器会自动一层一层地查询下去,直到找到满足查询请求的IP地址,再返回给主机。即问一次,就得最终结果。

迭代查询:服务器收到一次查询请求,就回答一次,但是回答的不一定是最终地址,也可能是其他层次服务器的地址,然后等待客户端再去提交查询请求。即问一次答一次,而后再去问其他服务器,直至问到结果。

完整URL的组成

URL由五个部分组成,以http://www.taobao.com/tmail/xiaomi/index.html为例说明如下:

(1)http是协议名,还有https。

(2)www是万维网服务,其他服务还包括fp、mail等。

(3)taobao.com是域名(也可以用服务器的IP地址表示),在域名中,顶级域名在最右边(根域名被省略),主机名在最左边,即taobao是主机名。

(4)域名之后,从第一个/到最后一个/是虚拟目录名,也即tmail/xiaomi/

(5)index.html是文件名。

IP地址表示与计算

分类地址格式

IP地址分4段,每段8位,共32位二进制数组成。

在逻辑上,这32位IP地址分为网络号和主机号,依据网络号位数的不同,可以将IP地址分为以下几类:

A类地址网络号占8位,主机号则为32-8=24位,能分配的主机个数为224-2个(注意:主机号为全0和全1的不能分配,是特殊地址)。

同理,B类地址网络号为16位,C类地址网络号为24位,同样可推算出主机号位数和主机数。

图2-1-4中加阴影或加下划线显示的位数表示该位固定为该值,是每类IP地址的标识。

子网划分和超网聚合

按上述划分的A、B、C三类,一般是最常用的,但是却并不实用,因为主机数之间相差的太大了,不利于分配。因此,我们一般采用子网划分的方法来划分网络,即自定义网络号位数,就能自定义主机号位数,就能根据主机个数来划分出最适合的方案,不会造成资源的浪费。

一般的IP地址按标准划分为A、B、C类后,可以进行再一步的划分,将主机号拿出几位作为子网号,就可以划分出多个子网,此时IP地址组成为:网络号+子网号+主机号。

网络号和子网号都为1,主机号都为0,这样的地址为子网掩码。

要注意的是:子网号可以为全0和全1,主机号不能为全0或全1,因此,主机数需要减2,而子网数不用。

此外,若要判断两个IP地址是否在同一网段,只需要确定其网络号是否相同即可。

除了上述划分子网外,还可以聚合网络为超网,就是划分子网的逆过程,将网络号取出几位作为主机号,此时,这个网络内的主机数量就变多了,成为一个更大的网络。

例:把网络117.15.32.0/23划分为117.15.32.0/27,得到的子网是()个,每个子网中可使用的主机地址是()个。

解析:网络号从23变为27,说明拿出了4位作为子网号,可以划分出2⁴=16个子网,此时,主机号是32-27=5位,共2⁵-2=30个主机地址(主机地址不能为全0和全1)。

例:某用户得到的网络地址范围为110.15.0.0~110.15.7.0,这个地址块可以用()表示,其中可以分配()个可用主机地址。

解析:110.15.0.0~110.15.7.0,8个子网做汇聚,取这8个子网最长相同前缀作为子网掩码,二进制展开后,可发现汇聚后掩码长度是21位,那么主机位就是11位,可以容纳2¹¹-2=2046个地址。

无分类编址

除了上述的分类编址外,还有无分类编址,即不按照A、B、C类规则,自动规定网络号,无分类编址格式为:IP地址/网络号。

例:128.168.0.11/20表示的IP地址为128.168.0.11,其网络号占20位,因此主机号占32-20=12位,也可以划分子网。可知,后的数字是网络号,32减去此数字就是主机号。

特殊含义的IP地址

特殊含义的IP地址要记住并掌握,会出现在选择题中,其总结见表

IP

说明

127网段

回播地址

网络号全0地址

当前子网中的主机

全1地址

本地子网的广播

主机号全1地址

特定子网的广播

10.0.0.0/8

10.0.0.1至10.255.255.254

172.16.0.0/12

172.16.0.1至172.31.255.254

192.168.0.0/16

192.168.0.1至192.168.255.254

169.254.0.0

保留地址,用于DHCP失效(Win)

0.0.0.0

保留地址,用于DHCP失效(Linux)

IPv6协议

IPv6协议主要是为了解决IPv4地址数不够用的情况而提出的设计方案,IPv6具有以下特性:

(1)IPv6地址长度为128位,地址空间增大了2⁶倍。

(2)灵活的IP报文头部格式,使用一系列固定格式的扩展头部取代了IPv4中可变长度的选项字段。IPv6中选项部分的出现方式也有所变化,使路由器可以简单略过选项而不作任何处理,加快了报文处理速度。

(3)IPv6简化了报文头部格式,加快报文转发,提高了吞吐量。

(4)提高安全性,身份认证和隐私权是IPv6的关键特性。

(5)支持更多的服务类型。

(6)允许协议继续演变,增加新的功能,使之适应未来技术的发展。

过渡技术

IPv4和IPv6的过渡期间,主要采用三种基本技术。

(1)双协议栈:主机同时运行IPv4和IPv6两套协议栈,同时支持两套协议,一般来说,IPv4和IPv6地址之间存在某种转换关系,如IPv6的低32位可以直接转换为IPv4地址,实现互相通信。

(2)隧道技术:这种机制用来在IPv4网络之上建立一条能够传输IPv6数据报的隧道,例如可以将IPv6数据报当作IPv4数据报的数据部分加以封装,只需要加一个IPv4的首部,就能在IPv4网络中传输IPv6报文。

(3)翻译技术:利用一台专门的翻译设备(如转换网关),在纯IPv4和纯IPv6网络之间转换IP报头的地址,同时根据协议不同对分组做相应的语义翻译,从而使纯IPv4和纯IPv6站点之间能够透明通信。

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

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

相关文章

《昇思25天学习打卡营第6天 | 函数式自动微分》

《昇思25天学习打卡营第6天 | 函数式自动微分》 目录 《昇思25天学习打卡营第6天 | 函数式自动微分》函数式自动微分简单的单层线性变换模型函数与计算图微分函数与梯度计算Stop Gradient 函数式自动微分 神经网络的训练主要使用反向传播算法,模型预测值&#xff0…

LeetCode题练习与总结:重排链表--143

一、题目描述 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进…

centos 7.9 离线环境安装GPU服务环境

文章目录 centos 7.9 离线环境安装GPU服务环境系统配置更新 gcc更新内核安装显卡驱动安装cuda安装docker 和 nvidia-container-runtime验证 centos 7.9 离线环境安装GPU服务环境 基于centos 7.9 离线安装gpu 服务基础环境,用于在docker 中运行算法服务 系统配置 …

python open函数中文乱码怎么解决

首先在D盘下新建一个html文档,接着在里面输入含有中文的Html字符,使用中文格式对读取的字符进行解码,再用utf-8的模式对字符进行编码,然后就能正确输出中文字符。 代码如下: # -*- coding: UTF-8 -*- file1 open(&quo…

Python | Leetcode Python题解之第207题课程表

题目: 题解: class Solution:def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool:edges collections.defaultdict(list)indeg [0] * numCoursesfor info in prerequisites:edges[info[1]].append(info[0])indeg[info[…

【Web3项目案例】Ethers.js极简入门+实战案例:实现ERC20协议代币查询、交易

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 目录 简介 前景科普-ERC20 Ethers极简入门教程:HelloVitalik(非小白可跳) 教程概览 开发工具 V…

LeetCode-刷题记录-二分法合集(本篇blog会持续更新哦~)

一、二分查找概述 二分查找(Binary Search)是一种高效的查找算法,适用于有序数组或列表。(但其实只要满足二段性,就可以使用二分法,本篇博客后面博主会持续更新一些题,来破除一下人们对“只有有…

44 - 50题高级字符串函数 / 正则表达式 / 子句 - 高频 SQL 50 题基础版

目录 1. 相关知识点2.例子2.44 - 修复表中的名字2.45 - 患某种疾病的患者2.46 - 删除重复的电子邮箱2.47 - 第二高的薪水2.48 - 按日期分组销售产品2.49 - 列出指定时间段内所有的下单产品2.50 - 查找拥有有效邮箱的用户 1. 相关知识点 相关函数 函数含义concat()字符串拼接upp…

[AIGC] Shell脚本在工作中的常用用法

Shell脚本是一种为 shell 编写的脚本程序。商业上的 Unix Shell 一般都配备图形界面,主要包括:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh&…

专题三:Spring源码中新建module

前面我们构建好了Spring源码,接下来肯定迫不及待来调试啦,来一起看看大名鼎鼎ApplicationContext 新建模块 1、基础步骤 1.1 自定义模块名称如:spring-self 1.2 选择构建工具因为spring使用的是gradle,所以这边需要我们切换默认…

KV260视觉AI套件--PYNQ-DPU

目录 1. 简介 2. DPU 原理介绍 2.1 基本原理 2.2 增强型用法 3. DPU 开发流程 3.1 添加 DPU IP 3.2 在 BD 中调用 3.3 配置 DPU 参数 3.4 DPU 与 Zynq MPSoC互联 3.5 分配地址 3.6 生成 Bitstream 3.7 生成 BOOT.BIN 4. 总结 1. 简介 在《Vitis AI 环境搭建 &…

爬虫中如何创建Beautiful Soup 类的对象

在使用 lxml 库解析网页数据时,每次都需要编写和测试 XPath 的路径表达式,显得非常 烦琐。为了解决这个问题, Python 还提供了 Beautiful Soup 库提取 HTML 文档或 XML 文档的 节点。 Beautiful Soup 使用起来很便捷,…

数据结构-期末复习题

数据结构-期末复习题 一、选择题 1、在数据结构中,与所使用的计算机无关的是数据的( ) 结构。 A. 存储B. 物理C. 逻辑D. 物理和存储 【答案】C 【解析】暂无解析2、算法分析的两个主要方面是 ( )。 A. 正确性和简单性B. 可读性和文档性C. 空间复杂度…

拼多多滑块逆向

声明(lianxi a15018601872) 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 前言(lianxi …

onInterceptTouchEvent() 与 onTouch() 事件分析

前言 本文主要分析 onTouch() 与 onTouchEvent() 事件的差异 正文 先看布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <com.longzhiye.intercepttouch.MyFrameLayout xmlns:android"http://schemas.android.com/apk/res…

Big Data Tools插件

一些介绍 在Jetbrains的产品中&#xff0c;均可以安装插件&#xff0c;其中&#xff1a;Big Data Tools插件可以帮助我们方便的操作HDFS&#xff0c;比如 IntelliJ IDEA&#xff08;Java IDE&#xff09; PyCharm&#xff08;Python IDE&#xff09; DataGrip&#xff08;SQL …

ctfshow-web入门-命令执行(web71-web74)

目录 1、web71 2、web72 3、web73 4、web74 1、web71 像上一题那样扫描但是输出全是问号 查看提示&#xff1a;我们可以结合 exit() 函数执行php代码让后面的匹配缓冲区不执行直接退出。 payload&#xff1a; cvar_export(scandir(/));exit(); 同理读取 flag.txt cinclud…

mybatis实现动态sql

第一章、动态SQL MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验&#xff0c;你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格&#xff0c;还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特…

网安小贴士(2)OSI七层模型

一、前言 OSI七层模型是一种网络协议参考模型&#xff0c;用于描述计算机网络体系结构中的不同层次和功能。它由国际标准化组织 (ISO) 在1984年开发并发布。 二、定义 OSI七层模型&#xff0c;全称为开放式系统互联通信参考模型&#xff08;Open Systems Interconnection Refe…

微型导轨:手术机器人的高精度“骨骼”

微型导轨精度高&#xff0c;摩擦系数小&#xff0c;自重轻&#xff0c;结构紧凑&#xff0c;被广泛应用在医疗器械中&#xff0c;尤其是在手术机器人中的应用&#xff0c;通过手术机器人&#xff0c;外科医生可以远离手术台操纵机器人进行手术。可以说&#xff0c;是当之无愧的…