天天看点

计算机网络体系结构中的网络层

计算机网络体系结构中的网络层

    • 1、网络层的设计
    • 2、网络层提供的两种服务
    • 3、虚拟互连网络
      • 3.1、将网络互联起来需要一些设备
      • 3.2、虚拟互联网的概念
    • 4、IP地址
      • 4.1、 IP地址详解
      • 4.2、IP地址与MAC地址的区别
      • 4.3、ARP地址解析协议
    • 5、网际IP协议
      • 5.1、IP数据报
      • 5.2、分组转发的流程
        • 5.2.1、分组转发的算法
        • 5.2.2、使用划分子网的分组转发的算法
    • 6、网际控制报文协议ICMP协议
    • 7、路由选择协议
    • 8、IP多播
    • 9、网络层其他建议了解的知识

1、网络层的设计

  • 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的IP数据报(也称为分组)服务。
  • 网络在发送分组时不需要先建立连接。每一个分组独立发送,与前后的分组无关。
  • 网络层不提供服务质量的承诺,所传送的分组允许出现出错、丢失、重复和失序。如果主机中的进程之间的通信需要时可靠的,那就由更高层协议(运输层)去保证。
  • 不保证分组的交付实现。

2、网络层提供的两种服务

OSI体系曾极力主张网络层使用可靠传输的虚电路服务,但已成为历史,现在的TCP/IP体系的网络层提供的是数据报服务。因此我们后面讨论网络层都是围绕数据报服务。

计算机网络体系结构中的网络层
计算机网络体系结构中的网络层

3、虚拟互连网络

3.1、将网络互联起来需要一些设备

  • 物理层使用转发器、集线器。
  • 数据链路层使用网桥、桥接器、交换机
  • 网络层使用路由器(其实就是一台专用计算机,用来在互联网上进行路由选择)
  • 网络层以上使用网关(用网关连接两个不兼容的系统需要在高层进行协议的转换)

3.2、虚拟互联网的概念

建立虚拟IP网概念的好处:当IP网上的主机进行通信时,就好像在一个单个的网络上通信一样,它们看不见互联的各网络的具体异构细节,如果在这种覆盖全球的IP网上使用TCP协议,那么就是现在的互联网。

计算机网络体系结构中的网络层
计算机网络体系结构中的网络层

4、IP地址

准备继续往下学习时,建议先点击了解以下三个内容

4.1、 IP地址详解

IP地址详解

4.2、IP地址与MAC地址的区别

IP地址与MAC地址的区别

4.3、ARP地址解析协议

ARP地址解析协议

5、网际IP协议

网际IP协议是TCP/IP体系中最主要的协议之一。

5.1、IP数据报

点击了解IP数据报

5.2、分组转发的流程

计算机网络体系结构中的网络层

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

于是,转发分组时就根据目的网络地址来确定下一跳路由器,

(1)IP数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。

(2)只有到达最后一个路由器时,才试图向目的主机进行直接交付。

  • 特定主机路由

    虽然互联网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下都允许有这样的特例,即对特定的目的主机指明一个路由。这种路由叫做特定主机路由。采用特定主机路由可使网络管理人员更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。在对网络的连接或路由表进行排错时,指明到某一台主机的特殊路由就十分有用。

  • 默认路由

    路由器还可采用默认路由以减小路由表所占用的空间和搜索路由表所用的时间。这种转发方式在一个网络只有很少的对外连接时是很有用的。实际上,默认路由在主机发送IP数据报时往往更能显示出它的好处。主机在发送每一个IP数据报时都要查找自己的路由表。如果一台主机连接在一个小网络上,而这个网络只用一个路由器和互联网连接,那么在这种情况下使用默认路由是非常合适的。

    计算机网络体系结构中的网络层

5.2.1、分组转发的算法

分组转发算法如下:

(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。

(2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就是间接交付,执行(3)。

(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。

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

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

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

5.2.2、使用划分子网的分组转发的算法

在划分子网的情况下,分组转发的算法必须做相应的改动。

使用子网划分后,路由表必须包含三项内容:目的网络地址、子网掩码和下一跳地址。

在划分子网的情况下,路由器转发分组的算法如下:

(1)从收到的数据报的首部提取目的IP地址D。

(2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与”(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。

(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。

(4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相“与”(AND操作),其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)。

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

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

  • 使用划分子网的分组转发的例子
    计算机网络体系结构中的网络层

6、网际控制报文协议ICMP协议

点击了解ICMP协议

7、路由选择协议

以后有空补上。

8、IP多播

以后有空补上。

9、网络层其他建议了解的知识

  • 点击了解从IPv4向IPv6过渡
  • 点击了解虚拟专用网VPN和网络地址转换NAT

继续阅读