计算机网络体系结构

Winter is coming~~php

相信你们近期在 php 求职中,确定发现岗位要求愈来愈高了。网络也成为重点考察的技能了,若是以为不太熟悉,这篇文章就很适合你了,新手学习、老手防身均适合html

在计算机网络的基本概念中,分层次的体系结构是最基本的git

计算机网络体系结构的造成

分层

相互通讯的两个计算机系统必须高度协调工做才行,而这种“协调”是至关复杂的。为了设计这样复杂的计算机网络,最初提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题比较易于研究和处理github

国际标准

全球经济的发展使得不一样网络体系结构的用户迫切要求可以互相交换信息,国际标准化组织 ISO 提出了 OSI。只要遵循 OSI 标准,一个系统就能够和位于世界上任何地方的、也遵循这同一标准的其余任何系统进行通讯面试

现今规则最大的、覆盖全球的、基于 TCP/IP 的互联网并未使用 OSI 标准。在20世纪90年代初期,虽然整套的 OSI 国际标准已制定出来,但基于 TCP/IP 的互联网已抢先在全球至关大的范围成功地运行了,而同时却几乎找不到有厂家生产出符合 OSI 标准的商业产品。OSI 只得到了一些理论研究的成果,市场化方面则完全失败了算法

TCP/IP 常被称为是事实上的国际标准设计模式

《PHP面试问答》 https://github.com/colinlet/P...
结合实际 PHP 面试,系统的汇总面试中的各类各样的问题,尝试提供简洁准确的答案。若是你在 PHP 面试中遇到问题,欢迎提 Issues 交流。包含网络协议、数据结构与算法、PHP、Web、MySQL、Redis、Linux、安全、设计模式、架构、自我介绍、离职缘由、职业规划、准备问题等部分
若是以为不错欢迎 star 关注,正在不断持续更新中~~

协议与划分层次

网络协议

在计算机网络中要作到有条不紊地交换数据,就必须准守一些事先约定好的规则。这些规则明确了所交换的数据的格式以及有关的同步问题安全

为进行网络中的数据交换而创建的规则、标准或约定称为网络协议。网络协议也可简称为协议网络

协议组成要素数据结构

  • 语法,即数据与控制信息的结构或格式
  • 语义,即须要发出何种控制信息,完成何种动做以及作出何种响应
  • 同步,即事件实现顺序的详细说明

协议一般有两种不一样的形式。一种是使用便于人来阅读和理解的文字描述。另外一种是使用让计算机可以理解的程序代码。这两种不一样形式的协议都必须可以对网络上的信息交换过程作出精确的解释

划分层次

对于很是复杂的计算机网络协议,其结构应该是层次式的

网络体系结构-图1

分层能够带来不少好处

  • 各层之间是独立的。某一层并不须要知道它的下一层是如何实现的,而仅仅须要知道该层经过层间接口(即界面)所提供的服务
  • 灵活性好。当任何一层发送变化时(例如因为技术的变化),只要层间接口关系保持不变,则在这层以上或如下各层均不受影响
  • 结构上可分割开。各层均可以采用最合适的技术来实现
  • 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,由于整个的系统已被分解为若干个相对独立的子系统
  • 能促进标准化工做。由于每一层的功能及其所提供的服务都已有了精确的说明

各层所要完成的功能

  • 差错控制 使相应层次对等方的通讯更加可靠
  • 流量控制 发送端的发送速率必须使接收端来得及接收,不要太快
  • 分段和重装 发送端将要发送的数据块划分为更小的单位,在接收端将其还原
  • 复用和分用 发送端几个高层会话复用一条逻辑链接,数据传送结束后释放链接
  • 链接创建和释放 交换数据前先创建一条逻辑链接,数据传送结束后释放链接

分层缺点

有些功能会在不一样的层次中重复出现,于是产生了额外开销

体系结构

计算机网络的各层及其协议的集合就是网络的体系结构。计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精肯定义

体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件

具备五层协议的体系结构

五层协议

OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP 体系结构则不一样,但它如今却获得了很是普遍的应用。TCP/IP 是一个四层的体系结构。在学习计算机网络的原理时每每采用折中的办法,即综合 OSI 和 TCP/IP 的优势,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚

网络体系结构-图2

各层做用

  • 应用层:应用层协议定义的是应用进程间通讯和交互的规则
  • 运输层:运输层的任务就是负责向两台主机中进程之间的通讯提供通用的数据传输服务
  • 网络层:把运输层产生的报文段或用户数据报封装成分组进行传送
  • 数据链路层:将网络层交下来的 IP 数据报组装成帧,并在两个相邻结点间的链路上传送
  • 物理层:利用物理媒体以比特形式传送数据

小结

  • 把应用层交互的数据单元称为报文
  • 运输层主要协议:传输控制协议 TCP、用户数据报协议 UDP
  • 在 TCP/IP 体系中,因为网络层使用 IP 协议,所以分组也叫 IP 数据报,或简称为数据报

网络体系结构-图3

实体、协议、服务和服务访问点

当研究开放系统中的信息交换时,每每使用实体(entity)这一较为抽象的名词表示任何可发送或接受信息的硬件或软件进程

协议是控制两个对等实体(或多个实体)进行通讯的规则的集合

在协议的控制下,两个对等实体间的通讯使得本层可以向上一层提供服务。要实现本层协议,还须要使用下面一层所提供的服务

协议是“水平的”,即协议是控制对等实体之间通讯的规则。但服务是“垂直的”,即服务是由下层向上层经过层间接口提供的

网络体系结构-图4

计算机网络协议特色

协议必须把全部不利的条件事先都估计到,而不能假定一切都是正常的和很是理想的

很是仔细地检查这个协议可否应付各类异常状况

TCP/IP 的体系结构

TCP/IP 的体系结构比较简单,只有四层

网络体系结构-图5

应当指出,技术的发展并非遵循严格的 OSI 分层概念。实际上如今的互联网使用的 TCP/IP 体系结构有时已经演变成为图1-23所示的那样,即某些应用程序能够直接使用 IP 层,或甚至直接使用最下面的网络接口层

网络体系结构-图6

还有一种方法,就是分层次画出具体的协议表示 TCP/IP 协议族,它的特色是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的 IP 层很小,上层的各类协议都向下汇聚到一个 IP 协议中

TCP/IP 协议能够为各式各样的应用提供服务,同时 TCP/IP 协议也 容许 IP 协议在各式各样的网络构成的互联网上运行。IP 协议在互联网中充当着核心的做用

网络体系结构-图7

本文转载自 枫叶林博客 《计算机网络体系结构》,原文连接:https://blog.maplemark.cn/201...