当前位置: 首页 > news >正文

计网笔记 网络层(端到端的服务)

第三章 网络层(端到端的服务)

**TCP/IP体系中网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。**网路层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复和失序。进程之间通信的可靠性由运输层负责。

IP网是虚拟的,因为从网络层上看,IP网络是一个统一的、抽象的网络(实际上是异构的)。IP层抽象的互联网屏蔽了下层网络复杂的细节,使我们能够使用统一的、抽象的IP地址处理主机之间的通信问题。

互联网上的交付主机的方式有两种:

(1)在本网络上的直接交付(不经过路由器)

(2)到其他网络间接的交付(经过至少一个路由器,但最后一次一定是直接交付)。

一个IP地址在整个互联网范围内是唯一的。早期使用的是分类的IP地址,包括A类、B类和C类地址(单播地址),以及D类地址(多播地址)。E类地址未使用。

分类的IP地址由网络号字段(指明网络)和主机号字段(指明主机)组成。网络号字段最前面的类别位指明IP地址的类别。

目前已广泛使用无分类域间路由选择CIDR记法把IP地址后加上斜线**“\”,斜线后的前缀位数。前缀(或网络前缀)指明网络,后缀指明主机。前缀相同的连续IP地址构成“CIRD地址块”**。

CIDR的32位地址掩码(或子网掩码)由一串1和一串0组成,其中1的个数是前缀的长度。只要把IP地址和地址掩码按位进行AND运算,即可以得出网络地址。

IP地址是一种分等级的地址结构。IP地址管理机构在分配IP地址时只分配网络前缀(网络号),而主机号则由得到该网络前缀的单位自行分配。路由器仅根据目标的主机所连接的网络前缀(网络号)来转发分组。

IP地址标志一台主机(或路由器)和一个链路的接口。多归属主机同时连接到两个或更多的网路上。这样的路由器同时具有两个或更多的IP地址,其网络前缀必须是不同的。由于一个路由器至少应当连到两个网络,因此一个路由器至少应当有两个不同的IP地址。

按照互联网的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络。所有分配到网络前缀的网络(不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网)都是平等的。

MAC地址(即硬件地址或物理地址)是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(用软件实现的),在数据链路层看不见数据报的IP地址。

IP数据数据报分为首部和数据两部分。首部的前一部分是固定长度,共20字节,是所有IP数据报必需具有的(源地址、目标地址、总长度等重要字段都在固定首部中)。一些长度可变的可选字段放在固定首部后面。

IP首部中的生存时间字段给出了IP数据报在互联网中所能经过的最大路由数,可以防止IP数据报在互联网中无限制地兜圈子。

地址解析协议ARP把IP地址解析为MAC地址,它解决了同一个局域网中的主机或路由器的IP地址和MAC地址映射问题。ARP的高速缓存可以大大减少网络上的通信量。

在互联网中,我们无法仅根据MAC地址寻找到某个网络上的某台主机。因此,从IP地址到MAC地址的解析是非常必要的。

路由聚合(把许多前缀相同的地址用同一个来代替)有利于减少路由表中的项目,减少路由器之间的路由选择信息交换,从而提高了整个互联网的性能。

“转发”和“路由选择”是不同的概念。“转发”是单个路由器的动作。“路由选择”是许多路由器共同协作的过程,这些路由器相互交换信息,目的是生成路由表,再从路由器导出转发表。若采用自适应路由选择算法,则当网络拓扑结构变化时,路由器表和转发都能够自动更新。在许多情况下可以不考虑转发表和路由表的区别,而都使用路由表这一名词。

自治系统(AS)就是在单一的技术管理下的一组路由器。一个自治系统对其他自治系统表现出的是一个单一的和一致的路由选择策略。

路由选择协议有两类:

(1)内部网关协议(或自治系统之间的路由选择协议),如RIP和OSPF。

(2)外部网关协议(或自治系统之间的路由选择协议),如BGP-4。

