1_introduction
what is the Internet?
On the whole
Sets of Connected Autonomous computing devices
- Connected(互联),must be connected by communication links(such as physical media)
- Autonomous(自治),each hosts works indenpendently(not controlled by other ones)
- computing devices: router,server,moblie,workstation
a “nuts and bolts” view
- millions of connected computing devices: hosts (end systems) can runn network app, such as, PC, server, wireless... laptop,smartphone...
- communication links: fiber, copper, radio, satellite...
- Packet switches: forward packets, such as, routers and switches.
- protocols: control sending, receiving of messages, such as, TCP, IP, Http, Skype, 802.11...
- Internet standards: RFC, IETF(互联网工程任务组).
- Internet: “network of networks”: Interconnected ISPs(互联网服务提供商).
a service view
- Infrastructure that provides services to applications: Web, VoIP, email, games, ecommerce, social nets...
- provides programming interface to apps: hooks that allow sending
and receiving app programs to “connect” to Internet. provides service options, analogous to postal service
What’s a protocol?
protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt.
Key Elements of a Protocol:
- Syntax(语义): Data formats(数据与控制信息的结构或格式), Signal levels(底层信息: 信号电平)
- Semantics(语法): Control information(控制信息), Error handling(差错控制)
- Timing(时序): Speed matching(速度匹配), Sequencing(顺序)
网络结构(network structure)
网络结构分为三个部分:
- 网络边缘(network edge)
- 接入网络(access networks)
- 网络核心(network core)
网络边缘(network edge)
-
hosts: clients and servers
-
servers often in data centers
-
人们所能看到的计算设备都属于网络边缘。
模型
客户/服务器(client/server)应用模型
- 客户与服务器进行信息交流。
- 客户与客户之间不能直接进行信息交流。
对等(peer-peer,P2P)应用模型。
- 不依赖专用服务器,不存在如客户与服务器的划分。
- 通信在对等实体之间进行运行。
接入网络(access networks)
How to connect end systems to edge router(边缘路由器)?
Access net: home network(住宅网络)
家庭网络的诞生产生了带宽如何分配的问题
Enterprise access networks(Ethernet)(机构网络)
机构网络不同于家庭网络,其对于数据的上传和下载有着很高的要求,所以需要单独购买交换机等设备独立构建局域网络。
Wireless access networks(移动网络)
How to connect these nets to network core?
对于这一问题而言,直接架设线路连接是可以的,但费用高昂,并且会带来许多方面的问题,需要协调多方面的关系。
因而,一般使用现有的网络来完成住宅网络,机构网络,移动网络与网络核心的连接。
Access net: digital subscriber line (DSL)
非对称数字用户线路(ADSL,Asymmetric Digital Subscriber Line)是数字用户线路(xDSL,Digital Subscriber Line)服务中最流行的一种。
use existing telephone line to central office DSLAM。
Rate:
- < 2.5 Mbps upstream transmission rate (typically < 1 Mbps)
- < 24 Mbps downstream transmission rate (typically < 10 Mbps)
一般而言,computing devices 对于下载速度需要较高,而对于上传速度需要较低,upstream transmission rate一般会小于downstream transmission
frequency division multiplexing(FDM)
- 50kHz - 1 MHz for downstream
- 4kHz - 50kHz for upstream
- 0kHz - 4kHz for ordinary telephone
Frequency Division Multiplexing(FDM): different channels transmitted
in different frequency bands
has dedicated access to central office (独享的线路)
Access net: cable network
混合光纤同轴电缆(Hybrid Fiber Coaxial,简称HFC)是一种结合光纤与同轴电缆的宽带接入网.
use existing cable line
Rate
- up to 30Mbps downstream transmission rate
- 2 Mbps upstream transmission rate
frequency division multiplexing(FDM)
has shared access to central office (共享的线路)
网络核心(network core)
consisted of mesh of interconnected routers
how is data transferred through net?
如何在路由器组成的网络中进行数据的正确且有效的传送?该问题是网络内部要解决的核心问题。
Circuit switching(电路交换)
基本含义
- Call setup(呼叫建立) → communication (通信)→ tear down(释放连接)
- 在进行数据传输时,预先向传输线路上的路由发送请求,请求被接受后,建立一条传输线路进行数据的传输,传输完成后,将建立的传输线路进行释放。
特点
- dedicated resources: no sharing
- resource piece idle if not used by owning call (no sharing)(如果申请了)
- 如果建立的传输线路在使用完成后,并没有被及时释放,会造成资源浪费
- 传输数据十分的平稳,有平稳保证的系统运行,例如:audio/video apps...,但是对于计算机等产品的爆发性型传输不太适合,因为要进行预先请求,而不能迅速发送。
对于计算机而言,其数据的传输是爆发性(burst)的,大部分时间可能用于其他的输入输出工作。
复用方式
- 采用multiplexing methods方法,network resources (eg, bandwidth) divided into “pieces” .
Typical multiplexing methods(多路复用技术):
链路/网络资源(带宽)划分为“资源片”,将资源片分配给各路“呼叫”,每路呼叫独占分配到的资源片进行通信。
资源片可能闲置,如果该资源片被分配给某路“呼叫”,但该路数据并未进行传送,那么该资源片闲置。
- requency division multiplexing-FDM(频分多路复用)
- time division multiplexing-TDM(时分多路复用)
- Wavelength division multiplexing-WDM(波分多路复用)光波,常用于光纤。
- Code division multiplexing-CDM(码分多路复用)广泛应用于无线链路共享。
Message switching(报文交换)
基本含义
- Overall information from source or application.
- 直接将这个数据从发送端系统传送到router,router存储整个数据,而后将数据发送到接受端系统。
- 存储-转发(store-and-forward).
特点
- 存储转发,router将会在其空间内保存数据包。这一点是不利于数据进行传输的,因为router的空间是有限的,一旦存在大于该空间的数据包,将不能进行传输。
- 适合计算机burst型数据传输,因为一旦产生数据,不需要进行预约就可以进行发送。
Packet switching(分组交换)
基本含义
- 可以视为Message switching的优化版,发送端系统将数据进行拆分为小规模数据,为小规模数据添加包头构成包,而后对包进行传输,当所有包传输到接受端系统后,接受端系统会进行重组。
- 当一个包进行发送时,其后续的包也可以同时进行发送,不需要等待该包到达接受端系统。
- 存储-转发(store-and-forward).
特点
- 会产生额外的开销,例如,对于数据的拆分,重组,包的处理(添加数据头,接受地址)。
- great for bursty data(适合计算机burst型的数据传输): resource sharing,simpler, no call setup.
- bad for audio/video apps which need bandwidth guarantees.(对于需要平稳数据交流的APP不友好)
- 解决了Message switching存储空间限制传输数据的大小的问题。
- 如果某个点被损坏,弥补的代价较小,只需要被损坏的包重新发送即可。
复用方式
- Statistical Multiplexing, 这样的复用方式造成了排队时延,丢包等问题。
- 采用Statistical Multiplexing的复用方式的根本原因在于,计算机burst式的数据传输。Statistical Multiplexing虽然造成了许多的麻烦,但是其确实是最有效的。
Statistical Multiplexing(统计复用): Sequence of A & B packets does not have fixed pattern, shared on demand.(按需复用)
三种交换方式在某些角度的比较
数据规模
正如上文所述,Packet switching解决了Message switching内存空间对于传输数据规模的限制问题。
transmission delay(发送/传输时延)
下面在相同情况下,比较两种交换方式的发送时延。
发送/传输时延(transmission delay)
- 发送时延是指结点在发送数据时使数据块从结点进入到传输媒体所需的时间,也就是从数据块的第一个比特开始发送算起,到最后一个比特发送完毕所需的时间。发送时延又称为传输时延。
- packet transmission delay = time needed to transmit L-bit packet into link = L (bits) / R (bits/sec)
- 传输时延,传输的核心是输入。
预设条件
- breaks into smaller chunks, known as packets, of length L bits.(1500bits)
- transmits packet into access network at transmission rate R.(1.5Mbps)
- the length of message is M.(7.5Mbits)
- 传输结构如下图
显然,一个包需要被发送3次,具有三次发送时延。
Message switching(报文交换)
transmission delay = (7.5Mbits / 1.5Mbps) * 3 = 5s *3 = 15s
Packet switching(分组交换)
packet transmission delay = (1500bits / 1.5Mbps) = 1ms
可知:
- 第1ms时,第1个包从发送端机器发送。
- 第2ms时,第1个包被第1个路由发送,第2个包从发送端机器发送。
- 第3ms时,第1个包被第2个路由发送,第1个包被第1个路由发送,第2个包从发送端机器发送。
- 第4ms时,第2个包被第2个路由发送,第3个包被第1个路由发送,第4个包从发送端机器发送。
- 当5000ms时,第4998个包被第2个路由发送,第4999个包被第1个路由发送,第5000个包从发送端机器发送。
- 当5001ms时,第4999个包被第2个路由发送,第5000个包被第1个路由发送。
- 当5002ms时,第5000个包被第2个路由发送。
transmission delay = 5.002s
可以进行总结分组交换的传输延迟。
- Message: M bits
- Link bandwidth: R bps
- Packet size: L bits
- Routers :n
那么- Message switching transmission delay = (M / R) * n.
- Packet switching transmission delay = (M / R) + n*(L/R).
transmission delay 题目
需要注意的点:
- 虽然有多个路由交叉,但只需要考虑两个。
- 单位:1B = 8bit, 1M = 1000B, 需要注意Mbps而不是MBps.
可供使用人数比较
比较circuit switching && packet switching的可供使用人数。
example:
- 1 Mb/s link
- each user: 100 kb/s when “active”, active 10% of time
circuit switching:
- 10 users
packet switching:
- with 35 users, probability > 10 active at same time is less than 0.0004
packet switching allows more users to use network.
Internet structure: network of networks
- ISP:Internet Service Providers, such as Residential, company and university ISPs
- 不可能实现所有的网络都接入一个ISP中,那么这个ISP的存在将是霸权以及经济垄断的产物。
- 因而,产生了有限个较大的ISP网络,它们通过peering linking(对等互联)进行连接。同时有IXP(internet exchange point,互联网交换节点)对这些较大的ISP网络进行连接。
- regional net(区域网络) 处理较为底层的access net,使得较大的ISP网络可以直接处理regional net即可。
- content provider networks (网络内容提供商)(e.g., Google, Microsoft,Akamai ) may run their own network, to bring services, contentclose to end users.
delay, loss
How do loss and delay occur in packet switching?
If arrival rate (in bits) to link exceeds transmission rate of
link for a period of time:
- packets will queue, wait to be transmitted on link
- packets can be dropped (lost) if memory (buffer) fills up
delay(延迟)
- all delay = dproc + dquene + dtrans + dprop
- nodal processing(结点处理时延,dproc):check bit errors(差错检测), determine output link(决定输出链路), typically < msec
- queueing delay(排队时延,dquene):time waiting at output link for transmission, depends on congestion level of router
- transmission delay(传输时延,dtrans): 参见上文
- propagation delay(传播时延,dprop): 数据在链路上传播花费的时间所造成的延迟。计算方式如下:d = ength of physical link, s = propagation speed in medium(~2x108 m/sec) , dprop = d / s
queueing delay的过程量化分析
traffic intensity = La/R
- R: link bandwidth(链路带宽) (bps)
- L: packet length (分组长度)(bits)
- a: average packet arrival rate (平均分组到达速率)
traffic intensity表示"进&出"的比例,La是"进的速率",而R是"出的速率"。
- La/R ~ 0: avg. queueing delay small
- La/R -> 1: avg. queueing delay large
- La/R > 1: more “work” arriving than can be serviced, average delay infinite!
这里所要说明的是一个过程,而不是一个瞬时,因而当La/R < 1时,也会发生queueing delay。
loss
router没有丢不丢包的自由,有丢哪个包的自由。
常见的网络评价标准
速率
- 速率又称数据率(data rate)或数据传输速率(bit rate)。
- 单位为b/s,kb/s,Mb/s,Gb/s...
- 速率往往指额定速率或者标称速率,这样的速度在实际使用中一般很少可以达到。
带宽(bandwidth)
网络的带宽通常指:数字信道所能传送的“最高数据率”。
吞吐量(throughput)
throughput: rate (bits/time unit) at which bits transferred between sender/receiver.表示发送端和接收端之间传送数据的速率。
- 即时吞吐量:给定时刻的速率。
- 平均吞吐量:一段时间内的速率。
- throughput本质上是一个速度,而且其速度取决于瓶颈链路的带宽(端到端路径上,限制端到端吞吐量的链路的带宽)。
时延带宽积
- 时延带宽积 = 传播延迟 * 带宽 = dprep * R
- 表示:以比特为单位的链路长度。事实上,根据公式,时延带宽积其实就是链路中最多可以容纳比特的数量。
protocol layers (协议分层)
整体描述以及基本概念
- 从功能上进行描述计算机的网络结构。
- 实体(entity)表示任何可发送或接受消息的硬件或软件进程。
- 协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”。
- 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”。
- 下层协议的实现对于上层的服务用户是透明的。
- 同系统的相邻层实体间通过接口进行交互,通过 服务访问点SAP(Service Access Point),交换 原语(请求,指示...),指定请求的特定服务。

