计算机基础-计算机网络(四)

Author Avatar
wshunli 10月 06, 2017
  • 在其它设备中阅读本文章

计算机网络-网络层 部分读书笔记

网络层向上只提供简单灵活的、无连接、尽最大努力交付的数据报(IP数据报或分组)服务。

网际协议 IP

网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有三个协议:

  • 地址解析协议 ARP (Address Resolution Protocol)
  • 网际控制报文协议 ICMP (Internet Control Message Protcol)
  • 网际组管理协议 IGMP (Internet Group Management Protcol)

逆地址转换协议 RARP(Reverse Address Resolution Protocol),已淘汰。

虚拟互联网络

虚拟互联网就是各种异构的网络逻辑上的互联网络。

具体连接各异构网络的中间设备如下:
物理层:网卡,网线,集线器,中继器,调制解调器
链路层:网桥,交换机
网络层:路由器
运输层及其以上:网关

IP地址的编址方法

IP地址的编址方法经历了三个阶段:分类的 IP 地址、子网的划分、构成超网。

分类的 IP 地址

IP地址 = 网络号 + 主机号

IP 地址分为五类:

网络层-IP地址分类

  • A 类 网络号总数:2^7 - 2 主机号总数:2^24 - 2
  • B 类 网络号总数:2^14 - 1 主机号总数:2^16 - 2
  • C 类 网络号总数:2^21 - 1 主机号总数:2^8 - 2

注意:

  • 主机号全为 0 代表本主机所在的网络地址,全为 1 代表该网络的所有主机所有主机。
  • A 类网络号全为 0 为保留地址,意思是本网络,网络号 127 (例如 127.0.0.1) 为本地软件环回测试地址。
  • B类、C类网络号全为 0 (128.0.0.0、192.0.0.0) 不指派,主机号要减去全为 0 ,全为 1 的。

子网的划分

1. 从二级 IP 地址到三级 IP 地址

IP地址 = 网络号 + 主机号 》》 IP地址 = 网络号 + 子网号 + 主机号

划分子网的思路

  1. 可将物理网络划分为若干子网,对外仍然表现为一个网络
  2. 划分方法是从主机号借用若干位作为子网号
  3. 从其他网络发到路由器过程没有变化,但是路由器收到 IP 数据报后,再按照目的网络号和子网号,把 IP 数据报交付目的主机。

2.子网掩码

路由器根据子网掩码把 IP 数据报转发到子网。

网络层-子网掩码

子网掩码和 IP 地址逐位“与”运算,得到子网的 IP 地址。

默认子网掩码

在不划分子网时,该网络的子网掩码就是默认网掩码。

网络层-默认子网掩码

以 B 类地址为例,子网号没有 0、1、15、16 长度,划分子网要全为 0 和全为 1 的情况。

构成超网

无分类编址 CIDR (构造超网)

1. 取消传统 A、B、C 类地址及划分子网的概念
IP 地址 = 网络前缀 + 主机号

2. CIRD 把网络前缀相同的连续 IP 地址组成一个 CIRD地址块
CIRD 记法: 128.14.35.7/20
/20 代表网络前缀位数20位。

CIRD 使用32位的地址掩码(子网掩码),在CIRD记法中,/20 代表子网掩码 1 的个数。

IP 数据报

IP 数据报的完整格式

网络层-IP数据报

IP 数据报 = 首部 (固定长度+可选字段)+ 数据

更多信息查看百度百科: IP数据报

IP 层转发分组流程

转发分组研究的是分组怎样从一个路由器到另一个路由器的问题。

  • IP数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
  • 只有到达最后一个路由器时,才试图向目的主机进行直接交付。

在互联网上转发分组时,是从一个路由器转发到下一个路由器。在路由表中,对每一条路由最主要的是以下两个信息:(目的网络地址,下一跳地址)。

网络层-路由表

转发分组算法

(1) 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
(2) 若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付给目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就要执行(3)进行间接交付。
(3) 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(4)。
(4) 若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(6)。
(6) 报告转发分组出错。

由此可见,在IP数据报的首部并没有指明下一跳路由器的IP地址,在IP数据报的首部只有源IP地址和目的IP地址。
转发分组是基于目的主机所在的网络,路由表也没有具体指明到某个网络的完整路径。

划分子网后的分组转发

划分子网后,路由表中包含:目的网络地址、子网掩码、下一跳地址。

(1) 从收到的分组的首部提取目的IP地址 D。
(2) 先用各网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。
(3) 若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。
(4) 对路由表中的每一行的子网掩码和D逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。

地址解析协议 ARP

IP 地址与 MAC 地址

MAC 地址是链路层和物理层使用的地址。
IP 地址是网络层积以上各层使用的地址。

网络层-IP地址和MAC地址

地址解析协议

