【网络】网络层

网络层提供的两种服务

虚电路服务
数据报服务(TCP/IP体系的网络层提供的服务)。


网际协议IP

网际协议IP及其配套协议

地址解析协议ARP和逆地址解析协议RARP

IP地址————>ARP————>物理地址(MAC)
物理地址————>RARP————>IP地址
逆地址解析协议RARP在过去曾起到重要作用。但现在的DHCP协议已经包含了RARP协议的功能,因此没有人再单独使用RARP协议。

ARP协议的要点:

每一个主机都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到物理地址的映射表,这些都是该主机目前知道的一些地址,对于不知道的地址,主机会在局域网内广播发送一个ARP请求分组,而被找的主机发现广播有自己的IP,就单播发送一个ARP响应分组。并且为了减少通信。找和被找的双方主机都把对方的IP地址和物理地址写入自己的ARP高速缓存中。保存在高速缓存中的每一个映射地址项目都有生存时间(10~20min)。
请注意,ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。

归纳出使用ARP的四种典型情况

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

既然在网络链路上传送的帧最终是要按照硬件地址找到目的主机的,那么为什么不直接使用硬件地址,而要使用抽象的IP地址呢?

由于全世界存在着各种各样的网络,它们使用不同的硬件地址。要使这些异构网络能够相互通信就必须进行非常复杂的硬件地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事情。但统一的IP地址解决了这个复杂的问题。

IP数据报的格式

这里写图片描述
版本:IP协议的版本,通信双方使用的IP协议的版本必须一致,IPv4—>4,IPv6—>6。
首部长度:这个字段所表示数的单位是32位字(一个32位字长是4字节),最常用的首部长度就是20字节(即首部长度是0101)。
区分服务:只有在使用区分服务,这个字段才起作用。一般情况不使用。
总长度:首部和数据之和的长度。单位为字节。因此IP数据报的最大长度是2的16次方-1=65535字节。
标识:当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。
标志:占3位,现在只有两位有意义。最低位记为MF(More Fragment),MF=1表示后面“还有分片”的数据报,MF=0表示这已是若干数据报片中的最后一个。中间位记为DF(Don’t Fragment),意思是“不能分片”,DF=0时才允许分片。
片偏移:片偏移指出,较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位,这就是说,每个分片的长度一定是8字节的整数倍。
生存时间:TTL(Time To Live),表明是数据报在网络中的寿命。
协议:指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给那个处理过程。

协议名 ICMP IGMP TCP EGP IGP UDP IPv6 OSPF
协议字段值 1 2 6 8 9 17 41 89

首部检验和:这个字段只检验数据报的首部,但不包括数据部分。计算方法:在发送方。先把IP数据报首部划分为许多16位字的序列。并把检验和这个字段置零。用反码算术运算把左右16位字相加之后,将得到的和的反码写入检验和字段。
可变部分:是一个选项字段。用来支持排错、测量以及安全等措施,内容很丰富。此字段的长度可变,从1个字节到40字节不等,取决于所选择的项目。

IP转发分组的流程

