计算机网络(第四章网络层)

第四章网络层

  • 4.1_网络层提供的两种服务
      • (1)虚电路服务
      • (2)数据报服务
  • 4.2_网络协议
    • 4.2.1_虚拟互连网络
    • 4.2.2_分类的IP地址
      • (1)分类IP地址
        • 三种分类方法
        • IP 地址的一些重要特点
    • 4.2.3_IP地址与硬件地址
    • 4.2.4_地址解析协议ARP与逆地址解析协议RARP
    • 4.2.5_IP数据报的格式
    • 4.2.6_IP层转发分组的流程
  • 三级目录

4.1_网络层提供的两种服务

背景:
在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。
争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?

(1)虚电路服务

电信网的思路:
在这里插入图片描述
虚电路只是一条逻辑 上的连接,而并不是真正建立了一条物理连接

(2)数据报服务

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

4.2_网络协议

网际协议IP是TCP/IP体系中两个最主要的协议之一 。与IP协议配套使用的还有四个协议:
地址解析协议ARP(Address Resolution Protocol)
逆地址解析协议RARP (Reverse Address Resolution Protocol)
网际控制报文协议ICMP (Internet Control Message Protocol)
网际组管理协议IGMP (Internet Group Management Protocol)

网际层的IP协议及配套协议:
在这里插入图片描述

4.2.1_虚拟互连网络

虚拟互连网络的意义:
所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络,使用IP 协议的虚拟互连网络简称为IP网。使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一一个网络上通信一样,而看不见互连的各具体的网络异构细节。
例如:
在这里插入图片描述

4.2.2_分类的IP地址

IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一32位的标识符。
IP地址的编址方法的发展
分类的IP地址:最基本的编址方法,1981 年就通过了相应的标准协议。
子网的划分:对分类IP地址的改进,其标准[RFC 950]在1985年通过。
构成超网比较新的无分类编址方法。1993 年提出后很快就得到推广应用。
点分十进制记法:
在这里插入图片描述

(1)分类IP地址

每一类地址都由两个固定长度的字段组成,其中一个字段是网络号。net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号host-id它标志该主机(或路由器)。

IP 地址 ::= { <网络号>, <主机号>} 分类的依据就是 网络号和主机号各占多少位
在这里插入图片描述

三种分类方法

①A类
网络号
可指派的网络号: 126=27-2(因为首位固定是1所以只剩下7位可用)
全零代表本网络,127代表环回测试
主机号
每个网络最大主机数: 224-2
全零代表该主机所在的网络全1表示该网络上的所有主机
A类地址占总IP空间的50%

②B类
网络号
可指派的网络号: 214-1
网络地址128.0.0.0不可指派
主机号
每个B类网络包含的主机数: 216-2
全零和全1的主机号不可用
B类地址占总IP空间的25%。
③C类
网络号
可指派的网络号: 221-1
192.0.0.0不可用
主机号
每个网络最多包含主机: 28-2
C类地址占总IP空间的12.5%

IP 地址的一些重要特点

① IP地址是一种分等级的地址结构。分两个等级的好处是:
第一:IP地址管理机构在分配IP地址时分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了IP地址的管理。
第二:路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
②当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP地址,其网络号net-id 必须是不同的。这种主机称为多归属主机(multihomed host)
由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址
③用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id 。
④所有分配到网络号net-id的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。

4.2.3_IP地址与硬件地址

从协议栈的层次上看数据的流动、从虚拟的 IP 层上看 IP 数据报的流动、在链路上看 MAC 帧的流动

在 IP 层抽象的互联网上只能看到 IP 数据报图中的 IP1→IP2 表示从源地址 IP1 到目的地址 IP2,两个路由器的 IP 地址不出现在 IP 数据报的首部中(而如何实现两个相邻的点的传递呢?是根据数据链路层上的MAC帧的源和目的地址)
在这里插入图片描述

4.2.4_地址解析协议ARP与逆地址解析协议RARP

