慢慢说计网:网络层

135 阅读5分钟

小Q:什么是网络层的基本特征?

慢慢:网络层介于传输层和数据链路层,主要是寻找要发送的路径,对上层提供简单灵活的,无连接的,尽最大努力交付的数据报服务。由于网络层不提供服务质量的保证,所以可能会出现出错,丢失,重复,失序等问题,需要上层协议去规避这些错误。

小Q:什么是 IP 地址

慢慢:整个互联网是单一的,抽象的网络。IP 地址就是给互联网上的每一台主机或路由器分配一个在全世界范围内唯一的 32 位的标识符。

IP 地址可以分为 5 类地址:

从 IP 地址的结构来看,IP 地址并不仅仅表明一台主机,还指明了主机所连接到的网络。

为了能充分利用 IP 地址空间,我们从二级地址到三级地址到现在的子网掩码来划分网络地址。


什么是 ARP 协议

慢慢:ARP 协议为地址解析协议,主要用来解析 IP 地址对应的 mac 地址。解析步骤如下:

  • 每台主机都设有一个 ARP 高速缓存。
  • 当主机 A 要向主机 B 发送数据报时,先从高速缓存中查看由于主机 B 的IP 地址,如果有,则从高速缓存中取得对应的 mac 地址,再把这个 mac 地址写入 mac 帧中,然后通过局域网将该 mac 帧根据 mac 地址发送给对应的主机。
  • 如果查不到 IP 地址,则主 A 向本局域网上广播一个 ARP 请求,主要内容为:我的 IP 地址为 209.0.0.5,硬件地址为 00-00-C0-15-AD-18,我想知道 IP 地址为 209.0.0.6 的主机的硬件地址。
  • 本局域网的所有主机都收到此 ARP 请求后,判断其 IP 地址是否与自己一致,不一致则丢掉,一致则发送一条响应数据报,把自己的 ip 地址和物理地址发送给 A,同时在自己的高速缓存中填入 A 的 IP 地址和 MAC 地址。
  • A 收到响应数据报后更新高速缓存,并把数据发送给 B。
  • 同时,每个高速缓存中的记录都应该有对应的生存时间,保证地址的及时性和可靠性。

小Q:什么是 ICMP 协议?

慢慢:ICMP:网际控制报文协议,该协议允许主机或路由器报告差错情况和提供有关异常情况。ICMP 有两种,即 ICMP 差错报告报文和 ICMP 询问报文。

ICMP 两个重要的应用:PING 和 traceroute

  • ping 命令用来测试两台主机之间的连通性,其使用了 ICMP 的回送请求报文和回送回答报文。ping 是应用层直接使用网络层的一个例子,没有用到传输层的 TCP 或 UDP 协议。
  • traceroute 用来跟踪一个报文分组从源点到终端的路径。traceroute 从源点向目标主机发送一连串报文,这些报文的 TTL(生存时间) 是从一开始递增的。每当到达一个节点时,TTL 就会减一,当 TTL 为 0 时,该节点就会放弃这个报文,并向源点发送一个 ICMP 时间超过的差错报文。

小Q:什么是路由选择协议?

慢慢:不管是数据报在局域网中传输还是在公网上传输,每经过一个路由器后都需要知道接下来该发送给哪个节点。理想的路由选择协议应具备以下特征:

  • 算法必须是正确和完善的;
  • 算法在计算上应简单;
  • 算法应能适应通信量和网络拓步的变化;
  • 算法应具有稳定性;
  • 算法应是公平的;
  • 算法应是最佳的。

先在的路由选择协议大体分为两类:内部网关协议(IGP),外部网关协议(EGP)。

小Q:什么是 IGP?

慢慢:内部网关协议是指在局域网上使用的路由选择协议。目前主流的协议有 RIP 和 OSPF。

  • PRI 是一种分布式的基于距离向量的路由选择协议,其优点是简单。它要求每个路由器都要定时的与相邻路由器交换信息,并根据信息来更新自己的路由表,路由表的更新原则是找出到每个网络的最短距离。其有一个特点就是 好消息传播的快,坏消息传播的慢
  • OSPF 是开放最短路径优先协议。它需要局域网中所有节点都发送并记录下其它节点的信息,从而每个节点都能构成整个局域网的网络拓补,然后根据 Dijkstra 算法得到本节点到每个节点的最短路径。当网络发生变化时,所有节点会进行一次信息交换,而不是像 RIP 那样定时发送。

小Q:什么是 EGP?

外部网关协议(Exterior Gateway Protocol,EGP)是一个在自治系统网络中两个邻近的网关主机(每个都有它们自己的路由)间交换路由信息的协议。

小Q:什么是 NAT?

慢慢:NAT 是网络地址转换协议。当在局域网内部的主机分配到本地 IP 地址后,又想和公网上主机通信,就可以采用 NAT 方法。

首先得要有一台安装 NAT 软件的路由器,且该路由器有个公网 IP,能与公网进行通信。这样该局域网的所有主机都可以代理到这个路由器上同公网进行通信。