计算机网络第一章-计算网络和因特网
🎈什么是Internet
从具体的构成角度:节点、边、协议
1️⃣节点
- 主机及其上运行的应用程序
- 路由器、交换机等网络交换设备
数以亿计的、互联的计算设备
- 主机 = 端系统(端系统称为end system or host)
- 运行网络应用程序
2️⃣边:通信链路
- 接入网链路:主机链接到互联网的链路
- 主干链路:路由器间的链路
通信链路
- 光纤、同轴电缆、无线电、卫星
- 传输速率 = 带宽(bps)(bit/s)
分组交换设备:转发分组(packets)
- 路由器和交换机
3️⃣协议
什么是网络协议:
协议定义了在两个或者多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作
红字表示老师重点解释了这个词汇
报文格式:语法、语义
次序:时序
动作:收到动作
协议三要素:语法,语义,时序
协议控制发送和接受信息
- 如TCP、IP、HTTP、FTP、PPP
Internet:"网络的网络"
- 松散的层次结构、互连的ISP
- 公共Internet vs. 专用intranet(内部网)
Internet标准
- RFC:Request for comments(是由IETF发布的一系列备忘录)
- IETF:Internet Engineering Task Force(Google翻译互联网工程任务组)
从服务角度:使用通信设施进行通信的分布式应用,通信基础设施为apps提供编程接口(通信服务)
4️⃣使用通信设施进行通信的分布式应用
- Web、VoTP、email、分布式游戏、电子商务、社交网络……
5️⃣通信基础设施为apps提供编程接口(通信服务)
- 将发送和接收数据的apps与互联网连接起来
- 为app应用提供服务选择、类似于邮政服务:1.无连接不可靠服务(UDP) 2.面向连接的可靠服务(TCP)
⚫网络结构
1.网络边缘:
- 主机
- 应用程序(客户端和服务器)
2.网络核心:
- 互连着的路由器
- 网络的网络
3.接入网、物理媒体:
- 有线或者无线通信链路
上课老师图太生动形象的解释了edge,core,across
🎈网络边缘
端系统(主机)
- 运行应用程序
- 如Web、email
- 在"网络的边缘"
客户/服务器模式
- 客户端向服务器请求、接收服务
- 如Web浏览器/服务器:email客户端/服务器
对等(peer-peer)模式
俗称p2p
- 很少专门的服务器(甚至没有)
- 如Gnutella、KaZaA、Emule
1️⃣采用网络设施的面向连接服务
目标:在端系统之间传输数据
握手:在数据传输之前做好准备
- 人类协议中:你好,你好
- 两个通信主机之间为连接建立状态
TCP-传输控制协议
TCP[Transmission Control Protocol]服务[RFC 793]
- Internet上面向连接的服务
可靠地、按顺序地传送数据
- 确认和重传
流量控制
- 发送方不会淹没接收方
拥塞控制
- 当网络拥塞时,发送方降低发送速率
2️⃣采用基础设施的无连接服务
目标:在端系统之间传输数据,
是不是很眼熟,但是需要无连接服务
UDP-用户数据报协议
UDP[User Datagram Protocol]服务[RFC 768]
- 无连接
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
3️⃣UDP和TCP应用
-
使用TCP的应用:HTTP(Web),FTP(文件传送),Telnet(远程登录),SMTP(email)
-
使用UDP的应用:流媒体、远程会议、DNS、Internet电话
🎈网络核心:分组交换、电路交换
0️⃣基本介绍
网络核心:路由器的网状网络
基本问题:数据怎么样通过网络进行传输?
- 电路交换:为每一个呼叫预留一条专有电路:如电话网
- 分组交换:
1.将要传送的数据分成一个个单位:分组
2.将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
3.每段:采用链路的最大传输能力(带宽)
1️⃣电路交换
端到端的资源被分配给从源端到目标端的呼叫"call"
图中,每段链路有4段线路
- 该呼叫采用了上面的链路的第二个线路,右边链路的第一个线路
- 独享资源:不同享(每个呼叫一旦建立起来就能保证性能)
- 如果呼叫没有数据发送,被分配的资源就会被浪费(no sharing)
- 通常被传统电话网络采用
为呼叫预留端=端资源
- 链路带宽、交换能力
- 专用资源:不共享
- 保证性能
- 要求建立呼叫连接
网络资源(如带宽)被分成片
- 为呼叫分配片
- 如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
- 将带宽分成片 1.频分 2.时分 3.波分
计算题
在一个电路交换网络上,从主机A到主机B发送一个640 000 比特的文件需要多长时间?
- 所有的链路速率为1.536Mbps
- 每条链路使用时隙数为24的TDM
- 建立端-端的电路需500ms
解:
每条链路的速率(一个时间片):1.536Mbps/24=64kbps
传输时间:640kb/64kps=10s
共用时间:传输时间+建立链路时间=10s+500ms=10.5s
电路交换不适合计算机之间的通信
- 连接建立时间长
- 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多(即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用)
- 可靠性不高?
2️⃣分组交换
以分组为单位存储-转发方式
- 网络带宽资源不再分分为一个个片,传输时使用全部带宽
- 主机之间传输的数据被分为一个个分组
资源共享,按需使用
- 存储-转发:分组每次转动一跳(hop)
1.在转发之前,节点必须收到整个分组
2.延迟比线路交换要大
3.排队时间
分组交换:存储-转发
- 被传输到下一个链路之前,整个分组必须到达路由器:存储-转发
- 在一个速率为R bps的链路,一个长度为L bits的分组的存储转发延时:L/R s
example:L=7.5Mbits R=1.5Mbps 三次存储转发的延时=15s
分组交换:排队延迟和丢失
如果到达速率>链路的输出速率:
- 分组将会排队,等待传输
- 如果路由器的缓存用完了,分组将会被抛弃
网络核心的关键功能
路由:决定分组采用的源到目标的路径
- 路由算法
转发:将分组从路由器的输入链路转移到输出链路
分组交换:统计多路复用
分组交换网络:存储-转发
- 分组交换:分组的存储转发一段一段从源端传到目的端,按照有无网络层的连接,分成:
1.数据报网络:
- 分组的目标地址决定下一跳
- 在不同的阶段,路由可以改变
- 类似:问路
- Internet
2.虚电路网络:
- 每个分组都带标签(虚电路标识VCID),标签决定下一跳
- 在呼叫建立时决定路径,在整个呼叫中路径保持不变
- 路由器维持每个呼叫的状态信息
- X.25和ATM
数据报(datagram)的工作原理
- 在通信之前,无须建立起一个连接,有数据就传输
- 每一个分组都是独立路由(路径不一样,可能会失序)
- 路由器根据分组的目标地址进行路由
虚电路(virtual circuit)的工作原理
3️⃣分组交换vs电路交换
同样的网络资源,分组交换允许更多用户使用网络
-
1Mb/s 链路
-
每个用户:
1.活动时100kb/s
2.10%的时间是活动的 -
电路交换:10用户
-
分组交换:
1.35用户时
2.>=10个用户活动的概率为0.0004
分组交换是“突发数据的胜利者?”
- 适合于对突发式数据传输(资源共享,简单,不必建立呼叫)
- 过度使用会造成网络拥堵:分组延时和丢失(对可靠地数据传输协议来约束:拥塞控制)
4️⃣网络分类
通信网络:电路交换网络和分组交换网络
-
电路交换网络:FDM和TDM
-
分组交换网络:虚电路网络和数据报网路
🎈接入网、物理媒体
1️⃣住宅接入:modem
将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据调解出来。反之亦然
- 调频
- 调幅
- 调相位
- 综合调制
拨号调制调解器
- 56Kbps 的速率直接接入路由器(通常更低)
- 不能同时上网和打电话:不能总是在线
2️⃣接入网:digital subscriber line(DSL)
采用现存的到交换局DSLAM的电话线
- DSL线路上的数据被传到互联网
- DSL线路上的语音被传到电话网
<2.5Mbps上行传输速率
<24Mbps下行传输速率
线缆网络
有线电视信号线缆双向改造
FDM:在不同频段传输不同信道的数据,数字电视和上网数据(上下行)
HFC:hybrid fiber coax
- 非对称:最高30Mbps的下行传输速率,2Mbps上行传输速率
线缆和光纤网络将个家庭用户接入到ISP路由器
各用户共享到线缆头端的接入网络
- 与DSL不同,DSL每个用户一个专用线路到CO(central office)
住宅接入:电缆模式
接入网:家庭网络
企业接入网络
无线接入网络
物理媒体
Bit:在发送-接收对间传播
物理链路:连接每个发送-接收对之间的物理媒体
导引型媒体:
- 信号沿着固体媒介被导引:同轴电缆、光纤、双绞线
非导引型媒体
- 开放的空间传输电磁或者光信号,在电磁或者光信号中承载数字数据
1.双绞线(TP)
- 两根绝缘铜导线拧合(5类:100Mbps以太网,Gbps千兆位以太网 6类:10Gbps万兆以太网)
2.同轴电缆
- 两根同轴的铜导线
- 双向
- 基带电缆(电缆上一个单个信道,Ethernet)
- 宽带电缆(电缆上有多个信道,HFC)
3.光纤和光缆
- 光脉冲,每个脉冲表示一个bit,在玻璃纤维中传输
- 高速:点到点的高速传输(如10Gps-100Gbps传输速率)
- 低误码率:在两个中继器之间可以有很长的距离,不受电磁噪声的干扰
- 安全
4.无线链路
开放空间传输电磁波,携带要传输的数据
无需物理“线缆”
双向
传播环境效应:反射,吸收,干扰
无线链路类型: 地面微波,LAN,wide-area,卫星
🎈Internet/ISP结构
1️⃣互联网结构:网络的网络
- 端系统通过接入ISPs(Internet Service Providers互联网服务供应商)连接道互联网(住宅,公司和大学的ISPs)
- 接入ISPs相应的必须是互联的(因此任何2个端系统可互相发送分组到对方)
- 导致的“网络的网络”非常复杂(发展和演化是通过经济的和国家的政策来驱使的)
2️⃣互联网结构:network of network细化
松散的层次模型
中心:第一层ISP国家/国际覆盖,速率极高
- 直接与其他第一层ISP相连
- 与大量的第二层ISP和其他客户网络相连
第二层ISP:更小些的(通常是区域性的)ISP
- 与一个或多个第一层ISPs,也可能与其他第二层ISP
第三层ISP与其他本地ISP
- 接入网(与端系统最近)
一个分组要经过许多网络
很多内容提供商(如:Google,Akamai)可能会部署自己的网络,连接自己的在各地的DC(数据中心),走自己的数据
连接诺干local ISP和各级(包括一层)ISP,更加靠近用户
3️⃣ISP之间的连接
- pop:高层ISP面向客户网络的接入点,涉及费用结算(如一个低层ISP接入多个高层ISP,多宿[multi home])
- 对等接入:2个ISP对等互接,不涉及费用结算
- IXP:多个对等ISP互联互通之处,通常不涉及费用结算(对等接入)
- ICP自己部署专用网络,同时和各级ISP连接
🎈性能:丢包、延时、吞吐量
分组丢失和延时是怎样发生的?
- 在路由器缓冲区的分组队列
1.分组到达链路的速率超过了链路输出能力
2.分组等待排到队头、被传输
1️⃣四种分组延时
节点处理延时
- 检查bit级差错
- 检查分组首部和决定将分组导向何处
排队延时
-
在输入链路上等待传输的时间
-
依赖于路由器的拥塞程度
-
R=链路带宽(bps)
-
L=分组长度(bits)
-
a=分组到达队列的平均速率
流量强度=La/R
- La/R ~ 0:平均排队延时很小
- La/R->1:延时变得很大
- La/R>1:比特到达队列的速率超过了从该队列输出的速率,平均排队延时将趋向无穷大
设计系统时流量强度不能大于1
传输延时
- R=链路带宽(bps)
- L=分组长度(bits)
- 将分组发送到链路上的时间:L/R
- 存储转发延时
传播延时
- d=物理链路的长度
- s=在媒体上的传播速度(-2 * 10^8 m/sec)
- 传播延时=d/s
s和R都是不同的量
这里视频讲了一个类比,模拟车队比作网络传输分组的模式
节点延时
2️⃣Internet的延时和路由
traceroute(路由)诊断程序:提供从源端,经过路由器,到目的的延时测量
*for all i:
1.沿着目的的路径,向每个路由器发送3个探测分组
2.路由器i将向发送方返回一个分组
3.发送方对发送和回复之间间隔计时
关于traceroute
3️⃣分组丢失
- 链路的队列缓冲区容量有限
- 当分组到达一个满的队列时,该分组将会丢失
- 丢失的分组可能会被前一个节点或源端系统重传,或者根本不会重传
丢包率=丢包数/已发分组总数
4️⃣吞吐量
吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)
- 瞬间吞吐量:在一个时间点的速率
- 平均吞吐量:在一个长时间内平均值
瓶颈链路
端到端路径上,限制端到端吞吐的链路
端到端的平均吞吐量=min{R1,R2,R3……Rn}
假设总共有十条链路,理论上是,第一点,即三个数值中的最小值,一般在实际生活中,就是传输端或者接收端的通常就是瓶颈链路!
🎈协议层次、服务模型
网络是一个复杂的系统!
网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
现实来看,网络的许多构成元素和设备:
- 主机
- 路由器
- 各种媒体的链路
- 应用
- 协议
- 硬件,软件
1️⃣服务和服务访问点
-
服务(service):低层实体向上层实体提供他们之间的通信能力
1.服务用户(service user)
2.服务提供者(service provider) -
原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务是通过服务访问原语来进行交互的--形式
-
服务访问点SAP(services access point):上层使用下层提供的服务通过层间的接口--地点;
1.例子:邮箱
2.地址(address):下层的一个实体支撑上层的多个实体,SAP有标志不同上层实体的作用
3.可以有不同的实现,队列
4.例子:传输层的SAP:端口(port)
2️⃣服务的类型
面向连接的服务和无连接的服务-方式
面向连接的服务
- 面向连接的服务(connection-oriented service)
1.连接(connection):两个通信实体为进行通信而建立的一种结合
2.面向连接的服务通道的过程:建立连接,通信,拆除连接
3.面向连接的服务的例子:网络层的连接被成为虚电路
4.适用范围:对于大的数据块要传输;不适合小的零星报文
5.特点:保序
6.服务类型:1)可靠的信息流 传送页面(可靠的获得,通过接收方的确认) 2)可靠的字节流 远程登录 3)不可靠的连接 数字化声音
无连接的服务
- 无连接服务(connectionless service)
1.无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)
2.特点:不可靠,可能重复、可能失序
3、IP分组,数据包;
4.适用范围:适合传送零星数据
5.服务类型:1)不可靠的数据报 电子方式的函件 2)有确认的数据报 挂号信 3)请求回答 信息查询
3️⃣服务和协议
服务和协议的区别
-
服务(service):低层实体向上层实体提供他们之间的通信的能力,是通过原语(primitive)来操作的,垂直
-
协议(protocol):对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
服务与协议的联系
-
本层协议的实现要靠下层提供的服务来实现
-
本层实体通过的协议为上层提供更高级的服务
4️⃣分层处理和实现复杂系统的好处
对付复杂的系统
- 概念化:结构清晰,便于标示网络组件,以及描述其相互关系(分层参考模型)
- 结构化:模块化更易于维护和系统升级
1.改变某一层服务的实现不影响系统中的其他层次(对于其他层次而言是透明的)
2.如改变登机程序并不影响系统的其他部分(改变2个秘书使用的通信方式不影响2个翻译的工作,改变两个翻译使用的语言也不影响上下两层次的工作)
5️⃣Internet协议栈
应用层
网络应用
- 为人类用户或者其他应用进程提供网络应用服务
- FTP,SMTP,HTTP,DNS
传输层
主机之间的数据传输
- 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠的通信
- TCP,UDP
网络层
为数据报从源到目的选择路由
- 主机主机之间的通信,端到端通信,不可靠
- IP,路由协议
链路层
相邻网络节点间的数据传输
- 2个相邻2点的通信,点到点通信,可靠或者不可靠
- 点对点协议PPP(Point to Point Protocol),802.11(wifi),Ethernet
物理层
在线路上传送bit
各层次的协议数据单元
6️⃣ISO/OSI参考模型
互联网协议栈没有这两层!
表示层
允许应用解释传输的数据,e.g.,加密,压缩,机器相关的表示转换
会话层
数据交换的同步,检查点,恢复
7️⃣封装和解封装
这一段网课讲的很详细
🎈历史
看ppt……