"Computer Network--Xie Xiren" Chapter 4 Network Layer Part1

"Computer Network--Xie Xiren" Chapter 4 Network Layer Part1

important content:

    1) The concept of virtual Internet;

    2) The relationship between IP address and physical address;

    3) Traditional classified IP addresses (including subnet masks) and unclassified inter-domain routing CIDR;

    4) How the routing protocol works.

Reference blog:

    Reference Blog 1

    Reference Blog 2

1 Two services provided by the network layer

    Reliable or best-effort virtual circuit services
    for connection-oriented, error-free delivery –     Connectionless, best-effort datagram services for telecommunications networks     Advantages of the Internet: The cost of the network is greatly reduced, the operation is flexible, and it can adapt to multiple kinds of applications.



2 Internet Protocol IP

    Four protocols are matched with the IP protocol:

        ARP (Address Resolution Protocol)

        Reverse Address Resolution Protocol RARP (obsolete) (Reverse Address Resolution Protocol)

        Internet Control Message Protocol ICMP (Internet Control Message Protocol)

        Internet Group Management Protocol IGMP (Internet Group Management Protocol)

    The relationship between IP protocol and its supporting protocol:


2.1 Virtual Internet

    Networks are connected to each other using some intermediate devices, which are also called intermediate systems or relay systems.

    1) Physical layer relay system: repeater;

    2) Data link layer relay system: bridge or bridge;

    3) Network layer relay system: router;

    4) Relay system above the network layer: gateway;

    5) A mixture of bridges and routers: a bridger.

    NOTE: For historical reasons, much of the TCP/IP literature refers to routers used by the network layer as gateways.

    Virtual Internet is a logically interconnected network. It means that the heterogeneity of various interconnected physical networks exists objectively, but using the IP protocol can make these networks with different performances on the network layer. It appears to be a unified network. The Internet can be composed of a variety of heterogeneous networks interconnected.

   A virtual interconnection network using the IP protocol can be referred to as an IP network for short.

2.2 Classified IP addresses

    The entire Internet is a single, abstract network. An IP address is to assign a worldwide unique 32-bit identifier to each interface of each host (or router) on the Internet. IP addresses are now assigned by ICANN (Internet Corporation for Assigned Names and Numbers).

    The addressing method of IP address has gone through three historical stages:

    1) Classified IP addresses. This is the most basic addressing method, and the corresponding standard protocol was adopted in 1981; the so-called classified IP address is to divide the IP address into several fixed classes, and each class of addresses consists of two fixed-length fields. One of these fields is the network number (net-id), which identifies the network the host (or router) is connected to. A network number must be unique across the Internet. The second field is the host number (host-id), which identifies the host (or router). A host number must be unique within the network specified by the network number preceding it. It can be seen that an IP address is unique in the entire Internet;

    2) Subnet division. This is an improvement on the most basic addressing method, and its standard RFC950 was passed in 1985;

    3) Form a supernet. This is a relatively new addressing method. After it was proposed in 1993, it was quickly popularized and applied.

    Class A Class B Class C addresses are all unicast addresses (one-to-one communication). Class A, B, and C network number fields are 3, 2, and 1 bytes respectively, and class D addresses are used for multicast (one-to-many communication). Class E addresses are reserved for future use.

    The network number and host number fields in the IP address:


    Dotted decimal notation:


    Three common types of IP addresses are used :


    一般不使用的特殊IP地址:



    IP地址的特点:

  • 每个IP地址都有网络号和主机号。IP地址是一种分等级的地址结构,好处:第一,IP地址管理机构在分配IP地址时只分配网络号(第一级),而剩下的主机号(第二级)则有该网络号的单位自行分配。第二,路由器仅根据目的主机所连接的网络号来转发分组(不考虑目的主机号),这样使路由表中的项目数大幅度减少,从而减少了路由表所占存储空间以及查找路由表的时间。
  • IP地址是标志一个主机(或路由器)和一条链路的接口。一个路由器至少应当连接到两个网络,因此路由器属于多归属主机,必须至少同时具有两个不同的IP地址。
  • 一个网络是指具有相同网络号net-id的主机的集合,因此用转发器或网桥连接起来的若干个局域网仍然是一个网络。具有不同网络号的局域网必须使用路由器进行互连。
  • 在IP地址中,所分配到网络号的网络都是平等的。
  • 在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。
  • 用网桥(只在链路层工作)互连的网段仍然是一个局域网,只能有一个网络号。
  • 路由器总是具有两个或以上的IP地址,路由器的每一个接口都有一个不同的网络号和IP地址。

