计算机网络(自顶向下方法)-Internet概述
1.概论
1.1 什么是Internet?
网络
计算机网络:连网的计算机所构成的系统
方的 端系统(操作系统, 能够通信的网络应用进程、笔记本、电脑 等等 end system| host)
圆的 网络交换设备(交换机,路由器,负载均衡设备)
链路层的交换机,网络层的路由器
互联网
从具体构成角度
节点
- 主机及其上运行的应用程序
- 路由器、交换机等网络交换设备
边:通信链路
- 接入网链路:主机连接到互联网的链路
- 主干链路:路由器间的链路
协议
终端设备
什么是协议?
人类协议:
- “几点了?”
- “我有个问题”
- 你好
…发送特定的消息
… 收到消息时采取的特定行动或其他事件
网络协议:
- 类似人类协议
- 机器之间的协议而非人 与人之间的协议
- Internet 中所有的通信行为都受协议制约
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作
互联网:分布式应用和为分布式应用提供通讯服务的基础设施
1.2 网络边缘
网络边缘:采用网络设施的面向连接服务
目标:在端系统之间传输数据
握手:在数据传输之前做好准备
- 人类协议中:你好、你好
- 两个通信主机之间为连接建立状态
TCP – 传输控制协议(Transmission Control Protocol )
- Internet上面向连接的服务
TCP 服务 [RFC 793]
可靠地、按顺序地传送数据 :确认和重传
流量控制 : 发送方不会淹没接收方
拥塞控制 :当网络拥塞时,发送方降低发送速率
1.3 网络核心
数据交换
电路交换
网络资源(如带宽)被分成片
- 为呼叫分配片
- 如果某个呼叫没有数据, 则其资源片处于空闲状态 (不共享)
将带宽分成片
- 频分(Frequencydivision multiplexing)
- 时分(Time-division multiplexing)
- 波分(Wave-division multiplexing)
在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?
- 所有的链路速率为1.536 Mbps
- 每条链路使用时隙数为24的TDM
- 建立端-端的电路需500 ms
每条链路的速率(一个时间片):1.536Mbps/24 = 64kbps
传输时间:640kb/64kps = 10s
共用时间:传输时间+建立链路时间=10s + 500ms = 10.5s
电路交换不适合计算机之间的通信
- 连接建立时间长
- 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
- 即使这个呼叫没有数据传递,其所占据的片也不能 够被别的呼叫使用
- 可靠性不高?
分组交换
换取了共享性,按需使用
分组交换是“突发数据的胜利者?”
适合于对突发式数据传输
- 资源共享
- 简单,不必建立呼叫
过度使用会造成网络拥塞:分组延时和丢失 - 对可靠地数据传输需要协议来约束:拥塞控制
Q: 怎样提供类似电路交换的服务?
- 保证音频/视频应用需要的带宽
- 一个仍未解决的问题(chapter 7)
存储-转发
分组交换: 分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接,分成:
- 数据报网络:
分组的目标地址决定下一跳
在不同的阶段,路由可以改变
类似:问路
Internent - 虚电路网络:
每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
在呼叫建立时决定路径,在整个呼叫中路径保持不变
路由器维持每个呼叫的状态信息
X.25 和ATM
数据报(datagram) 的工作原理
每个分组都带有目标主机的完整地址,传递都是独立的。
虚电路(virtual circuit)的工作原理
每个交换节点中有个相应的标识。每个分组,带一个虚电路号
网络分类
1.4 接入网和物理媒体
住宅接入:modem
接入网: digital subscriber line (DSL)
接入网: 线缆网络
住宅接入:电缆模式
接入网: 家庭网络
物理媒体
1.5 Internet结构和ISP
互联网络结构:网络的网络
端系统通过接入ISPs (Internet Service Providers)连接到互联网
• 住宅,公司和大学的ISPs
接入ISPs相应的必须是互联的
因此任何2个端系统可相互发送分组到对方
导致的“网络的网络”非常复杂 • 发展和演化是通过经济的和国家的政策来驱动的
让我们采用渐进方法来描述当前互联网的结构
ISP提供接入,网络
ICP提供内容提供商,业务
在网络的最中心,一些为数不多的充分连接的大范围网络(分布广、节点有限、
但是之间有着多重连接)
“tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), 国家或者国际
范围的覆盖
content provider network (e.g., Google): 将它们的数据中心接入ISP,方便周边用户的访问;通常私有网络之间用专网绕过第一层ISP和区域ISPs
POP: 高层ISP面向客户网络的接入点,涉及费用结算
- 如一个低层ISP接入多个高层ISP,多宿(multi home) 对等接入:2个ISP对等互接,不涉及费用结算
IXP:多个对等ISP互联互通之处,通常不涉及费用结算 对等接入
ICP自己部署专用网络,同时和各级ISP连接
Internet结构:network of networks
- 经济考虑:少付费
- 用户体验:更快
1.6 分组延时、丢失和吞吐量
分组丢失和延时是怎样发生的?
四种分组延时
Internet的延时和路由
吞吐量
1.7 协议层次及服务模型
协议层次
大问题拆解成小问题,好操作
- 通过层间接口,向上层提供服务
- 对等层的协议实体,通过协议来交换信息
服务和服务访问点
服务( Service):低层实体向上层实体提供它们之间的通信的能力
服务用户(service user)
服务提供者(service provider )
原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
服务访问点 SAP (Services Access Point) :上层使用下层提供的服务通过层间的接口—地点;
例子:邮箱
地址(address):下层的一个实体支撑着上层的多个实体,SAP有标志不同上层实体的作用
可以有不同的实现,队列
例子:传输层的SAP: 端口(port)
服务的类型
面向连接的服务和无连接的服务-方式
面向连接的服务( Connection-oriented Service) TCP
连接(Connection):两个通信实体为进行通信而建立的一种结合
面向连接的服务通信的过程:建立连接,通信,拆除连接
面向连接的服务的例子:网络层的连接被成为虚电路
适用范围:对于大的数据块要传输; 不适合小的零星报文
特点:保序
服务类型:
可靠的信息流 传送页面(可靠的获得,通过接收方的确认)
可靠的字节流 远程登录
不可靠的连接 数字化声音
面向连接的服务和无连接的服务
无连接的服务(Connectionless Service) UDP
无连接服务:两个对等层实体在通信前不需要建
立一个连接,不预留资源;不需要通信双方都是
活跃;(例:寄信)
特点:不可靠、可能重复、可能失序
IP分组,数据包;
适用范围:适合传送零星数据;
服务类型:
不可靠的数据报 电子方式的函件
有确认的数据报 挂号信
请求回答 信息查询
服务和协议
服务与协议的区别
服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直
协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
服务与协议的联系
本层协议的实现要靠下层提供的服务来实现
本层实体通过协议为上层提供更高级的服务
数据单元(DU)
分层处理和实现复杂系统的好处?
对付复杂的系统
概念化:结构清晰,便于标示网络组件,以及描述其相互关系
分层参考模型
结构化:模块化更易于维护和系统升级
改变某一层服务的实现不影响系统中的其他层次
对于其他层次而言是透明的 如改变登机程序并不影响系统的其它部分
改变2个秘书使用的通信方式不影响2个翻译的工作
改变2个翻译使用的语言也不影响上下2个层次的工作
分层思想被认为有害的地方?
Internet 协议栈
应用层: 网络应用
为人类用户或者其他应用进程提供网络应用服务
FTP, SMTP, HTTP,DNS
传输层: 主机之间的数据传输
在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
TCP, UDP
网络层: 为数据报从源到目的选择路由
主机主机之间的通信,端到端通信,不可靠
IP, 路由协议
链路层: 相邻网络节点间的数据传输
2个相邻2点的通信,点到点通信,可靠或不可靠
点对对协议PPP, 802.11(wifi), Ethernet
物理层: 在线路上传送bit
ISO/OSI 参考模型
表示层: 允许应用解释传输的
数据, e.g., 加密,压缩,机器相关的表示转换
会话层: 数据交换的同步,检查点,恢复
互联网协议栈没有这两层!
这些服务,如果需要的话,必须被应用实现
需要吗?
表示层和会话层在应用层自己做。在网络协议中
各层次的协议数据单元
应用层:报文(message)
传输层:报文段(segment):TCP段,UDP数据报
网络层:分组packet(如果无连接方式:数据报 datagram) 数据链路层:帧(frame)
物理层:位(bit)
1.8 历史
早期(1960以前)计算机网络