计算机网络复习——第4章 4.2.3 4.2.4 4.3

4.2.3  IP 地址与 MAC 地址

IP地址:虚拟地址、软件地址、逻辑地址。 网络层和以上各层使用。 放在 IP 数据报的首部。

MAC地址:固化在网卡上的 ROM 中。硬件地址、物理地址。数据链路层使用。放在 MAC 帧的首部。IP 地址放在 IP 数据报的首部, MAC 地址则放在 MAC 帧的首部。计算机网络复习——第4章 4.2.3 4.2.4 4.3_第1张图片

计算机网络复习——第4章 4.2.3 4.2.4 4.3_第2张图片 在 IP 层抽象的互联网上只能看到 IP 数据报,在局域网的链路层,只能看见 MAC 帧。在上图的通信途径中可以得到下图的表格。计算机网络复习——第4章 4.2.3 4.2.4 4.3_第3张图片

 4.2.4  地址解析协议 ARP

实现 IP 通信时使用了两个地址: IP 地址(网络层地址) MAC 地址(数据链路层地址)

那么我们知道IP地址该怎样去找到MAC地址呢?利用ARP协议来进行解析即可。

要点 1:ARP 高速缓存 (ARP cache)

存放 IP 地址到 MAC 地址的映射表。 映射表动态更新(新增或超时删除)。

< IP 地址;MAC 地址;生存时间 (Age);类型等 >

超过生存时间的项目都从高速缓存中删除,以适应网络适配器变化。

利用ARP协议进行查找IP地址对应的MAC地址。

本局域网上广播发送 ARP 请求(路由器不转发 ARP 请求)。

ARP 请求分组:包含发送方硬件地址 / 发送方 IP 地址 / 目标方硬件地址(未知时填 0) / 目标方 IP 地址。

单播 ARP 响应分组:包含发送方硬件地址 / 发送方 IP地址 / 目标方硬件地址 / 目标方 IP 地址。 ARP 分组封装在以太网帧中传输。

具体流程如图所示:

计算机网络复习——第4章 4.2.3 4.2.4 4.3_第4张图片ARP 高速缓存的作用:存放最近获得的 IP 地址到 MAC 地址的绑定。 减少 ARP 广播的通信量。 为进一步减少 ARP 通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到 MAC 地址的映射写入 ARP 请求分组。 当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的 IP 地址及其对应的 MAC 地址映射写入主机 B 自己的 ARP 高速缓存中。不必在发送 ARP 请求。 

2台主机不在同一个局域网中怎么办:

通信的路径:A → 经过 R1 转发 → B。 因此主机 A 必须知道路由器 R1 的 IP 地址,解析出其 MAC 地址。然后把 IP 数据报传送到路由器 R1。

使用 ARP 的四种典型情况:

1.发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。

2.发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

3.发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。

4.发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。

4.2.5  IP 数据报的格式

IP 数据报由首部和数据两部分组成

首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。可选字段,其长度是可变的现在一般不用。

计算机网络复习——第4章 4.2.3 4.2.4 4.3_第5张图片IP 数据报首部的固定部分中的各字段:

版本:占4位,指 IP 协议的版本。 目前的 IP 协议版本号为 4 (即 IPv4)。

首部长度:占 4 位,可表示的最大数值 是 15 个单位(一个单位为 4 字节), 因此 IP 的首部长度的最大值是 60 字节。

区分服务:占 8 位,用来获得更好的服务。 只有在使用区分服务(DiffServ)时,这个字段才起作用。 在一般的情况下都不使用这个字段。

总长度:占 16 位,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 65535 字节。 总长度必须不超过最大传送单元 MTU。 

标识 (identification) :占 16 位, 它是一个计数器,用来产生 IP 数据报的标识。每产生一个数据报,计数器就加1,并将此值赋值给标识字段。

标志(flag) :占 3 位,目前只有前两位有意义。 标志字段的最低位是 MF (More Fragment)。 MF=1 表示后面还有分片,MF=0 表示最后一个分片。 标志字段中间的一位是 DF (Don't Fragment) 。 只有当 DF=0 时才允许分片。

片偏移:占 13 位,指出:较长的分组在分片后 某片在原分组中的相对位置。 片偏移以 8 个字节为偏移单位。

生存时间:占 8 位,记为 TTL (Time To Live), 指示数据报在网络中可通过的路由器数的最大值。每经过一个路由器时,就把TTL减去在该路由器所消耗的时间。当TTL减为0时就丢弃这个数据报。

协议:占 8 位,指出此数据报携带的数据使用何种协议, 以便目的主机的 IP 层将数据部分上交给哪个处理过程。IP 协议支持多种协议,IP 数据报可以封装多种协议 PDU。

首部检验和:占 16 位,只检验数据报的首部, 不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。

源地址:占 32 位发送主机的IP地址。

目的地址:占 32 位接受主机的IP地址。

 4.3 IP 层转发分组的过程

1)基于终点的转发

分组在互联网中是逐跳转发的。 基于终点的转发:基于分组首部中的目的地址传送和转发。

计算机网络复习——第4章 4.2.3 4.2.4 4.3_第6张图片

为了压缩转发表的大小, 转发表中最主要的路由是(目的网络地址,下一跳地址) , 而不是(目的地址,下一跳地址)。 查找转发表的过程就是逐行寻找前缀匹配。 

计算机网络复习——第4章 4.2.3 4.2.4 4.3_第7张图片2)最长前缀匹配

使用 CIDR 时,在查找转发表时可能会得到不止一个匹配结果。 最长前缀匹配原则:选择前缀最长的一个作为匹配的前缀。 网络前缀越长,其地址块就越小,因而路由就越具体。 可以把前缀最长的排在转发表的第 1 行。

最长前缀匹配: 选择前缀最长的一个作为匹配的前缀

网络前缀越长,其地址块就越小,路由就越具体。可以把前缀最长的排在转发表的第 1 行,以加快查表。

转发表中的 2 种特殊的路由

主机路由 (host route) 又叫做特定主机路由。 是对特定目的主机的 IP 地址专门指明的一个路由。 网络前缀就是 a.b.c.d/32 放在转发表的最前面。

默认路由 (default route) 不管分组的最终目的网络在哪里,都由指定的路由器 R 来处理 用特殊前缀 0.0.0.0/0 表示。只要进行匹配的时候无法查找到相匹配的就转到默认路由当中,再让默认路由转发到下一个路由当中。

路由分组转发算法流程图:

计算机网络复习——第4章 4.2.3 4.2.4 4.3_第8张图片

 

你可能感兴趣的:(计算机网络,计算机网络,网络,经验分享,其他)