湖科大计网:网络层

一、网络层概述

一、基本概念

        网络层的主要任务是实现网络互连,进而实现数据包在各网络之间传输。

若只有单个网络,只需要物理层和数据链路层即可。

不同的异构网络需要路由器将其互连,路由器的每一个接口代表一个不同的网络,也区分一个广播域。

        我们以TCP/IP协议栈的网络层为例来学习网络层。

二、需要实现的任务

①向传输层提供可靠服务还是不可靠服务。

即在数据包传输过程中,可能误码、乱序、丢失之类的,网络层可以选择是否提供可靠传输功能。

如TCP/IP协议体系的网络层是提供的不可靠服务。

②网络层寻址问题

IP地址的前面相同部分是网络编号,后面是区分不同的接口。

③路由选择问题

传输数据包的时候,一个路由器如何选择它要传出的接口。

三、网络层提供的两种服务

数据交换方式的分组交换方式。

虚电路方式和数据报方式。

我们将学习的TCP/IP协议体系的网络层就是无连接的不可靠传输的网络层。

二、IPv4地址—32bit

一、概述

IPv4地址是因特网上的每一台主机(或路由器)的每一个接口分配的全球唯一的32bit的标识符。

IPv4地址采用点分十进制表示方法,即将32bit分为4个字节,每个字节的值表示成一个十进制用点分开。

二、IPv4地址的编制方法

对于每一个网络,分配网络地址的时候,每一个路由器接口都划分出一个网络号。

不管是哪种编址方式,一定要记住,每一个路由器的接口都是不一个不同的网络号,包括不同的子网!!

每一个主机和路由器的接口 都有一个IP地址,互不相同,同一个路由器接口下的网络,网络号相同。

一、分类编制的IPv4地址

A类地址,网络号占一个字节,网络号首位为0,则网络号有0~127

B类地址,网络号占两个字节,网络号前两位为10,则网络号有128.0~191.255

C类地址,网络号占三个字节,网络号前三位是110,则网络号有192.0.0~223.255.255

判别这三类地址只需要判断第一个字节的大小

0~128~192~224

A        B      C

分配给主机的IP地址的主机号不能为全0,也不能为全1,全0那表示一个网络地址,全1表示一个广播地址。

①A类地址

A类地址特殊在于网络号0和127(最大和最小的两个),都用于特殊作用。

最小的0不指派,最大的127用作本地环回测试地址,不指派。

②B类地址

没有特殊的网络号

③C类网络

没有特殊的网络号

④特殊IP地址

(1)全0的地址:0.0.0.0 用于没有分配IP地址的主机发送报文时作为自己的源IP地址

如果仅仅网络号是0,也是一样的作用

(2)广播地址:只可以做为目的地址

1°仅主机号全1的广播地址,表示在对应网络号下进行广播,可以跨路由器转发

2°IP地址全1的广播地址255.255.255.255,表示在本地网络下广播,路由器不转发

(3)环回地址:A类地址的127.

只要主机地址不是全0(网络地址),也不是全1(广播地址),那就可以当作环回地址既可以当作目的也可以当作源。

二、划分子网的IPv4的地址

        我们可以在分类编址的基础上,给原来的网络划分子网。

        利用主机号的一部分位作为子网的标识,并且注意子网号也将作为新的网络号。

        子网号的识别可以用子网掩码来实现,即子网号的部分掩码位置全为1,其余部分为0,与IP地址相与 以及分类编址的情况,就可以知道主码有哪几位是分配给子网编制了。

        在没有分配子网的网络中,会存在默认的子网掩码,那就是原来分类编址全为1的子网掩码。

        以后网络地址就是子网的网络地址了。

三、无分类编址的IPv4的地址(CIDR)

同一个网络号的IP地址组成一个“CIDR块”。

同样的,对于一个网络号,主机号全0是网络地址,全1是广播地址!

CIDR方法在画路由表的时候更加节省空间!使用路由聚合的方法,可以在没有差错的情况下对IP地址求前缀。

三、IPv4地址的应用规划

①定长的子网掩码FLSM

