文档章节

2.网络层介绍

alon龙武
 alon龙武
发布于 2014/11/13 16:16
字数 2729
阅读 137
收藏 12

1.交换处理过程

上述模型当中,像路由器这样的连接设备担当着交换机的作用。当一个分组从某个端口到达路由器后,通过另一个端口转发给下一部交换机,称为交换的处理过程发生在连接设备上


2.交换

2.1 电路交换

报文传递之前,报文的源点和终点之间先要建立一条物理电路或信道。在电路已经建立的前提下,报文完整地从源点传送到终点,然后源点可以通知网络传输已经完成。在电话交换中,完整的、没有被分割成分组的报文从源点发送到终点。电路交换从未在网络层上应用过,主要用于物理层

2.2 分组交换

在分组交换网中,源点在传送之前先要将报文分割成便于管理的分组,这些分组到达终点后被重新组装。目前因特网的网络层就是一个分组交换网,连接设备需要判断如何为分组选择路由使之到达终点。目前,分组交换网为分组选择路由的方式有两种:数据报方式和虚电路方式


3.网络层的分组交换

网络层被设计为一个分组交换网:报文要在源点被分割成便于管理的分组,通常称为数据报,然后逐个地将每个数据报从源点传送到终点。终点接收到的数据报经过组装后重新生成原始的报文

3.1 无连接服务

网络层的协议独立地对待每一个分组,分组之间没有任何关联。一个报文的所有分组可能会沿着不同的路径抵达终点

每个分组选择路由时都要依据首部的信息:源地址和目的地址。路由器根据目的地址选择路由。源地址可用于报文丢弃的时候向源点发送差错消息。在无连接分组交换网中,转发判决的依据是该分组的目的地址。

无连接网络中的时延

3.2 面向连接服务

面向连接的服务中,属于同一个报文的所有分组之间是有关联的。在一个报文的数据报被发送之前,首先建立一条虚连接指定数据报的传送路径。分组不仅包含源地址和目的地址,同时包含一个虚电路标识符,用来指定分组应当采用的虚路径

在面向连接的分组交换网络中,转发判决的依据是该分组的虚电路标识符

要建立面向连接的服务必须经过三个阶段的处理过程:建立链路、数据传送和拆掉链路。建立链路阶段,发送方的源地址和接收方的目的地址用来生成面向连接服务路由表的一个表项。拆掉链路阶段,源点和终点通知路由器删除相应的表项。

3.2.1 建立链路阶段

在建链阶段,路由器需要为一条虚拟电路创建一个表项,在发送方和接收方之间需要交换两个辅助分组:请求分组和确认分组

请求分组

路由器在路由表中为虚电路创建一个表项,表项填写三列:入端口、入标号、出端口,出标号需要等到确认阶段才知道

确认分组

3.2.2 数据传送阶段

当所有路由器都为特定的虚电路创建了各自的路由表项之后,属于同一个报文的所有网络层分组可以一个接一个地发送出去。报文的所有分组都遵循相同的标号序列抵达终点,终点处,分组是按序到达的

3.2.3 拆掉链路阶段

在拆链阶段,源点在向终点发送了所有的分组后会发送一个称为拆链分组的特殊分组,终点用一个确认分组响应。所有的路由器从各自的路由表中将对应的表项删除

3.2.4 无连接网络中的时延


4.网络层的服务

4.1 源计算机提供的服务

源计算机上的网络层提供四种服务:分组化处理、查找下一跳的逻辑地址、查找下一跳的物理地址、对数据报进行必要的分片处理

网络层接收来自上层的几个信息:数据、数据长度、逻辑地址、目的地址、协议标志号、服务类型。网络层对这些信息进行处理后生产一组数据报片以及下一跳的MAC地址,将它们一起交付给数据链路层

  • 分组化处理:网络层将来自上层的数据封装到一个数据报:为数据添加一个首部,包括分组的逻辑源地址和逻辑目的地址、分片相关信息、请求此服务的协议标号、数据长度,再加上其它一些可能选项

  • 查找下一跳的逻辑地址:数据报的源地址和目的地址没有关于下一跳逻辑地址的任何线索,源计算机上的网络层需要咨询路由表找出下一跳的逻辑地址

  • 查找下一跳的物理地址:网络层并不是真的将数据报交付给下一跳,而是由数据链路层负责真正的交付。数据链路层需要下一跳的物理地址才能向其交付。网络层通过地址解析协议获得逻辑地址对应的物理地址

  •  分片:大多数局域网和广域网都会对一个帧所携带的数据最大长度加以限制。如果网络层准备传送的数据报长度超过限制,在被传递到数据链路层之前,数据报需要被分割为更小的单元。分片操作必须要保留数据报首部中的信息

4.2 各路由器提供的服务

一个数据报涉及到路由器上的两个接口:入接口和出接口。路由器上的网络层需要与两个数据链路层打交道:入接口的数据链路层和出接口的数据链路层。网络层负载接收来自入接口数据链路层的数据报,如有必要需进行分片处理,然后将数据报片交付给出接口的数据链路层

4.3 目的计算机提供的服务

目的计算机向终点交付数据之前需要重组数据报片。在检查过数据报片的有效性后,从中提取数据保存。当所有的数据报片都到齐后,数据重组并交付给上层,同时网络层设置一个重组定时器。如果定时器超时,所有的数据报片都会被销毁,并发送一个差错报文,所有的数据报片需要被重新传送


5. 网络层相关的问题

5.1 差错控制

