EE1608-Computer-Networks-Tpoic1-Intro
引入(吹水
这门课的topic1由引入、数据链路层(Data Link Layer)、网络层(Network Layer)构成。
引入部分涉及:
- 网络架构、服务、各层协议、网络连接及指标。
数据链路层涉及:
- 数据链路层简介
- 流控
- 差错控制
- Medium Access Control (MAC)
- 局域网及网络设备(如路由、交换机等)
网络层涉及:
- 网络层简介
- IP
计算机网络简介
计算机网络由节点、连接、协议构成。网络服务的性能指标主要有延迟、带宽、损失率(loss rate)、终端数量等。
在计算机网络中,常见的协议有:
- TCP/IP:互联网的核心协议族,负责数据的封装、寻址、传输与校验。包括 IP 层负责路由与寻址,TCP 层负责可靠传输。
- ATM:一种面向连接的协议,使用固定长度的53字节单元,适用于语音、视频和数据的统一传输,曾广泛用于骨干网。
- MPLS:通过标签而非IP地址进行数据转发,提高路由效率,常用于构建虚拟专用网(VPN)和流量工程。
- SONET:一种高速光纤传输协议,主要用于电信运营商的骨干网,支持高可靠性和同步传输。
- Ethernet:最常见的局域网协议,使用MAC地址进行通信,支持多种速率(如100Mbps、1Gbps、10Gbps等)。
- X.25:一种早期的面向连接的广域网协议,采用虚电路方式传输数据,尽管已被现代协议取代,但仍在ATM机(取钱那个不是上面的ATM协议)种使用。
计算机网络类型
(只是这门课的分类,分类可以有各种各样
Network Edge
Edge由各种终端、应用等等组成。从edge的视角看,网络有两种模型:
- Client/Server 模型:在Client/Server模型下,设备朝服务器请求服务。典型的例子是万维网(www)、邮件等等。
- Peer-peer 模型:在P2P模型下,没有专门的服务器。任何一个网络中的设备又作为客户端又作为服务端。典型的例子是BitTorrent。
Network Core
Core由路由、各种网络组成。在Core中,有两种通信方式:
- 电路交换:占用一个线路进行通信,例如电话线。
- 分组交换:将数据分为一个个小块发送。
Access Network
接入终端到网络中。通常来说,新加坡这边将其划归成住宅接入网(residential access network),机构接入网(institutional access network)和 移动接入网(mobile access network)。
Wireless Access Network
诸如IEEE 802.11b/g之类的使用无线替代线缆的网络。或类似于GSM,3G,LTE之类的蜂窝网络。
课堂问答
What is computer network?
- a collection of networks, nodes, links, and protocols.
What is the basic service of computer network?
- Transmit a piece of information from a source to the destination in the way that we want.
What are some other service that might be available?
- latency, delay, bandwidth, QoS(Quality of Service), reliability, multicast, unicast…
What are the network components?
- nodes, end devices, hosts, switches, routers; interfaces, links(visible or invisible cables),
What is network protocol
- a language between devices
广域网与局域网
广域网(Wide Area Networks, WANs)
广域网连接非常大的区域,通常有非常多的交换节点。广域网并不在意数据的内容,而是只对其进行传输。
广域网内含交换技术,常见的有:电路交换(Circuit switching)、分组交换(Packet switching)、帧中继(Frame relay)、异步传输模式(Asynchronous Transfer Mode, ATM)
电路交换
电路交换是端到端的全资源占用交换方式。也就是说,一旦通信链路建立,这个链路上的所有资源都会为本次通信保留,尽管当前没有信息传输。
电路交换的步骤为:
- 建立连接:分配通信资源。即在使用电路交换打电话前,必须先拨号请求建立连接。当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端建立连接,即一条专用的物理通路。线路一旦被分配,在未释放之前,其他站点将无法使用,即使某一时刻线路上并没有数据传输。
- 通话:一直占用通信资源。
- 释放连接:归还通信资源
电路交换的特点是:
- 需要建立连接的过程
- 通信资源始终被保留
- 传输快速
- 如同线缆传输一般的性能
分组交换
分组交换(packet switching)是将数据打包成分组(Packets)进行传输、交换。数据包包含标头(Header),和负载(Payload)。标头包含分组的基本信息,例如地址信息,管理信息等,类似于快递面单上 “收货地址:重庆邮电大学”(地址) 和 “买家要求保密发货”(控制信息等) ;负载即是数据,也就是包裹内”保密发货”的东西。
在这样的交换技术下物理通路上的不同设备共享该通路上的资源,且仅当有通信发生时,才占用资源。
分组交换的特点:
- 用户共享网络带宽
- 每个packet都会占用完整的带宽
- 数据包被交换机完整接受后再进行下一次转发
- 更好的可靠性和资源利用率
- 可能存在资源竞争、数据包阻塞等情况。
分组交换上可能遇到的延迟:
五星级
- 节点处理(Node Processing):包括错误检查和输出链路选择。这个延迟通常为固定值。
- 队列延迟(Queueing):在节点将数据包处理好后,会将其放进发送队列。如果此时队列前面有其他数据包需要发送,则需等待其发送完毕后再传输。
- 传输延迟(Transmission delay):当前数据包完整地到达下一个节点的时间。由于分组交换需要一个数据包被完整接收后,再由节点转发,而数据包将会占用链路上的一定“长度”。因此从包头到达下一个节点到这个数据包完整到达之间有一个延迟,这被成为传输延迟。记$R$为链路带宽(单位bps),$L$或$P$为数据长度(单位bits),则传输延迟为$P/R$(或$L/R$)
- 传播延迟(Propagation Delay):物理链路上电磁波传播造成的延迟。记$d$为物理链路长度,$s$为介质中电磁波传播速度(通常约为$2\times10^8$),则传播延迟为$d/s$
可以用下图这样的形式来标记传输延迟和传播延迟。下图两端分别表示发送端和接收端。两端的上下表示整体延迟(下图中T+P/R)。蓝色条条的宽度表示传输延迟(P/R),蓝色条条斜率造成的延迟表示传播延迟(T)。

上图中上半图是$传播延迟>>传输延迟$的情况;下半图是$传播延迟<<传输延迟$的情况。
分组交换中存储再转发的特性(Store and forward):
在分组交换中,每个节点将会完整地收到数据包,再将其转发出去,如下图所示。

如果Sender同时发送了两个数据包,受不同节点间传输带宽不同的影响,他们的传输将是这样的:

讨论:分组交换vs电路交换(附着用户可能性的计算)
假设有一个1Mbps的网络,每个用户需求100Kbps, 但是只有10%的时间在使用。对于电路交换来说,它仅仅可以承载1000Kbps/100Kbps=10 个用户。
然而,当处于分组交换时,假设现在有35个用户,他们使用网络的可能性相互独立,那么有n个用户正在使用网络的可能性就是:
那么,同时使用网络的人数大于10个的可能性是:
因此,使用分组交换的网络,1Mbps下承载35个用户网络出现阻塞的可能性为0.0004,在99.9996%的情况下网络都是畅通的。这就是分组交换更好的资源利用率。
例题
假设主机A想要向主机B发送一个大文件。从主机A到主机B的路径有三条链路,所有链路的速度都是1Mbps。中间的路由器以存储转发的方式处理数据包。数据包头部是80字节,每个中间节点使用1ms来处理一个数据包,每条链路的传播延迟是10ms,排队延迟假设可以忽略不计。
a) 假设一个8000字节的文件作为一大包数据通过路径传输到主机B,需要多长时间才能到达?

本小问的拓补图如上。上述蓝色笔计算可以得出在1Mbps带宽下,8000Byte的数据需要64.64ms进行传输。同时3个链路的传输延迟为3x10ms,两次经过路由器的处理延迟为2x1ms,因此最终总延迟为225.92ms
b) 假设文件被分割成多个1000字节的小段,传输到主机B需要多长时间?
8000byte的文件会被分成8个1000byte的文件,并分别加上header进行发送。
如下图,画出每个包的传输图。观察下图发现,第一个数据包到达的流程与(a)问无异。随后由于处理时延1ms<单个数据包传输时延7ms,7个数据包紧接着到来。因此可以将其分为$D_1,D_2$两段计算。计算如下图。

