本文部分文字与图片参考或来自简书: 深入浅出-网络七层模型&&网络数据包

学习书籍:《计算机网络(第6版)》谢希仁 编著

在校学习计算机网络专业课的经历:

在校学习网络专业课的学期正好学车,逃课了半学期,期间并没有好好学。还清楚记得大二下学期的计算机网络的考试场景,当时正好和科目二的考试错开,考完网络和其他三个队友快速冲出考场前往科目二考试场地,然而并没有逃脱挂科的命运。

对于计算机网络的看法:

现在感觉,无论是实际工作中还是单纯想应付笔试/面试还是提高自己对计算机体系的认知,充分了解计算机网络真的十分十分重要。在校学习的理论性质的专业科目学好还是非常重要的,就像跟 @翠花 说的 “出来混迟早是要还的”,当时逃的课,现在统统周末补上。

计算机网络的学习

试图从七层模型的角度来学习计算机网络,每一层的学习会单独放在一篇博客上,接近物理硬件的层级可能不会涉及。

OSI模型:

OSI 模型(Open System Interconnection model)是一个由国际标准化组织􏰁提出的概念模型,试图􏰁供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。它将计算机网络体系结构划分为七层,每层都可以􏰁供抽象良好的接口。

OSI 模型各层间关系和通讯时的数据流向如图所示:

OSI七层网络模型

书中是将网络分为了五层(五层结构中的应用层包括七层结构的 会话层表示层应用层),此外还有 TCP/IP 的四层协议,三种分层模式如图(P28):
计算机网络体系结构

物理层(Physical layer)

书 P38,本章最重要的内容是:

  • 物理层的任务。
  • 几种常用的信道复用技术
  • 集中常用的宽带接入技术,主要是 ADSL 和 FTTx。

“首先要强调指出,物理层考虑的是怎样才能在各种连接计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。”
在物理层所传数据的单位是比特。

数据链路层简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要专门的链路层的协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧(framing),在两个相邻节点之间的链路上传送阵(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

网络层(Network layer)相关笔记

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组包(packet)进行传送。

因特网是一个很大的互联网,它由大量的异构网络通过路由器(router)相互连接起来。因特网主要的网络协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此,因特网的路由层也叫做网际层IP层

传输层(Transport layer)

运输层(传输层)的主要任务是负责向两个主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。

运输层主要使用以下两种协议:

  • 传输控制协议 TCP - 提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。
  • 用户数据报协议 UDP - 提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

应用层(Application layer)

应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是用用进程间通信和交互的规则。这里的进程(process)就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在因特网中的应用层协议很多,如支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议,支持文件传送的 FTP 协议,等等。我们将应用层交互的数据单元成为报文(message)。

本文最后

对应网络的相关知识后续会不断的学习。