热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络原理(一):计算机网络概述

计算机网络概述计算机网络基本概念计算机网络计算机网络是互连的、自治的计算机集合。协议计算机网络中的实体在进行数据交换的过程中必须遵循的规定或约定,称为网络协议。协议的三个要素:语法

计算机网络概述


计算机网络基本概念


计算机网络

计算机网络是互连的、自治的计算机集合。


协议

计算机网络中的实体在进行数据交换的过程中必须遵循的规定或约定,称为网络协议。

协议的三个要素:



  • 语法(定义实体间交换信息的格式和结构,或者定义实体(比如硬件设备)之间传输信号的电平等。

  • 语义(实体间交换的控制信息等)

  • 时序(也称同步,定义实体之间交换信息的顺序以及如何匹配和适应彼此的速度)


计算机网络的功能



  • 硬件功能共享

  • 软件功能共享

  • 信息资源共享


计算机网络的分类



  1. 按照覆盖范围

    个域网、局域网、城域网、广域网

  2. 按拓扑机构分

    星形拓扑结构、总线型拓扑结构、环形拓扑结构、网状拓扑结构、树形、混合型

  3. 按交换方式分

    电报网络交换、报文交换、分组交换

  4. 按网络用户属性分

    公用网、私有网



计算机网络结构


网络边缘

各终端


接入网络

终端设备和网络核心(网络服务提供商)的连接部分。
分为:



  • 电话拨号接入

  • 非对称数字用户线路ADSL

  • 混合光纤同轴电缆HFC接入网络

  • 局域网

  • 移动接入网络


网络核心

由通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据中继和转发。



数据交换技术


数据交换的概念

通信终端之间通过交换设备进行数据的中继和转发进行数据通信。


1. 电路交换

建立电路-->传输数据-->拆除电路


2. 报文交换

通过交换节点将整条报文进行中继转发。


3. 分组交换

目前广泛采用的互联网通信技术。
将报文分割成数据块,每个数据库附上一定的控制信息构成数据分组。每个分组独立传输到目的地,到达后重新组装,还原成报文。

优点



  1. 交换设备存储容量要求低

  2. 交换速度快

  3. 可靠传输率高

  4. 更加公平

分组长度的确定



计算机网络性能


1. 速率与带宽

基本单位bit/s


2. 时延(延迟)



  • 节点处理时延(传进节点时处理过程)

  • 排队时延

  • 传输时延(传出节点过程)

  • 传播时延


3. 时延带宽积

物理链路的传播时延和链路带宽的乘积


4. 丢包率

网络拥塞严重时,新到达的分组无法甚至已无缓存空间暂存改分组,此时交换结点会丢弃分组,此所谓“丢包”。


5. 吞吐量

理想状况下越等于链路瓶颈的带宽(短板)。



计算机网络体系结构


计算机网络分层体系结构

将网络功能及其通信协议分层。


OSI参考模型

7层。

分别是:



  1. 物理层(底层)

    • 在传输介质上实现无结构比特流传输。

    • 规定数据终端设备与数据通信设备之间接口的相关特性,主要包括机械、电气、功能、规程4个方面的特性。


  2. 数据链路层

    • 实现在相邻结点之间数据可靠而有效的传输(单位:帧)。

    • 寻址


  3. 网络层

    • 解决将分组通过交换网络传送至目的主机,负责转发和路由(单位:数据分组)。

    • 流量控制。

    • 寻址


  4. 传输层

    • 第一个端到端的层次,也是进程到进程的层次。

    • 复用/分解、端到端的可靠数据传输传输、连接控制、流量控制和拥塞控制机制。


  5. 会话层

    • 对进程之间会话进行管理与控制。

    • 一般被应用层覆盖,很少独立存在。


  6. 表示层

    • 处理应用实体之间交换数据的语法,其目的是解决格式和数据表示的差别,从而实现数据能被交换双方所理解。

    • 某些网络中由应用层实现,而且表示层不独立存在。


  7. 应用层(顶层)

    • 直接提供给用户以网络服务,包括文件传送、电子邮件、p2p应用等。

    • 为用户提供了一个使用网络应用的接口。


OSI参考模型的7层中,1~3层主要是完成数据交换和数据传输,称之为网络低层;5~7层主要是完成信息处理服务的功能,称之为网络高层;低层与高层之间由第4层衔接。


有关术语

数据单元:层之间传送的比特组。
服务访问点:相邻层之间,高层可以访问低层的接口。
服务原语



  • 请求:用户实体请求服务做某种工作。

  • 指示:用户实体被告知某件事发生。

  • 响应:用户实体对某件事的响应。

  • 证实:用户实体收到关于它请求的答复。

面向连接的服务



  1. 欲传送数据,先给出对方全称地址,并请求建立连接,对方同意后就建立了通信链路。

  2. 传送数据,通常以分组为单位,按序传送,不再标称地址而标称链路号,接收方对成功接收的数据予以确认,称为可靠传输方式。

  3. 数据传送结束后,拆除链路。

    无连接服务:没有建立和拆除链路的过程,每个分组信息带有全称路径,独立选择路径,通常到达的时序也是不确定的,接收之后要重新排序组合。




TCP/IP参考模型

4层。



  1. 应用层

    • 合并了会话层和表示层


  2. 传输层

    • 为进程之间提供逻辑通信


  3. 网络互联层

    • 整个参考模型的核心,负责将数据分组发送到目的地。


  4. 网络接口层

    • 对应OSI参考模型中的数据链路层和物理层。



五层参考模型

基于上两种模型,将表示层和会话层合并到应用层。
这是近年来,在描述计算机网络中最常用、最接近实际网络的参考模型。

5层分别是:



  1. 物理层

  2. 数据链路层

  3. 网络层

  4. 传输层

  5. 应用层

IMG_20190429_224227.jpg

基于5层参考模型来描述网络通信的过程,如上图。

用户的数据在应用层以报文的形式开始向下一层封装,形成段、数据报、帧,最后以比特流的形式进行传输。

在中间节点处,例如路由器、交换机,分别从对应的数据报、帧中取出相应的路由或地址信息并进行处理,并依据转发策略向正确的接口转发数据报或帧。当数据到达目的主机后,自下而上,逐层处理并去掉相应的头部信息,最终还原为最初的报文,交付给用户。



推荐阅读
  • 我们身边的网络知识
    我们身边的网络常识今天咱们交流的主题是网络基础,这块东西对于咱们计算机或者通讯专业的人来说应该是很熟悉的,今天拿出来再说一说,是因为这块知识在咱们工作和生活中时刻都在使用,并且非常 ... [详细]
  • 网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和 ... [详细]
  • 负载均衡 LVS vs Nginx 对比
    前言今天总结一下负载均衡中LVS与Nginx的区别,之前看过好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TU ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • MSFC进行路由决策,PFC完成三层交换。如果没有MSFC那么交换机就只能依靠pfc完成一些ACL,数据包分类的工作,而且是可以基于三到七 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 高效的JavaScript异步资源加载解决方案
    本文探讨了如何通过异步加载技术处理网页中大型第三方插件的加载问题,避免将大文件打包进主JS文件中导致的加载时间过长,介绍了实现异步加载的具体方法及其优化。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • 本文详细介绍了 MySQL InnoDB 存储引擎的事务机制,包括 ACID 特性、redo 日志、undo 日志以及 checkpoint 的作用和实现方式。 ... [详细]
  • 企业之haproxy
    haproxy是一款功能强大、灵活好用反向代理软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持cookietrack,headerre ... [详细]
author-avatar
正茂专家
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有