局域网(Local Area Network)
局域网的覆盖范围较小,网络内可以有多种拓补结构(ring, bus, tree, star …)。
LAN的主要标准由IEEE制定,如IEEE 802.11无线局域标准,IEEE 802.3有线局域网(Ethernet)标准,IEEE 802.5 TokenRing(令牌环)传递标准…只要是IEEE 802.xx的,都是与局域网相关的标准。
通信协议模型
通信协议的基本概念可以参考现代通信网络-LC2-基本通信协议及其应用 | 風。
协议的层级可以有效的简化网络设计的难度,提升其可维护性。
通信协议的层并非一个死概念。针对不同的应用场景、通信模型,可能有不同的层级划分。典型的就是TCP/IP 5层模型与OSI7层模型。
TCP/IP 5层模型

应用层:用于支持应用程序使用网络的协议,例如HTTP,MSTP,FTP等。
传输层:(TCP/UDP 套接字、端口的概念就是在这一层)
- 它的沟通建立在设备中的一个进程到另一个设备中的另一个进程
- 使用端口号实现多路复用
- 将消息分段和重组
- 建立连接、维护连接、释放连接
网络层:
- 使用Internet Protocol (IP)提供路由
- 允许数据在多个互联的网络中传输
数据链路层:用于邻近网络间的数据传输,例如以太网。在IEEE 802标准中,数据链路层被进一步细分为2个子层
- 介质访问控制子层(Medium Access Control, MAC):用于管理设备的对传输介质的访问、在传输时将数据组装成带有地址和检错功能的帧、在接收时执行地址识别和错误检测
- 逻辑链路控制子层(Logic Link Control): 提供对上层的接口,执行流量控制、错误检测与恢复等功能
物理层:
- 信号的编码/解码
- 前导码(Preamble)的生成与移除(用于同步)
- bit的传输与接收
- 规范传输介质
OSI7层模型
相较于TCP/IP 5层这样人们真实在使用的模型,OSI7层模型是“教科书上的模型”

