计算机网络考试复习——第四章 4.1 4.2.1 4.2.2

news2024/9/29 5:31:46

网络层传输的单位是IP数据报

4.1 网络层的几个重要概念

网络层提供的两种服务:网络层应该向运输层提供怎样的服务?面向连接还是无连接? 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?

面向连接的可靠交付。

计算机网络模仿电信网络,使用面向连接的通信方式。 通信之前先建立虚电路 VC (Virtual Circuit) (即连接),以保证双方通信所需的一切网络资源。 如果再使用可靠传输的网络协议,可使所发送的分组无差错按序到达终点,不丢失、不重复。

无连接的、尽最大努力交付的数据报服务,不提供服务质量的承诺。

互联网采用的设计思路: 网络层要设计得尽量简单,向其上层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。 网络在发送分组时不需要先建立连接。 每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),也不保证分组传送的时限。 由主机中的运输层负责可靠的通信。

两个层面:数据层面和控制层面

不同网络中的两个主机之间的通信,要经过若干个路由器转发分组来完成。 在路由器之间传送的信息有以下 2 大类: 数据。 路由信息(为数据传送服务)。

数据层面:

路由器根据本路由器生成的转发表,把收到的分组从查找到的对应接口转发出去。 独立工作。 采用硬件进行转发,快。

控制层面:

根据路由选择协议所用的路由算法计算路由,创建出本路由器的路由表。 许多路由器协同动作。 采用软件计算,慢。

软件定义网络 SDN (Software Defined Network)

 远程控制器: 计算出最佳的路由, 在每一个路由器中生成其正确的转发表。

路由器: 查找转发表,转发分组。

4.2 网际协议 IP

与网际协议 IPv4 配套的 3 个协议:

1.地址解析协议 ARP  2.网际控制报文协议 ICMP  3.网际组管理协议 IGMP 

4.2.1虚拟互连网络 :实现异构网络的互连互通方法,哪种好?

都使用相同的网络?不能满足不同用户需要。没有一种单一的网络能够适应所有用户的需求。 不适应技术发展。

使用中间设备?可以满足不同需求 实用

使用中间设备进行互连

转发器、网桥或交换机仅把一个网络扩大了,仍然是一个网络 不称为网络互连。

分组在互联网中的传送,如果不需要任何路由器直接就能到达那么是直接交付,如果不是需要把IP数据报发送给某个路由器再进行到达那么是间接交付。分组在传输过程中每一次转发就称为一"跳“

4.2.2  IP 地址:在 TCP/IP 体系中,IP 地址是一个最基本的概念。 没有IP地址,就无法和网上的其他设备进行通信。 

IP地址及其表示方法:

互联网上的每台主机(或路由器)的每个接口分配一个在全世界唯一的 IP 地址。 由互联网名字和数字分配机构 ICANN进行分配。 

IP 地址采用 2 级结构:网络号和主机号:2 个字段:网络号和主机号

IP地址的分类:分为5类A,B,C,D,E这五类。其中D,E这两类是不常用的,这里主要考虑A,B,C三类。

A类地址第一位必须是0然后网络号占用8位,主机号占有24位。点分十进制第一位:0~127

B类地址前两位必须是10然后网络号占用16位,主机号占用16位。点分十进制第一位:128~191

C类地址前三位必须是110然后网络号占用24位,主机号占用8位。点分十进制第一位:192~223

主机号的全0和全1都是不能指派的,因为他们含有特殊含义。 

分类的 IP 地址的优点和缺点:管理简单; 使用方便; 转发分组迅速; 划分子网,灵活地使用。设计上不合理: 大地址块,浪费地址资源; 即使采用划分子网的方法,也无法解决 IP 地址枯竭的问题。

无分类编址CIDR:CIDR (Classless Inter-Domain Routing) :无分类域间路由选择。 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题。要点: (1) 网络前缀 (2) 地址块 (3) 地址掩码

同样是利用的和A,B,C,D,E这五种分类方式相同的编码思想。但是这时的网络前缀就不再是局限在8位16位或者24位了。前缀的位数不是固定的,可以是0~32之间的任意值。

CIDR 记法:斜线记法 (slash notation) a.b.c.d / n:二进制 IP 地址的前 n 位是网络前缀。 例如:128.14.35.7/20:前 20 位是网络前缀。