why layering?
- explicit structure(清晰的结构) allows identification(定义), relationship(关系) of complex system’s pieces.
- modularization eases maintenance(模块化), updating of system. change of implementation of layer’s service transparent to rest of system
计算机网络体系结构的分层不宜过多,会造成效率的降低。
service models
OSI参考模型
-
主机需要完成7个层次,而中间系统只需要完成3层。
-
虽然同等层之间存在协议进行数据交换,但实际上,数据是通过下面的各层进行数据交换的,所以将协议之间的连接表示为虚线。而实线是真正的数据传输方向。
-
发送端系统里,每一层会给数据增添一些头部。例如图中的AH,PH...,而接受端系统会一层一层的去除头部。
-
PDU:协议构造数据单元
-
控制信息(头部):
- 地址(Address):标识发送端接收端。
- 差错检测编码(Error-detecting code):用于差错检错或者纠正。
- 协议控制(Protocol control):实现协议功能的附加信息,如优先级(priority),服务质量(Qos),安全控制等。
物理层
物理层:完成每一个比特的传输。其完成以下功能:
- 接口特性:机械特性(接口的形状),电器特性(电频,电压等规定),功能特性(接口的引脚,引脚的功能),规程特性(接口在工作过程中所遵循的流程)。
- 比特编码:使用信号的特征进行表示比特的数据0或1。
- 数据率:传输数据的速度。
- 比特同步:时钟同步问题,使得发送设备和接受设备可以传输成功。
- 传输模式:
- 单工(Simplex),单向传输
- 半双工(half - duplex),发送数据的同时不可以接受数据,接受数据的同时不能发送数据。
- 全双工(full-duplex),发送数据的同时可以接受数据,接受数据的同时可以发送数据。一般采用两个信道。
数据链路层

