Internet结构和ISP
互联网络结构:network of networks
1.端系统通过接入ISP(Internet Service Provider)连接到互联网
2.接入ISPs相应的必须是互联的
问题:给定数百万的ISPs怎样互连在一起?
- 将每个接入ISP接入到全局ISP:客户ISPs和提供者ISPs有经济合约,提供者ISPs存在竞争与合作。
- 连接方式:提供者ISPs全部接入到IXP(Internet Exchange Point).
- 局限性:成本高,用户体验不高
- 解决方式:内容提供商网络(Internet Content Providers)可能会构建他们自己的网络,数据中心机房,将他们的服务,内容更加靠近端用户,向用户提供更好的服务,降低运营成本。
ISP之间的连接
- POP:高层ISP面向客户网络的接入点,涉及费用结算
- 对等接入:2个ISP对等互联,不涉及费用结算
- IXP:多个对等ISP互联互通之处,通常不涉及费用结算
- ICP:自己部署的专用网络,同时和各级ISP连接
分组延时、丢失和吞吐量
分组丢失和延时是怎样发生的?
在路由器缓冲区的分组队列:
- 分组达到链路的速率超过了链路输出的能力
- 分组等待排到队头被传输
- 分组到达时,如果没有可用的缓冲区,则该分组被丢掉
四种分组延时
节点处理延时:
- 检查bit级差错
- 检查分组首部和决定将分组导向何处
- 通常的微秒量级或更少
排队延时:
- 在输出链路上等待被传输的时间
- 依赖于路由器的拥塞程度
传输延时:
- R=链路带宽
- L=分组长度
- 将分组发送到链路上的时间=L/R
- 存储转发延时
传播延时:
- 物理链路的长度=d
- 在媒体上的传播速度=s
- 传播延时=d/s
- 流量强度I=La/R。流量强度->1时,延时将变得无限大
分组丢失
- 链路的队列缓冲区容量有限
- 当分组到达一个满的队列时,该分组将会丢失
- 丢失的分组可能会被前一个节点或源端系统重传,或者根本不重传
重传的三种情况
1.上一个节点重传:链路是可靠的
2.原主机重传:链路不可靠,或丢失(TCP协议下)
3.不重传:UDP协议下
吞吐量
- 在源端和目标端之间传输的速率(数据量/单位时间)
- 瞬间吞吐量:在一个时间点内的速率
- 平均吞吐量:在一个长时间内的平均值
- 瓶颈链路:端到端路径上,限制端到端吞吐的链路
协议层次及服务模型
服务和服务网点
服务:底层实体向上层实体提供他们之间的通信的能力
- 服务用户(Service User)
- 服务提供者(Service Provider)
- 服务访问点SAP(Service Access Point):下层的服务提供者用来区分上层用户的信息,例如传输层的端口。
- 原语:层间交互都是通过服务访问原语的形式来进行交互的。
服务的类型
面向连接的服务(Connect-Oriented Service)
- 连接:两个通信实体为进行通信而建立的一种结合
- 面向连接的服务器通信的过程:建立连接,通信,拆除连接
- 面向连接的服务的例子:网络层的连接被成为虚电路
- 特点:程序
- 服务类型:可靠的信息流、可靠的字节流、不可靠的连接(数字化声音)
无连接的服务(Connectless Service)
- 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源,不需要通信双方都活跃
- 特点:不可靠,可能重复,可能失序
- 适用范围:适合传输零星的数据
服务和协议
- 服务与协议的区别:
- 服务:是底层实体向上层实体提供他们之间的通信的能力,是通过原语来操作的,垂直
- 协议:对等层实体之间在相互通信的过程中,需要遵循的规则的集合,水平
服务和协议的关系
本层协议的实现要靠上下层提供的服务来实现
本层实体通过协议为上层提供更高级的服务
Internet协议栈
- 应用层:网络应用
为人类用户或者其他应用进程提供网络应用服务
FTP, SMTP, HTTP,DNS - 传输层:主机之间的数据传输
在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
TCP, UDP - 网络层:为数据报从源到目的选择路由
主机主机之间的通信,端到端通信,不可靠
IP,路由协议 - 链路层:相邻网络节点间的数据传输
2个相邻2点的通信,点到点通信,可靠或不可靠
点对对协议PPP,802.11(wifi),Ethernet - 物理层:在线路上传送bit
各层次的协议数据单元
- 应用层:报文(message)
- 传输层:报文段(segment):TCP段,UDP数据报
- 网络层:分组packet(如果无连接方式:数据报datagram)
- 数据链路层:帧(frame)
- 物理层:位(bit)