计算机网络 —— 网络层详解

一,网络层提供的服务

internet指可提供某种主机到主机的分组传送服务的相互连接的网络的任意集合。

首先网络层所作的所有事情可以用一句话概括:将数据从源端传输到对端
网络层为主机的传输层所提供的服务有两大类:

  • 可靠的面向连接的网络服务(典型实例:ATM机,通过虚电路VC服务实现);
  • 不可靠的无连接的网络服务(典型实例:Internet的IP,通过数据报服务实现)。

在这里插入图片描述

网络互联设备及其解决的问题

网络互联的设备
在这里插入图片描述
网关现在多指路由器的ip地址,当该网段设备访问其他网段的时候需要使用。
网络互联解决的问题
在这里插入图片描述

二,网际协议 IP

网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的协议还有四个协议:
地址解析协议:ARP(Address Resolution Protocol)
逆地址解析协议:RARP(Reverse Adress Resolution Protocol)
网际控制报文协议:ICMP(Internet Control Message Protocol)
网际组管理协议:IGMP(Internet Group Management Protocol)

在这里插入图片描述

1. 虚拟互联网

使用IP协议的虚拟互联网络可简称为IP网

使用虚拟互联网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互联的各具体的网络异构细节
在这里插入图片描述

2. IP地址(IPV4)

IP地址就是给互联网上每一个主机或者路由器的一个接口分配一个
世界范围内唯一的32位标识符。

IP地址的发展

  • 分类的IP地址: 最基本的构造方式,将IP地址分为5类
  • 划分子网:结合子网掩码对IP地址进行更缜密的划分
  • 构造超网:无分类编址CIDR

特殊IP地址
本地回环地址 127.0.0.1
自动生成的IP地址 169.254.0.0
可以用于组建私网的地址有以下几种

  • A 10.0.0.0
  • B 172.16.0.0 – 172.31.0.0
  • C 192.168.0.0–192.168.255.0

以上的地址属于私网地址 互联网不能访问
(主机不能全0/1 网段0 广播1)

1)IP地址分类

在这里插入图片描述

2)子网掩码

子网掩码用于指明一个IP地址哪些位是网络号,哪些位是主机号的一个32位的掩码。
结合IP地址使用将IP地址划分为网络部分和主机部分。

3) 划分子网与构造超网(无分类编址CIDR)

划分子网
划分子网是指将IP类网划分为若干个子网。一般是从网络的主机号用若干位作为子网号(当然用来分配的主机号就相应减少),于是二级网络便成了三级网络。

CIDR(无类型域间选路,Classless Inter-Domain Routing)

主要是为了解决以下三个问题而诞生的。( 偶前奇后 才可以合并)

  • 大小比较适中的B类IP地址的严重匮乏。
  • 因特网主干网上的路由表中的项目数急剧增长。
  • Ipv4地址迟早被分配完,到时候再无IP地址可以分配。

CIDR最主要有两个以下特点:

  • 消除传统的A,B,C地址和划分子网的概念,更有效的分配IPv4的地址空间,CIDR使IP地址又回到无分类的两级编码。 记法:IP地址::={<<网络前缀>,<<主机号>}。CIDR还使用“斜线记法”即在IP地址后面加上“/”然后写网络前缀所占的位数(192.198.80.72/22)。

  • CIDR把网络前缀都相同的连续IP地址组成一个“CIDR地址块”,即强化路由聚合(构成超网)。 一个CIDR地址块中有很多地址,所以在路由表中就利用CIDR地址块来查找目的网络。这种地址的聚合常称为路由聚合,它是的路由表中的一个项目可以表示原来传统分类地址的很多个理由。路由聚合也称为构成超网。路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个因特网的性能。

3. IP地址与MAC地址的关系

IP层抽象的互联网屏蔽了下层很复杂的细节在抽象的网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或主机和路由器之间的通信。通俗一点来说就是有了IP地址,就只通过路由器找到目的主机,屏蔽了下层网络的异构型,由MAC地址完成下层的实际转发。

4. IP数据报格式

见本人博客,IP报文详解。
lhttps://blog.csdn.net/ifwecande/article/details/107620064.

三,ARP协议

1. ARP协议的作用

将IP地址通过广播(本网段,不通过路由器),目标MAC地址是FF-FF-FF-FF-FF-FF,解析目标IP地址的MAC地址。

ARP是解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射关系。

如果所找的主机和原主机不在同一个局域网上,那么就要通过ARP找一个位于本局域网上的某个路由器的MAC地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。