地址块:CIDR 把网络前缀都相同的所有连续的 IP 地址组成一个 CIDR 地址块。 一个 CIDR 地址块包含的 IP 地址数目,取决于网络前缀的位数。例如网络前缀的位数为20那么可以指派的主机数目为2的12次方但是全0和全1是不可以取到的所以应该是2的12次方-2个主机。

这个是需要重点再去思考一下的东西。有点耐人寻味。

地址掩码又称为子网掩码 (subnet mask)。 位数:32 位。 目的:让机器从 IP 地址迅速算出网络地址。 由一连串 1 和接着的一连串 0 组成,而 1 的个数就是网络前缀的长度。

/20 地址块的地址掩码:11111111 11111111 11110000 00000000

点分十进制记法:255.255.240.0    CIDR 记法:255.255.240.0/20。

默认的地址掩码:

网络地址 = (二进制的 IP 地址) AND (地址掩码) 每一个 CIDR 地址块中的地址数一定是 2 的整数次幂。 除最后几行外,CIDR 地址块都包含了多个 C 类地址(是一个 C 类地址的 2n 倍,n 是整数)。

因此在文献中有时称 CIDR 编址“构造超网”。

三个特殊的 CIDR 地址块 

IP 地址的特点

(1) 每个 IP 地址都由网络前缀和主机号两部分组成。IP 地址是一种分等级的地址结构。 方便了 IP 地址的分配和管理。 实现路由聚合,减小了转发表所占的存储空间,以及查找转发表的时间。

(2) IP 地址是标志一台主机(或路由器)和一条链路的接口。当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号必须是不同的。这种主机称为多归属主机 。 一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的 IP 地址。

(3) 转发器或交换机连接起来的若干个局域网仍为一个网络。按照互联网的观点,一个网络(或子网)是指具有相同网络前缀的主机的集合。 转发器或交换机连接起来的若干个局域网都具有同样的网络号,它们仍为一个网络。 具有不同网络号的局域网必须使用路由器进行互连。

(4) 在 IP 地址中,所有分配到网络前缀的网络都是平等的。互联网同等对待每一个 IP 地址,不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网

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

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

相关文章

X79G Xeon 2630v2 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板X79G 处理器Intel Xeon 2630v2已驱动 内存32g (16*2 2666MHZ)已驱动 硬盘Intel 760p 512GB已驱动 显卡RX 470已驱动 声卡瑞昱 英特尔 High De…

硬件外设使用方法——GPIO

【硬件外设使用】——GPIO用法GPIO基本概念GPIO应用pyb与micropython什么是pyb什么是micropythonpyb与micropython关系GPIO在micropython中的用法什么是pyb库pyb库中的GPIO用法micropython下的GPIO用法经过与硬件群的小伙伴商量,决定直接找个板子讲实战了- -。 本部…

qt动态加载qss 更好的推荐方式

1、编写QRC资源文件[window和linux通用] 2、过rcc程序生成rcc资源文件 生成2进制数据: 通过控制台窗口执行以下命令,会把qrc中的资源文件写成二进制数据保存 rcc.exe -binary .\resuorce.qrc -o .\resuorce.rcc 生成16进制数据: 通过控制台窗…

JavaSE学习进阶day03_02 内部类

第二章 内部类(最难的) 2.1 概述 2.1.1 什么是内部类 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。可以把内部类理解成寄生,外部类理解成宿主。 2.1.2 什么时候使用内部类 一个事物内…

STM32驱动SIM900A短信模块

简介:STM32F103C8T6驱动SIM900A短信模块源码介绍。 开发平台:KEIL ARM MCU型号:STM32F103C8T6 传感器型号:SIM900A 特别提示:驱动内可能使用了某些其他组件,比如delay等,在文末外设模板下载…

协议篇之以太网协议基础概念

协议篇之以太网协议基础概念一、写在前面二、什么是以太网三、以太网TCP/IP协议分层四、MAC地址与IP地址五、写在后面一、写在前面 在学习了串口协议后,发现通过串口传输数据,数据传输的速率较慢,无法符合高速率传输场景下的要求,…

PXE+Kickstart自动化安装操作系统

文章目录PXEKickstart 完美自动化部署系统理论知识:1、PXE2、DHCP实践实验:1、DHCP服务器配置2、TFTP服务器配置3、HTTP服务器安装4、PXE配置5、Kickstart实践配置PXEKickstart 完美自动化部署系统 理论知识: 无人值守原理:Kick…