地址解析协议 ARP 根据 IP 地址寻找相应的硬件地址。

ARP 的原理是 每台主机都有一个 ARP 高速缓存,存储本局域网的所有主机的IP地址和硬件地址的映射表。

  • 当主机A向局域网内的其他主机B发送 IP 数据报时,从ARP高速缓存中取出B的物理地址即可。
  • 如果缓存中不存在B的物理地址,则发送ARP请求分组(广播),B接收到分组发送ARP响应分组(单播),并在B的高速缓存中存储A的IP地址和物理地址。

网络层-ARP工作原理

ARP 解决的是局域网上主机或者路由器 IP 与物理地址的映射问题。如果两主机在同一局域网,则通过路由器解决。

RARP 逆地址解析协议,根据硬件地址查询 IP 地址。现在被包含在 DHCP 中。

网际控制报文协议 ICMP

为了更有效地转发 IP 数据报和提高交付成功的机会。

ICMP 报文作为IP数据报的数据,加上数据报的首部,组成IP数据报发送出去。
网络层-ICMP数据报

类型分为 ICMP 差错报告报文和 ICMP 询问报文。
网络层-ICMP数据报分类

用于TCP/IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,令管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。它与传输协议最大的不同:它一般不用于在两点间传输数据,而常常用于返回的错误信息或是分析路由。

ICMP控制的内容包括但不仅限于:echo响应(ping)、目标网络不可达、目标端口不可达、禁止访问的网络、拥塞控制、重定向、TTL超时…

路由选择协议

在Internet的概念中,将整个互联网划分为许多个小的自治系统(AS)。
AS的最主要的特征:一个AS对其他AS表现出的是一个单一和一致的路由选择策略。

路由选择协议分为两类:

  • 内部网关协议 IGP:在一个AS内部使用的路由选择协议,而这与互联网中其他AS选用什么路由协议无关。例如:RIP、OSPF协议。
  • 外部网关协议 EGP:若源主机和目的主机不再同一个AS中,就需要使用一种协议将路由选择信息传递到另一个AS中,这就是EGP。例如:BGP协议。

内部网关协议 RIP

RIP (路由信息协议)属于内部网关协议(IGP)的一种,是一种基于距离向量的路由选择协议。
RIP 仅和相邻路由、按固定时间、交换本路由知道的所有信息。

内部网关协议 OSPF

OSPF 属于内部网关协议(IGP)的一种,基于 Dijkstra 提出的最短路径算法。

OSPF提出了“区域(Area)”的概念,一个网络可以由单一区域或者多个区域组成。
其中,一个特别的区域被称为骨干区域(Backbone Area),该区域是整个OSPF网络的核心区域,并且所有其他的区域都与之直接连接。
所有的内部路由都通过骨干区域传递到其他非骨干区域。
所有的区域都必须直接连接到骨干区域,如果不能创建直接连接,那么可以通过虚拟链路(Virtual-link)和骨干区域创建虚拟连接。

外部网关协议 BGP

BGP 属于外部网关协议(EGP)的一种。

由于BGP是工作在AS之间的协议,并且各个AS的情况复杂,所以 BGP只是力求找到一个可以到达目的网络且比较好的路由,而并不是寻找一条最佳路由。
每一个AS都应该有一个“BGP发言人”,一般来说,两个BGP发言人是通过一个共享网络连接在一起的,BGP发言人往往是BGP边界路由,但也可以不是。
一个BGP发言人与其他AS的BGP发言人要交换路由信息,首先要建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话。当BGP发言人交换了路由信息后,就构造自治系统连通图,最后通过该图来进行路由选择。

IPv6

IPv6二进位制下为128位长度,以16位为一组,每组以冒号“:”隔开,可以分为8组,每组以4位十六进制方式表示。
例如:2001:0db8:85a3:08d3:1319:8a2e:0370:7344 是一个合法的IPv6地址。

IPv6 地址分为:

  • 单播:点对点通信
  • 多播:一对多通信,数据发送到一组计算机的每一个。
  • 任播:终点是一组计算机,但数据只发给其中的一个,通常是最近的一个。

IPv4向IPv6过渡采用双协议栈、隧道技术等。

地址转换协议 NAT

NAT 是一种在 IP数据报 通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。
这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。

多协议标记交换 MPLS

MPLS是利用标记(label)进行数据转发的。当分组进入网络时,要为其分配固定长度的短的标记,并将标记与分组封装在一起,在整个转发过程中,交换节点仅根据标记进行转发。

如果本文对您有所帮助,且您手头还很宽裕,欢迎打赏赞助我,以支付网站服务器和域名费用。 https://paypal.me/wshunli 您的鼓励与支持是我更新的最大动力,我会铭记于心,倾于博客。
本文链接:https://www.wshunli.com/posts/6318182c.html