zoukankan      html  css  js  c++  java
  • 计算机网络概述

    什么是计算机网络?

    计算机网络=通信技术+计算机技术

    计算机网络是通信技术与计算机技术紧密结合的产物

    计算机网络就是一种通信网络

    定义:计算机网络就是互连的、自治的计算机集合

    自治-无主从关系

    互连-互联互通

    距离远、数量大如何保证互连?---通过交换网络互连主机

    什么是 Internet?

    组成细节角度

    全球最大的互联网络---ISP 网络互连的“网络之网络

    数以百万计的互连的计算设备集合: 主机(hosts)=端系统(end systems),运行各种网络应用

    通信链路:光纤, 铜缆, 无线电, 卫星......

    分组交换:转发分组(数据包):路由器(routers) 和交换机(switches)

    服务角度

    为网络应用提供通信服务的通信基础设施:Web, VoIP, email, 网络游戏,电子商务, 社交网络, ...

    为网络应用提供应用编程接口(API):支持应用程序“连接”Internet,发送/接收数据,提供类似于邮政系统的数据传输服务

    协议

    协议是计算机网络有序运行的重要保证

    • 硬件(主机、路由器、通信链路等)是计算机网络的基础
    • 计算机网络中的数据交换必须遵守事先约定好的规则
    • 如同交通系统

    任何通信或信息交换过程都需要规则

    • 网络通信
      • 通信主体是“机器”而不是人
      • 交换“电子化”或“数字化”消息
      • 计算机网络的所有通信过程都必须遵守某种/些规则—协议

    什么是网络协议?

    • 网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定
    • 协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发生的事件所采取的“动作”(actions)

    协议的三要素

    • 语法(Syntax)
      • 数据与控制信息的结构或格式
      • 信号电平
    • 语义(Semantics)
      • 需要发出何种控制信息
      • 完成何种动作以及做出何种响应
      • 差错控制
    • 时序(Timing)
      • 事件顺序
      • 速度匹配

    协议是计算机网络的重要内容

    • 协议规范了网络中所有信息发送和接收过程
      • e.g., TCP, IP, HTTP, Skype, 802.11
    • 学习网络的重要内容之一
    • 网络创新的表现形式之一
    • Internet 协议标准
      • RFC: Request for Comments
      • IETF:互联网工程任务组(Internet Engineering Task Force)

    计算机网络结构

    • 网络边缘
      • 主机
      • 网络应用
    • 接入网络,物理介质
      • 有线或无线通信链路
    • 网络核心(核心网络)
      • 互联的路由器(或分组转发设备)
      • 网络之网络

    网络边缘

    • 主机(端系统)
      • 位于“网络边缘”
      • 运行网络应用程序
        • 如:Web, email
    • 客户/服务器(client/server)应用模型
      • 客户发送请求,接收服务器响应
      • 如:Web 应用,文件传输 FTP 应用
    • 对等(peer-peer, P2P)应用模型
      • 无(或不仅依赖)专用服务器
      • 通信在对等实体之间直接进行
      • 如:Gnutella, BT, Skype, QQ

    接入网络

    如何将网络边缘接入核心网(边缘路由器)?

    • 接入网络
      • 住宅(家庭)接入网络
      • 机构接入网络(学校,企业等)
      • 移动接入网络

    用户关心: 带宽(bandwidth)和(bps)共享/独占

    数字用户线路(DSL)

    • 利用已有的电话线连接中心局的 DSLAM
      • 数据通信通过 DSL 电话线接入 Internet
      • 语音(电话)通过 DSL 电话线接入电话网
    • < 2.5 Mbps 上行传输速率(典型速率< 1 Mbps)
    • < 24 Mbps 下行传输速率(典型速率< 10)
    • FDM: >50 kHz -1 MHz 用于下行
      • 4 kHz -50 kHz 用于上行
      • 0 kHz -4 kHz 用于传统电话

    电缆网络

    频分多路复用:在不同频带(载波)上传输不同频道

    • HFC:混合光纤同轴电缆(hybrid fiber coax)
      • 非对称: 下行高达 30Mbps 传输速率,上行为 2 Mbps 传输速率
    • 各家庭(设备)通过电缆网络 → 光纤接入 ISP 路由器
      • 各家庭共享家庭至电缆头端的接入网络
      • 不同于 DSL 的独占至中心局的接入

    无线接入网络

    通过共享的无线接入网络连接端系统与路由器,通过基站(base station)或称为“接入点”(access point)

    • 无线局域网(LANs)
      • 同一建筑物内(30m)
      • 802.11b/g (WiFi): 11Mbps、54Mbps 传输速率
    • 广域无线接入
      • 通过电信运营商(蜂窝网) ,接入范围在几十公里~
      • 带宽:1 Mbps、10 Mbps、100Mbps
      • 3G、4G: LTE
      • 移动互联网 to Internetto Internet12

    网络核心

    • 互联的路由器网络
    • 网络核心的关键功能:路由+转发
      • 路由(routing):确定分组从源到目的传输路径
      • 转发(forwarding): 将分组从路由器的输入端口交换至正确的输出端口

    Internet 结构

    • 端系统通过接入 ISP(access ISPs )连接到 Internet
      • 家庭、公司和大学 ISPs
    • 接入 ISP 必须进一步互连
      • 这样任意两个主机才可以互相发送分组
    • 构成复杂的网络互连的网络
      • 经济和国家政策是网络演进的主要驱动力
    • 当前 Internet 结构?
      • 无人能给出精确描述
      • 因为他的状态是在不断地发生变化

    计算机网络之网尽其用主讲人:李全龙 Q: 数以百万计的接入 ISP 是如何互连在一起的呢?

    直接互连不适用于大规模网络:O(N2)连接问题

    将每个接入 ISP 连接到一个国家或全球 ISP,但是从商业角度,必定有竞争者,这些 ISP 网络必须互连可能出现区域网络(regional networks)连接接入 ISP 和运营商 ISP,内容提供商网络(content provider networks,如:Google, Microsoft 等) 可能运行其自己的网络,并就近为端用户提供服务、内容

    • 在网络中心: 少数互连的大型网络
      • “一级”(tier-1)商业 ISPs(如:网通、电信、Sprint、AT&T),提供国家或国际范围的覆盖
      • 内容提供商网络(content provider network,如:Google):私有网络,连接其数据中心与 Internet,通常绕过一级 ISP 和区域 ISPs

    数据交换-电路交换

    为什么需要数据交换?

    N2 链路问题,连通性,网络规模

    交换=动态转接+动态分配传输资源

    数据交换的类型有电路交换,报文交换和分组交换

    电路交换的特点

    • 最典型电路交换网络:电话网络
    • 电路交换的三个阶段:
      • 建立连接(呼叫/电路建立)
      • 通信
      • 释放连接(拆除电路)
    • 独占资源

    电路交换网络通过多路复用(Multiplexing)实现共享中继线?

    多路复用

    多路复用(multiplexing),简称复用,是通信技术中的基本概念

    多路复用(Multiplexing):链路/网络资源(如带宽)划分为“资源片”

    • 将资源片分配给各路“呼叫”(calls)

    • 每路呼叫独占分配到的资源片进行通信

    • 资源片可能“闲置”(idle) (无共享)

    • 典型多路复用方法:

      • 频分多路复用( frequency division multiplexing-FDM)
      • 时分多路复用( time division multiplexing-TDM)
      • 波分多路复用(Wavelength division multiplexing-WDM)
      • 码分多路复用( Code division multiplexing-CDM)4

    频分多路复用 FDM

    频分多路复用的各用户占用不同的带宽资源(注意,这里的“带宽”是频率带宽(单位:Hz)而不是数据的发送速率),用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带

    时分多路复用

    时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧),每个用户在每个 TDM 帧中占用固定序号的时隙,每用户所占用的时隙是周期性出现(其周期就是 TDM 帧的长度)

    波分多路复用

    波分复用就是光的频分复用

    码分多路复用

    广泛应用于无线链路共享(如蜂窝网,卫星通信等),每个用户分配一个唯一的 mbit 码片序列(chippingsequence),其中“0”用“-1”表示、“1”用“+1”表示,例如:S 站的码片序列:(–1–1–1+1+1–1+1+1),各用户使用相同频率载波,利用各自码片序列编码数据

    编码信号=(原始数据)×(码片序列)

    • 如发送比特 1(+1),则发送自己的 mbit 码片序列
    • 如发送比特 0(-1),则发送该码片序列的 mbit 码片序列的反码

    各用户码片序列相互正交(orthogonal)

    解码: 码片序列与编码信号的内积

    数据交换—报文、分组交换

    报文:源(应用)发送信息整体,比如一个文件

    分组:报文分拆出来的一系列相对较小的数据包,分组交换需要报文的拆分与重组,产生额外开销

    统计多路复用

    存储-转发(store-and-forward)

    报文交换与分组交换均采用存储-转发交换方式

    • 区别:
      • 报文交换以完整报文进行“存储-转发”
      • 分组交换以较小的分组进行“存储-转发”

    分组交换: 传输延迟

    发送主机接收应用报文(消息),拆分为较小长度为Lbits 的分组(packets),在传输速率为 R 的链路上传输分组

    报文交换 vs 分组交换

    报文交换:报文长度为 M bits,链路带宽为 R bps,每次传输报文需要 M/R 秒

    分组交换:报文被拆分为多个分组,分组长度为 Lbits,每个分组传输时延为 L/R 秒

    在这里涉及到缓存需要被考虑,显然路由器在分组交换是要小于报文交换的

    设: 报文: Mbits 链路带宽(数据传输速率): Rbps,分组长度(大小): Lbits,跳步数: h,路由器数:n

    则分组交换:T=M/R+(h-1)L/R=M/R+nL/R

    分组交换 vs 电路交换

    例:1 Mb/s 链路,每个用户: “活动”时需 100 kb/s,平均活动时间 10%

    • 电路交换:10 用户
    • 分组交换:对于 35 个用户, 大于 10 个用户同时活动的概率<0.0004

    分组交换允许更多用户同时使用网络!——网络资源充分共享

    但是分组交换绝对优于电路交换?答案是不一定的

    分组交换适用于突发数据传输网络,资源充分共享,简单、无需呼叫建立,但可能产生拥塞(congestion):分组延迟和丢失,需要协议处理可靠数据传输和拥塞控制

    计算机网络性能

    速率即数据率(data rate)或称数据传输速率或比特率(bit rate),速率往往是指额定速率或标称速率

    • 单位时间(秒)传输信息(比特)量
    • 计算机网络中最重要的一个性能指标
    • 单位:b/s(或 bps)、kb/s、Mb/s、Gb/s
    • k=103、M=106、G=10^9

    带宽”(bandwidth)原本指信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz),网络的“带宽”通常是数字信道所能传送的“最高数据率”,单位:b/s (bps),常用的带宽单位:kb/s (103b/s),Mb/s(106b/s),Gb/s(109b/s),Tb/s(1012b/s)

    分组交换为什么会发生丢包和时延?分组在路由器缓存中排队,分组排队,等待输出链路可用,分组到达速率超出输出链路容量时,如果缓存满,到达分组被丢弃-丢包(loss)5

    四种分组延迟

    • 结点处理延迟(nodal processing delay)
      • 差错检测
      • 确定输出链路
      • 通常< msec(很小很小)
    • 排队延迟(queueingdelay)
      • 等待输出链路可用
      • 取决于路由器拥塞程度
    • 传输延迟(transmission delay)
      • L: 分组长度(bits)
      • R: 链路带宽(bps)
      • 传输延迟=L/R
    • 传播延迟(propagation delay)
      • d: 物理链路长度
      • s: 信号传播速度(~2×108m/sec)
      • 传播延迟= d/s

    排队延迟

    R:链路带宽(bps),L:分组长度(bits),a: 平均分组到达速率,流量强度(traffic intensity)= La/R

    • La/R~ 0: 平均排队延迟很小
    • La/R -> 1: 平均排队延迟很大
    • La/R > 1: 超出服务能力,平均排队延迟无限大!

    时延带宽积
    时延带宽积= 传播时延*带宽,链路的时延带宽积又称为以比特为单位的链路长度

    分组丢失(丢包):队列缓存容量有限,分组到达已满队列将被丢弃(即丢包),丢弃分组可能由前序结点或源重发(也可能不重发),丢包率 = 丢包数/已分发的组总数

    吞吐量:表示在发送端与接收端之间传送数据速率(b/s),即时吞吐量:给定时刻的速率,平均吞吐量:一段时间的平均速率

    瓶颈链路(bottleneck link):端到端路径上,限制端到端吞吐量的链路

    计算机网络体系结构

    为什么需要计算机网络体系结构?

    计算机网络是一个非常复杂的系统,涉及许多组成部分:主机(hosts),路由器(routers),各种链路(links),应用(applications),协议(protocols),硬件、软件...,是否存在一种系统结构有效描述网络?利用什么样的结构?至少用于讨论网络?----分层结构

    复杂系统的分层结构可以类比坐火车旅行,每层完成一种(类)特定服务/功能,每层依赖底层提供的服务,通过层内动作完成相应功能

    网络体系结构是从功能上描述计算机网络结构,计算机网络体系结构简称网络体系结构(network architecture)是分层结构,每层遵循某个/些网络协议完成本层功能,计算机网络体系结构是计算机网络的各层及其协议的集合,体系结构是一个计算机网络的功能层次及其关系的定义,体系结构是抽象的

    为什么采用分层结构?结构清晰,有利于识别复杂系统的部件及其关系---分层的参考模型(reference model ),模块化的分层易于系统更新、维护----任何一层服务实现的改变对于系统其它层都是透明的,有利于标准化

    分层网络体系结构基本概念:实体(entity) 表示任何可发送或接收信息的硬件或软件进程,协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”,任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”,下层协议的实现对上层的服务用户是透明的,同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP(Service Access Point),交换原语,指定请求的特定服务。

    OSI 参考模型

    开放系统互连(OSI)参考模型是由国际标准化组织(ISO)于 1984 年提出的分层网络体系结构模型,目的是支持异构网络系统的互联互通,是异构网络系统互连的国际标准,是理解网络通信的最佳学习工具(理论模型),但理论成功,市场失败,一共有 7 层(功能),每层完成特定的网络功能,自上而下依次是:应用层(Application)表示层(Presentation)会话层(Session)传输层(Transport)网络层(Network)数据链路层(Data link)物理层(Physical)

    OSI 参考模型解释的通信过程

    OSI 参考模型数据封装与通信过程

    为什么需要数据封装?

    • 增加控制信息,构造协议数据单元(PDU)
    • 控制信息主要包括
      • 地址(Address): 标识发送端/接收端
      • 差错检测编码(Error-detecting code): 用于差错检测或纠正
      • 协议控制(Protocol control): 实现协议功能的附加信息,如: 优先级(priority)、服务质量(QoS)、和安全控制等 6

    各层的功能

    物理层功能

    接口特性---机械特性、电气特性、功能特性、规程特性;比特编码;数据率比特同步;时钟同步;传输模式:单工(Simplex),半双工(half-duplex),全双工(full-duplex)

    数据链路层功能

    负责结点-结点(node-to-node)数据传输;组帧(Framing);物理寻址(Physical addressing),在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端;流量控制(Flow control),避免淹没接收端,两端要保持同步;差错控制(Error control),检测并重传损坏或丢失帧,并避免重复帧;访问(接入)控制(Access control),在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权

    网络层功能

    负责源主机到目的主机数据分组(packet)交付,可能穿越多个网络;逻辑寻址(Logical addressing),全局唯一逻辑地址,确保数据分组被送达目的主机,如 IP 地址;路由(Routing),路由器(或网关)互连网络,并路由分组至最终目的主机,路径选择;分组转发;

    传输层功能

    负责源-目的(端-端)(进程间)完整报文传输;分段与重组;SAP 寻址,确保将完整报文提交给正确进程,如端口号;连接控制;流量控制;差错控制

    会话层功能

    对话控制(dialog controlling),建立、维护;同步(synchronization),在数据流中插入“同步点”;是最“薄”的一层

    表示层功能

    处理两个系统间交换信息的语法与语义(syntax and semantics )问题,数据表示转化,转换为主机独立的编码;加密/解密;压缩/解压缩。

    应用层功能

    支持用户通过用户代理(如浏览器)或网络接口使用网络(服务),典型应用层服务:文件传输(FTP),电子邮件(SMTP),Web(HTTP)

    TCP/IP 参考模型

    5 层参考模型

    综合 OSI 和 TCP/IP 的优点,应用层:支持各种网络应用:FTP, SMTP, HTTP;传输层:进程-进程的数据传输:TCP, UDP;网络层:源主机到目的主机的数据分组路由与转发,IP 协议、路由协议等;链路层:相邻网络元素(主机、交换机、路由器等)的数据传输;相邻网络元素(主机、交换机、路由器等)的数据传输,以太网(Ethernet)、802.11 (WiFi)、PPP;物理层:比特传输

    5 层模型的数据封装

  • 相关阅读:
    cssmagic/action js
    sublime Text快捷键
    CSS3动画整理
    有个名字叫随便乱记——JS
    读取Excel文件中的单元格的内容和颜色
    在Windows下利用php自带的mail函数发邮件
    装个Redmine真是麻烦啊
    MVC的项目使用html编辑器UEditorMINI
    数锐科技新网站上线
    本来运行的好的Ajax.dll怎么突然不起作用了
  • 原文地址:https://www.cnblogs.com/ygjzs/p/12330988.html
Copyright © 2011-2022 走看看