相较于TCP/IP 5层模型,OSI7层模型多了会话层(Session)和表示层(Presentation)。他们的功能分别为:
- 会话层:用于同步、检查数据、恢复数据等等。
- 表示层:允许应用程序来解释数据,例如解密加密、压缩、针对及不同系统或硬件架构进行数据转换等等。
这并不意味着TCP/IP模型下不能有这两层的功能,如果需要的话,在应用层里面实现它即可。
封装(Encapsulation)
封装是指将协议控制信息(Protocol Control Information, PCI) 或开销添加到服务数据单元(Service Data Unit)或数据载荷(Data payload)上,以此来形成协议数据单元(Protocol Data Unit, PDU)
这句话的意义请参考现代通信网络-LC2-基本通信协议及其应用 | 風。
在TCP/IP五层协议中,每一层都需要进行封装。一次简单的TCP/IP通信如下图所示。在TCP/IP五层模型中,应用层的信息称为消息(Message),传输层称为字段(Segment),网络层称为数据报(Datagram)或IP包(IP packet),链路层称为帧(Frame)。

应用层需要给另一台计算机的应用层发送一段消息:
- 首先应用层将自己的消息作为SDU传递给传输层,传输层加上自己的Header $H_t$形成sgemnt,这是传输层的PDU
- 传输层再将该segment作为SDU发到网络层,网络层加上自己Header $H_n$,这是网络层的PDU
- 网络层将datagram发送到链路层,链路层添加$H_l$,形成链路层PDU
- 链路层再将其送至物理层,物理层对其进行调制、添加Preamble等操作后,以比特流的在介质中进行传输
- 当遇到交换机时,交换机将先从物理层解调消息,然后解包链路层的Header,查看将其转发到哪个口
- 当遇到路由器时,路由器将解调、解包链路层Header、解包网络层Header(包含IP地址),然后通过路由表来看看将其路由至何处。然后路由器会将链路层的头换成自己对应端口的,并再次转发
- 最终目标计算机收到消息,并逐层解析,最终解包到只剩Message,并送给对应的应用程序
网络结构的几个重要概念
- 网络的通信是层间peer to peer的,即,每一层值关注本层的PDU
- 传输层和链路层是端到端的,即设备之间的沟通。而链路层和物理层是基于连接(link)的,有连接在在一个域内,称其为广播域。
- 路由器分隔多个广播域
- 路由器可以将不同类型的网络连接在一起
- 网络中可以使用相同的上层协议,不同的下层协议