网络层
网络层的功能
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。也就是说,网络层传送的分组可能出错、丢失、重复、失序、超时。这种设计思路的好处:网络造价大大降低,运行方式灵活。
虚电路、数据报比较
- 数据报网络提供网络层无连接服务
- 虚电路网络提供网络层连接服务
IPv4地址[1]:146
-
A类:0.0.0.0到127.255.255.255
- 数字0和127不作为主机的IP地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送,但是0和127确实是属于A类地址
-
B类:128.0.0.0到191.255.255.255
-
C类:192.0.0.0到223.255.255.255
子网划分
原有的IP地址空间利用率很低;两级IP地址不够灵活;
子网划分概念:在IP地址中,增加“子网号字段”,使两级IP地址变成三级IP地址;三级IP地址结构:IP地址 = {<网络号>,<子网号>,<主机号>}
注意:划分子网只是把IP地址主机号进行划分,不改变IP地址原来的网络号。因此从一个IP地址本身,无法判断源主机或目的主机的网络是否进行了子网划分;
子网掩码
为了告诉主机或路由器对一个A类、B类、C类地址进行了子网划分,使用子网掩码;
子网掩码与IP地址相对应,由一串1跟随一串0组成。1对应IP地址中的网络号及子网号,0对应于主机号;
将IP地址和其对应的子网掩码相逐位相“与”(逻辑AND运算),即可得到相应子网的网络地址;
例如:某主机IP地址192.168.5.56,子网掩码255.255.255.0,逐位相“与”后,得出该主机所在子网的网络号为192.168.5.0。
CIDR
无分类域间路由选择,无分类域间路由,Classless InterDomain Routing
概念:
无分类域间路由选择,在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分,并且可实现超网构造的IP地址划分方法。
无分类两级编址为:IP:: = {<网络前缀>,<主机号>}
CIDR使用“斜线记法”,即网络号所占的比特数。
路由聚合
让路由选择协议能够用一个地址通告众多网络,旨在缩小路由器中路由选择表的规模,以节省内存,并缩短IP对路由选择表进行分析以找出前往远程网络的路径所需的时间。
IP数据报格式
NAT
网络地址转换,Network Address Translation
将内部网络的私有IP地址转换为公有IP地址,本地地址的内部主机与因特网上主机通信必须进行地址转换,并且对外隐藏内部网络的IP地址;
优点:
使用专用网只需要一个全球IP地址就可以与因特网连通,可以大大节省IP地址的消耗。同时,它隐藏了内部网路结构,降低了内部网络收到攻击的风险。
专用网络(本地)ip地址:
- 10.0.0.0 - 10.255.255.255
- 172.16.0.0 - 172.31.255.255
- 192.168.0.0 - 192.168.255.255
ICMP功能和应用
Internet控制报文协议,Internet Control Message Protocol
作用:描述IP通信实体之间交换的控制信息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息
ICMP封装在IP分组中
ICMP应用1 Ping
- 测试两个主机之间的连通性
ping是应用层直接使用网络层ICMP的例子,它没有通过传输层的TCP或UDP。
ICMP应用2 tracert/traceroute
ICMP作用:
跟踪从本站到目的站的路径(经过的路由器)
如何实现?
前提理论:若路由器发现一个数据包的TTL(生存时间) 减1后为0,该路由器会给该数据包的发送方返回一个错误报告的ip数据包。这个ip数据包会泄露这个路由器的ip地址。
所以源主机通过逐步增加TTL的值,最终可以知道从源主机到目的主机经过的所有的路由器。
(补充: 其实得不到所有的路由器ip,因为有的路由器处于安全性的考虑,压根就不会给源主机错误反馈。)
具体步骤:
- 源主机向目的主机发一串非法端口号的IP包
- 源主机设置第i个数据包的TTL(生存时间)为i跳。数据包每经过一个路由器TTL减去1。
- 途中的路由器,将TTL减1后若为0,源主机返回一个超时的错误报告。此时源主机可从IP数据包中得到这个主机的IP。
- 下一次,源主机只需要将TTL加1,即可得到下一路由器的IP。
ARP
地址解析协议
在链路层传送数据帧,必须使用硬件地址。ARP协议实现从IP地址到MAC地址的映射;
工作原理:
DHCP
动态主机配置协议,Dynamic Host Configuration Protocol
功能:由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码;
VPN
虚拟专用网络,Virtual Private Network
在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。降低用户费用,提供更强的安全性和可靠性。
路由器
路由器的组成和功能
路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络,并完成路由转发。在多个逻辑网络互联时,必须使用路由器。
路由器主要完成两个功能:
-
路由选择
从相邻路由器得到整个网络拓扑变化情况,动态选择路由;
-
分组转发(存储转发)
路由器根据转发表将用户的IP数据报从合适的端口转发出去;
静态路由与动态路由
直接交付和间接交付
当源主机向目的主机发送数据报时[1]:194:
- 如果源主机和目的主机在同一个网络上,那么直接交付而无须通过路由器;
- 如果源主机和目的主机不在同一个网络上,那么路由器按照转发表指出的路由将数据报转发给下一个路由器,称为间接交付。
路由表
概念:路由表根据路由选择算法得出,主要用于路由选择;
标准的路由表有4个项目:
- 目的网络IP地址
- 子网掩码
- 下一跳IP地址
- 接口
多种路由表例子
- 目的网络 - 子网掩码 - 下一跳 - 接口
-
目的网络 - 子网掩码 - 下一跳
-
目的网络 - 跳数 - 下一跳路由(RIP路由表)
路由协议
自治系统
自治系统(AS),自治系统内部的路由选择称为域内路由选择,自治系统之间的路由选择称为域间路由选择。
内部网关协议(IGP):
RIP
路由信息协议,(Routing Information Protocol)
应用层协议,传递协议UDP
路由表项:<目的网络,距离,下一跳路由器地址>
RIP缺点:坏消息传的慢;
RIP是基于距离向量的路由选择协议
- 仅和相邻路由器交换信息;
- 路由器交换的信息是当前路由器所知道的全部信息,即自己的路由表;
- 按固定的时间间隔交换路由信息,如每隔30秒;
OSPF
开放式最短路径优先,Open Shortest Path First
网络层协议,传递协议IP
开放: 表明协议不受某一家厂商控制,而是公开发表的;最短路径优先:用 Dijkstra 的最短路径找出最短路径
OSPF采用分层划分区域的方法
- 使交换信息的种类增多了,同时使OSPF更加复杂了
- 使每个区域内路由通信量减少,使OSPF能用于更大的自治系统
外部网关协议:EGP
BGP
边界网关协议,不同自治系统的路由器之间交换路由信息的协议;路径-向量
应用层协议,传递协议TCP
BGP,只是寻找一条较好、可达的路由,并非要最佳的路由。
若BGP的选择题,出现了最短、最佳的选项;该选项一般都是错误选项
RIP、OSPF、BGP对比
RIP的路由器不知道全网的拓扑结构;OSPF的路由器知道自己所在区域的拓扑结构;
参考资料:
[1]. 王道计算机网路.2022