在这里插入图片描述
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址
每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有连接在的局域网上各主机和路由器IP 地址到硬件地址的映射表
主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
在这里插入图片描述

4.2.5_IP数据报的格式

4.2.6_IP层转发分组的流程

三级目录

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

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

相关文章

实战:Redis 主从同步

主从同步(主从复制)是 Redis 高可用服务的基石,也是多机运行中最基础的一个。我们把主要存储数据的节点叫做主节点 (master),把其他通过复制主节点数据的副本节点叫做从节点 (slave),如下图所示: 在 Redis 中一个主节点可以拥有多个从节点,一个从节点也可以是其他服务…

idea连接sqlserver及数据库操作

idea连接sqlserver及操作一、在连接过程中遇到的问题&#xff1a;&#xff08;1&#xff09;数据库登录失败&#xff08;2&#xff09;登录成功之后数据库端口号怎么查看二、代码连接数据库①加载驱动和连接数据库三、数据库操作连接详解链接 总体流程链接 操作实例链接 一、…

实战:Redis 集群模式(上)

Redis Cluster 是 Redis 3.0 版本推出的 Redis 集群方案,它将数据分布在不同的服务区上,以此来降低系统对单主节点的依赖,并且可以大大的提高 Redis 服务的读写性能。 Redis 将所有的数据分为 16384 个 slots(槽),每个节点负责其中的一部分槽位,当有 Redis 客户端连接集…

案例:Redis 问题汇总和相关解决方案

本文收集了一些 Redis 使用中经常遇到的一些问题,和与之相对应的解决方案,这些内容不但会出现在实际工作中,也是面试的高频问题,接下来一起来看。 缓存雪崩 缓存雪崩是指在短时间内,有大量缓存同时过期,导致大量的请求直接查询数据库,从而对数据库造成了巨大的压力,严…

加餐:Redis 的可视化管理工具

因为 Redis 官方只提供了命令行版的 Redis 客户端 redis-cli,以至于我们在使用的时候会比较麻烦,通常要输入一堆命令,而且命令行版的客户端看起来也不够直观,基于以上两个原因我们需要找一个可视化的 Redis 客户端,下面是我这些年使用过的一些 Redis 可视化客户端,分享给…

第一次创建springboot框架项目

第一次创建springboot框架项目1.1_创建步骤2.1_启动时遇到的问题2.2_启动响应网页测试2.3_连接数据库尝试1.1_创建步骤 &#xff08;1&#xff09;创建spring项目 &#xff08;2&#xff09; &#xff08;3&#xff09; 加入引擎 下一步即可 2.1_启动时遇到的问题 &a…

springboot工程的热部署

springboot工程的热部署&#xff08;1&#xff09;第一步配置pom.xml&#xff08;2&#xff09;第二步更改IDEA设置什么是热部署配置呢&#xff1f; 我们在开发中反复修改类、页面等资源&#xff0c;每次修改后都是需要重新启动才生效&#xff0c;这样每次启动都很麻烦&#xf…

第一二章(PTA复习)

第一二章因为3默认是整形&#xff0c;整形长度大于short型&#xff0c;如果让short型 short型 int型&#xff0c;可能会溢出&#xff0c;所以编译报错 例如&#xff1a; 答案&#xff1a;D switch 语句中的变量类型可以是&#xff1a; byte、short、int 或者 char。从 Java …

异常类型及处理

异常类型及处理检查型异常与非检查型异常&#xff1a; 非检查型异常是指机器运行之前永远都不能自动检测出来的异常&#xff0c;例如idea不会报红的但有可能发生异常的代码。error类和RunTime类及其子类 异常类型及处理 finally使用

侧边菜单栏 android-menudrawer

这是github上的一款开源项目&#xff0c;类似于人人网可滑动的侧边菜单栏-----android-menudrawer。使用方法也很简单。1.将下载的包解压放入你的工作目录下2.利用Eclipse通过new-->project...->Android Project from Existing Code&#xff0c;找到项目目录&#xff0c;…