差错控制包括对损坏、丢失以及重复的数据报进行检测的机制,还包括检测到错误之后的纠错机制。网络层不提供真正意义上的差错控制,因为数据链路层实现了逐跳的差错控制。然而,逐跳的差错控制保护数据报并不够彻底,比如路由器处理数据报时出现的差错,数据链路层无法检测出来

网络层之所以忽略差错检测的另一个理由与分片有关。由于数据很可能在路由器上被分片,使得部分网络层的数据可能会被改变。如果使用差错控制,必须在每个路由器上检测是否有分片,导致网络层上的差错检测变得非常低效。不过,网络层的设计者在数据报上增加了校验和字段,可以控制首部出现的任何损坏,而不是针对整个数据报。另外,虽然网络层没有直接提供差错控制,但是如果数据报被丢弃或者首部含有一些不可知的信息,ICMP协议会提供某种程度的差错控制

5.2 流量控制

流量控制用于调整源点发送的数据量以免接收方超载。如果源计算机上层应用产生数据的速度比目的计算机上层应用吸收数据的速度快,接收方会被数据淹没。为了控制数据的流量,接收方需要向发送方发送某些反馈,通知发送方自己被数据淹没。但是,因特网的网络层并不直接提供任何流量控制。首先,网络层没有差错控制,接收方网络层工作简单,以致很少出现超载现象。其次,使用网络层服务的上层协议可以部署缓存,某种程度上加强接收数据速度。再次,网络层服务的上层协议都会提供流量控制

5.3 拥塞控制

如果网络中源计算机发送数据报的数量超过网络或路由器的容量,有可能发送拥塞现象。这种情况下,某些路由器可能丢弃一些数据报,导致发送方可能重新发送被丢弃的分组副本,拥塞情况更严重。如果拥塞持续下去,某一时刻达到极点,导致系统崩溃,没有任何数据报能被交付

无连接网络的拥塞控制

  • 无连接网络可以通过信令控制拥塞的形成:反向信令是在运动方向与拥塞方向相反的数据报中设置一个比特,通知发送方拥塞正在形成,发送方应当放慢分组的速度。

  • 无连接网络可以通过扼流分组控制拥塞的形成:遇到拥塞时由路由器向发送方发送一个特殊的分组。向源点发送一个ICMP分组使其放慢速度

面向连接网络的拥塞控制

建立链路阶段进行提前协商:发送方和接收方可以在建立虚拟电路时对通信量的级别达成一致意见。这个通信量级别可以由允许建立虚电路的路由器指定




© 著作权归作者所有

共有 人打赏支持
上一篇: 浮点数存储方式
下一篇: 1.TCP/IP协议
alon龙武
粉丝 2
博文 14
码字总数 20481
作品 0
深圳
程序员
私信 提问
Socket服务器整体架构概述

Socket服务器主要用于提供高效、稳定的数据处理、消息转发等服务,它直接决定了前台应用程序的性能。我们先从整体上认识一下Socket服务器,Socket服务器从架构上一般分为:网络层、业务逻辑层...

付翔
2013/01/05
0
0
Linux系统及Netfilter介绍

不论是各类设备和还是应用服务器,都大量的使用了Linux系统,下面是我个人的一些理解,供参考。 Linux的网络性能强大,其中Netfilter框架支持各类网络通信协议,同时具有网络安全、网络管理、...

esmond
2013/06/28
0
0
[Deep-Learning-with-Python]神经网络入手学习[上]

神经网络入手[上] [x] 神经网络的核心部分 [x] Keras介绍 [ ] 使用Keras解决简单问题:分类和回归 神经网络剖析 神经网络的训练与下列对象相关: 网络层Layers,网络层结合形成神经网络模型;...

七八音
07/13
0
0
怎么样选择负载均衡

一、负载均衡介绍 1、什么是负载均衡 百度百科介绍:http://baike.baidu.com/view/51184.htm?fr=aladdin 负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效...

煮酒品茶
2014/05/22
0
0
《TCP/IP详解.卷1:协议》读书笔记

从大学的时候就听余老师介绍过stevens这三卷书,还听说最后一卷没写完作者就去世了,工作后也一直听人谈起, 但还是没去真正读它。最近因为工作上很多涉及到网络,捉包,各种tcpdump的使用,...

suit
2014/10/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

短视频App开发:短视频爆发式增长

短视频领域依旧热闹非凡,众多巨头纷纷布局短视频领域,推动市场格局的新变化。迹象显示,行业企业正纷纷瞄准AI(人工智能)及5G契机进行布局,力图获得下一步发展优势。 短视频市场火爆 竞争...

ThinkSNS账号
11分钟前
0
0
图形用户界面和交互输入方法---交互式构图技术

基本的定位方法 拖拽 约束 网格 橡皮条方法

中国龙-扬科
19分钟前
0
0
Win10:键盘任一键实现了 “一键开机”

微软自 Windows 10 系统起,默认自己的系统都开始支持“快速开启”。实质上就是“快速开机”的功能。 此功能的特点是:对于装载了 Windows 10 的电脑,开机时,只需要轻轻按一下键盘上的任意...

LivingInFHL
36分钟前
0
0
vue-router的HTML5 History 模式设置

VUE是当下最火爆的前端框架之一,vue-router是vue项目中几乎都会用到的组件,然而体验一时爽,其实坑不少。本篇经验将详细介绍vue-router的两种mode效果和开发测试环境下的问题,并给出解决方...

peakedness丶
40分钟前
1
0
Dubbo 源码分析 - 服务引用

1. 简介 在上一篇文章中,我详细的分析了服务导出的原理。本篇文章我们趁热打铁,继续分析服务引用的原理。在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直联的方式引用...

小刀爱编程
50分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部