现代人类交换数据的网络中枢
1、几种网络分层结构
应用层 | 应用层 | 应用层 |
表示层 | ||
会话层 | ||
运输层 | 运输层TCP/UDP | 运输层 |
网络层 | 网际层IP | 网络层 |
数据链路层 | 网络接口层 | 数据链路层 |
物理层 | 物理层 | |
OSI七层协议体系结构 | TCP/IP四层协议体系结构 | 五层协议体系结构 |
2、分层的理解
某一层,调用下层的接口,对上层提供服务;
协议与服务的关系:实现本层协议时要利用下层的服务,本层协议实现的目的是对上层提供服务;
- 物理层:点到点的通讯,比特流的传输;
- 数据链路层:点到点的通讯,帧的传输;
- IP层: 端到端(主机到主机)的通讯,分组的传输,传输没有保障;
- TCP层:进程到进程的通讯,PDU协议数据单元的传输,可靠的传输;
- 应用层:应用报文的传输,实现具体的功能;
3、网络层的工作方式
3.1、传统方式
- (控制平面)路由协议:路由之间交互报文,按照路由选择算法计算出路由表;
- (数据平面)IP协议:IP协议根据路由表,来决定目标IP如何转发;
3.2、SDN方式
- (控制平面)网络操作系统:计算出流表,发送给交换机;
- (数据平面)交换机:交换机可以阻塞、转发、泛洪、改字段;
4、什么是Internet
分布式进程利用基础设施进行通信;
4.1、节点
- 主机及应用程序
- 数据交换节点:路由器、交换机等网络交换设备
4.2、边:通信链路
- 接入网链路:主机连接到互联网的链路
- 主干链路:路由器之间的链路
4.3、协议
对等层的实体在通讯中遵守的规范;
语法、语义、时序(在何种情况下发送/接收)、动作(接收到某个消息后内部如何处理)
5、应用进程之间通信的模式
5.1、客户/服务器(C/S)模式
客户端提出请求,服务器接收服务;缺点:当有很多客户端请求,服务器会崩。
5.2、对等(Pear-Pear)模式
既是客户端也是服务器,没有或者很少专门的服务器。
6、网络核心——数据交换
6.1、线路交换(circle switch)
建立起一条独享的线路,能够保证带宽,但是可能会造成资源浪费。
这条线路由多个piece组成,方式可能有频分复用、时分复用、波分复用等。
这种方式用于以前的电话,使用电路交换来传送计算机数据时,传输效率很低,因为计算机数据是突发式地出现在传输线路上的。
6.2、分组交换(Packet switch)
把数据变成多个分组,在各个节点间存储、转发。
节点间数据传输时是全带宽。本质是时分复用,但是不固定的,称为统计多路复用。
转发时需要把每个分组的数据先全部缓存下来,还可能要排队,都会造成延时。
7、ISP(Internet Service Providers)
每个运营商的网络构成一个子系统(ISP),所以,互联网也可以看做是由很多ISP构成的;
- global ISP(国际ISP):即图中Tier1(第一级ISP),多个国际ISP之间互相接入,有直连也有通过IXP连接;
- region ISP(区域ISP):与global ISP互连,也可以和同级的region ISP互连;
- access ISP(接入ISP):端系统就通过接入ISP接入互联网;
8、分组丢失和延时
这个问题是基于上面6数据交换中的分组交换。
8.1、分组丢失
原因:分组到达的速率超过分组转发的速率,路由器缓冲区的分组队列又满了;
措施:上一跳重传,源主机重传,不重传;
8.2、延时
1)处理延时(延时时间比较固定)
- 检查bit级的错误;
- 检查分组首部,决定分组导向何处;
2)排队延时(延时时间不确定)
- 取决于路由器的拥塞程度,也即流量强度;
3)传输延时
- R:链路带宽bps; L:数据长度bits; t = L / R;
- 对低速率的链路来说,传输延时很大,比如拨号;
4)传播延时
- t = 物理链路长度 / 媒介传播速度(2*10^8m/s)
9、ICMP(Internet Control Message Protocol互联网控制报文协议)
ICMP返回出错报告到发送设备,发送设备根据ICMP报文信息确定错误类型,以及如何才能更好的重发;
10、吞吐量
定义:在不丢数据的情况下,接收设备能承受的最大数据传输速率,单位bps;
如下图,两个主机之间要经过很多跳,吞吐量是由最小的带宽决定的。
分组交换链路是共享的,比如Rc这一跳的链路有n个用户在使用,那实际的带宽就是1/n*Rc;
11、SAP(Service Access Point服务访问点)
指上层(服务用户)使用下层(服务提供者)服务时的层间接口。
下层的实体支撑着上层的多个实体,SAP可以标志不同的上层;
例如传输层的SAP:端口port;
12、DU(Data Uint 数据单元)
- IDU:Interface Data Uint,接口数据单元
- SDU:Service Data Unit,服务数据单元
- PDU:Protocol Data Unit,协议数据单元
- ICI:Interface Control Information:接口控制信息