Computer Networking Introduction

Outline :

  • 互联网的组成
  • 计算机网络的提及结构
  • 计算机网络的性能指标
  • 计算机网络基本工具

互联网的组成

互联网拓扑结构:

  • 边缘部分: 用户直接使用的主机。
    • 主机host也称为端系统end system
  • 核心部分:大量网络和连接这些网络的路由器。为边缘部分提供服务( 连通性和交换 )

互联网核心部分

  • 路由器: 分组交换
  • 交换:按照某种方式动态地分配传输线路的资源
    • 电路交换:建立连接- 通话 - 释放连接
      • 通话的全部时间内,通话用户始终占据端到端的全部资源
    • 报文交换:整个报文线传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点
    • 分组交换: 单个分组(整个报文的一部分)传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点
      • 分组交换和报文交换不需要预先分配传输带宽, 数据在哪条链路上传送才占用该链路

计算机网络的体系结构

  • [网络]协议:控制两个对等实体进行通信的规则的集合

    • 语法:数据与控制信息的结构或格式
    • 语义即需要发出何种控制信息,完成何种动作以及做出何种相应
    • 同步:即事件实现顺序的详细说明
  • 实体: 任何可发送或接受信息的硬件或软件进程

  • 在协议的控制下,来自各个peer entity间的通信时的本层能够向上一层提供服务。 要实现本层协议,还要使用下一层提供的服务

  • 协议与服务不同:

    • 协议的实现保证了能够向上一层提供服务。 使用本层服务的实体只能看见服务而无法看见下面的协议
      • 下面的协议对上面的实体是透明的
    • 协议是“水平的”,服务是“垂直的
      • 服务是下层向上层提供层间借口实现的
      • 只有被高层实体看得见的功能才称之为服务(即,并非在层内完成的全部功能都称为服务)
      • 上层使用下层所提供的服务必须通过与下层交换一些命令,称为“服务原语”
    • 协议数据单元PDU( Protocol Data Unit ): 对等层次之间传送的数据单元
    • 服务数据单元SDU( Service Data Unit ): 层与层之间交换的数据单元
  • 五层协议的体系结构:应用层、运输层、网络层、数据链路层、物理层

    • 本文采用五层结构
  • 七层:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层

    OSI 7 layers

应用层

  • 数据单元:报文message
  • 作用:提供进程间交互

运输层

  • 作用: 为两台主机中线程间的通信提供通用的数据传输服务
  • 协议:
    • TCP:面向连接的,可靠的
      • 数据单元: 报文段segment
    • UDP:无连接的,尽最大努力的
      • 数据单元:用户数据报

网络层

  • 作用:将运输层产生的报文段或用户数据报封装成分组packet进行传送,分组也称为[IP]数据报
    • 其实,不管哪一层的数据单元,都可称为“分组”
  • 互联网是由大量的异构网络通过router连接起来的
  • 一个packet经过的一系列链路和叫哈u年纪称为通过该网络的route

数据链路层

  • 将网络层的IP数据报组装成frame,每一帧包括数据和一些控制信息

物理层

  • 数据单元:bit
  • 传递信息所利用的物理媒体并不属于物理层

计算机网络性能指标

吞吐量

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

时延

  • 时延latenty:数据从网络的一端传送到另一端的时间
    • 发送时延:主机或router发送数据帧所需要的时间
      • = 数据帧长度 / 发送速率
    • 传播时延:电磁波在信道中传播一定的距离需要花费的时间
      • = 心道长度 / 电磁波在信道中的传播速率
    • 处理时延:主机或router处理收到的分组的时间
    • 排队时延:分组在router的输入队列中排队等待处理
      • 丢包:分组如果到达一个满的队列,routerdrop该分组
  • 总时延 = 发送时延 + 传播时延 + 处理时间 + 排队时延
    • 我们一般只能提高发送时延, “光线比铜线快”指的是可以用很快的速率向光纤信道发送数据,光纤信道上的传播速率实际上比铜线慢

RTT

  • 往返时间RTT(Round-Trip Time)

利用率

  • 利用率:
    • 信道利用率: 信道有百分之几的时间是被利用的
    • 网络利用率:全网络的信道利用率的加权平均
  • \(D = \frac{D_0}{1-U}\) ( \(D\): 网络当前时延, \(D_0\):空闲时延, \(U\): 利用率 )

工具

tracerouter

  • traceroute [参数选项] hostname,域名或 IP地址
    • 向目的地发送几个特殊的分组
    • 得到路由信息(路由器名、路由器地址、时延...)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
traceroute www.baidu.com                               ✔  9s   base  
traceroute to www.baidu.com (180.101.49.11), 30 hops max, 60 byte packets
1 _gateway (172.31.0.1) 2.660 ms 2.634 ms 2.625 ms
2 * * *
3 * * *
4 211.65.206.9 (211.65.206.9) 3.018 ms 3.196 ms 3.748 ms
5 * * *
6 * 211.65.207.73 (211.65.207.73) 4.098 ms 211.65.206.77 (211.65.206.77) 4.287 ms
7 101.4.116.98 (101.4.116.98) 3.681 ms 4.070 ms 3.939 ms
8 101.4.112.42 (101.4.112.42) 19.784 ms 20.044 ms 20.090 ms
9 202.97.19.13 (202.97.19.13) 13.871 ms 10.297 ms 10.219 ms
10 202.97.60.217 (202.97.60.217) 10.447 ms 202.97.87.129 (202.97.87.129) 11.395 ms 202.97.62.77 (202.97.62.77) 10.188 ms
11 202.97.66.198 (202.97.66.198) 16.129 ms 202.97.66.62 (202.97.66.62) 17.719 ms 202.97.29.114 (202.97.29.114) 15.325 ms
12 58.213.94.106 (58.213.94.106) 23.529 ms 58.213.95.150 (58.213.95.150) 15.693 ms 58.213.94.98 (58.213.94.98) 15.408 ms
13 * * *
14 58.213.96.58 (58.213.96.58) 37.227 ms 58.213.96.126 (58.213.96.126) 40.246 ms 58.213.96.66 (58.213.96.66) 39.501 ms
15 * * *
16 * * *
17 * * *
18 * * *

  • 记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 www.baidu.com ,表示向每个网关发送4个数据包。
  • 有时会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
  • 有时在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据。

wireshark

  • 分组嗅探器:观察执行实体之间交换的报文之间的基本工具