程序员的网络日志 程序员的网络日志
首页
  • 计算机科学导论
  • 数字电路
  • 计算机组成原理
  • C语言
  • 数据结构
  • 汇编语言
  • 操作系统
  • Linux
  • 编译原理
  • 计算机网络
  • 数据库
  • Java基础
  • JavaWeb
  • 笔记软件
  • Quicker
  • Qttabar
  • Wgesture
  • 浏览器与插件
  • 视频播放器
  • 待办清单
  • 终端软件
  • uTools
  • 番茄盒子
  • 网站日记
  • 赞赏支持
  • 关于本站
  • 如何搭建一个博客
  • 如何搭建一个邮箱
GitHub (opens new window)
首页
  • 计算机科学导论
  • 数字电路
  • 计算机组成原理
  • C语言
  • 数据结构
  • 汇编语言
  • 操作系统
  • Linux
  • 编译原理
  • 计算机网络
  • 数据库
  • Java基础
  • JavaWeb
  • 笔记软件
  • Quicker
  • Qttabar
  • Wgesture
  • 浏览器与插件
  • 视频播放器
  • 待办清单
  • 终端软件
  • uTools
  • 番茄盒子
  • 网站日记
  • 赞赏支持
  • 关于本站
  • 如何搭建一个博客
  • 如何搭建一个邮箱
GitHub (opens new window)
  • 计算机科学导论

  • 数字电路

  • 计算机组成原理

  • 数据结构

  • 操作系统

  • Linux

  • 编译原理

  • 计算机网络

    • 计算机网络
    • 计算机网络概述
    • 基本概念
    • 物理层
    • 链路层
    • 网络层
      • 4.1 网络层概述
    • TCP与IP层
    • 应用层
    • 实验课
  • 数据库

  • 计算机科学导论
  • 计算机基础
  • 计算机网络
程序狗
2022-07-26
目录

网络层

# 网络层

# 4.1 网络层概述

从本节课开始,我们进入第4章网络层的学习。本节课我们对网络层进行概述。 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输,如图所示。 这些异构型网络,如果只是需要各自内部通信,他们只要实现各自的物理层和数据链入层即可,但是如果需要将这些异构型网络互连起来,形成一个更大的互联网,就需要使用网络层互联设备路由器。

image.png

需要说明的是为了简单起见,有时我们可以不用画出这些网络,而将他们看作是一条链路即可。

image.png

对于互联网而言,仅实现计算机网络体系结构中的物理层和数据链路层,是不能实现数据包在互联网中各网络之间传输的,要实现该功能,就要必须实现网络层,网络层需要解决以下主要问题:


首要问题是网络层应该向其上面的运输层提供怎样的服务,是可靠传输服务,还是不可靠传输服务?我们在之前的课程中曾介绍过,数据包在传输过程中可能会出现误码,也有可能由于路由器繁忙而被路由器丢弃,还有可能出现按序发送的数据包,不能按序到达接收方。

  • 如果网络层对于上述传输错误不采取任何措施,则提供的是不可靠传输服务。
  • 如果网络层对于上述传输错误采取措施,并使得接收方能正确接收发送方所发送的数据包,则提供的是可靠传输服务。
  • 不同网络体系结构所提供的服务可能是不同的。例如因特网使用的tcpip协议体系的网际层,提供的是无连接的不可靠的数据报服务,而ATM,帧中继和X.25的网络层提供的都是面向连接的可靠的虚电路服务。

网络层需要解决的第二个主要问题是寻址问题,例如TCP/IP协议体系的网际层使用IP地址,我们来举例说明,

  • 这是网络N1上两个路由器接口各自所分配的IP地址,它们的前三个数是相同的,可以看作是他们所在网络的网络编号,而第4个数各不相同,用于区分这两个不同的路由器接口,
  • 这是网络N3上两个路由器接口各自所分配的IP地址,它们的前两个数是相同的,可以看作是他们所在网络的网络编号,而后两个数不完全相同,用于区分这两个不同的路由器接口,
  • 这是网络N7上两个路由器接口各自所分配的IP地址,它们的第一个数是相同的,可以看作是他们所在网络的网络编号,而后三个数不完全相同,用于区分这两个不同的路由器接口。

image.png


网络层需要解决的第三个主要问题是路由选择问题。我们来举例说明,如图所示,数据包从原站到达目的站,可以走这样一条路径,也可以走这样一条路径。对于本例还有其他路径可走,我们就要不一一演示了。

那么路由器收到数据包后,是依据什么来决定将数据包从自己的哪个接口转发出去的呢?这个问题在我们之前的课程中曾简单介绍过,不知大家是否还记得。没错,依据的是数据包中的目的地址和路由器中的路由表。

  • 例如这是路由器R1的路由表,里面记录着路由器、R1所知道的网络以及数据包要到达这些网络,应该从自己的哪个接口转发。
  • 假设R1知道数据包要到达网络N7,下一跳,应将其转发给路由器R4,则路由表中应该有这样一条记录,
  • 而数据包要到达网络N6,下一跳,应将其转发给路由器R2,则路由表装应该有这样一条记录。
上次更新: 2022/8/7 09:00:48
链路层
TCP与IP层

← 链路层 TCP与IP层→

最近更新
01
从操作系统启动开始
10-23
02
搭建实验环境
10-23
03
学习操作系统之前
10-22
更多文章>
Theme by Vdoing | Copyright © -2022 粤ICP备2022067627号-1 粤公网安备 44011302003646号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式