计算机网络(一)—— 绪论

1.1 时代中的作用

  • 数字化、网络化、信息化
  • 电信网络、有线电视网络、计算机网络
  • 连通性、资源共享

1.2 互联网概述

  • 计算机网路 由若干结点(node)和连接这些节点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器。
  • Internet(大写)是一个专有名词,采用TCP/IP协议族作为通信的规则
  • 多层次ISP结构的互联网 主干ISP 地区ISP 本地ISP

1.3 互联网组成

边缘部分

  • 由所有连接在互联网上的主机(端系统,end system)组成,端系统之间的通信方式:客户-服务器方式(C/S方式)、对等方式(P2P方式)

客户-服务器方式(C/S)

  • 客户(client)服务器(server)
    客户程序:1)被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务),客户需要知道服务器的地址。2)不需要特殊的硬件和很复杂的操作系统
    服务器程序:1)是一种专门用来提供某种服务的程序,可同时处理多个远地或本地的客户的请求。2)系统启动后即自动调用并一直不断运行着,被动地等待并接受来自各地客户的通信请求。因此,服务器程序不需要知道客户程序的地址。3)一般需要有强大的硬件和高级的操作系统的支持(不一定)

对等方式(P2P)

双方都可以下载对方已经存储在硬盘中的共享文件

核心部分

  • 许多网络 + 路由器
  • 在网络核心部分起特殊作用的是路由器(router),它是一种专用计算机(不叫主机)。router是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组

电路交换

  • 建立连接(占用通信资源)-> 通话(一直占用通信资源)-> 释放连接(归还通信资源)

分组交换

  • 报文 需要的发送的整块数据
  • 分组,包(packet) 由包头(header,控制信息)和数据(报文被拆分成几组后)
  • 主机是为用户进行信息处理的
  • 路由器则是用来转发分组的,即分组交换
    路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样通过许多路由器存储转发的方式,把分组交付给最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。
  • 协议(protocol)
  • 时延 存储转发时需要排队
    优点:高效 动态分配传输带宽,对链路逐段占用;灵活 分组独立传送;迅速可靠

1.4 计算机网络在我国的发展

1.5 计算机网络的类别

1. 作用范围分类

  • 广域网 WAN(Wide Area Network)
  • 城域网 MAN(Metropolitan Area Network)
  • 局域网 LAN(Local Area Network)
  • 个人区域网 PAN(Personal Area Network)

2. 使用者分类

  • 公用网(Public Network)
  • 专用网(Private Network)

3. 用于将用户接入的网络

1.6 计算机网络的性能

计算机网络的性能指标

1. 速率

网络中的速率是指数据的传输速率,它也称数据率(data rate)比特率(bit rate),单位为 bit/s(比特每秒,bps,bit per second)

2. 带宽

带宽(bandwidth)有以下两种不同的意义:

  • 信号所具有的频率宽度,某信道允许通过的信号频率范围
  • 在计算机网络中,带宽用来表示网络中某通道的传送数据的能力,即单位时间内网络中某信道能通过的数据量,即最高数据率

3. 吞吐量

吞吐量(throughput) 表示在单位时间内通过某个网络(或信道、接口)的实际数据量

4. 时延

**时延(delay 或 latency)**是指数据从网络的一段送到另一端所需的时间
时延由以下几个不同的部分组成

  • 发送延时 主机或路由器发送数据帧所需要的时间
  • 传播时延 电磁波在信道中传播一定距离需要花费的时间
  • 处理时延 主机或路由器在收到分组时要花费一定的时间进行处理
  • 排队时延

5. 时延带宽积

时延带宽积 = 传播时延 * 带宽
以 bit 为单位的链路长度

6. 往返时间 RTT

round-trip time
A 向 B 发送数据,B接收到后会给应答,A收到应答后才会继续发送数据,应答的时间就是RTT
可以通过 RTT 来计算有效数据率

7. 利用率

利用率有信道利用率和网络利用率两种。
信道利用率指某信道有百分之几的时间是被利用的(有数据传输)
网络利用率则是全网络的信道利用率的加权平均值
利用率并非越高越好,高利用率可能会带来高延时

近似的计算:
$$
D = {
\over{1-U}}
$$
$U$ 是网络利用率,$D_0$ 是网络空闲时的时延,$D$ 表示网络当前的时延

