与网际协议 IPv4 配套的 3 个协议:
①地址解析协议 ARP (Address Resolution Protocol)
在IPv4网络中将IP地址解析为MAC地址 的协议
地址解析协议 ARP:想象一下你在大街上找一个人的家,但你只知道他的名字而不知道他家的地址。ARP就像是你去问路的过程,你会找到一个路标(IP地址),然后问路人(ARP请求):“这个名字住在哪里?”路人(目标设备)会告诉你他的地址,这样你就能找到他了。
②网际控制报文协议 ICMP (Internet Control Message Protocol)
传递控制信息和错误消息的协议
网际控制报文协议 ICMP:有时候,网络上会出现各种问题,比如路不通了、目的地找不到了,甚至可能是某个设备出了故障。ICMP就像是网络上的“问题通知”,当有问题发生时,它会向相关的设备发送消息,告诉它们发生了什么事情,让它们做出相应的处理
③网际组管理协议 IGMP (Internet Group Management Protocol)
在多播网络中管理组成员身份的协议
网际组管理协议 IGMP:假设你加入了一个电视节目的观众群体,但是你不知道节目在哪个频道播出。IGMP就像是告诉电视台你要观看哪个频道的消息,一旦你加入了观众群体,电视台就知道要把节目发送给你了,而不是发送给其他不感兴趣的观众。
网络互连
实现异构网络的互连互通方法,哪种好?
使用中间设备进行互连
使用转发器或网桥不称为网络互连
网络互连使用路由器
转发器、网桥或交换机仅把一个网络扩大了,但仍然是一个网络。
理解:数据链路层及其以下的互连不算网络互连,但网络互连有数据链路层、物理层的参与。
网络互连(NetworkInterconnection)是指将多个计算机网络或通信网络通过某种方式连接在一起,以便它们可以相互通信和交换数据的过程。网络互连通常涉及使用一系列设备和技术,包括路由器、交换机、网桥、网关等,以及不同的传输介质,如光纤、电缆、无线连接等。
互连网络与虚拟互连网络:
分组在互联网中的传送_理解:中间节点都是间接交付,最后的节点是直接交付。
分组在多个节点路由器进行“跳跃”
IP地址⭐
在 TCP/IP 体系中,IP 地址是一个最基本的概念。
没有IP地址,就无法和网上的其他设备进行通信。
(1)IP地址及其表示方法
二进制32位转换成十进制,好记很多,易读性易记性
互联网上的每台主机(或路由器)的每个接口分配一个在全世界唯一的 IP 地址。
由互联网名字和数字分配机构 ICANN (Internet Corporation for Assigned Names and
Numbers) 进行分配。
IPv4 地址通常是 32 位长,以点分十进制表
示例如 192.0.2.1;
而 IPv6 地址则通常是 128 位长,例如2001:0db8:85a3:0000:0000:8a2e:0370:7334,长度更长,以满足互联网发展的需求。
路由器为了更好转发分组,IP 地址采用 2 级结构
IP地址的分类-分类编址
A 类地址的网络号字段 net-id 为 1 字节
A 类地址的主机号字段 host-id 为 3 字节
B 类地址的网络号字段 net-id 为 2 字节
B 类地址的主机号字段 host-id 为 2 字节
C 类地址的网络号字段 net-id 为 3 字节
C 类地址的主机号字段 host-id 为 1 字节
D 类地址是多播地址
-
E 类地址保留为今后使用
-
AB都越来越少,ip用完了,现在都是用C了。
管理简单;使用方便;转发分组迅速;
划分子网,灵活使用。
设计上不合理;大地址块,浪费地址资源;即使采用划分子网的方法,也无法解决 IP地址枯竭的问题。
看第一个字节(子网掩码默认/8 /16/ 24)确定网络类型:A(0~127)B(128~191)C(192~223)D(224~239)E(240~255),子网划分后子网掩码不一样则不能分类。
常用数字:0、127、128、191、192、223、224、239、240、255
注意某类地址和其可用范围不一样,以A类地址为例,
(0.0.0.0~127.255.255.255)是A类地址的范围,实际能用的是从 (1.0.0.0 ~126.255.255.255),
因为0开头的地址用于保留或特殊用途,127开头的用于环回测试。
A类网络地址数量较少,可以用于主机数达1600多万台的大型网
络。 A 类占整个地址空间的 50%。同理,B类网络地址适用于中等规模规模的网络,每个网络所能容纳的计算机数为6万多台。 B 类占整个地址空间的 25%。 C类网络地址数量较多,适用于小规模的局域网络,每个网络最多只能包含254台计算机。 C 类占整个地址空间的 12.5%。其实现在已经分类的意义已经没有了。
取而代之的是CIDR,更有效地分配IPv4的地址空间。
划分子网是个知识点,需要看看。第八版去掉了。研究对象:子网掩码对网络的划分。
⭐通过重新定义子网掩码进行子网划分
举例:先给出子网掩码255.255.255.192 (/26)(也可写作/26,表示了一个 32 位的二进制数,其中有 26 位是连续的 1,其余的是 0。前 26 位用于网络部分,剩余的 6 位用于主机部分。这意味着它可以支持2^6 - 2 = 62个主机地址)【网络位增加,主机位减少!(一个子网的主机位减少)】
我们将使用子网掩码255.255.255.192对网络192.168.10.0进行子网划分。
(理解:该网络一看开头192就是C类网络地址,子网掩码是/24的,子网掩码的第四个字节是1100000,则有两位是1,则新子网掩码是/24+2=/2,相当于本来是主机位的借了两位过去给网络位用。)(或者这样算,256-192=64,所以每个子网都有64个ip,除去网络位广播位就有62台主机)
推论速记:借了n位主机位就能开出2^n个子网,剩下主机位为m,则每个子网有2^m-2台主机。
所以子网ip的最后一个字节的跨度就是2^m。对于第四个字节,看其十进制数值的大小,就能判断出每个子网的第一个位置,如下图的0,64,128,192都是一个子网的开头(8个二进制位也就是有256个位置划分),而各个子网的最后一个位置,如63,127,191,255都是广播ip。
划分子网就是为了更加细致的利用起一个网段,如一个B类地址用于一个广播域,它有2^12=65536个IP地址,但是没必要这么多,就按照规格把这些ip再分配出多个子网,这样不浪费。
192.168.10.0这个网络分了四个子网出去!
注意,划分出的子网的子网掩码长度不一定要一样。如
多少个子网?
在192(11000000)中,取值为1的位数为2,因此答案为2^2=4个子网。
每个子网多少台主机?
有6个主机位的取值为0(11000000),因此答案是2^6-2=62台主机
有哪些合法的子网?
256 -192 = 64。子网的步长[增量]为64,因此子网为0、64、128和192
每个子网的广播地址是什么?
在下一个子网之前的数字中,所有主机位的取值都为1,是当前子网的广播地址。对于子网0,下一个子网为64,因此其广播地址为63。以此类推。
合法的主机地址有哪些?
合法的主机地址为子网地址和广播地址之间的数字。要确定主机地址,最简单的方法是写出子网地址和广播地址,这样合法的主机地址就显而易见了。
子网划分详解与子网划分实例精析-CSDN博客
网络聚合(聚合是指将连续的IP地址块合并成更大的地址块,以便更有效地进行路由和管理,也就是划分子网的逆过程,主机位增加,网络位减少,网络位借给了主机位。):
聚合方法:取最长相同网络地址为网络前缀
根据ip地址确定网络范围
例:求86.32.0.0/12的网络范围
无分类编址 CIDR
CIDR (Classless Inter-Domain Routing) :无分类域间路由选择。
好处:消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,
可以更加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题。
例如:192.168.1.0/24。该数字表示了网络地址中前缀部分的长度,即网络地址的位数。
例如,/24 表示网络地址中前24位是网络地址,剩余的位数用于主机地址。这种表示方法允许网络管理员更精确地定义网络的大小,更加灵活了,以适应实际需求。
要点:
(1) 网络前缀 (类比分类编址的网络号)
(2) 地址块
(3) 地址掩码(分类的叫子网掩码,由于无分类不分子网了,叫地址掩码)
可指派的地址数- 2是留给①网络地址(通常用于标识整个网络)
(第一个可用地址,如192.168.1.0为网络前缀的网络地址是192.168.1.0)
和②广播地址(将数据包发送到同一个网络中的所有设备)
(最后一个可用地址,如192.168.1.0为网络前缀的广播地址是192.168.1.255)
在一个子网中,网络地址通常是最低的地址(注意不是网关),然后是主机地址范围,最后是广播地址。
默认网关:
- 它用于将本地网络内的数据包路由到其他网络或者互联网上,
- 充当本地网络与其他网络之间的通信桥梁(通常是路由器或者交换机的一个接口),
- 当主机要发送数据到一个不在本地网络的目标地址时,
它会将数据包发送给默认网关,由默认网关负责将数据包传输到正确的目标地址。
如网络192.168.1.0/24,网关地址就是192.168.1.1
对比起广播地址的网内发送,默认网关是对外发送
在同一个CIDR地址块(也称为同一个网段)中,
所有IP地址都具有相同的网络前缀,这意味着它们属于同一个网络
⭐期末必考!!!
求网络地址:(与实验那块儿重合了,可以看看去)
注:C类是/24的,网络前缀为24位。多一位网络前缀位就多2倍。
(这里的聚合和前文讲的网络聚合是一样的,取共同最长网络前缀,聚合再聚合)
这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的转发表中,需要有 64 行。采用地址聚合后,转发表中只需要用 1 行
来指出到 206.0.64.0/18 地址块的下一跳。
在 ISP 内的路由器的转发表中,也仅需用 206.0.68.0/22 这 1 个项目,就能把外部发送到
这个大学各系的所有分组,都转发到大学的路由器。
IP 地址的特点
(1) 每个 IP 地址都由网络前缀和主机号两部分组成
(2) IP 地址是标志一台主机(或路由器)和一条链路的接口
(3) 转发器或交换机连接起来的若干个局域网仍为一个网络
(4) 在 IP 地址中,所有分配到网络前缀的网络都是平等的(同一个网络)
这张图很能促进理解。
同一网络里,主机或路由器的网络号都一样,主机号不一样。
LAN1想到LAN2必须经过路由器即R1
两个路由器直接相连的接口处,可指明也可不指明 IP 地址。
如指明 IP 地址,则这一段连线就构成了一种只包含一段线路的特殊“网络” 。这种网络仅需两个 IP 地址,可以使用 /31 地址块。主机号可以是 0 或 1。
理解:
在同一个网络中,IP地址必须是唯一的,因此不能同时存在两个具有相同网络前缀和地址块的IP地址。例如,在 1.1.1.0/29 网络中,IP地址(主机地址)范围是从 1.1.1.1 到 1.1.1.6(其中1.1.1.0为网络地址,1.1.1.7为广播地址)。
在一个 /29 子网掩码中,每个子网有 8 个地址可用(其中一个用作网络地址,一个用作广播地址。同理在 1.1.1.8/29 网络中,IP地址范围是从 1.1.1.9 到 1.1.1.14(其中1.1.1.8为网络地址,1.1.1.15为广播地址)
【子网掩码29位,剩3位—>8个位置,以8个ip地址为一个子网。
再举例:那换成/24呢?那网络范围就是1.1.1.0~1.1.255】
IP 地址与 MAC 地址的区别
MAC地址(Media Access Control Address)是网卡(网络适配器)的硬件地址,用于识别网络设备的唯一标识符。它是一个48位(通常以十六进制表示)的地址,由设备的制造商分配,并在设备生产时固化在网络接口硬件中。MAC地址通常是全球唯一的,用于在局域网中唯一标识每个网络设备。
IP地址段,即一系列连续的IP地址。IP地址是用于在网络中唯一标识设备的地址,用于标识网络中的主机或路由器。IP地址段是指一组IP地址的范围,可以是一个连续的范围,也可以是不连续的多个范围。
简单来说,MAC地址标识网卡,在数据链路层(第二层);
而IP地址用于标识主机或路由器,在网络层(第三层)。
注:IP数据报MTU=1500字节,超过就需要分片。
注意:数据报中 IP 地址是否有变化?
尽管互连在一起的网络的 MAC 地址体系各不相同,但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节。只要我们在网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或路由器之间的通信。
(看不见MAC,只看IP)
地址解析协议 ARP
实现 IP 通信时使用了两个地址:
地址解析协议 ARP 的作用
问题:已经知道了一个机器(主机或路由器)的 IP 地址,如何找出其相应的 MAC 地址?
ARP 可以解决同一个局域网上的主机或路由器的 IP 地址和 MAC 地址的映射问题
也就是说IP通过ARP协议得到MAC地址
要点:
①存放 IP 地址到 MAC 地址的映射表:< IP 地址;MAC 地址;生存时间 (Age);类型等 >。
就是一张表,存放了目标主机的IP地址和MAC地址,类型分为动态和静态的(动态是广播后学习配置,静态是手动配置,静态更安全可防止ARP攻击)。当它要和其他设备通信,首先检查自己的ARP表,来找目标MAC地址,如果没有,就发送一个 ARP 请求广播(广撒网,对应的设备会回应),询问目标设备的 MAC 地址。目标设备收到该请求后,会通过 ARP 响应单播回复自己的 MAC 地址。发送请求的设备会收到响应后更新自己的 ARP 缓存,以包含新学习到的 MAC 地址。
②当主机 A 向本局域网上的某个主机 B 发送 IP 数据报:找到B的IP地址则取出其MAC地址并写入目的地址后发送,否则(没找到IP)自动运行ARP找出主机B的MAC地址并写入目的地址后发送。
(工作原理省流:我向你写信,你信名就是你的ip,家里地址就是MAC地址,如果我的小本本没有你的地址,我就打个电话问你地址,知道地址之后就可以发了,下次再发直接看小本本)
③ARP 查找 IP 地址对应的 MAC地址
↑ 请求广播里面,目标MAC是未知的,填0,当目标主机收到之后,会写入自己的MAC地址(把我家地址写在纸上塞进你的小本本)↓
上一点引申出多三种ARP协议的情况,共四种:
如果源主机和目的主机在一个网络中,这就很简单,源主机直接通过ARP协议寻找目的主机的物理地址。也就是
情况1:源主机直接通过ARP协议寻找同一个网络下目的主机的物理地址。
如果源主机和目的主机不在一个网络中,就必须通过路由器路由。通过查找路由表,将目的主机的IP地址转换为下一跳的IP地
址。再通过ARP协议,将下一跳的IP地址转换为对应的物理地址。
细分有3种情况:
情况2:源主机寻找下一跳路由器的物理地址。
情况3:路由器寻找在同一个网络中的目的主机的物理地址。
情况4:路由器和目的主机不在同一个网络中,路由器A寻找下一
条路由器B的物理地址。
主要概况就是:ARP协议的四种情况,同网主机直接找,异网路由间接找
IP数据报的格式
IP 数据报是互联网协议(IP)中的一个基本单位,用于在网络上进行数据通信。
它是在网络层(第三层)上使用的数据单元,用于将数据从一个网络节点传输到另一个网络节点。
首部是固定长度!共 20 字节,是所有 IP 数据报必须具有的。
依次看看要点:
标志字段的最低位是 MF (More Fragment)。
MF=1 表示后面还有分片,MF=0 表示最后一个分片。
标志字段中间的一位是 DF (Don't Fragment) 。
只有当 DF=0 时才允许分片。 和总长度/MTU分片有什么关系?下面的看片偏移。
片偏移以 8 个字节为偏移单位!!!!
数据报长度超过MTU,则需要进行分片,片偏移就是还原原来为分片数据的关键。
偏移计算是一个考点。原则:
看例子(记住一片最多1500字节):
↑都除以8就完事了(分片在原始数据报中的比特位置)
右侧例子分析:有效荷载就是数据部分,总共需要发2980字节,
但是在一个MTU里数据部分最多1480(因为20留给首部),
所以总数据部分2980要拆成1480+1480+1480
【2980=1480+1480+20】
(期末必考/研)计算机网络原理之【网络层】IP数据报分片-CSDN博客
例题:
通过工具发送一个总长度为3400字节的IP数据报,通过MTU=1500字节的链路转发。试求以下内容:
注:首部占20字节,即20B;在计算数据长度时需减去20B。MTU=1500B,则其中可以封装的数据长度为:1480B。数据报总长度=3400B,则数据长度为:3380B。
则分片数为:3380÷1480=2.28 (即:3片)
或者直接看我之前的思路,1480+1480+420,3片。
这个也很好算,按我自己的做法,在第一步已经求出 ,不解释了。
第一片、第二片后面都还有分片,则MF(more fragment)=1;
第三片后面没有分片了,则MF=0;
第一二三片都是分片得来的,肯定是允许分片的,
则DF(don't fragment)=0。
求片偏移:对于每片的字节在原来完整数据部分的开始位置,
都除以8就完事了(分片在原始数据报中的比特位置)。
数据报每经过一个路由器,路由器都要重新计算一下首部检验和