网络
计算机网络:连网的计算机所构成的系统
方的 端系统(操作系统, 能够通信的网络应用进程、笔记本、电脑 等等 end system| host)
圆的 网络交换设备(交换机,路由器,负载均衡设备)
链路层的交换机,网络层的路由器
互联网
节点
边:通信链路
协议



人类协议:
…发送特定的消息
… 收到消息时采取的特定行动或其他事件
网络协议:
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作


互联网:分布式应用和为分布式应用提供通讯服务的基础设施


网络边缘:采用网络设施的面向连接服务
目标:在端系统之间传输数据
握手:在数据传输之前做好准备
TCP – 传输控制协议(Transmission Control Protocol )

数据交换



网络资源(如带宽)被分成片
将带宽分成片

在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?
电路交换不适合计算机之间的通信



换取了共享性,按需使用



分组交换是“突发数据的胜利者?”
适合于对突发式数据传输
Q: 怎样提供类似电路交换的服务?
存储-转发
分组交换: 分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接,分成:
每个分组都带有目标主机的完整地址,传递都是独立的。

每个交换节点中有个相应的标识。每个分组,带一个虚电路号














端系统通过接入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面向客户网络的接入点,涉及费用结算


























大问题拆解成小问题,好操作

服务( 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)之间在相互通信的过程中,需要遵循的规则的集合,水平
服务与协议的联系
本层协议的实现要靠下层提供的服务来实现
本层实体通过协议为上层提供更高级的服务


对付复杂的系统
概念化:结构清晰,便于标示网络组件,以及描述其相互关系
分层参考模型
结构化:模块化更易于维护和系统升级
改变某一层服务的实现不影响系统中的其他层次
对于其他层次而言是透明的 如改变登机程序并不影响系统的其它部分
改变2个秘书使用的通信方式不影响2个翻译的工作
改变2个翻译使用的语言也不影响上下2个层次的工作
分层思想被认为有害的地方?
应用层: 网络应用
为人类用户或者其他应用进程提供网络应用服务
FTP, SMTP, HTTP,DNS
传输层: 主机之间的数据传输
在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
TCP, UDP
网络层: 为数据报从源到目的选择路由
主机主机之间的通信,端到端通信,不可靠
IP, 路由协议
链路层: 相邻网络节点间的数据传输
2个相邻2点的通信,点到点通信,可靠或不可靠
点对对协议PPP, 802.11(wifi), Ethernet
物理层: 在线路上传送bit

表示层: 允许应用解释传输的
数据, e.g., 加密,压缩,机器相关的表示转换
会话层: 数据交换的同步,检查点,恢复
互联网协议栈没有这两层!
这些服务,如果需要的话,必须被应用实现
需要吗?
表示层和会话层在应用层自己做。在网络协议中



应用层:报文(message)
传输层:报文段(segment):TCP段,UDP数据报
网络层:分组packet(如果无连接方式:数据报 datagram) 数据链路层:帧(frame)
物理层:位(bit)






