【计算机网络】网络基础

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录


前言

本文是博主首次学习网络知识后进行的总结文章内容包括了解网络发展背景对网络的概念有基本认识、了解网络协议的意义理解OSI七层模型和TCP/IP五层结构模型了解网络传输的基本流程、理解封装和分用。后续将会继续更新网络相关的内容。

一、计算机网络发展

计算机网络是计算机技术和通信技术相结合的产物是信息化社会的主要技术设施。1946年世界上第一台计算机ENIAC在美国诞生。随着微电子技术的不断发展也使计算机网络经历了从简单到复杂、从低级到高级、从地区到全球的发展过程计算机网络从为解决远程计算信息数据的搜集和处理而形成的联机系统开始发展到以资源共享为目的而相互连接起来的计算机群最终形成目前遍布全球各个角落的国际互联网也就是因特网一共经历了四个发展阶段。

第一阶段面向终端的计算机网络
第一阶段的计算机网络特点是其系统基本由主机和系统构成所有的数据处理和通信处理都由主机完成从而导致了主机通信的开销较大通信线路的利用率低下对主机的系统依赖性较高。

第二阶段多台计算机互连的计算机网络
这一阶段的标志性成果是提出了分组交换技术以及形成了TCP/IP协议的雏形。该阶段具有的特点是以分组交换网为中心建立了计算机与计算机的互连与通信实现了计算机资源的共享。但是也仍有不足的地方比如没有形成统一的互连标准使网络在规模与应用等方面受到了限制

第三阶段面向标准化的计算机网络

国际标准化组织ISO于1984年正式颁布了一个称为开放系统互连基本参考模型的国际标准它是公认的计算机网络系统结构的基础在这个阶段也形成了以TCP/IP为核心的因特网

第四阶段面向全球互连的计算机网络
这一阶段在全球范围内极大地推动了计算机网络及其应用的发展使计算机网络进入到一个新的发展阶段各个国家建立了自己的信息高速公路这些信息高速公路的互连就构成了全球互连的因特网。

二、初识“协议”

1. 协议的概念

所谓协议简而言之就是一种约定。网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合而对等实体通常是指计算机网络体系结构中处于相同层次的信息单元。

一般系统网络协议包括五个部分通信环境传输服务词汇表信息的编码格式时序、规则和过程。1969年美国国防部建立最早的网络——阿帕计算机网络时发布了一组计算机通信协议的军用标准它包括了五个协议习惯上以其中的TCP和IP两个协议作为这组协议的通称。

网络协议是由三个要素组成

  1. 语义语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息以及完成的动作与做出什么样的响应。
  2. 语法语法是用户数据与控制信息的结构与格式以及数据出现的顺序。
  3. 时序时序是对事件发生顺序的详细说明。也可称为“同步”。

人们形象地把这三个要素描述为语义表示要做什么语法表示要怎么做时序表示做的顺序

2. 协议分层

网络协议是网络上所有设备之间通信规则的集合它规定了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构每一层都建立在它的下层之上向它的上一层提供一定的服务而把如何实现这一服务的细节对上一层加以屏蔽。

一台设备上的第 n 层与另一台设备上的第 n 层进行通信的规则就是第 n 层协议。在网络的各层中存在着许多协议接收方和发送方同层的协议必须一致否则一方将无法识别另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。常见的协议有TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在局域网中用得的比较多的是IPX/SPX.。用户如果访问Internet则必须在网络协议中添加TCP/IP协议。

例如打电话的例子

打电话的时候两个人并不是之间进行沟通的而是A所说的话由A的电话所记录经过一系列的编码转码后通过通信网络将信息从A的电话传递到B的电话中再进行相应的编码转码将信息转换成语音B才能听到A所说的话。

人与人之间通信我们可以将其称为语言层而电话和电话之间通信使用的是电话系统相关的一些接口我们可以将其称之为通信设备层。在这个例子中我们的协议只有两层 但是实际的网络通信会更加复杂 需要分更多的层次。

三、OSI七层模型

OSI七层模型概念

OSI七层模型是国际标准化组织ISO制定的一个用于计算机或通信系统间互联的标准体系一般称为OSI参考模型或七层模型。

  • OSIOpen System Interconnection开放系统互连七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范。
  • 该模型把网络从逻辑上分为了7层每一层都有相关、相对应的物理设备比如路由器交换机等。
  • OSI 七层模型是一种框架性的设计方法其最主要的功能使就是帮助不同类型的主机实现数据传输。
  • OSI 七层模型最大优点是将服务、接口和协议这三个概念明确地区分开来概念清楚理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

自顶向下的七层模型

分层名称功能每层功能概述
7应用层针对特定应用的协议在这里插入图片描述
6表示层设备固有数据格式和网络标准数据格式的转换
5会话层通信管理。负责建立和断开通信连接数据流动的逻辑通路。管理传输层以下的分层
4传输层管理两个节点之间的数据传输、负责可靠性传输确保数据被可靠地传送到目标地址
3网络层地址管理与路由选择
2数据链路层互联设备之间传送和识别数据帧
1物理层以 “0”、“1” 代表电压的高低以及灯光的闪灭、界定连接器和网线的规格

为什么现在的网络最后采用了TCP/IP参考模型而没用OSI参考模型
首先OSI模型出现的比TCP/IP出现的时间晚在OSI开始使用前TCP/IP已经被广泛的应用了。如果要换成OSI模型也不太现实。其次是OSI没有实践该协议实现起来很复杂很多公司不愿意用OSI。与之相比的TCP/IP协议更加简单实现起来也相对容易更符合市场的要求。综合各种因素最终OSI模型没有被广泛的应用。

四、TCP/IP五层(四层)模型