飞行机器人专栏(十一)-- 空中机器人综合健康管理系统

目录 一. 综合健康管理系统架构 1. 系统架构: 2. 故障诊断算法: 3. 预测维护策略: 4. 安全与隐私: 5. 用户友好性: 6. 模块化与可扩展性: 7. 与其他系统集成: 8. 考虑环境因素&#xf…

获取文件内容方法使用说明

一、是什么? sikuli设备新增了一个获取文件内容的方法,该方法可以传入指定路径读取文件内容,方便后续做打印,对比等工作 二、怎么用? 1.文件绝对路径,例如 windows:F:\cn_sonic\sonic-agent…

abbyy finereader15下载安装使用及功能介绍

今天给大家分享一款一款真正的专业OCR,它不仅支持多国文字,还支持彩色文件识别、自动保留原稿插图和排版格式以及后台批处理识别功能,使用者再也不用在扫描软件、OCR、WORD、EXCEL之间换来换去了,处理文件会变的就像打开已经存档的…

RabbitMQ安装教程(Mac)

1、RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境。 brew install rabbitmq前提必须是mac安装了HomeBrew(软件包管理系统),以下都是基于mac版本的。 等大概十几分钟 brew services start rabbitmq;RabbitMQWeb…

第09章_性能分析工具的使用

第09章_性能分析工具的使用 ​ 在数据库调优过程中,我们的目标就是响应时间更快,吞吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优思路和方式。 1. 数据库服务器的优化步骤 ​ 当我们遇到数据库调优问题的时候,该如…

Rabbitmq学习笔记教程-尚硅谷

Rabbitmq学习笔记 (尚硅谷) 尚硅谷 rabbitmq 教程 1.MQ 的概念 1.1 什么是 MQ? 存放消息的队列,互联网架构中常见的一种服务与服务之间通信的方式。 1.2 为什么要用 MQ? 三大好处,削峰,解耦,异步。…

1小时学会CSS - 中

接第一课, 1小时学会CSS - 上,大家还记得前面说的一个概念,CSS 层叠样式吗?很多小伙伴都无法理解。 这里再详细说说,什么是CSS 层叠样式?CSS 层叠样式指的是上级标签的样式会自动继承给其所有的下级标签。…

爬虫日常练习-艾图网多页面图片爬取

文章目录前言页面分析设计代码前言 欢迎回来兄弟们,想必各位都已经过了一遍上篇文章了吧,没过的兄弟们可以移步上篇文章指点一二,链接: 爬虫日常练习-艾图网单页面图片爬取 感谢xdm 昨天的内容想必已经挑起了大家的胃口,我们趁…

自动化测试(一):自动化测试理论

什么是自动化测试: 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中&#xf…

【前端之旅】快速上手ElementUI

一名软件工程专业学生的前端之旅,记录自己对三件套(HTML、CSS、JavaScript)、Jquery、Ajax、Axios、Bootstrap、Node.js、Vue、小程序开发(Uniapp)以及各种UI组件库、前端框架的学习。 【前端之旅】Web基础与开发工具 【前端之旅】手把手教你安装VS Code并附上超实用插件…

指针在C++中的应用及顺序表结构体中的应用

目录 一.指针的概要 指针 一级指针 二级指针 二、一个生动形象的例子 三、总结 四、顺序表结构体中的应用 一.指针的概要 指针 是一种数据类型,它保存着一个变量的内存地址。指针可以通过间接引用操作符 * 来访问所指向的变量。在 C 中,指针通常…

【AI绘画】探索艺术与技术的融合:AI绘画的新前景

AI绘画的新前景1.AI绘画是把双刃剑2.AI绘画的应用场景3.AI绘画的技术4.结语随着人工智能(AI)技术的快速发展,AI绘画成为了艺术创作领域中备受关注的话题。传统的艺术创作方式受到了AI技术的冲击,为艺术家和观众带来了全新的体验和…

socket 通信(一)

一 基本示例 #include <stdio.h> #include <sys/socket.h> // socket() #include <arpa/inet.h> // inet_addr() #include <netinet/in.h> // sockaddr_in{} INADDR_ANY #include <unistd.h> // close() #include <errno.h> …