一、网络层基础知识
1.1网络层提供的服务,无连接
在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。
争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
在当今我们是使用无连接的方式的。网络提供数据报服务,无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
这种方式来说比较简单、灵活,能够适应多种应用。
1.2网际协议IP
与 IP 协议配套使用的还有三个协议:
地址解析协议 ARP
(Address Resolution Protocol)
网际控制报文协议 ICMP
(Internet Control Message Protocol)
网际组管理协议 IGMP
(Internet Group Management Protocol)
1.3各层中连接需要的中转设备
物理层中继系统:转发器 (repeater)。
数据链路层中继系统:网桥 或 桥接器 (bridge)。
网络层中继系统:路由器 (router)。
网桥和路由器的混合物:桥路器 (brouter)。
网络层以上的中继系统:网关 (gateway)。
二、分类的IP地址
将IP地址划分为若干个固定类。
每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
主机号在它前面的网络号所指明的网络范围内必须是唯一的。
由此可见,一个 IP 地址在整个互联网范围内是唯一的。
IP地址是采用点分十进制记法:
IP地址分等级的好处:
第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理
第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
2.1常用的IP地址指派范围
三、IP地址与硬件地址
IP 地址与硬件地址是不同的地址。
从层次的角度看:
硬件地址(或物理地址)是数据链路层和物理层使用的地址。
IP 地址是网络层和以上各层使用的地址,是一种逻辑地址(称 IP 地址是逻辑地址是因为 IP 地址是用软件实现的)。
IP 地址放在 IP 数据报的首部,而硬件地址则放在 MAC 帧的首部。
3.1数据通信过程
路由器只根据目的站的 IP 地址的网络号进行路由选择。
在具体的物理网络的链路层只能看见 MAC 帧而看不见 IP 数据报
IP 层抽象的互联网屏蔽了下层很复杂的细节。在抽象的网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或主机和路由器之间的通信 。
四、地址解析协议 ARP
ARP 作用:
从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址。
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表
解析的过程:
当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。
如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
从 IP 地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的
4.1使用 ARP 的四种典型情况
发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。
发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。
发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。
4.2不直接使用硬件地址进行通信
由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。
IP 编址把这个复杂问题解决了。连接到互联网的主机只需各自拥有一个唯一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为上述的调用 ARP 的复杂过程都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。
因此,在虚拟的 IP 网络上用 IP 地址进行通信给广大的计算机用户带来了很大的方便(也就是我们直接使用IP就能够与别的计算机通信的,因为内部ARP已经帮我们自动解析了。)。