从IP地址到MAC地址的解析是自动进行的,主机的用户对这种地址解析过程是不知情的。

只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的MAC地址。

2. 使用ARP的四种典型情况

  • (1)发送方是主机,要把IP数据报发送到本网络的另一个主机,此时用ARP找到目标主机的MAC地址;
  • (2)发送方是主机,要把IP数据报发送到另一个网络的另一个主机,此时用ARP找到本网络上一个路由器的MAC地址,剩下的工作由路由器进行;
  • (3)发送方是路由器,要把IP数据报发送到本网络的另一个主机,此时用ARP找到目标主机的MAC地址;
  • (4)发送方是路由器,要把IP数据报发送到另一个网络的另一个主机,此时用ARP找到本网络上一个路由器的MAC地址,剩下的工作由路由器进行;

3. 逆地址解析协议RARP

只知道自己MAC地址就能获得其IP地址。

4. ARP欺骗/p2p终结者/网络执法官/ARP防火墙

ARP协议是一台计算机将自己的IP地址、物理地址(Mac)以及目的计算机的IP打包广播,其他计算机会查看是否目的IP是自己的,如果是就将自己的物理地址发给原发送方,而ARP欺骗指的是,攻击者的计算机收到发来的请求,不会忽视,而是(持续不断地)发送一个对应着假的物理地址的消息,这样,原发送方就不能正常通信,当在路由器上进行ARP攻击就会使计算机不能上网。

p2p终结者: 基于底层协议 实现控制软件占用的带宽
网络执法官:控制本网段的主机间的通信。
ARP防火墙:用于识别ARP欺骗, 通过白名单实现陌生mac地址识别。

四,ICMP与IGMP协议

1. ICMP

作用:为了提高IP数据报交付成功的机会,在网络层使用了ICMP(Internet Control Message Protocol)。
报文分类:

  • 询问报文:探测网络状态
  • 差错报文:反馈差错类型

ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告;
ICMP不是高层协议,而是IP层协议;
ICMP报文件为IP层数据报的数据加上数据报的首部,组成IP数据报发送出去。

经典命名:ping 和 pathping (ping和TTL相关)

2. IGMP

IGMP:支持主机和路由器进行多播的Internet组管理协议

它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发

正如ICMP一样, IGMP 也被当作IP 层的一部分。IGMP报文通过IP数据报进行传输。不像我们已经见到的其他协议, IGMP有固定的报文长度,没有可选数据。

IGMP报文通过IP首部中协议字段值为2来指明。

五,动态路由管理

静态路由:
需要管理员告诉路由器所有没有直连的网络下一跳给谁。
适合于小规模网络,不能自动调整路由。

动态路由:
(1)RIP协议
周期性广播自己连接的网段(30s)路由表,(防止宕机)选择路径的依据是最少的跳数,最大跳数是15跳,所以一般不适合大网络。
(2)OSPF协议
OSPF内部网关协议 ,开放式(各厂商都支持) 根据带宽选择路径, 可以实现多区域,触发式更新 ,OSPF右三个表 邻居表 链路状态表 计算路由表(不会环路) 通过发送hello包实现保活探测。

上述协议可以通过BGP外部网关协议连接,各个自治系统, BGP会选出发言人进行数据收发。

六,NAT与PAT/NAPT技术

NAT: Network Address Transfer 网络地址转换。虚拟机。
NAPT: Network Address Port Transfer 网络地址端口转换。也叫PAT。内网路由器或FW。

NAT和NAPT的功能是完成内部私有地址和全局网络地址的转换,让计算机能与外界网络通信。其属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。

两者的区别:

  • NAT:一个全局IP对应一个私有IP(即一台计算机)(或者有一个IP地址池,里面有很多外部IP地址,当有内部IP地址要出去的时候,就随机选一IP地址作为其出口IP)。一对一,一个内部地址转换成一个外部地址进行通信。

  • NAPT:一个全局IP+不同的端口号对应多个私有IP(即多台计算机),需要一个全局IP对应多台计算时,比如局域网内部计算机访问外界网络时,就得用NAPT。一对多,多个内部地址使用同一地址不同端口转换成外部地址进行通信。缺点在于其通信仅限于TCP或UDP。

好处:

  1. NAT不仅完美地解决了lP地址不足的问题。
  2. 能够有效地避免来自网络外部的攻击。
  3. 隐藏并保护网络内部的计算机。
  4. 实现TCP流量的负载均衡。

版权声明:本文为ifwecande原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。