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

计算机网络_计算机网络——概论

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络——概论相关的知识,希望对你有一定的参考价值。计算机网络——概论

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络 —— 概论相关的知识,希望对你有一定的参考价值。



计算机网络 —— 概论

一、 基本概念

互联网:或因特网(Internet),是当今世界上最大的计算机网络。是由数量极大的各种计算机网络互连起来的。

计算机网络:由若干结点(node)和连接这些结点的链路(link)组成。结点 可以是计算机、集线器、交换机或路由器等。

通过路由器将网络互连起来,就构成了一个覆盖范围更大的计算机网络(internet而非Internet 网络的网络)。

主机(host):或端系统(end system),与网络相连的计算机。

实体(entity):任何可发送或接收信息的硬件或软件进程。


二、 发展阶段



  1. 从单个网络 ARPANET 向互联网发展的过程:1983,TCP/IP 协议成为 ARPANET 上的标准协议。1983年为互联网的诞生时间。1990年 ARPANET 正式关闭。

  2. 建成了三级结构的互联网:主干网,地区网和校园网(或企业网)。

  3. 逐渐形成了多层次 ISP 结构的互联网:出现了互联网服务提供者 ISP(Internet Service Provider),如中国电信联通移动。任何机构和个人只要向某个 ISP 交纳规定的费用,就可从该 ISP 获取所需 IP 地址的使用权,并可通过该 ISP 接入到互联网。根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP 也分成为不同层次的 ISP:主干 ISP、地区 ISP 和本地 ISP。

    技术图片


三、 组成



  1. 边缘部分:由所有连接在互联网上的主机组成。由用户直接使用。

  2. 核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务。


端系统之间的通信

端系统之间的通信实际上是运行在主机A上的某个 程序 与运行在主机B上的某个 程序 进行通信。

通信方式:



  • 客户-服务器(Client/Server):客户是服务请求方,服务器是服务提供方。

  • 对等连接(peer-to-peer P2P):不区分服务请求方和服务提供方。双方都可以下载对方已存储在硬盘中的共享文档。本质上仍是C/S方式,每一个主机既是客户又是服务器。


核心部分

路由器(router):是一种专用计算机,是在网络核心实现分组交换(packet switching)的关键构件,任务是转发收到的分组。

路由器处理分组的过程:



  1. 把收到的分组先放入缓存(暂时存储);

  2. 查找转发表,找出到某个目的地址应从哪个端口转发;

  3. 把分组送到适当的端口转发出去。

典型的交换技术:



  1. 电路交换:电话交换机的交换方式。面向连接。在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。适合连续传送大量数据,且传送时间远大于连接建立时间。

  2. 分组交换:网络核心采用分组交换。分组交换采用存储转发技术。

    • 在发送端,先把较长的报文(message)划分成较短的、固定长度的数据段。


    • 每一个数据段前面添加上首部(header)构成分组(packet)。


    • 分组交换网以分组作为数据传输单元。结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。最终发送到接收端。


    • 接收端收到分组后剥去首部还原成报文。


    • 最后,在接收端把收到的数据恢复成为原来的报文。


    优点:动态分配传输带宽,为每个分组独立选择转发路由,不建立连接,保证可靠性的网络协议。不需预先分配传输带宽,适合传送突发数据。


四、 网络分类



  1. 按作用范围分类:广域网(WAN 几十到几千公里),城域网(MAN 5-50公里),局域网(LAN 1公里左右),个人区域网(PAN 10米左右)。

  2. 按使用者分类:公用网和专用网。

  3. 用来把用户接入到互联网的网络:接入网(Access Network),用于将用户接入互联网。是从某端系统到互联网中第一个路由器(边缘路由器)之间的一种网络,不属于核心部分,也不属于边缘部分。


五、 性能指标



  1. 速率:或数据率,比特率,代表数据的传送速率,单位 bit/s(bps)。k = 10^3

  2. 带宽:某通道传送数据的能力,在单位时间内网络中的某信道所能通过的最高数据率,单位 bit/s。

  3. 吞吐量:单位时间内通过某个网络的实际的数据量。

  4. 时延:

    • 发送时延:数据帧长度(bit) / 发送速率(bit/s)

    • 传播时延:信道长度(m) / 电磁波在信道上的传播速率(m/s) 高速网络链路减小传播时延

    • 处理时延

    • 排队时延


  5. 时延带宽积:传播时延 * 带宽

  6. 往返时间(RTT):从发送方发送数据开始,到发送方收到来自接收方的确认的总时间。

  7. 利用率:$ D = D_0 / (1 - U) ??D为时延 ??D_0为网络空闲时延 ?? U为利用率$

    技术图片


六、 计算机网络体系结构

网络协议(network protocol),简称协议,是为进行网络中的数据交换而建立的规则、标准或约定。是控制两个对等实体进行通信的规则的集合。

分层的优缺点:



  • 各层独立

  • 灵活性好

  • 结构可分割

  • 易于实现和维护

  • 能促进标准化工作

  • 有些功能重复出现,产生额外开销

    技术图片



  1. 应用层(application layer)

    应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们把应用层交互的数据单元称为报文(message)。


  2. 运输层(transport layer)

    运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。主要使用 TCP 和 UDP 两种协议。

  3. 网络层(network layer)

    网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。

  4. 数据链路层(data link layer)

    简称为链路层。链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。


  5. 物理层(physical layer)

    在物理层上所传数据的单位是比特。

    技术图片

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

而要实现本层协议,需要使用下层所提供的服务。

本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。

协议是水平的,即协议是控制对等实体之间通信的规则。

服务是垂直的,即服务是由下层向上层通过层间接口提供的。

上层使用服务原语获得下层所提供的服务。

PDU:协议数据单元,对等层次之间传送的数据单位。

SAP:服务访问点,同一系统相邻两层的实体进行交互的地方。

SDU:服务数据单元,层与层之间交换数据的单位。

技术图片

中间设备



























层次中间设备
物理层转发器(repeater)
数据链路层网桥(bridge)
网络层路由器(router)
运输层/应用层网管(gateway)






参考资料:《计算机网络》 谢希仁 著


推荐阅读
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了如何使用iptables添加非对称的NAT规则段,以实现内网穿透和端口转发的功能。通过查阅相关文章,得出了解决方案,即当匹配的端口在映射端口的区间内时,可以成功进行端口转发。详细的操作步骤和命令示例也在文章中给出。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
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社区 版权所有