使用同一个子网掩码来划分子网。

网络号+主机号→网络号+子网号+主机号(这里和划分子网的IPv4地址方法是一样的)

即申请到的C类网络地址被划分成8个子网,拿出5个分配给不同的网络即可。

②变长的子网掩码VLSM

实际上就是将CIDR地址块,划分成不同的小地址块,(这是不是也就是不同网络前缀会不一样的原因了!因为将最大的CIDR地址块一步一步划分,一步一步分配下来的!)

而这里所谓的子网掩码,其实就是/x中x位网络前缀全1其余全0的32位bit。

大的网络前缀+主机号→小的网络前缀+主机号

我们来举个栗子!

        1°我们先看每个网络需要多少个主机号位(包括全0和全1)

        2°然后我们进行极限分配(也就是说 要多少我们给他的刚好达标就可以)

右边的注意事项实际上就是,网络地址的主机号必须是全0的,所以比如/28的网络前缀划分的子块必须从低四位为0开始。

        3°你会发现,咱们分配的时候是将218.75.230.0/24这个网络前缀为24位的大CIDR块下的IP地址分配给各网络,各网络的网络前缀可以不一样,但是他们分配的大CIDR块下的32位IP地址各不相同! 

<这就解释了我们的疑惑:/22的地址分配的32位IP地址如何避免与/18的32位IP地址相同? 实际上他们都是从一个更大的CIDR块按序分配下来的,所以一定不相同~>

三、IP数据报

一、发送和转发过程

我们来讨论一下,为什么某个主机 对于一个IP地址 与 其自己的掩码相与就能判断是否是同一个网络。我们来讨论无分类编址的情况(这种情况包含了划分子网的情况):

①对于一个大CIDR地址块/24下 分配的两个 小CIDR地址块,/27和/28,对于/27的网络而言,它的后5位00000~11111都是它网络下的,所以对于/28,其前27位就不能和/27是一样的了,对于任意一个/(n+x)和/n都是如此。所以一定可以区分下来。

②我们对于每一个网络都要分配到它的子网之下,而不能使用/24作为它的掩码,就比如,一栋房子有四个卧室,不同的人住在不同的卧室,用卧室可以区分不同的人,但是用这栋房子就区分不了,既然我们要做的就是用每栋房子某个卧室区分人,那就不要再在房子已经区分卧室之后再用房子指代人了。同理,对于一个大的CIDR块,它之下的子网,都以子网号区分,不会再用大的CIDR块的网络号。 所以用①就可以证明所有问题。

一、主机发送数据报

        主机需要发送的目的IP地址,与自己的子网掩码相与就可以知道目的IP地址是否与自己是同一个网络。因为当且仅当IP地址对应其子网掩码前面位数相同,相与之后得到的值才能是相同的,否则不相同。

        每个主机都含有一个自己的IP地址和自己的子网掩码,它们之与就可以得到它所在的网络地址是多少,每个主机还有一个默认网关,这要求是对应路由器接口的IP地址,用于主机间接传给其他网络的人呢;每个路由器接口都有一个IP地址和自己的子网掩码。

        在同一个网络中就可以直接用MAC地址寻址了。

二、路由器转发数据报

        路由器对来的目的地址与其路由表中的各子网掩码相与,来判断它所在的网络。

相与之后,与对应目的网络作比较如果是一样的,那就说明该目的地址就是这个目的网络。

七、总结

八、习题补充

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

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

相关文章

mac苹果电脑需要安装杀毒软件吗?

随着数字时代的发展&#xff0c;计算机安全问题变得越来越重要。而在计算机安全领域中&#xff0c;杀毒软件是一个被广泛讨论的话题。苹果电脑需要安装杀毒软件吗&#xff1f;对于苹果电脑用户来说&#xff0c;他们常常会疑惑自己是否需要安装杀毒软件来保护自己的电脑。本文将…

GEM5 Garnet DVFS / NoC DVFS教程:ruby.clk_domain ruby.voltage_domain

