1. 为什么需要⽹络层
对于互联⽹⽽⾔,仅实现数据链路层和物理层不能实现数据报在互联⽹中各⽹络之间传输。⽹络层的主要任务是实现⽹络互联,进⽽实现数据包在各⽹络之间的传输。
2. ⽹络的主要功能有哪些
数据通信、资源共享、分布式处理
虚电路服务和数据报服务
虚电路服务是一种面向连接的,使所有分组顺序到达目的端的可靠性数据传输服务。
① 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而不是真 正建立一条物理连接
② 需要注意的是电路交换的电话通信是先建立了一条真正的连接,因此分组交换的虚连接和电路交换 的连接只是类似,但并不完全一样。
③ 对于虚电路服务,如果目标主机处理不过来可以通知发送主机发停止发送,处理完成后通知其继续发
数据报服务是一种无连接的,使分组按照独立路由到达目的端的数据传输服务
① 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
② 网络在发送分组的时候不需要先建立连接,每个分组(IP数据报)独立发送,与其前后的分组无 关(不进行编号)
③ 网络层不提供服务质量的承诺,即传送的分组可能出现出错、丢失、重复和失序(不按顺序到达终 点)可靠通信由用户主机保证
数据报服务和虚电路服务的区别:
虚电路
优点:
1.可以提供可靠的通信服务
2.因为数据是沿着建立的虚电路进行传输的,因此分组的首部不需要携带完整的目的主机的地址,只需要填写这条虚电路的编号(并不大的整数),因此减少了分组的开销。
3.所有分组可以按序到达,无重复、无丢失。
缺点:
1.每次通信需要建立连接(逻辑连接而非物理连接),数据传输启动慢。
2.同属于一条虚电路的分组只能按照同一路由进行转发,在这条通路上,只要有一个结点出现故障,整条通路均无法工作。
3.因为网络层要保证可靠传输,所以使用虚电路服务的网络节点交换机也比较昂贵和复杂。
数据报
优点:
1.每个分组可独立查找转发表进行转发,比较灵活
2.由于传输网络不提供端到端的可靠传输服务,这就使得网络中的路由器比较简单,且价格较便宜,这就使得网络造价大大降低。
缺点:
1.不能提供可靠的通信服务
2.分组不能有序到达,可能出现分组的重复或者丢失
3.因为网络层不提供可靠通信,因此由主机来负责端到端的可靠性,包括差错处理和流量控制,因此主机的处理负担比较大。
• 有哪两个层面(控制、数据)
数据层面:每一个路由器根据转发表把收到的分组从查找到的对应接口转发出去。路由器在转发分组时,是独立地根据本路由器的转发表转发分组的。
控制层面:路由器必须和相邻的路由器经常交换路由信息,才能创建出路由表。
• 直接交付、间接交付
• 直接交付:通信双方在同一网络;数据到达接收方网关,该网关直接将数据发送给接收方。
• 间接交付:通信双方不在同一个网络,发送方把数据发给网关;途径的路由器把数据发给下一跳路由器。
• IP/ARP/ICMP/IGMP都是网络层协议(ping使用?)、
IP协议(Internet Protocol):使许多异构网络互连,以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。
ARP协议(Address Resolution Protocol):地址解析协议,将IP地址映射为MAC地址
ICMP协议(Internet Control Message Protocol):网际控制报文协议,为了有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
虚拟互连网络:将网络互联起来要使用一些中间设备(转接器、网桥、交换机、路由器、 网关各是哪个层次的设备)
中继器和集线器在物理层,不隔离任何域。
网桥和交换机工作在数据链路层,可以隔离冲突域,不能隔离广播域。
路由器工作在网络层,隔离冲突域和广播域。
• 分类的IP地址(A,B,C三类地址如何判别、根据第一字节;是否可以分配给主机使用;如127.0.0.1; 192.202.255.254);
A<127 网络号8位
128<B<191 网络号16位
192<C<223 网络号24位
网络号全0 本网络
网络号全1 环回测试
不指派:A类网络号0、127 主机号全0 全1
CIDR:无分类编址 斜线记法
在无分类编址的IPv4地址后面加上斜线"/",在斜线之后写上网络前缀(原来的网络号 )所占的比特数量(也就是地址掩码中左起连续比特1的数量),这种记法称为斜线记法。
使用无分类编址方法,可以根据客户的需要分配适当大小的CIDR地址块,因此可以更加有效地分配IPv4的地址空间。
使用无分类编址方法的另一个好处是路由聚合(也称为构造超网)。
• 地址块的大小(如习题 4-31 );网络前缀都相同的所有连续IP地址组成一个地址块。地址块包含IP地址数目取决于网络前缀位数
最小地址:求出网络前缀后,主机号全0
最大地址:求出网络前缀后,主机号全1
地址数量:2的n次方 (n为主机号位数 即32-20)
聚合C网数量:地址数/C网地址数
地址掩码(子网掩码):由一串1和接着的一串0组成,1个数就是网络前缀长度
• 如何划分子网(如习题4-33,找出每个子网的第一个和最后一个可分配地址、可分地址总数);
【路由聚合(构造超网)------找共同前缀】
地址解析协议ARP: 从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
实现原理
在主机ARP高速缓存表中存放一个从IP地址到MAC地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。每一台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。
源主机在自己的ARP高速缓存表中查找目的主机的IP地址所对应的MAC地址,若找到了,则可以封装MAC帧进行发送;若找不到。则发送ARP请求(封装在广播MAC帧中)﹔
目的主机收到ARP请求后,将源主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后给源主机发送ARP响应(封装在单播MAC帧中),ARP响应中包含有目的主机的IP地址和MAC地址;
源主机收到ARP响应后,将目的主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后就可以封装之前想发送的MAC帧并发送给目的主机;
ARP的作用范围:逐段链路或逐个网络使用;
如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)。
数据包转发过程中IP地址与MAC地址的变化情况:源lIP地址和目的IP地址保持不变;
源MAC地址和目的MAC地址逐个链路(或逐个网络)改变。
IP地址在互联网中是用于标识主机的逻辑地址,而MAC地址则是用于标识网卡的物理地址。
IP地址是在网络层(OSI模型中的第三层)使用的,它是一个动态分配且具有结构化特性的地址,可以实现跨网络的通信和路由。
MAC地址是在数据链路层(OSI模型中的第二层)使用的,它是一个固定且扁平化的地址,可以实现局域网内部的寻址和数据传输。
IP地址局域网内可以随便更改,但是mac地址一般不能更改;
长度不同。IP地址为32位,MAC地址为48位;
IP数据报
首部检验和:只检验数据报首部,不包括数据。方式和UDP校验一致
生存时间TTL:路由器每次转发数据报前把TTL-1,值为0时丢弃。
片偏移量必须为整数、分片长度为 (长度/8)向下取整后x8
IP层转发分组的过程:
当路由器收到一个待转发的分组,在从转发表得出下一跳路由器的IP地址后,把这个地址送交数据链路层的网络 接口软件。网络接口软件负责++把下一跳路由器的IP地址转换成MAC地址(必须使用ARP)++,并将此MAC地址放在链路层的MAC帧的首部,然后利用这个MAC地址传送到下一跳路由器的链路层,再取出MAC帧的数据部分,交给网络层。
基于终点的转发:分组在互联网上传送和转发是基于分组首部中的目的地址的。
目的网络地址:把IP地址和地址掩码按位AND运算(网络前缀位与运算,后面全0)
最长前缀匹配:在采用CIDR编址时,如果一个分组在转发表中可以找到多个匹配的前缀,那么就应当选择前缀****最长的一个作为匹配的前缀。这个原则称为最长前缀匹配(longest prefixmatch)。网络前缀越长,其地址块就越小, 因而路由就越具体。为了更加迅速地查找转发表,可以按照前缀的长短,把前缀最长的排在第1行,然后按前缀长短的顺序往下排列。 用这种方法从第1行 前缀最长的开始查找,只要检查到匹配的,就不必再继续往下查找,可以立即结束查找。
主机路由(host route):又叫作特定主机路由,这是对特定目的主机的IP地址专门指明的一个路由。
例如一个路由为192.168.20.25/32,这个子网掩码是32个1,它与任何地址AND都会得到那个地址本身。换言之,只有发向 192.168.20.25这个目的网络的信息才能匹配这个路由。对发向特定主机的信息进行了单独处理。
默认路由(default route)。这就是不管分组的最终目的网络在哪里,都由指定的路由器来处理。
这个路由为0.0.0.0/0.它的子网掩码是32个0。任何目标地址与它AND都会得到0.0.0.0,因此它会和任何目标地址匹配。
ICMP协议的作用:
ICMP(Internet Control Message Protocol)是一个差错报告报文,是TCP/IP协议簇中的一个重要子协议,通常 被IP层或更高层协议(TCP或UDP)使用,属于网络层协议,主要用于在IP主机和路由器之间传递控制消息,用 于报告主机是否可达、路由是否可用等。
ICMP报文的种类:差错报告报文和询问报文
ping、traceroute
• IPv6:报文格式、地址、IPv4/IPv6过渡、ICMPv6
IPv6 (Internet Protocol version 6
)是为了解决IPv4地址耗尽问题而设计的新一代IP协议版本,它使用128位(ipv4 32位) 二进制数来表示一个IP地址,通常以冒分十六进制形式来显示,例如2001:db8::1。
一个IPv6地址由两部分组成:前缀 和接口标识符。
- 前缀表示该设备所属的网络或子网,
- 接口标识符表示该设备在该网络或子网中的编号。
IPv6没有固定长度的网络号或主机号,而是使用前缀长度(prefix length)来表示前缀占用多少位。例如2001:db8::1/64就表示前64位为前缀,后64位为接口标识符。
IPv4过渡到IPv6的方法
由于现在整个互联网上使用IPV4的路由器数量太大,向IPV6过渡只能采用逐步演进的办法,同时,还必须使新安装的IPV6系统能够向后兼容。下面介绍两种向IPV6过渡的策略,即使用双协议栈和隧道技术。
(1)双协议栈︰是指在完全过渡到IPV6之前,使一部分主机装有两个协议栈,因此双协议栈主机既能够和IPV6的系统通信,又能够和IPV4的系统通信。
(2)隧道技术︰要点是在IPV6数据报要进入IPV4网络时,把IPV6数据报封装成为IPV4数据报。然后,IPV6数据报就在IPV4网络的隧道中传输。当IPV4数据报离开IPV4网络中的隧道时再把数据部分交给主机的IPV6协议栈。
互联⽹路由选择协议
内部⽹关协议( RIP 、 OSPF );外部⽹关协议( BGP-3 TCP协议 )
什么是自治系统AS:
自治系统(Autonomous System)是指一组互联的IP地址集合,由一个或多个自治系统号(ASN)标识。每个AS 通常由一个或多个路由器和与之相连的子网组成,这些路由器共同遵循同一套路由协议,形成一个统一管理和控 制的网络单元。
内部网关协议: RIP和OSPF协议
RIP:路由信息协议 基于向量 UDP
路由器刚开始启动时,路由表中只会包含直连路由(相邻的邻居路由)。当R1设备和R2设备运行RIP路 由协议之后, 路由器会发送Request广播报文(广播包都是以目标地址为255.255.255.255),用来请求邻 居路由器的RIP路由。运行RIP的邻居路由器收到该Request广播报文后,会根据自己的路由表,生成 Response报文进行单播的方式回复。路由器在收到Response报文后,会将相应的路由添加到自己的路由表 中。
当接收到响应路由时会依据度量值的大小来判断路由的好坏,把度量值小的路由放入路由表中,判断过程如 下:
1.先查看自己的路由表中是否有该路由信息
2.如果没有就添加该路由
3.如果有,那么只在新度量值较小时才更新
RIP网络稳定以后,每个路由器会周期性地向邻居路由器通告自己的整张路由表中的路由信息,默认周期为 30秒。邻居路由器根据收到的路由信息刷新自己的路由表。当检测到更新时,会向邻居发送触发更新,通 知路由发生变化了。
距离16代表不可达
【注意相同的下一跳,更新】
OSPF:开放最短路径优先 基于链路 IP协议
特点:链路状态路由协议是层次式的,网络中的路由器并不向邻居传递"路由项",而是通告给邻居一些链路 状态。链路状态协议只是通告给邻居的一些链路状态。运行该路由协议的路由器不是简单地从相邻的路由器 学习路由,而是把路由器分成区域,收集区域的所有的路由器的链路状态信息,根据状态信息生产网络拓扑 结构,每一个路由器再根据拓扑结构计算出路由。
OSPF对多个路由器接入的局域网采用"指定路由器"的方法,使广播的信息量大大减少
过程:
- 了解直连网络
(2)向邻居发送hello包(邻居指启用了相同链路状态路由协议的其他任何路由器)
(3)建立链路状态数据包,
(4)将链路状态数据包泛洪给邻居(路由器将其链路状态信息泛洪到路由区域内的其他所有链路状态路由器,他一旦收到 来自邻居的LSP,不经过中间计算,立即将这个LSP从除接收该LSP口以外的所有接口发出,此过程在整个路由区域内的所有路由 器上形成LSP的泛洪效应。)
路由器结构可划分为两大部分 :路由选择部分和分组转发部分。
路由器的三种交换结构:
储存器
总线
互联网络
隧道实现技术VPN
VPN是虚拟私人网络的缩写,它是一种用于在公共网络上建立安全连接的技术。
隧道传输通过在用户设备和VPN服务器之间建立虚拟通道,将用户的网络流量转发至VPN服务器,再由VPN服务器发送至目标网站,实现翻墙访问。IP地址隐藏则通过VPN服务器代理用户的网络请求,隐藏用户的真实IP地址,使用户在访问网站时看起来像是来自VPN服务器的IP地址。
VPN的应用场景:内联网、外联网、远程接入网
NAT的作用是什么:
NAT(Network Address Translator,网络地址转换)是用于在本地网络中使用私有地址,在连接互联网时转而使 用全局 IP 地址的技术。 NAT实际上是为解决 IPv4地址短缺而开发的技术。
NAPT是什么:
NAPT(Network Address Port Translation)是一种 网络地址 和端口的转换技术,允许多个主机通过一个公共IP 地址访问互联网。 NAPT技术通过将私有IP地址和 端口号 映射到公有IP地址和端口号,来实现 网络地址转换。