概述
讨论网络互联问题
有了ethernet、mac地址、广播的发送方式,世界上的计算机就可以彼此通信了,问题是世界范围的互联网是由一个个彼此隔离的小的局域网组成的,那么如果所有的通信都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,这就不仅仅是效率低的问题了,这会是一种灾难
必须找出一种方法来区分哪些计算机属于同一广播域,哪些不是。如果是就采用广播的方式发送,如果不是,就采用路由的方式(向不同广播域/子网分发数据包),mac地址是无法区分的,它只跟厂商有关
网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址
1. 网络层所提供的两种服务
争论在于可靠交互由谁来负责
1.1 虚电路服务
让网络负责可靠交付
-
面向连接的通信方式
-
建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源;虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接
-
如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点
1.2 数据报服务
(因特网采用的设计思路)
-
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
-
网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
-
网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
尽最大努力交付的好处
① 由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。
② 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。
③ 网络的造价大大降低,运行方式灵活,能够适应多种应用。因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
1.3 两者对比
2. 网际协议IP
与IP协议配套使用的还有三个协议
① 地址解析协议ARP
② 网络报文控制协议ICMP
③ 网际组管理协议IGMP
- IP协议使得复杂的实际网络变为一个虚拟互联网络
- IP协议使得网络层可以屏蔽底层细节而专注网络层的数据转发
- IP协议解决了在虚拟互联网络中数据报传输路径的问题
2.2 分类的IP地址
2.1 虚拟互联网络
有很多不同的网络(局域网…),不同网络协议的网络要互联需要一些中间设备
中间设备又称为中间系统或中继(relay)系统。
-
物理层中继系统:转发器(repeater)。
-
数据链路层中继系统:网桥或桥接器(bridge)。当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。
-
网络层中继系统:路由器(router)。
-
网桥和路由器的混合物:桥路器(brouter)。互联网都是指用路由器进行互连的网络。
-
网络层以上的中继系统:网关(gateway)。 网关由于比较复杂,目前使用得较少。(现在说的网关就是路由器的一个接口的地址,习惯用本网段的第一个或最后一个问题)
所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。
使用 IP 协议的虚拟互连网络可简称为 IP 网。
使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节,我们通过IP地址就构成了一个网络了,而不在意底层是怎么连接的了
2.2.1 IP地址及其表示方式
我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)的每一个接口分配一个在全世界范围是唯一的 32 位的标识符(IPV4)
IP 地址的编址方法
-
分类的 IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
-
子网的划分。这是对最基本的编址方法的改进,其标准[RFC 950]在 1985 年通过。
-
构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。
近年来已经广泛使用无分类IP地址进行路由选择,但是很多文献还在使用传统的分类IP地址,这里从分类的IP地址开始说起
1. 分类的IP地址
每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
我们使用点分十进制表示
可以看到ABC类地址不仅仅是net-id的长度不同,这个长度不同最后只会造成网段下的网络数的不同,更重要的是他们开头不同,A类地址是0转换为点分十进制后从0-127,B是10转换为点分十进制后128-191,C是110(192-224)
几个特殊的网段地址
① 127是本地的环回地址,不加到A类地址(127.0.0.1表示本计算机)
② 169.254.x.x 是当计算机使用自动获得IP地址时,获得失败分配的
③ 保留的私网地址:是分配给公司或组织内部使用,不会放到公网,也就说别的公网的计算机连接不到
A类:10.0.0.0
B类:172.16.0.0 ---- 172.31.0.0
C类:192.168.0.0 ---- 192.168.255.0
几个特殊的主机地址
主机地址全0不能用
主机地址全1为广播地址
所以从IP地址的结构看,IP地址并不仅仅指明一台主机,还指明了主机所连接到的网络
为什么要分为ABC类:各种网络的差异很大,有的网络拥有很多主机,而有的网络的主机则很少
IP地址的一些重要特点
1. IP 地址是一种分等级的地址结构。分两个等级的好处是:
① IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
② 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
2. 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口
① 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。
② 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
3. 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
4. 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
① 在同一个局域网上的主机或路由器的IP 地址中的网络号必须是一样的。图中的网络号就是 IP 地址中的 net-id
② 路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的 IP 地址
③ 两个路由器直接相连的接口处,可指明也可不指明 IP 地址。如指明 IP 地址,则这一段连线就构成了一种只包含一段线路的特殊“网络” 。现在常不指明 IP 地址。
④ 用网桥连接起来的网段仍是一个局域网(B),只能有一个网络号,网桥只在链路层工作
2.2.2 IP地址和硬件地址
物理地址是链路层和物理层使用的地址
IP地址是网络层和以上个各层使用的地址,是一种逻辑地址
在发送数据的时候,数据从高层下到低层,然后才到通信链路层传输,使用IP地址的IP数据报一旦交给了数据链路层就被封装为MAC帧,MAC帧在传输的时候使用的源地址和目的地址是MAC地址
连接在通信链路上的设备收到MAC帧后,根据MAC帧的首部的硬件地址绝对收下或丢弃,只有在剥去MAC帧的首部和尾部后把数据交给网络层,网络层才能根据IP数据报的首部找到源IP地址和目的IP地址
尽管互联在一起的网络的硬件地址体系各不相同,但IP层抽象的互联网却屏蔽了下层这些复杂的细节,只要我们在网络层上讨论问题,就能用统一的抽象的IP地址研究主机和或路由器之间的通信
2.2.3 地址解析协议ARP
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址
从网络层使用的IP地址解析出在数据链路层使用的硬件地址
每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。
当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了
注意
ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题
如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。
只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。
==使用 ARP 的四种典型情况 ==
① 发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。
② 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
③ 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。
④ 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
什么我们不直接使用硬件地址进行通信?
-
由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。
-
连接到因特网的主机都拥有统一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为调用 ARP 来寻找某个路由器或主机的硬件地址都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。
2.2.4 IP 数据报的格式
一个 IP 数据报由首部和数据两部分组成。
首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
在首部的固定部分的后面是一些可选字段,其长度是可变的。
1. 版本
版本——占 4 位,指 IP 协议的版本;目前的 IP 协议版本号为 4 (即 IPv4)
2. 首部长度
首部长度——占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是 60 字节
3. 区分服务
区分服务——占 8 位,用来获得更好的服务
在旧标准中叫做服务类型,但实际上一直未被使用过。
1998 年这个字段改名为区分服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。
在一般的情况下都不使用这个字段
4. 总长度
总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。
在IP层下的每一种数据链路层都规定了一个数据帧中的数据字段的最大长度(MTU)当一个IP数据报封装成链路层的帧的时候,此数据报的总长度一定不能大于MTU,如果超过就要进行分片处理
5. 标识
标识(identification) 占 16 位,它是一个计数器,用来产生数据报的标识。
标识并不是序号,因为网路层是无连接的服务,不存在按序接收的问题,只是说同一个数据报分片成多个数据报他们会有相同的标识,这样在最后才能封装成原来的数据报
6. 标准
标志(flag) 占 3 位,目前只有前两位有意义。
- 标志字段的最低位是 MF (More Fragment),MF = 1 表示后面“还有分片”。MF = 0 表示最后一个分片。
- 标志字段中间的一位是 DF (Don’t Fragment) ,只有当 DF = 0 时才允许分片。
7. 片偏移
片偏移(13 位)指出:较长的分组在分片后某片在原分组中的相对位置。
片偏移以 8 个字节为偏移单位。也就说每个分片的长度一定是8字节的整数倍
如下是长度为3820字节的数据报分片为长度不超过1420字节的数据报的结果
8. 生存周期
生存时间(8 位)记为 TTL (Time To Live)数据报在网络中可通过的路由器数的最大值。
目的是防止无法交付的数据报无限制的在互联网兜圈子
9. 协议
协议(8 位)字段指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个处理过程
10. 首部检验和
首部检验和(16 位)字段只检验数据报的首部不检验数据部分。没经过一个路由器检验一次首部信息
这里不采用 CRC 检验码而采用简单的计算方法。
11. 源地址
12. 目的地址
源地址和目的地址都各占 4 字节(IPV4)
2.2.5 IP层转发分组的流程
有四个 A 类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。
可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。
但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目。这样就可使路由表大大简化。
根据目的网络地址就能确定下一跳路由器,这样做的结果是:
- IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
- 只有到达最后一个路由器时,才试图向目的主机进行直接交付。
特定主机路由
- 这种路由是为特定的目的主机指明一个路由。
- 采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。
默认路由
注意
-
数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。
-
当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。
-
网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。
即使这样在路由表中不断地使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器会造成一定的开销,那也不能直接在路由表使用MAC地址,因为抽象的IP地址,本身就是为了隐藏底层网络的复杂性
分组转发算法
① 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
② 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付执行③
③ 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行④
④ 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行⑤
⑤ 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行⑥
⑥ 报告转发分组出错。
2.2.6 几种不同的路由
① 静态路由:
静态路由指的是有一些路由器使用者或是一些网络管理人员手工进行配置的一些路由信息
② 默认路由:
路由得查看路由表而决定怎么转发数据包,用静态路由一个一个配置,繁琐容易错,但是如果路由器有个邻居知道怎么前往所有的目的地,可以把路由表匹配的任务交给它,省了很多事。
(1) 实际上默认路由是一种特殊的静态路由,指的是当 路由表中与包的目的地址之间没有匹配的表项时,路由器能够做出选择。如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。
(2)默认路由(Default route),如果IP数据包中的目的地址找不到存在的其它路由时,路由器会默认的选择的路由。
默认路由为0.0.0.0
匹配IP地址时,0表示wildcard,任何值都是可以的,所有0.0.0.0.和任何目的地址匹配都会成功,造成默认路由要求的效果。就是说0可以匹配任何的IP地址。
3. 划分子网和构造超网
3.1 划分子网
早期IP地址设计的缺点
在 ARPANET 的早期,IP 地址的设计确实不够合理。
-
IP 地址空间的利用率有时很低。
-
给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
-
两级的 IP 地址不够灵活。
改进
从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址
划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
划分子网的基本思路
-
凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
-
然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
-
最后就将 IP 数据报直接交付目的主机。
一个为划分子网的B类网络145.13.0.0
划分子网后对外仍是一个网络 -
当没有划分子网时,IP 地址是两级结构。
-
划分子网后 IP 地址就变成了三级结构。
-
划分子网只是把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号 net-id。
子网掩码 -
从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
-
使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。
子网掩码是一个重要属性
-
子网掩码是一个网络或一个子网的重要属性。
-
路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。
-
路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。
-
若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
在划分子网的情况下路由器转发分组的算法
① 从收到的分组的首部提取目的 IP 地址 D。
② 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行③
③ 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行④。
④ 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行⑤
⑤ 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行⑥。
⑥ 报告转发分组出错。
3.2 无分类编址CIDR(构造超网)
无分类编址CIDR(
划分子网有一些问题
- B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕!
- 因特网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。
- 整个 IPv4 的地址空间最终将全部耗尽
CIDR的特点
- CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。
- CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
- IP 地址从三级编址(使用子网掩码)又回到了两级编址。
无分类的两级编址
CIDR 还使用“斜线记法”(slash notation),它又称为CIDR记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)
CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。
如:
- 128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。
- 这个地址块的起始地址是 128.14.32.0。
- 在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。
- 128.14.32.0/20 地址块的最小地址:128.14.32.0
- 128.14.32.0/20 地址块的最大地址:128.14.47.255
- 全 0 和全 1 的主机号地址一般不使用
路由聚合
- 一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
- 路由聚合也称为构成超网(supernetting)。
- CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。
- 对于 /20 地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中1的个数。
4. ICMP网络控制报文协议
-
为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。
-
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
-
ICMP 不是高层协议,而是 IP 层的协议。
-
ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
ICMP报文的种类
- 差错报告报文
① 终点不可达
② 源点抑制(Source quench)
③ 时间超过
④ 参数问题
⑤ 改变路由(重定向)(Redirect)
- 询问报文
① 回送请求和回答报文
② 时间戳请求和回答报文
③ 下面的几种 ICMP 报文不再使用
④ 信息请求与回答报文
⑤ 掩码地址请求和回答报文
⑥ 路由器询问和通告报文
5. 网络畅通的条件和静态路由
数据路由: 路由器在不同网段转发数据包
*网络畅通的条件: *能去能回
① 沿途的路由器知道去目标网络的下一跳给哪个接口
② 沿途的路由器知道目标网络返回数据的下一跳给哪个接口
静态路由: 管理员给路由器手动加路由表,让路由器知道到目标网段的下一跳应该怎么走
默认路由:
路由得查看路由表而决定怎么转发数据包,用静态路由一个一个配置,繁琐容易错,但是如果路由器有个邻居知道怎么前往所有的目的地,可以把路由表匹配的任务交给它,省了很多事。
(1) 实际上默认路由是一种特殊的静态路由,指的是当 路由表中与包的目的地址之间没有匹配的表项时,路由器能够做出选择。如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。
(2)默认路由(Default route),如果IP数据包中的目的地址找不到存在的其它路由时,路由器会默认的选择的路由。
默认路由为0.0.0.0
匹配IP地址时,0表示wildcard,任何值都是可以的,所有0.0.0.0.和任何目的地址匹配都会成功,造成默认路由要求的效果。就是说0可以匹配任何的IP地址。
6. 互联网的路由选择协议
6.1 基本概念
静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化,一般用于简单的小网络,人工配置每一条路由
动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大
分层次的路由选择协议
因特网采用分层次的路由选择协议,这是因为
① 因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。
② 许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。
自治系统
自治系统 AS 的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
现在对自治系统 AS 的定义是强调下面的事实:尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
-
内部网关协议 IGP (Interior Gateway Protocol) 即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。
-
外部网关协议EGP (External Gateway Protocol) 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4
6.2 内部网关协议 RIP
周期性广播,每隔30s广播一次,动态的选择最佳路径(认为经过的路由器最少路径最优,所以在带宽不同时选择的路径可能不是最优)
超过15跳认为不可达
RIP的三个特点
-
仅和相邻路由器交换信息。
-
交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
-
按固定的时间间隔交换路由信息,例如,每隔 30 秒。
距离向量算法
收到相邻路由器(其地址为 X)的一个 RIP 报文:
-
先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1
-
对修改后的 RIP 报文中的每一个项目,重复以下步骤:
① 若项目中的目的网络不在路由表中,则把该项目加到路由表中。
② 否则
若下一跳字段给出的路由器地址是同样的,则把收到的项 目 替换原路由表中的项目。
③ 否则
若收到项目中的距离小于路由表中的距离,则进行更新,
④ 否则,什么也不做。 -
若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)
-
返回
RIP的优缺点
RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
RIP 协议最大的优点就是实现简单,开销较小。
RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
6.3 内部网关协议 OSPF
开放式最短优先,在现在internet用的
度量值是带宽,支持多区域,触发式更新,只有路由器改变的时候改变
基本特点
① “开放”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的。
② “最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法SPF
③ OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。
④ 是分布式的链路状态协议。
6.4 外部网关协议 BGP
BGP 是不同自治系统的路由器之间交换路由信息的协议。
6.5 路由器
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组
整个路由器的结构可以分为两大部分
① 分组转发(forwarding):就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。
② 路由选择”(routing):则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。
路由表是根据路由选择算法得出的。而转发表是从路由表得出的。
在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,
7. 虚拟专用网络VPN和网络地址转换NAT
7.1 虚拟专用网络VPN
① 一个机构所能申请到的IP地址的数量往往小于本机构所拥有的主机数
② 互联网不安全,一个机构并不需要把所有的主机都接入到外部的互联网,很多情况下,很多主机还要能额本机构的其他主机进行通信
7.1.2 本地地址和全球地址
- 本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请
10.0.0.0 到 10.255.255.255
172.16.0.0 到 172.31.255.255
192.168.0.0 到 192.168.255.255
这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。
专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。
- 全球地址——全球唯一的IP地址,必须向因特网的管理机构申请
有时一个很大的机构的许多部门分布的范围很广(如在世界各地),这些部门交换内部信息有两种方式
① 租用电信公司的通信线路为本公司专用
② 利用公用的互联网作为本机构各专用网之间的通信载体(这样的专用网称为VPN)
VPN
这种网络为本机构的主要主机用于机构内部的通信,而不用于网络外非本机构主机的通信
IP隧道技术实现虚拟专用网络
某个机构在较远的场所建立了专用网A,B,网络地址分别为10.1.0.0和10.2.0.0,现在这两个场所需要通过公用的互联网建立VPN
显然每一个场所需要一个路由器具有合法的全球IP地址(如同R1,R2)场所A的主机X想场所B的主机Y通信,发送的IP数据报的源地址为10.1.0.1,目的地址为10.2.0.3,这个数据报先作为本机构的内部数据报从X发送到R1,R1发现其目标地址需要经过互联网才能到达,九江整个内部数据报加密,加上新的数据报头部,封装成在互联网发送的外部数据报,源地址为125.1.2.3目标地址为194.1.2.3,达到R2再取出数据部分解密转发
7.2 网络地址转换NAT
使得所有使用本地地址的主机在和外界通信时在 NAT 路由器上将其本地地址转换成 全球IP地址和因特网连接
-
内部主机 X 用本地地址 IPX 和因特网上主机 Y 通信所发送的数据报必须经过 NAT 路由器。
-
NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但目的地址 IPY 保持不变,然后发送到因特网。
-
NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY 而目的地址是 IPG。
-
根据 NAT 转换表,NAT 路由器将目的地址 IPG 转换为 IPX,转发给最终的内部主机 X。
可以发现,拥有n个全球IP地址的NAT路由器,专用网内可以最多同时接入n台主机接入到互联网;这样可以使专用网内较多数量的主机轮流使用NAT路由器有限数量的全球IP地址
实际上节省IP地址的是PAT,NAT不能省地址
8. IPV6
IPV6的介绍
最后
以上就是害羞大山为你收集整理的网络层1. 网络层所提供的两种服务2. 网际协议IP3. 划分子网和构造超网4. ICMP网络控制报文协议5. 网络畅通的条件和静态路由6. 互联网的路由选择协议7. 虚拟专用网络VPN和网络地址转换NAT8. IPV6的全部内容,希望文章能够帮你解决网络层1. 网络层所提供的两种服务2. 网际协议IP3. 划分子网和构造超网4. ICMP网络控制报文协议5. 网络畅通的条件和静态路由6. 互联网的路由选择协议7. 虚拟专用网络VPN和网络地址转换NAT8. IPV6所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复