简介 gem5中的 NoC部分是Garnet实现的&#xff0c;但是Garnet并没有单独的时钟域&#xff0c;而是保持ruby一致&#xff0c;要做noc的DVFS&#xff0c;便是要改ruby的 改电压 #这里只是生成一个随便变量名&#xff0c;存一下值。改是和频率一起的 userssaved_voltage_domain…

Linux常用命令——bzcat命令

在线Linux命令查询工具 bzcat 解压缩指定的.bz2文件 补充说明 bzcat命令解压缩指定的.bz2文件&#xff0c;并显示解压缩后的文件内容。保留原压缩文件&#xff0c;并且不生成解压缩后的文件。 语法 bzcat(参数)参数 .bz2压缩文件&#xff1a;指定要显示内容的.bz2压缩文…

Redis 访问控制列表(ACL)

Redis ACL 关于 Redis ACL与旧版本兼容ACL helpACL 配置模式redis.conf 配置模式外部 ACL File 配置模式 ACL 规则总结 关于 Redis ACL Redis ACL (访问控制列表) 是 Access Control List 的缩写&#xff0c;它允许某些连接在可以执行的命令和可以访问的密钥方面受到限制。它…

goland 远程调试 remote debug

1、远程服务器装好go环境&#xff0c;并设置国内源 linux go安装 参考&#xff1a; 如何在 Debian / Ubuntu 上安装 Go 开发环境 - 知乎 设置国内源 go env -w GOPROXYhttps://goproxy.cn,direct 2、远程服务器安装dlv git clone https://github.com/derekparker/delve.gi…

腾讯云轻量4核8G12M带宽服务器租用价格和S5实例报价

腾讯云4核8G服务器优惠价格表&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;阿腾云atengyun.com分享腾讯云4核8G服务器详细配置、优惠价格及限制条件&…

ER 图是什么

文章目录 前言什么是 ER图ER 图实例简化的 ER 图总结 前言 产品经理在梳理产业业务逻辑的过程中&#xff0c;非常重要的一项工作就是梳理各个业务对象之间的关系。如果涉及对象很对的时候&#xff0c;没有工具支持的话很难处理清楚。今天我们就来介绍一个梳理业务对象关系的工…

【数据结构初阶】单链表(附全部码源)

单链表 1&#xff0c;单链表的概念及结构2&#xff0c;单链表的实现2.1初始化内容&#xff08;所需文件&#xff0c;接口&#xff09;2.2申请结点2.3打印单链表2.4尾插2.5头插2.6尾删2.7头删2.8查找2.9在pos位置之后插入2.10在pos位置前面插入2.11删除pos之后的值2.12删除pos位…

“具有分布式能源资源的多个智能家庭的能源管理的联邦强化学习”文章学习四——基于联邦深度学习的多智能家居能源管理

一、用于家庭能源管理的FRL算法 在本节中&#xff0c;我们将阐述提出的FRL算法&#xff08;算法1&#xff09;&#xff0c;该算法以分布式方式调度多个智能家庭的能量消耗。在提出的FRL框架中&#xff0c;LHEMS和GS相互迭代并有效训练LHEMS的模型。我们考虑了由LHEMS控制的空调…

OpenAI临时CEO变更,Mira Murati接任,Sam Altman被辞退

2个小时前&#xff0c;OpenAI 官网宣布&#xff0c;首席技术官Mira Murati临时接任OpenAI CEO&#xff0c;并辞退了CEO Sam Altman。新闻里董事会对辞退的原因只有一个简单说明&#xff1a; “奥特曼离职之前&#xff0c;董事会进行了审慎审查&#xff0c;得出的结论是&#…

MySQL优化(1):B+树与索引

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 对于60%的程序员而言&a…

智能驾驶汽车虚拟仿真视频数据理解(一)

赛题官网 datawhale 赛题介绍 跑通demo paddle 跑通demo torch 提交的障碍物取最主要的那个&#xff1f;不考虑多物体提交。障碍物&#xff0c;尽可能选择状态发生变化的物体。如果没有明显变化的&#xff0c;则考虑周边的物体。车的状态最后趋于减速、停止&#xff0c;时序…