网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。主要工作就是“路径选择、路由及逻辑寻址”
网络层基本概念
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要先建立连接。每一个分组(也就是IP数据报)独立发送,与其前后的分组无关(不进行编号)。网络层不提供服务质量的承诺。也就是说,所传送的分组可能出错、丢失、重复和失序(即不按序到达终点),当然也不保证分组交付的时限。由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器比较简单,且价格低廉
网际层IP的作用:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
网际层IP的协议:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、
网际层IP的设备:路由器
路由器
从一般的概念来讲,将网络互相连接起来要使用一些中间设备。根据中间设备所在的层次,可以有以下四种不同的中间设备:
- 物理层使用的中间设备叫做转发器(repeater)
- 数据链路层使用的中间设备叫做网桥或桥接器(bridge)
- 网络层使用的中间设备叫做路由器(router)
- 在网络层以上使用的中间设备叫做网关(gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换。
网关由于比较复杂,目前使用得较少。因此现在我们讨论网络互连时,都是指用路由器进行网络互连和路由选择。路由器其实就是一台专用计算机,用来在互联网中进行路由选择
通过路由器和IP协议,我们就能很轻松的进行跨网络机器数据传输:
路由器由三部分组成:交换结构、一组输入端口和一组输出端口,它的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用,表中包含的信息决定了数据转发的策略。
网际协议IP
网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。
IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制,与IP协议配套使用实现其功能的还有
- 地址解析协议ARP (Address Resolution Protocol),逆地址解析协议RARP
- 网际控制报文协议ICMP (Internet Control Message Protocol)
- 网际组管理协议IGMP (Internet Group Management Protocol)
接下来详细介绍下IP协议:
IP地址
IP地址由网络号(包括子网号)和主机号组成,整个的互联网就是一个单一的、抽象的网络。IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位的标识符。
- 网络号(net-id),它标志主机(或路由器)所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。
- 主机号(host-id),它标志该主机(或路由器)。一台主机号在它前面的网络号所指明的网络范围内必须是唯一的
IP地址的结构使我们可以在互联网上很方便地进行寻址,因为IP地址在全网是唯一的。
对主机或路由器来说,IP地址都是32位的二进制代码。为了提高可读性,我们常常把32位的IP地址中的每8位插入一个空格(但在机器中并没有这样的空格)。为了便于书写,可用其等效的十进制数字表示,并且在这些数字之间加上一个点。这就叫做点分十进制记法
其中A类,B类,C类地址都是单播地址,而网络号里的1-3位表示类别位。IP地址指派范围
一般不使用的特殊ip地址:
五类网络地址
可以看到总共划分了五个网段,当然我们常用的只有三个网段。
- A类地址(50%的IP地址)以0开头,第一个字节作为网络号
- 地址范围为:1.0.0.0 到126.0.0.0
- 每个A类子网最大主机数2^24-2 = 16777214
- B类地址(25%的IP地址)以10开头,前两个字节作为网络号,默认128.0.0.0不指派
- 地址范围为:128.1.0.0到191.255.255.255
- 每个B类子网最大主机数2^16 -2 = 65534
- C类地址(12.5%的IP地址)以110开头,前三个字节作为网络号,默认192.0.0.0不指派
- 地址范围为:192.0.1.0~223.255.255.255。
- 每个C类子网最大主机数2^8 -2 = 254
- D类地址以1110开头
- 地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);
- E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。
只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。
IP地址特点
这样设计IP地址有以下四个特点和优点:
- 每一个IP地址都由网络号和主机号两部分组成。有两个好处:
- IP地址管理机构在分配IP地址时只分配网络号(第一级),而剩下的主机号(第二级)则由得到该网络号的单位自行分配;
- 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间以及查找路由表的时间。
- 实际上IP地址是标志一台主机(或路由器)和一条链路的接口。当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号必须是不同的。这种主机称为多归属主机(multihomed host)。由于一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的IP地址【不同网络号】。
- 用放大器【物理层】或网桥【数据链路层】连接起来的若干个局域网仍为一个网络,因为这些局域网都具有同样的网络号。具有不同网络号的局域网必须使用路由器进行互连。
- 在IP地址中,所有分配到网络号的网络(不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网)都是平等的。所谓平等,是指互联网同等对待每一个IP地址。
上图描述的是C类地址,前三个字节作为网络号:
- 同一个局域网上的主机或路由器中的ip地址中的网络号必须是一样的
- 两个路由器直连时可以不分配IP地址
- 用网桥(交换机)互联的网段仍然是一个局域网
网络地址的主机号为全0,网络地址代表着整个网络。例如LAN2(222.1.2.0)
IP地址与硬件地址
在局域网中,由于硬件地址已固化在网卡上的ROM中。因此常常将硬件地址称为物理地址。因为在局域网的MAC帧中的源地址和目的地址都是硬件地址。因此硬件地址又称为MAC地址。物理地址、硬件地址和MAC地址常常作为同义词出现。要弄懂主机的IP地址与硬件地址的区别。
下图说明了这两种地址的区别。从层次的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址为逻辑地址是因为IP地址是用软件实现的)
这里要强调指出以下几点:
- 在IP层抽象的互联网上只能看到IP数据报。发送过程中IP地址不会变化。举个例子,虽然IP数据报从IP1发往IP2要经过路由器R1和R2的两次转发,但在它的首部中的源地址和目的地址始终分别是IP1和IP2。
- 虽然在IP数据报首部有源站IP地址,但路由器只根据目的站的IP地址的网络号进行路由选择。
- 在局域网的链路层,只能看见MAC帧。IP数据报被封装在MAC帧中。MAC帧在不同网络上传送时,其MAC帧首部中的源地址和目的地址会发生变化。举个例子,MAC帧从IP1发往IP2要经过路由器R1和R2的两次转发,它的首部中的源地址和目的地址会因转发而发生变化,但是, MAC帧的首部的这种变化,在上面的IP层上是看不见的。
- 尽管互连在一起的网络的硬件地址体系各不相同,但IP层抽象的互联网却屏蔽了下层这些很复杂的细节。只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。上述的这种“屏蔽”概念是一个很有用、很普遍的基本概念。
我们可以从不同层次上看ip地址和硬件地址:
而ip地址到硬件地址的映射,由ARP协议来完成,注意,APR协议是解决同一个局域网上的主机或者路由器的IP地址和硬件地址的映射问题。