计算机网络的非性能特征

费用,质量,标准化,可靠性,可扩展性和升级性,易于管理和维护

1.7 计算机网络体系结构

在计算机网络的基本概念中,分层次的**体系结构(或架构)**是最基本的

1.7.1 计算机网络体系结构的形成

传输数据需要的任务:

  • 发起通信的计算机必须将数据通信的通路激活(activate)。就是发出一些信令,保证数据能够在这条通路上正确发送与接收;
  • 告诉网络如何识别接收数据的计算机;
  • 发起通信的计算机必须查明 对方计算机是否已开机,并且与网络连接正常;
  • 发起通信的计算机中的应用程序必须弄清楚,在对方计算机中的文件管理程序是否已做好接收文件和存储文件的准备工作;
  • 若计算机的文件格式不兼容,则至少其中一台计算机应完成格式转换功能;
  • 对出现的各种差错和意外事故,如数据传输错误、重复或丢失,网络中某个节点交换机出现故障等,应当有可靠的措施保证对方计算机最终能收到正确的文件。
  • 其他

为了构建如此复杂的计算机网络,ARPANET 设计时提出了分层的方法,这样可以解决这些局部的小问题。

国际标准化组织 ISO 于1977年成立了机构研究不同体系计算机网络互联的问题,提出了 OSI/RM (Open Systems Interconnection Reference Model),但是由于市场原因,TCP/IP 成为了互联网的架构。

1.7.2 协议与划分层次

网络协议,明确规定了所交换的数据的格式以及有关的同步问题,其由三个要素构成:

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

计算机网络的各层及其协议的集合就是网络的体系结构(architecture)

**实现(implementation)**是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题

1.7.3 具有五层协议的体系结构(教学用)

OSI:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层

TCP/IP:应用层(如DNS,HTTP,SMTP等)、运输层(TCP 或 UDP)、网际层 IP、链路层

用于教学的五层协议体系结构:应用层、运输层、网络层、数据链路层、物理层

1. 应用层(application layer)

应用层的任务是通过应用进程间的交互来完成特定网络应用,应用层协议是应用进程间通信和交互的规则,应用层的数据单元是报文(message)

2. 运输层(transport layer)

任务:负责向两台主机中进程之间的通信提供通用的数据传输服务(端到端)

运输层主要使用以下两种协议:

  • 传输控制协议 TCP(Transmission Control Protocol)—— 提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)
  • 用户数据报协议 UDP(User Datagram Protocol)—— 提供无连接的尽最大努力的数据传输服务(不保证传输的可靠性),数据传输的单位是用户数据报

3. 网络层(network layer)

任务:负责为分组交换网络上的不同主机提供通信服务

两个具体任务:

  • 路由选择:通过一定的算法,在互联网中的每个路由器上,生成一个用来转发分组的转发表
  • 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器

互联网使用的网络层协议是无连接网络协议 IP ( Internet Protocol ) 和许多路由器选择协议,因此互联网的网络层也叫做网际层或IP层。

数据传输单元,IP 数据报,简称数据报

4. 数据链路层

简称链路层

任务:实现两个相邻节点之间的可靠通信

在两个相邻节点的链路上传输帧(frame),如发现有差错,就简单地丢弃出错帧。如果需要改造出现的差错,就要采用可靠传输协议纠正出现的差错,这种方法会使数据链路层协议复杂化。

5. 物理层

任务:实现比特(0,1)的传输

确定连接线缆的插头应当有多少根引脚,以及各引脚应如何连接。

注意:传递信息所利用的一些物理媒介,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议下面。

(书 P33 有传输过程图解)

其他

  1. OSI参考模型把对等层次之间传送的数据单元成为该层的协议数据单元PDU(Protocol Data Unit),任何两个相同层次把PDU通过水平虚线直接传递给对方,这是所谓的 “ 对等层(peer layers) ” 之间的通信。

    各层协议实际上就是在各个对等层之间传递数据时的各项规定

  2. 协议栈(protocol stack)

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

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

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

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

1.7.5 TCP/IP 的体系结构

四层,见上文

课外资料推荐

  • Wireshark
  • Cisco Packet tracer

Q.E.D.


To baldly -_- go no man has gone before