TCP/IP是一组协议的代名词它还包括许多协议组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构每一层都呼叫它的下一层所提供的网络来完成自己的需求。

TCP/IP五层协议将应用层、表示层、会话层并作应用层从TCP/IP五层协议的角度来阐述每层的由来与功能搞清楚了每层的主要协议就理解了整个互联网通信的原理。

  • 应用层负责应用程序间沟通如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet等。网络编程主要就是针对应用层。

  • 传输层负责两台主机之间的数据传输.。如传输控制协议 (TCP)能够确保数据可靠的从源主机发送到目标主机。

  • 网络层负责地址管理和路由选择。例如在IP协议中通过IP地址来标识一台主机并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。

  • 数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,、无线LAN等标准。交换机(Switch)工作在数据链路层。

  • 物理层负责光/电信号的传递方式。 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤现在的WIFI无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层。

【注意】
物理层我们考虑的比较少因此很多时候也可以称为 TCP/IP四层模型。

TCP/IP五层模型与OSI七层模型之间的关系

我们可以发现两种模型的下面四层几乎是没有区别的。

一般而言

  • 对于一台主机它的操作系统内核实现了从传输层到物理层的内容
  • 对于一台路由器它实现了从网络层到物理层
  • 对于一台交换机它实现了从数据链路层到物理层
  • 对于集线器它只实现了物理层。

但是并不绝对很多交换机也实现了网络层的转发很多路由器也实现了部分传输层的内容(比如端口转发)。

五、网络传输基本流程

1. 网络传输流程图

同一个网段内的两台主机进行文件传输

跨网段的主机的文件传输

数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。

2.数据包封装和分用

  • 不同的协议层对数据包有不同的称谓在传输层叫做段(segment)网络层叫做数据报 (datagram)链路层叫做帧(frame)
  • 应用层数据通过协议栈发到网络上时每层协议都要加上一个数据首部(header)称为封装(Encapsulation)
  • 首部信息中包含了一些类似于首部有多长载荷(payload)有多长上层协议是什么等信息。
  • 数据封装成帧后发到传输介质上到达目的主机后每层协议再剥掉相应的首部根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。

数据封装:

消息要在网络中传输必须对它进行编码以特定的格式进行封装同时需要适当地封装以足够的控制和地址信息以使它能够从发送方移动到接收方。

协议数据单元Protocol Data Unit, PDU

应用层数据在传输过程中沿着协议栈传递每一层协议都会向其中添加信息。这就是封装的过程。

数据片段在各层网络结构中采用的形式就称为协议数据单元PDU。封装过程中下一层对从上一层收到的PDU进行封装。在处理的每一个阶段PDU都有不同的名字来反应它的功能。

PDU按照TCP/IP协议的命名规范

  • 数据Data应用层PDU的常用术语
  • 分段Segment传输层PDU
  • 帧Frame网络层PDU
  • 比特Bits在介质上物理传输数据所使用的PDU。

封装

封装是指在传输之前为数据添加额外的协议头信息的过程。在绝大多数数据通信过程中源数据在传输前都会封装以数层协议。在网络上发送消息时主机上的协议栈从上至下进行操作。

以网络服务器为例HTTP应用层协议发送HTML格式网页数据到传输层应用层数据被分成TCP分段。各TCP分段被打上标签称为头header表明接收方哪一个进程应当接收此消息。同时也包含使得接收方能够按照原有的格式来重组数据的信息。传输层将网页HTML数据封装成分段并发送至网络层执行IP层协议。整个TCP分段封装成IP报文也就是再添上IP头标签。IP头包括源和目的IP地址以及发送报文到目的地址所必须的信息。

之后IP报文发送到接入层封装以帧头和帧尾。每个帧头都包含源和目的物理地址。物理地址唯一指定了本地网络上的设备。帧尾包含差错校正信息。最后由服务器网卡将比特编码传输给介质。

解封装

接收主机以相反的方式进行操作称为解封装。解封装是接收设备移除一层或多层协议头的过程。数据在协议栈中向上移动直到终端应用层伴随着解封装。

下图为数据封装的过程

下图为数据分用的过程

六、网络中的地址管理

1. IP地址

IP协议中有一个非常重要的内容那就是给因特网上的每台计算机和其它设备都规定了一个唯一的地址叫做“IP地址”。由于有这种唯一的地址才保证了用户在连网的计算机上操作时能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。

IP地址就像是我们的家庭住址一样如果你要写信给一个人你就要知道他的地址这样邮递员才能把信送到。计算机发送信息就好比是邮递员它必须知道唯一的“家庭地址”才能不至于把信送错人家。只不过我们的地址是用文字来表示的计算机的地址用二进制数字表示。

IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址才能正常通信。我们可以把“个人计算机”比作“一台电话”那么“IP地址”就相当于“电话号码”而Internet中的路由器就相当于电信局的“程控式交换机”。

IP地址是一个32位的二进制数通常被分割为4个“8位二进制数”也就是4个字节。IP地址通常用“点分十进制”表示成a.b.c.d的形式其中a,b,c,d都是0~255之间的十进制整数。例点分十进IP地址100.4.5.6实际上是32位二进制数01100100.00000100.00000101.00000110。

2. MAC地址

MAC地址也叫物理地址、硬件地址由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片通常可以通过程序擦写)。IP地址与MAC地址在计算机里都是以二进制表示的IP地址是32位的而MAC地址则是48位的 。

MAC地址的长度为48位(6个字节)通常表示为12个16进制数如00-16-EA-AE-3C-40 就是一个MAC地址其中前3个字节16进制数00-16-EA代表网络硬件制造商的编号它由IEEE(电气与电子工程师协会)分配而后3个字节16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址MAC地址在世界是唯一的。形象地说MAC地址就如同身份证上的身份证号码具有唯一性。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6