文章目录
- 前言
- 一、什么是Internet?
- 1.从具体构成角度
- 什么是协议?
- 2.从服务角度
- 3小结
- 二、网络边缘
- 1.采用网络设施面向连接服务(TCP)
- 2.采用基础设施的无连接服务(UDP)
- 三、网络的核心
- 1.电路交换
- 2.分组交换
- 3.分组交换 VS 电路交换
- 4.分组交换的两种方式
- 5.总结
- 四、接入网和物理媒体媒介
- 1.住宅接入
- 2.接入网
- 3.物理媒体
- 五、Internet结构和ISP
- 互联网网络结构:网络的网络
- 六、分组丢失、延时和吞吐量
- 1.四种分组延时
- 2.分组丢失
- 3.吞吐量
- 七、协议层次和服务模型
- 1.服务和服务访问点
- 2.服务类型
- 3.服务和协议
- 4.分层处理和实现复杂系统的好处?
- 5.Internet协议栈
- 6.ISO/OSI参考模型
- 7.封装和解封装
- 8.各层次的协议数据单元
- 总结
前言
概述计算机网络。
一、什么是Internet?
1.从具体构成角度
- 节点
- 主机及其上运行的应用程序
- 路由器、交换机等网络交换设备
- 边:通信链路
- 接入网链路:主机连接到互联网的链路
- 主干链路:路由器间的链路
- 协议
- 数以亿计的、互联的计算设备(端系统:end system 或者 host):
- 主机 = 端系统
- 运行网络应用程序
- 通信链路:
- 光纤、同轴电缆、无线电、卫星
- 传输速率 = 带宽(bps)
- 分组交换设备:转发分组(packets)
- 路由器和交换机
- 协议控制发送、接收信息
- 如TCP、IP、HTTP、FTP、PPP
- Internet:“网络的网络”
- 松散的层次结构,互联的ISP
- 公共Internet vs,专用internet
- Internet标准
- RFC:Request for comments
- IETF:Internet Engineering Task Force
什么是协议?
人类协议
- 你好、几点了、我有个问题
- 发送特定的信息
- 收到消息时采取的特定行为或其他事件
网络协议
- 类似人类协议
- 机器之间的协议而非人与人之间的协议
- Internet中所有的通信行为都受到协议制约
协议定义了在一个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收时间方面所采用的动作。
2.从服务角度
-
使用通信设施进行通信的分布式应用
- Web、VoIP、email、分布式游戏、电子商务、社交网络
- 网络、VoIP、电子邮件、分布式游戏、电子商务、社交网络
-
通信基础设施为apps提供编程接口(通信服务)
-
将发送和接收数据的apps与互联网连接起来
-
为app应用提供服务选择,类似于邮政服务:
- 无连接不可靠服务服务
- 面向连接的可靠服务
-
3小结
- 把端系统和交换节点连接在一起叫接入网,交换节点和交互节点叫网络核心。
- 端系统=主机,主要包括能进行网络通信的网络应用和操作系统。
- 计算机网络包括应用进程和其下的协议基础设施。
- 以tcp/ip协议为主的协议簇为基础的网络叫计算机网络。
- 协议:对等实体进行数据交换所需遵守的一系列规则。
- 协议包括:语法,语义,次序,动作。
二、网络边缘
网络结构(边缘通过接入连接核心,核心再将边缘联系一起,网络核心其实就是负责数据传输)
- 端系统(主机):
- 运行应用程序
- 如Web、email
- 在“网络的边缘”
- 客户/服务器模式(C/S)
- 客户端向服务器请求、接收服务
- 如Web浏览器/服务器; email客户端/服务器
- 对等(peer-peer )模式(P2P)
- 很少(甚至没有)专门的服务器
- 如Gnutella、KaZaA、Emule
- 每个主机可能是主机也可能是服务器
1.采用网络设施面向连接服务(TCP)
目标:在端系统之间传输数据
- 握手:在数据传输之前做好准备
- 人类协议中:你好、你好
- 两个通信主机之间为连接建立状态
- TCP–传输控制协议(Transmission Control)
- Internet上面向连接的服
务
- Internet上面向连接的服
TCP服务[RCF 793]
- 可靠地、按顺序地传送数据
- 确认和重传
- 流量控制
- 发送方不会淹没接收方
- 拥塞控制
- 当网络拥塞时,发送方降低发送速率
2.采用基础设施的无连接服务(UDP)
目标:在端系统之间传输数据
- 无连接服务
- UDP——用户数据报协议(User DatagramProtocol)[RFC 768]:
- 无连接
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
使用TCP的应用:
- HTTP (Web),FTP(文件传送),Telnet(远程登录),SMTP (email)
使用UDP的应用:
- 流媒体、远程会议、DNS、Internet电话
三、网络的核心
- 网络核心:路由器的网状网络
- 基本问题:数据怎样通过网络进行传输?
- 电路交换:为每个呼叫预留一条专有电路:如电话网
- 分组交换(以分组为单位,存储转发):
- 将要传送的数据分成一个个单位:分组
- 将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
- 每段:采用链路的最大传输能力(带宽)
1.电路交换
在电路交换过程中,网络资源(如带宽)被分成片:
- 为呼叫分配片
- 如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
- 将带宽分成片的方式:
- 频分(Frequency-divisionmultiplexing)
- 时分(Time-divisionmultiplexing)
- 波分(Wave-divisionmultiplexing)
电路交换不适合计算机之间的通信:
- 连接建立时间长
- 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
- 即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
- 可靠性不高?
2.分组交换
以分组为单位存储-转发方式
- 网络带宽资源不再分为一个个片,传输时使用全部带宽
- 主机之间传输的数据被分为一个个分组
资源共享,按需使用:
- 存储-转发:分组每次移动一跳(hop)
- 在转发之前,节点必须收到整个分组
- 延迟比线路交换要大,因为每个节点都要收到整个分组才会往下hop,所以每个节点都要等待整个分组完整传输。
- 排队时间
- 使用每个节点之间的线路,其他节点线路仍然可以被其他人使用
- 被传输到下一个链路之前,整个分组必须到达路由器:存储-转发
- 在一个速率为R bps的链路,一个长度为L bits的分组的存储转发延时:L/R s
Example:
L= 7.5 Mbits
R = 1.5 Mbps
3次存储转发的延时 = 15 s
排队和延迟:
- 如果到达速率>链路的输出速率:
- 分组将会排队,等待传输
- 如果路由器的缓存用完了,分组将会被抛弃
网络核心的关键功能
路由:决定分组采用的源到目标的路径(查路由表)
- 路由算法
转发:将分组从路由器的输入链路转移到输出链路
统计多路复用
3.分组交换 VS 电路交换
分组交换允许更多用户使用网络
- 1 Mbps 链路
- 每个用户:
- 活动时100 kbps
- 10%的时间是活动的
- 电路交换:
- 10用户(1 Mbps / 100 Kbps)
- 分组交换:
- 假设有35用户
- 大于等于10个用户活动的概率为0.0004 = 0.04%(99.6%的可能hold住,0.04%的可能hold不住,流量强度为1,网络会挂掉,瞬间进来的速度比出去的速度来的快,但是有队列,可以慢慢排队,挺过这0.04%,后面就顺风顺水,进来的少,出去的多,把这0.4%传出去,也算hold住)
分组交换是“突发数据的胜利者”
- 适合于对突发式数据传输5634
- 资源共享
- 简单,不必建立时间
- 过度使用会造成网络拥塞:分组延时和丢失
- 对可靠的数据传输需要协议来约束:拥塞控制
4.分组交换的两种方式
- 分组交换:分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接分成:
- 数据报网络(无连接):
- 分组的目标地址决定下一跳
- 在不同的阶段,路由器可以改变
- 类似:问路
- Internet
- 虚电路网络(有连接):
- 每个分组都带标签(虚电路标识VCID),标签决定下一跳
- 在呼叫建立时决定路径,在整个呼叫中路径始终保持不变
- 路由器维持每个呼叫的状态信息
- X.25和ATM
- 数据报网络(无连接):
数据报的工作原理
- 在通信之前,无须建立起一个连接,有数据就传输
- 每一个分组都独立路由(路径不一样,可能会失序)
- 路由器根据分组的目标地址进行路由
虚电路工作原理
5.总结
网络分类
-
通信网络
- 电路交换网络
- FDM
- TDM
- 分组交换网络
- 虚电路网络
- 数据报网络
- 电路交换网络
电路交换,独享线路,性能保障,信息共享程度能力较低,连接建立时间非常长但网络连接的建立有很大的突发性,所以不好。将带宽分片以共享信息通路:频分(fdm),时分(tdm),波分(wdm),码分(cdma)
分组交换,将信息进行分组,待分组(当个分组不是整个报文)全部传输完时再进行转发,延时较高,可能丢包,但利于信道共享,有存储时延和排队时延。
数据报(无连接) ∶每个分组携带完整的地址,进行分组转发。
虚电路(有连接) ∶建立一个虚拟的电路,每个分组携带一个电路号进行存储转发。有连接,无连接和面向连接(网络层的连接)没有关系。
服务分为面向连接的服务(tcp)和无连接的服务(udp)。
追求可靠性选择TCP,追求时效选择UDP如多媒体控制设备。
四、接入网和物理媒体媒介
Q:怎样将端系统和边缘路由器连接?
- 住宅接入网络
- 单位接入网络(学校、公司)
- 无线接入网络
注意:
- 接入网络的带宽(bits persecond) ?
- 共享/专用?
1.住宅接入
modem:(modem越来越少,现在是移动联通光纤到户)
- 将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据解调出来;反之亦然
- 调频
- 调幅
- 调相位
- 综合调制
- 拨号调制解调器
- 56Kbps的速率直接接入路由器(通常更低)
- 不能同时上网和打电话:不能总是在线
电缆模式
2.接入网
DSL:digital subscriber line:
- 采用现存的到交换局DSLAM的电话线
- DSL线路上的数据被传入到互联网
- DSL线路上的语音被传到电话网
- 小于2.5Mbps上行传输速率(typically < 1Mbps)
- 大于24Mbps下行传输速率(tyypically < 10Mbps)
线缆网络:
- 有线电视信号线缆双向改造(原有电视线缆只能传下行)
- FDM:在不同频段传输不同信道的数据,数字电视和上网数据(上下行)
- HFC: hybrid fiber coax
- 非对称:最高3OMbps的下行传输速率, 2Mbps上行传输速率
- 线缆和光纤网络将每个家庭用户接入到ISP路由器
- 各用户
共享
到线缆头端的接入网络- 与DSL不同,DSL每个用户一个专用线路到CO (central office)
家庭网络
企业接入网络
无线接入网络
LAN:局域网
WAN:广域网
3.物理媒体
- Bit:在传输-接收对间传播
- 物理链路:在每个传输-接收对,跨越一种物理媒体
- 导引型媒体:
- 信号沿着固体媒介被导引:同轴电缆、光纤、双绞线
- 非导引型媒体:
- 开放的空间传输电磁波或者光信号,在电磁或者光信号中承载数字数据
- 信号自由传播:如无线电
双绞线(TP)
- 两根绝缘铜导线拧合
- 5类:10OMbps Ethernet. Gbps 千兆位以太网
- 6类:10Gbps
同轴电缆
- 两根同心的铜导线
- 双向
- 基带电缆:
- 电缆上一个单个信道
- Ethernet
- 宽带电缆:
- 电继缆上有多个信道
- HFC
光纤和光缆:
- 光脉冲,每个脉冲表示一个bit,在玻璃纤维中传输
- 高速:
- 点到点的高速传输(如10Gps-100Gbps传输速率)
- 低误码率:在两个中继器之间可以有很长的距离: 不受电磁噪声的干扰
- 安全
无线链路
-
开放空间传输电磁波、携带要传输的数据
-
无需物理“线缆”
-
双向
-
传播环境效应:
- 反射
- 吸收
- 干扰
-
无线链路类型
- 地面微波
- e.g. up to 45 Mbps channels
-
LAN (e.g. , WiFi)
- llMbps,54 Mbps,540Mbpps…
-
wide-area (e.g.,蜂窝)
- 3G cellular :few Mbps
- 4G 10Mbps
- 5G 数Gbps
-
卫星
- 每个信道Kbps到45Mbps(或者多个聚集信道)
- 270 msec端到端延迟
- 同步静止卫星和低轨卫星
五、Internet结构和ISP
互联网网络结构:网络的网络
- 端系统通过接入ISPs (lnternet Service Providers)连接到互联网
- 住宅,公司和大学的ISPs
- 接入ISPs相应的必须是互联的
- 因此任何2个端系统可相互发送分组到对方
- 导致的“网络的网络”非常复杂
- 发展和演化是通过经济的和国家的政策来驱动的
- 让我们采用渐进方法来描述当前互联网的结构
一些大的公司(ICPs),如谷歌等,在全球部署自己的数据中心机房,自己铺专用电缆相连(或者有的地方是租电缆专用),一般这些机房都建在距离ISP比较近的地方,这样用户访问等到达ISP可以很快到达机房,如果这个机房没有,专用电缆向其他机房获取也很快。而铺设这些专用电缆是因为ISP费用贵,还有就是提供高质量服务。
一个分组要经过许多网络
很多内容提供商(如:Google, Akamai )可能会部署自己的网络,连接自己的在各地的DC(数据中心),走自己的数据
连接若干local ISP和各级(包括一层)ISP,更加靠近用户
经济考虑:少付费
用户体验考虑:更快
六、分组丢失、延时和吞吐量
分组丢失和延时是怎样发生的?
在路由器缓冲区的分组队列
- 丢失:分组到达链路的速率超过了链路输出的能力
- 延时:分组等待排到队头、被传输
1.四种分组延时
1>节点处理延时:
- 检查bit级差错
- 检查分组首部和决定将分组导向何处
2>排队延时:
- 在输出链路上等待传输的时间
- 依赖于路由器的拥塞程度
3>传输延时:
- R=链路带宽(bps)
- L=分组长度(bits)
- 将分组发送到链路上的时间=L/R
- 存储转发延时
4>传播延时:
- d =物理链路的长度
- s =在媒体上的传播速度(~2x108 m/sec)
- 传播延时= d/s
车队类比:
一个车队10个车,有两个收费站,现在车队在第一个服务站准备过站。
- 传输延时:从第一个汽车离开第一个服务站到第十个汽车车尾离开的时间
- 传播时间:最后一个汽车从第一个服务器出去进入第二个服务器的时间
- 汽车:bit;车队:分组
- 在所有的汽车被第一个收费站服务之前,汽车会到达第二个收费站吗?
- 在整个分组被第一个路由器传输之前,第一个比特已经到达了第二个路由器!
节点延时:
排队延时:
Internet的延时和路由:
2.分组丢失
- 链路的队列缓冲区容量有限
- 当分组到达一个满的队列时,该分组将会丢失
- 丢失的分组可能会被前一个节点或源端系统重传,或根本不重传
3.吞吐量
吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)
- 瞬间吞吐量:在一个时间点的速率
- 平均吞吐量:在一个长时间内平均值
吞吐量:链路上每一段实际可用带宽中最小的一个带宽,这个最小的带宽经常是瓶颈。
七、协议层次和服务模型
网络是一个复杂的系统!
- 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
- 现实来看,网络的许多构成元素和设备:
- 主机路由器
- 各种媒体的链路应用
- 协议
- 硬件,软件
问题是:如何组织和实现这个复杂的网络功能————分层
解决:层次化方式实现复杂网络功能
- 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一组功能,功能中有其上层可以使用的功能:服务
- 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务
- 在实现本层协议的时候,直接利用了下层所提供的服务
- 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+ 更下层所提供的服务
1.服务和服务访问点
- 服务(Service):低层实体向上层实体提供它们之间的通信的能力
- 服务用户(service user)
- 服务提供者(service provider )
- 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
- 服务访问点SAP (Services Access Point):上层使用下层提供的服务通过层间的接口—地点;
- 例子:邮箱
- 地址(address):下层的一个实体支撑着上层的多个实体,SAP有标志不同上层实体的作用
- 可以有不同的实现,队列
- 例子:传输层的SAP:端口(port)
2.服务类型
- 面向连接的服务和无连接的服务-方式
- 面向连接的服务(Connection-oriented Service)
- 连接(Connection):两个通信实体为进行通信而建立的一种结合
- 面向连接的服务通信的过程:建立连接,通信,拆除连接
- 面向连接的服务的例子:网络层的连接被成为虚电路适用范围:对于大的数据块要传输;不适合小的零星报文特点:保序
- 服务类型:
- 可靠的信息流传送页面(可靠的获得,通过接收方的确认)
- 可靠的字节流 远程登录
- 不可靠的连接 数字化声音
- 无连接的服务(Connectionless Service)
- 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)
- 特点:不可靠、可能重复、可能失序
- IP分组,数据包;
- 适用范围:适合传送零星数据;
- 服务类型:
- 不可靠的数据报电子方式的函件
- 有确认的数据报 挂号信
- 请求回答信息查询
- 面向连接的服务(Connection-oriented Service)
3.服务和协议
- 服务与协议的区别
- 服务(Service):低层实体向上层实体提供它们之间的通信的能力,是(通过SAP再)通过原语(primitive)来操作的,垂直
- 协议(protocol):对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
- 服务与协议的联系
- 本层协议的实现要靠下层提供的服务来实现
- 本层实体通过协议为上层提供更高级的服务
4.分层处理和实现复杂系统的好处?
对付复杂的系统
- 概念化:结构清晰,便于标示网络组件,以及描述其相互关系
- 分层参考模型
- 结构化:模块化更易于维护和系统升级
- 改变某一层服务的实现不影响系统中的其他层次
- 对于其他层次而言是透明的
- 如改变登机程序并不影响系统的其它部分
- 改变2个秘书使用的通信方式不影响2个翻译的工作
- 改变2个翻译使用的语言也不影响上下2个层次的工作
- 改变某一层服务的实现不影响系统中的其他层次
- 分层思想被认为有害的地方?效率低等,但是利大于弊
5.Internet协议栈
- 应用层:网络应用
- 为人类用户或者其他应用进程提供网络应用服务
- FTP,SMTP,HTTP,DNS
- 传输层:主机之间的数据传输
- 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
- TCP, UDP
- 网络层:为数据报从源到目的选择路由
- 主机主机之间的通信,端到端通信,不可靠
- IP(转发分组),路由协议
- 链路层:相邻网络节点间的数据(以帧为单位的数据)传输
- 2个相邻2点的通信,点到点通信,可靠或不可靠
- 点对对协议PPP,802.11(wifi),Ethernet
- 物理层:在线路上传送bit
6.ISO/OSI参考模型
7.封装和解封装
8.各层次的协议数据单元
- 应用层:报文(message)
- 传输层:报文段(segment):TCP段,UDP数据报
- 网络层:分组packet(如果无连接方式:数据报datagram)
- 数据链路层:帧(frame)
- 物理层:位(bit)
总结
以上就是计算机网络的概述。