第三四五章(PTA复习)

第三四五章类的构造与继承异常线程类的构造与继承 加 final 唯一可以说明的是该类不可被继承&#xff0c;另外和其它类是一样的 abstract类是抽象类&#xff0c;必须要被继承才能实现&#xff0c;而final修饰的类不能被继承 异常 由于未捕获到异常&#xff0c;所以执行完final…

Redis 属于单线程还是多线程?不同的版本有什么区别?

Redis 是普及率最高的技术之一&#xff0c;同时也是面试中必问的一个技术模块&#xff0c;所以从今天开始我们将从最热门的 Redis 面试题入手&#xff0c;更加深入的学习和了解一下 Redis。 我们本文的面试题是 Redis 属于单线程还是多线程&#xff1f; 典型回答 本文的问题…

【原创】STM32下波特率计算详解

波特率的计算STM32下的波特率和串口外设时钟息息相关&#xff0c;USART 1的时钟来源于APB2&#xff0c;USART 2-5的时钟来源于APB1。在STM32中&#xff0c;有个波特率寄存器USART_BRR&#xff0c;如下&#xff1a; STM32串口波特率通过USART_BRR进行设置&#xff0c;STM32的波特…

java对数组进行排序_用Java对数组进行排序所需的最少交换

java对数组进行排序Problem: 问题&#xff1a; In this problem, we would have an unordered array with consecutive distinct natural numbers [1,2,3,..n], where n is the size of the array. We have to find the minimum number of swaps required to sort the array i…

如何实现查询附近的人?

查询附近的人或者是附近的商家是一个实用且常用的功能,比如微信中“附近的人”或是美团外卖中“附近商家”等,如下图所示: 那它是如何实现的呢?我们本文就一起来看。 我们本文的面试题是,使用 Redis 如何实现查询附近的人? 典型回答 在说如何实现地理位置查询之前,首…

第五六七章(PTA复习)

第五六七章图形界面线程IO图形界面 主要的布局管理器类包括流布局(FlowLayout)、边界布局(BorderLayout)、网格布局(GridLayout)、卡 片 布 局 (CardLayout) 、 网 格 包 布 局(CardBagLayout) 线程 答案&#xff1a;B IO

Redis 有哪些数据类型?

Redis 的数据类型可谓是 Redis 的精华所在&#xff0c;同样的数据类型&#xff0c;例如字符串存储不同的值对应的实际存储结构也是不同&#xff0c;当你存储的 int 值是实际的存储结构也是 int&#xff0c;如果是短字符串&#xff08;小于 44 字节&#xff09;实际存储的结构为…

导出/入数据库

导出/入数据库1、以SQL文件的方式1.1导出1.2 导入2、以mdf和ldf数据库文件的方式2.1导出2.1.1 脱机2.1.2 到数据库的数据路径&#xff0c;拷贝出mdf,ldf文件2.1.3 将原数据库设置为online状态即可正常使用2.2导入数据库&#xff08;切记导入之前要先将控制权限打开&#xff09;…

第八章Transact-SQL程序设计

第八章Transact-SQL程序设计8.1_变量8.1.1_局部变量8.1.2_全局变量8.2_流程控制语句8.2.1_IF...ELSE语句8.2.2_while循环语句8.1_变量 8.1.1_局部变量 局部变量的声明定义&#xff1a; Declare Variable_name Datatype[, Variable_name Datatype]…--举例&#xff1a; decla…

如何删除多余系统引导项

我们很多人都装过双系统&#xff0c;但是有时候装的当中却不想装了或者装不成功&#xff0c;生成的多余系统引导项怎么删除呢&#xff1f;下面分享下我的经验&#xff1a;win7&#xff08;XP&#xff09;下如何删除多余的系统引导项。关键词&#xff1a;删除多余系统引导项&…