I) 计算机网络的基本概念
1. 什么是计算机网络
计算机网络就是一种通信网络,它是通信技术与计算机技术紧密结合的产物。
一个典型的通信系统的模型:
信源 -> 发送设备 -> 信道(可能有噪声源) -> 接收设备 -> 信宿(接收端)
计算机网络也是互连的(互联互通),自治的(无主从关系)的计算机集合。但是在距离远,数量大时,我们如何保证互连呢?====> 通过交换网络互连主机,也就是交换节点(路由器或交换机)
2. 什么是Internet
2.1 从组成细节的角度
Internet是全球最大的互联网络,它是ISP(Internet Service Provider)网络互联的网络之网络。有全球性的ISP,它会和区域的ISP连接,区域的ISP会一方面接入家庭网络,另一方面会接入机构网络(如校园网),最后组成一个大的互联系统。
其中会有数亿的计算设备接入网络,不可能让他们直接互连,这时候需要路由器和交换机为我们提供分组交换技术服务,来转发分组(数据包)。
总结下Internet的组成:
- 有数以亿计的互连的计算设备集合,他们成为端系统,其上运行着各种网络应用
- 传播数据的信道有光纤,铜缆,无线电还有卫星
- 路由器和交换机为我们提供分组交换技术服务,来转发分组(数据包),因为不能让终端们自己直接互连
2.2 从服务角度
a). 为网络应用提供通信服务的通信基础设施:
Web, VoIP, email, 网络游戏, 电子商务, 社交网络, ...
b). 为网络应用提供应用编程接口(API):
支持应用程序“连接” Internet,发送/接收数据
提供类似于邮政系统的数据, 传输服务
思考问题
Q:仅有硬件(主机、 链路、路由器......)连 接,Internet能否顺畅 运行?能保证应用数据 有序交付吗?......
A:不能,还需要协议
3. 网络协议
3.1 什么是网络协议
网络协议(network protocol),简称为协议 ,是为进行网络中的数据交换而建立的规则、标准或约定
协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发生的事件所采取的“动作”(actions)
3.2 协议的三要素
语法(Syntax)
数据与控制信息的结构或格式
信号电平(从底层上讲)
语义(Semantics)=>(就像写信后需要寄信,要按照邮局的要求购买信封,在上面写名字,地址,这一系列的规定)
需要发出何种控制信息
完成何种动作以及做出何种响应
差错控制
时序(Timing)
事件顺序
速度匹配
3.3 协议是计算机网络的重要内容
i). 协议规范了网络中所有信息 移动网络 发送和接收过程
e.g., TCP, IP, HTTP, Skype, 802.11
ii). 学习网络的重要内容之一
iii). 网络创新的表现形式之一
vi). Internet协议标准
IETF:互联网工程任务组( Internet Engineering Task Force)会出版最权威的RFC: Request for Comments,这是一个类型文档的东西,详细的定义了一个网络协议。
II) 计算机网络结构
1. 网络边缘
网络边缘主要是指主机和网络应用,比如手机,在他们上运行着网络应用程序,比如:web,email。
网络核心也称为核心网络,是互连的路由器(或分组转发设备),他们是网络之网络。
在网络边缘有两种应用模型:
a.) 客户/服务器(client/server)应用模型:
客户发送请求,接收服务器响应
如:Web应用,文件传输FTP应用
b.) 对等(peer-peer, P2P)应用模型:
无(或不仅依赖)专用服务器
通信在对等实体之间直接进行
如:Gnutella, BT, Skype, QQ
2. 接入网络
Q: 如何将网络边缘接入核心网?
A:用边缘路由器,这类用户有住宅(家庭)接入网络;机构接入网络 (学校,企业等);移动无线接入网络。用户关心的是 带宽(也就是网速)/共享or独占?
2.1 数字用户线路(DSL)
利用已有的电话线连接中心局的DSLAM(DSL多路复用器),继而最后接入IPS。采用频分多路技术(FDM),特点是不对称,上行速度慢,下行速度快,且网络是独享的。
2.2 电缆网络
采用光纤同轴,数据和电视信号共享在线缆分布式网络上,用不同频率区分信号,最后接入电缆调制解调器端接系统(CMTS),特点是不对称,上行速度慢,下行速度快,且网络是共享的。
2.3 典型的接入网络方案
a) 家庭网络:通过一个路由器,连接其他设备(电笔,手机,打印机),路由器的另一端连接电缆或DSL调制解调器。
b) 企业/机构:用以太交换机。
c) 无线接入网络:通过共享的无线接入网络连接端系统与路由器,分为无线局域网(LANs),作用与统一建筑物(30m),采用802.11b/g(WiFi协议);另一种是广域无线接入,通过电信运营商的蜂窝网,作用几十公里,比如3g,4g,5g
3. 网络核心
互连的路由器网络,其关键功能是:路由+转发
路由(routing): 确定分组,从源头到目的的传输路径
转发(forwarding): 将分组从路由器的输入端,切换至正确的输出端口,比如路由算法中的本地转发表,通过目的地址确定输出的链路
网络核心解决的基本问题,通过数据交换,实现了数据从源主机通过网络核心送达目的主机。
4. Internet结构
各式各样的端系统通过接入ISP(比如家庭,公司和大学ISPs)连接带Internet。接入ISP必须进一步互连,才能实现任意两个主机相互发送分组。
数百万的接入ISP如何互连在一起?如果直接互连,会产生O(Nˆ2)的问题,不适用于大规模网络。现有的方案是,在地理区域内部会有一级(tier-1)的ISP,比如亚洲,欧洲,北美洲,这些一级ISP主要服务本大洲的网络,同时会有IXP(Internet exchange point)服务来互连这些一级ISP,最后构成全球网络。
同时还有一些内容提供商,如Google,Microrosft,可能会运行自己的网络,绕过一级ISP和区域ISPs,并就近为端用户提供服务内容。
III)网络核心-数据交换
1. 数据交换-电路交换
通过数据交换实现数据通过网络核心从源主机到达目的主机。利用交换网络避免了Nˆ2的问题,它帮助我们实现物理或逻辑上的交换端口;
最典型的电路交换网络:电话网络,它是一种独占资源,意思就是一旦连接电路建立,就不能被第三方共享,直到释放。交换网络的中继线可以采用多路复用技术,满足多用户的需求。
2. 数据交换-多路复用技术
频分多路复用:分配不同的载波频率
时分多路复用:每个用户在每个TDM帧中占用固定序号的时隙
波分多路复用:在光通信中,调制不同的光的波长
码分多路复用:多应用在蜂窝网,使用不同的码片序列
3. 数据交换-报文/分组交换
存储-转发交换方式:报文送到中间某个路由后,再转送到下一个路由,每次都是路由接收到全部的数据后,再转发到下一个。报文交换和分组交换都采用存储-转发交换方式。
报文交换:将信息整体传递,以完整的“报文”进行存储-转发
分组交换:把报文拆分成一系列的较小的数据包,分组发送,分组后的数据会包含额外的头信息,
相比报文交换,分组交换可以并行的传输数据:在第一分组到达第一个路由之后,第二分组就会向第一个路由发送,此时第一组继续向第二个路由发送,如同流水线一样快速。
如今,分组交换广泛的应用在互联网中,但是它也有一定的局限性,它是适用于突发的数据传输类型的网络,且并不是绝对优于电路交换。比如,有可能用户某段时间都在看视频玩游戏,需要很高的带宽,很容易产生堵塞。因此在语音通话这种持续性的传输活动中还是应用着电路交换。
传输时间公式,M是报文大小,R是链路传输率,h是跳步数,n是路由数,L是分包的大小
T = M/R + (h-1)L/R = M/R+nL/R
Bit(比特):也就是一个二进制位,是0或者1
Byte(字节):一个字节也就是一个B,由8个比特组成,如果再算传输时间时,带宽以Mbps为单位的话,报文的大小要乘以8换算成bits为单位
Mbps:一种传输速率,million bits per second,每秒传输的比特数