数据链路层负责结点-结点(node-node)数据传输,解决物理链路直接相连的两个相邻结点之间帧的传输。
- 组帧(Framing):对帧进行加工,使得接受设备可以从帧中读取到相应的数据信息。
- 物理寻址(Physical addressing):在帧头中增加发送端或接收端的物理地址标识数据帧的发送端和接收端。
- 流量控制(Flow control):匹配发送端和接受端的发送速度与接受速度。避免接受端发送速度太快,接收端接收数据慢,造成数据淹没。
- 差错控制(Error ):在组帧是添加差错编码,由接收端判断接收到帧的损坏,丢失,以及帧的重复等等问题。
- 访问(接入)控制(Access control):在某一给定时刻决定哪个设备拥有链路(物理介质)控制使用权。
访问(接入)控制的必要性:
网络层

网络层负责源主机到目的主机数据分组(Packet)交付。
- 逻辑寻址(Logical addressing):全局唯一逻辑地址,确保数据分组被传送到目的主机,如IP地址。保证包(Packet)可以跨越多个网络到达目的地。
- 路由(router):互联网络,进行路径选择。
逻辑地址与物理寻址的区分:
其中S,A...为逻辑地址,数字为物理地址。
传输层

传输层负责源到目的(端-端)进程间完整报文的传输。
- 分段与存储。如图所示。
- SAP寻址。确保完整报文提交给正确的进程,如:端口号。
- 连接控制。端到端的逻辑连接建立,维护,拆除。这和电路交换的连接不是一个概念问题。
- 流量控制。端的角度。
- 差错控制。端的角度。
各级地址的表示:其中X,Y为进程地址。
会话层

会话层进行对话控制(dialog control,两个进程之间的数据交流)。
- 建立,维护,拆除对话。
- 对话的同步(synchronization),在数据流中插入“会话控制点”,如果某一时刻会话中断,只需要恢复到最近的会话控制点即可。
- 其功能比较单薄,在实际应用中,这一层基本不会实现。
表示层

表示层处理两个系统间交换信息的语义与语法问题。
- 发送端系统表示层会将应用层传输的数据格式转换一种独立的编码,而接受端系统的表示层可以将该编码转换为自身系统的数据编码格式。
- 对于应用层的数据进行加密和解密,压缩与解压缩。
- 实际网络中,这一层并不会独立存在,而是直接交给应用层进行实现。
应用层

应用层依据各种协议进行用户数据的处理,进行数据的交流。
TCP/IP参考模型
网络接口层:并无任何协议,只要可以封装网际层的IP分组即可。
5层参考模型
是对TCP/IP的网络接口层进行打开。

message (报文),segment(段),dalagram(数据报),frame(帧)




浙公网安备 33010602011771号