Computer Networking Introduction
Outline :
- 互联网的组成
- 计算机网络的提及结构
- 计算机网络的性能指标
- 计算机网络基本工具
互联网的组成
互联网拓扑结构:
- 边缘部分: 用户直接使用的主机。
- 主机
host
也称为端系统end system
- 主机
- 核心部分:大量网络和连接这些网络的路由器。为边缘部分提供服务( 连通性和交换 )
互联网核心部分
- 路由器: 分组交换
- 交换:按照某种方式动态地分配传输线路的资源
- 电路交换:建立连接- 通话 - 释放连接
- 通话的全部时间内,通话用户始终占据端到端的全部资源
- 报文交换:整个报文线传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点
- 分组交换: 单个分组(整个报文的一部分)传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点
- 分组交换和报文交换不需要预先分配传输带宽, 数据在哪条链路上传送才占用该链路
- 电路交换:建立连接- 通话 - 释放连接
计算机网络的体系结构
[网络]协议:控制两个对等实体进行通信的规则的集合
- 语法:数据与控制信息的结构或格式
- 语义即需要发出何种控制信息,完成何种动作以及做出何种相应
- 同步:即事件实现顺序的详细说明
实体: 任何可发送或接受信息的硬件或软件进程
在协议的控制下,来自各个
peer entity
间的通信时的本层能够向上一层提供服务。 要实现本层协议,还要使用下一层提供的服务协议与服务不同:
- 协议的实现保证了能够向上一层提供服务。 使用本层服务的实体只能看见服务而无法看见下面的协议
- 下面的协议对上面的实体是透明的
- 协议是“水平的”,服务是“垂直的”
- 服务是下层向上层提供层间借口实现的
- 只有被高层实体看得见的功能才称之为服务(即,并非在层内完成的全部功能都称为服务)
- 上层使用下层所提供的服务必须通过与下层交换一些命令,称为“服务原语”
- 协议数据单元
PDU( Protocol Data Unit )
: 对等层次之间传送的数据单元 - 服务数据单元
SDU( Service Data Unit )
: 层与层之间交换的数据单元
- 协议的实现保证了能够向上一层提供服务。 使用本层服务的实体只能看见服务而无法看见下面的协议
五层协议的体系结构:应用层、运输层、网络层、数据链路层、物理层
- 本文采用五层结构
七层:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层
应用层
- 数据单元:报文
message
- 作用:提供进程间交互
运输层
- 作用: 为两台主机中线程间的通信提供通用的数据传输服务
- 协议:
- TCP:面向连接的,可靠的
- 数据单元: 报文段
segment
- 数据单元: 报文段
- UDP:无连接的,尽最大努力的
- 数据单元:用户数据报
- TCP:面向连接的,可靠的
网络层
- 作用:将运输层产生的报文段或用户数据报封装成分组
packet
或包进行传送,分组也称为[IP]数据报- 其实,不管哪一层的数据单元,都可称为“分组”
- 互联网是由大量的异构网络通过
router
连接起来的 - 一个
packet
经过的一系列链路和叫哈u年纪称为通过该网络的route
数据链路层
- 将网络层的IP数据报组装成
frame
,每一帧包括数据和一些控制信息
物理层
- 数据单元:
bit
- 传递信息所利用的物理媒体并不属于物理层
计算机网络性能指标
吞吐量
- 吞吐量
throughput
: 单位时间内通过某个网络的实际的数据量
时延
- 时延
latenty
:数据从网络的一端传送到另一端的时间- 发送时延:主机或
router
发送数据帧所需要的时间- = 数据帧长度 / 发送速率
- 传播时延:电磁波在信道中传播一定的距离需要花费的时间
- = 心道长度 / 电磁波在信道中的传播速率
- 处理时延:主机或
router
处理收到的分组的时间 - 排队时延:分组在
router
的输入队列中排队等待处理- 丢包:分组如果到达一个满的队列,
router
将drop
该分组
- 丢包:分组如果到达一个满的队列,
- 发送时延:主机或
- 总时延 = 发送时延 + 传播时延 + 处理时间 + 排队时延
- 我们一般只能提高发送时延, “光线比铜线快”指的是可以用很快的速率向光纤信道发送数据,光纤信道上的传播速率实际上比铜线慢
RTT
- 往返时间
RTT(Round-Trip Time)
利用率
- 利用率:
- 信道利用率: 信道有百分之几的时间是被利用的
- 网络利用率:全网络的信道利用率的加权平均
- \(D = \frac{D_0}{1-U}\) ( \(D\): 网络当前时延, \(D_0\):空闲时延, \(U\): 利用率 )
工具
tracerouter
traceroute [参数选项] hostname,域名或 IP地址
- 向目的地发送几个特殊的分组
- 得到路由信息(路由器名、路由器地址、时延...)
1 | traceroute www.baidu.com ✔ 9s base |
- 记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 www.baidu.com ,表示向每个网关发送4个数据包。
- 有时会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
- 有时在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据。
wireshark
- 分组嗅探器:观察执行实体之间交换的报文之间的基本工具