在路由器中。对每一条路由最主要的是以下两个信息:
(目的网络地址,下一跳地址)
分组转发算法
(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
(2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付给目的主机。否则就是间接交付,执行(3)。
(3)若路由器中有目的地址为D的特定主机路由,则把数据报传送给路由表中所知名的下一跳路由器。否则,执行(4)。

特定主机路由:对特定目的主机指明的一个路由。

(4)若路由器中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则。执行(5)。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则。执行(6)。

默认路由:以减少路由表所占用的空间和搜索路由表所用的时间。这种转发方式在一个网络只有很少的对外连接时是很有用的。

(6)报告转发分组出错。


划分子网和构造超网

划分子网

从两级IP地址到三级IP地址
IP地址的各字段和子网掩码(以145.13.3.30为例)
IP地址的各字段和子网掩码(以145.13.3.10为例)
从IP数据报的首部并不知道源主机或目的主机所连接的网络是否进行了子网的划分。这时因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息,因此使用子网掩码
使用子网掩码的好处是:不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位的运算,就能得到网络地址。
A类地址的默认子网掩码是255.0.0.0
B类地址的默认子网掩码是255.255.0.0
C类地址的默认子网掩码是255.255.255.0
在划分子网的情况下,路由器转发分组的算法如下:
(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
(2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,用各网络的子网掩码和D逐位与,看结果是否和相应的网络地址匹配。若匹配,不需要再经过其他的路由器,直接把数据报交付给目的主机。否则就是间接交付,执行(3)。
(3)若路由器中有目的地址为D的特定主机路由,则把数据报传送给路由表中所知名的下一跳路由器。否则,执行(4)。
(4)对路由表中的每一行,用其中的子网掩码和D逐位相与,其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给路由表中所指明的下一跳路由器;否则。执行(5)。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则。执行(6)。
(6)报告转发分组出错。

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

CIDR最主要的特点有两个:
(1)消除了传统的A类、B类和C类地址以及子网划分的概念。因而可以更加有效的分配IPv4的地址。使IP地址从三级编址又回到二级编址,但这已经是无分类的两级编址。
CIDR还采用CIDR记法,即在IP地址后面加上斜线/,然后写上网络前缀所占的位数。
(2)CIDR把网络前缀都相同的连续IP地址组成一个“CIDR地址块”。


网际控制报文协议ICMP

ICMP报文的格式

ICMP报文的种类

ICMP的应用举例

分组网监探测PING
ping 目的服务器
traceroute(这时UNIXOS中名字),用来跟踪一个分组从源点到终点的路径。
tracert 目的服务器


因特网的路由选择协议

因特网采用的路由选择协议主要是自适应的(即动态的),分布式路由选择协议,因特网将整个互联网划分为许多较小的自治系统,一般都叫做AS(autonomous system)。
自治系统的典型定义是在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议(内部网关协议IGP interior gateway protocol)用以确定分组在该AS内的路由,同时还是用一种AS之间的路由选择协议(外部网关协议EGP external gateway protocol)用以确定分组在AS之间的路由。
内部网关协议IGP:具体的协议有多种,如RIP和OSPF等。
外部网关协议EGP:目前使用的协议就是BGP。

内部网关协议RIP

路由信息协议RIP:routing information protocol,是一种基于距离向量的路由选择协议。
特点:
1、仅和相邻路由器交换信息。
2、路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
3、按固定的时间间隔交换路由信息。

内部网关协议OSPF

开放最短路径优先OSPF:open shortest path first,是使用分布式的链路状态协议。
特点:
1、向本自治系统中所有路由器发送信息,使用的方法是洪泛法。
2、发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
3、只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。

外部网关协议BGP

边界网关协议BGP:border gateway protocol,是路径向量路由选择协议。
在配置BGP时,每一个AS的管理员要选择至少一个路由器作为该AS的BGP发言人。一般来说,两个BGP发言人都是通过一个共享网络连接在一起的,而BGP发言人往往就是BGP边界路由器,但也可以不是。

路由器的构成

典型的路由器的结构


IP多播

IP多播是一对多的通信,在多播数据报的目的地址写入的是多播组的标识符,然后设法让加入到这个多播组的主机的IP地址与多播组的标识符关联起来。。其实多播组的标识符就是IP地址中的D类地址(224.0.0.0到239.255.255.255)
IP多播地址转换为以太网的硬件多播地址
eg:224.0.64.32(E0-00-40-20)——>01-00-5E-00-40-20
IP多播需要两种协议:IGMP网际组管理协议和多播路由选择协议。


虚拟专用网VPN和网络地址转换NAT

利用公用的因特网作为作为本机构各专用网之间的通信载体,这样的专用网又叫做虚拟专用网VPN(virtual private network)
网络地址转换NAT(network address translation)需要在专用网连接到因特网的路由器上安装NAT软件,该路由器上至少有一个有效的外部全球IP地址。NAT是用于解决在专用网内部的一些主机想和因特网上的主机通信。

发布了34 篇原创文章 · 获赞 9 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章