2.3 IP地址和硬件地址

    物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(因为IP地址通过软件实现)。

    IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。


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



    现在的DHCP协议已经包含了RARP协议。

    地址解析协议ARP在主机ARP高速缓存中存放一个IP地址到硬件地址的映射表,并且这个映射表经常动态更新(新增或超时删除)。

    每一个主机都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表。

    A向局域网B发送IP数据报时,先在其 ARP 高速缓存中查看有无主机B的IP地址,如果有,就在ARP高速缓存中查出对应的硬件地址,再把这个硬件地址写入MAC帧。如果没有缓存,则按一下步骤:

  • ARP 进程在本局域网广播发送一个ARP请求分组
  • 在本局域网上所有的主机运行的ARP进程都收到此ARP请求分组
  • 主机B在ARP请求分组中见到自己的IP地址,就向主机A发送ARP响应分组,并写入自己的硬件地址。其余所有主机不理睬。
  • A收到B的ARP响应后,就写入缓存

    ARP把保存在高速缓存中的每一个映射地址都设置生存时间,凡超过生存时间的项目就从高速缓存中删除掉。

    注意:ARP是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题。

    ARP解析的是四种情况:

  • 发送方是主机,把IP数据报发送到本网络的另一个主机,ARP找到主机的硬件地址。
  • 如果一个主机发送给另一个网络上的主机,这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作交给路由器处理。
  • 发送方是路由器,发到本网络主机,由ARP找到主机硬件地址。
  • 如果一个路由器要发送给另一个网络上的主机,用ARP找到本网络上的一个路由器,剩下的工作交给路由器处理。

    疑问:既然在网络上传输的帧最终是按照硬件地址找到目的主机的,那么为什么不直接使用硬件地址进行通信,而是要用抽象的IP地址并调用ARP来寻找出相应的硬件地址呢?

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

2.5 IP数据报的格式

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

    首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。

    在首部的固定部分的后面是一些可选字段,其长度是可变的。







2.6 IP转发分组的流程

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

3 划分子网和构造超网

3.1 划分子网

    一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成,因为这个单位对外仍然表现为一个网络。

    划分子网的方法是从网络的主机号借用若干位作为子网号 subnet-id,当然主机号就减少了同样的位数。两级IP地址在本单位内部就变成三级地址:网络号、子网号、主机号。

    根据IP数据报的目的网络号找到连接在本单位网络上的路由器,但此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机。

    子网掩码:IP数据报的首部并不知道源主机或目的主机所连接的网络是否包含子网的划分,使用子网掩码解决这个问题。使用子网掩码的好处就是不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位“与”运算,就立即得出网络地址来。



    所有网络都要使用子网掩码,包括没有划分子网的,便于查找路由表,路由表中有子网掩码这一栏,如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码,默认子网掩码中1的位置和IP地址中的网络号字段net-id正好对应,这样对于不划分子网的IP地址逐位与运算,就刚好得到目的地址的网络地址。

  • A类地址的默认子网掩码是 255.0.0.0
  • B类地址的默认子网掩码是 255.255.0.0
  • C类地址的默认子网掩码是 255.255.255.0


    子网掩码是一个网络或一个子网的重要属性。路由器在和相邻的路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻的路由器,在路由器的路由表中的每一个项目,除了给出目的网络地址外,还必须同时给出网络的子网掩码。划分子网增加了灵活性,但却减少了能够连接的网络上的主机总数。

3.2 使用子网时分组的转发

    路由表包含三项内容:

  • 目的网络地址
  • 子网掩码
  • 下一跳地址

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

    (1) 从收到的分组的首部提取目的 IP 地址 D。

    (2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和 相应的网络地址匹配。若匹配,则将分组直接交付。 否则就是间接交付,执行(3)。

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

    (4) 对路由表中的每一行的子网掩码和 D 逐位相“与”, 若其结果与该行的目的网络地址匹配,则将分组传送 给该行指明的下一跳路由器;否则,执行(5)。

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

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

3.3 无分类编址CIDR(构造超网)【无分类域间路由选择】

    1987 年,RFC 1009 就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。使用变长子网掩码 VLSM (Variable Length Subnet Mask)可进一步提高 IP 地址资源的利用率。

    在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。

3.3.1 CIDR的主要特点

    CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。

    CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。

    IP 地址从三级编址(使用子网掩码)又回到了两级编址。

3.3.2 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 的主机号地址一般不使用。

3.3.3 路由聚合(构成超网)

    一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。

    路由聚合也称为构成超网(supernetting)。

    CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。

    对于 /20 地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中1的个数。

3.3.4 最长前缀匹配

    使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。

    应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。

    网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。

    最长前缀匹配又称为最长匹配或最佳匹配。

3.3.5 使用二叉线索查找路由

    当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。

    为了进行更加有效的查找,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索(binary trie)。

    IP 地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。

    为了提高二叉线索的查找速度,广泛使用了各种压缩技术。















Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324909368&siteId=291194637