RIP是分布式的基于距离向量的路由选择协议,只适用于小型互联网。RIP按固定是时间间隔与相邻路由器交换信息。交换的信息是自己当前的路由表,即到达本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器。
OSPF是分布式的链路状态协议,适用于大型互联网。OSPF只在链路状态发生变化时,才向本自治系统的中所有路由器,用洪泛法发送与本路由器相邻的所有路由器的链路状态信息。“链路状态”指明本路由器都和哪些路由器相邻,以及该链路的“度量”。“度量”可以表示费用、距离、时延、带宽等,可以统称“代价”。所有的路由器最终可以建立一个全网的拓扑结构图。

协议BGP-4简称为BGP,是一种路径向量路由选择协议,用于在不同在不同自治系统AS之间的路由选择。BGP力求在AS之间,找出一条能到达目的网络前缀且较好的路由(不是最佳路由,但不能兜圈子)。各种BGP报文是在AS之间的BGP连接(即eBGP)和AS内部BGP连接(即iBGP)上传送的。BGP路由指出,从那个路由器,经过哪些AS,就可以到达哪个网络前缀。

网际控制报文协议ICMP是IP层的协议,ICMP报文作为IP数据报的数据,加上首部后组成IP数据报发送出去。使用ICMP并非为了实现可靠传输。ICMP允许主机或路由器报告差错情况和提供有关异常的情况的报告。ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。

ICMP的一个重要应用就是分组网间探测PING,用来测试两台主机之间的连通性。PING使用了ICMP回送请求与回答报文。

要解决IP地址耗尽问题,最根本的方法是采用具有更大空间的新版本的协议IP,即IPv6。

IPv6所带来的主要变化是:

(1)更大的地址空间(采用138位的地址)

(2)灵活的首部格式

(3)改进的选项

(4)支持即插即用

(5)支持资源预分配

(6)IPv6首部改成8字节对齐

http://www.lryc.cn/news/20154.html

相关文章:

  • [蓝桥杯 2018 省 B] 日志统计——双指针算法
  • SpringMVC请求转发和重定向
  • 如何建立项目标准化评价体系?【锦狸】
  • Vue基础入门讲义(二)-语法基础
  • 应广单片机用8位乘法器实现16位乘法运算
  • Android中使用GRPC简明教程
  • 【Linux】使用U盘自动化安装Linux(VMware虚拟机)
  • 内网渗透(五十七)之域控安全和跨域攻击-基于服务账户的非约束委派攻击
  • gitlab 安装到项目上传一篇解决
  • Verilog 逻辑与()、按位与()、逻辑或(||)、按位或(|)、等于(==)、全等(===)的区别
  • 剑指 Offer 22. 链表中倒数第k个节点
  • 数据结构预算法之买卖股票的最好时机(三)动态规划
  • 【数通网络交换基础梳理2】三层设备、网关、ARP表、VLAN、路由表及跨网段路由下一跳转发原理
  • Java-排序链表问题
  • c++之二叉树【进阶版】
  • 【数据库】 SQLServer
  • Linux 4.19 内核中 spinlock 概览
  • TensorFlow 1.x学习(系列二 :1):基本概念TensorFlow的基本介绍,图,会话,会话中的run(),placeholder(),常见的报错
  • javaEE 初阶 — 关于 IPv4、IPv6 协议、NAT(网络地址转换)、动态分配 IP 地址 的介绍
  • 《Qt 6 C++开发指南》简介
  • CleanMyMac是什么清理软件?及使用教程
  • Linux小黑板(9):共享内存
  • Detr源码解读(mmdetection)
  • 一个.Net Core开发的,撑起月6亿PV开源监控解决方案
  • C语言数据结构初阶(2)----顺序表
  • K8S常用命令速查手册
  • Linux系统下命令行安装MySQL5.6+详细步骤
  • 13.STM32超声波模块讲解与实战
  • 逆向之Windows PE结构
  • ACL是什么