计算机网络 网络层梳理

前言

本文梳理网络层相关知识。

网络层概述

网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,实现两个网络系统之间的数据透明传送。网络层传输单位是数据报。

  • 网络层功能:
    路由选择与分组转发(最佳路径)
    屏蔽网络差异,提供透明传输,即依靠路由器异构网络互连(wifi、4G、内网)
    数据包封装与解封装
    拥塞控制

计算机网络 网络层梳理_第1张图片

网络层数据交换技术

数据交换技术主要是指网络中间结点所提供的数据交换功能。
从整个网络层数据交换技术的发展来看,交换技术经历了一个由电路交换、报文交换到现在最常用的分组交换的历程。
报文交换和分组交换都属于存储–转发交换技术。所谓存储–转发是当报文到达路由器后先存储起来,等待路由器分配资源再进行数据分组的转发。
计算机网络 网络层梳理_第2张图片

为什么要数据交换


采用交换网络方式,由大量的交换设备互联而构成的, 这样既对减少了对交换端口的需求,也可以实现远距离通信。

数据交换方式

计算机网络 网络层梳理_第3张图片

1. 电路交换

线路交换(Circuit Switching,又称电路交换)是最原始的数据交换方式,是在网络中利用可切换的物理通信线路直接连接通信双方所进行的一种数据交换方式。
线路交换是面向连接的服务,两台计算机通过通信子网进行数据交换之前,首先要在通信子网中建立一个实际的物理线路连接。
线路交换的最主要特点就是在进行数据交换前需要在一对用户之间建立起一条专用的数据通路,在整个数据传输过程中要经过线路建立、数据传输与线路释放这三个阶段,并且是独占资源的。
最常见的例子是电话交换系统和ISDN(Integrated Services Digital Network,综合业务数字网)系统。

  • 优点:
    通信时延小
    有序传输
    没有冲突
    实时性强

  • 缺点
    建立连接时间长
    线路独占,使用效率低
    灵活性差
    无差错控制能力(不会检错和纠错,只单纯的转发)

2. 报文交换

报文交换(Message Switching)是指信息以报文(Message,完整数据的一个信息段)为单位进行存储–转发的一种数据交换方式。
在报文交换方式中,报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块,其包含了将要发送的完整的数据信息,其长短可能不一致,长度不限且可变。

  • 优点:
    无需建立连接
    存储转发,动态分配线路
    线路可靠性较高
    线路利用率较高
    多目标服务

  • 缺点:
    有存储转发时延
    报文大小不定,需要网络结点有较大缓存空间

3. 分组交换

分组交换即是把大的数据块分割成小的数据块进行传输,并行发送。

  • 优点:
    无需建立连接
    存储转发,动态分配线路
    线路可靠性较高
    线路利用率较高
    相对于报文交换,存储管理更容易

  • 缺点:
    有存储转发时延
    需要传输额外的信息量
    乱序到目的主机时,要对分组排序重组

  • 分组交换包括数据报方式和虚电路方式。

3. 1. 数据报方式

数据报方式为网络层提供无连接服务,即不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。目前广泛使用的是这种。

每个分组携带源地址和目的地址,路由器根据分组的目的地址转发分组:基于路由协议构建转发表;检索转发表;每个分组独立选路。

3. 2. 虚电路方式

虚电路方式为网络层提供连接服务,即首先为分组传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
虚电路是把分组交换和电路交换进行融合,把两者优点融合在一起。

虚电路:一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息。
每个分组携带虚电路号,而非目的地址,路由器在转发时会检索该虚电路号选择下一跳。

网络层相关协议

之后慢慢梳理,暂时梳理IP协议。

IP协议

  • IP协议
    目前的计算机网络,特别是TCP/IP网络,使用最多的是数据报分组交换方式,而IP协议是用于将多个分组交换网络连接起来的最典型通信协议。
    IP协议是一个无连接的服务,负责在源地址和目的地址之间传送数据报,然后为了适应不同网络对分组大小的要求,需要对上层传来的报文进行分割,最后调用本地网络协议将数据报传送给下一个网关或目的计算机。
    IP协议的主要功能就是把数据报在互连的网络上传送,将数据报在一个个IP模块间传送直到传送到目的模块。网络中每个主机和网关上都有IP模块。数据报在一个个模块间通过路由处理网络地址传送到目的地址。

  • 具有的功能:
    寻址
    数据报的封装
    分段与重组

IPv4数据报头部格式

计算机网络 网络层梳理_第4张图片

  • 首部长度:该分组首部的长度,单位是4B,最小为5,即长度最小为20B。
  • 版本:IPv4/IPv6
  • 总长度:首部+数据,用16位表达,单位是1B,即2^16 - 1 = 65535byte;但受到MTU限制会分片,不会这么大。
  • 标识:同一数据报的分片使用同一标识。
  • 片偏移:指出较长分组分片后,某片在原分组中的相对位置。单位是8B,所以除了最后一个分片,每个分片的长度一定是8B的整数倍。
  • 生存时间:没经过一个路由器会减1,变成0则丢弃。
  • 协议:数据部分的协议。TCP是6,UDP是17。
  • 数据部分是传输层的报文段。

image.png

网络层设备

路由器

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。


三层设备的区别

路由器:可以互联两个不同网络层协议的网段。
网桥:可以互联两个物理层和链路层不同的网段。
集线器:不能互联两个物理层不同的网段。
计算机网络 网络层梳理_第5张图片

Q&A

1. TCP面向连接阐述

TCP所谓的面向连接的特性以及建立虚电路,与网络层虚电路服务好像有着本质的区别,网络层的带有虚电路的服务的协议典型的有曾经应用在广域网的X.25和帧中继,这两个协议在建立连接时要建立所谓的虚电路号,在传输的数据单元中有已经填好的虚电路号,数据单元沿着既定的虚电路沿着既定的方向(一定的路由器序列)到接收端,这样能够保证数据单元到达接收端是有序地,而且也能很好的保障可靠传输。

而TCP的面向连接服务在建立连接时只是进行了三次握手,具体主机到主机的传输以来网络层,也就是IP层提供的路由服务,而IP层在发送以及转发分组是无序的,举个简单的例子,如果IP协议和X.25协议(假设这两个协议应用在同一个案例中)在建立连接时指定了一段A到B得链路,如果A到B得链路在某个时刻出现拥塞,IP协议可能会让分组到达A以后选择另外一条路由,而X.25就只能利用一些流量控制等措施来控制发送端的发送速度,但是不会选择A到B以外的路径,所以TCP所谓的虚电路和网络层的虚电路服务这样理解的话完全不是一个概念。

网络层的虚电路服务时真正指明了一条链路序列,数据只能在这个指明的链路中有序地发送到接收端,而TCP的虚电路只是依靠他的拥塞控制,流量控制和差错控制来令收到的报文段看起来是有序地(在滑动窗口机制里可能出现后面的字节流先到或者字节丢失的情况,所以可以看出来TCP不能保证真正的传输的可靠性,只是依靠差错控制来保证能可靠地收到正确的数据流),而TCP的报文段实际在网络中传输时不可靠且无需的。

一个TCP的问题,所谓TCP面向连接的虚电路到底是怎么实现的?

你可能感兴趣的:(计算机网络,操作系统等,计算机网络,网络层)