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:最常见的局域网协议, ...
EE6108罐装知识
链路层
若单帧出错概率是P,那么,$Nr=\frac{1}{1-p}$
ALOHA 脆弱期 2F, Slotted ALOHA F, CSMA $t_{prop}$
CSMA碰撞浪费$t_{frame}$的时间,CSMA/CD碰撞浪费$2t_{prop}$的时间
CSMA/CD最大吞吐量公式$\rho_{max}=\frac{t_{frame}}{t_{frame}+t_{prop}+2et_{prop}}$
网络层
IP 分段相关字段:
Identification:分段标识符
DF:Don’t Fragment,不分段标识符
MF:More Fragment,还有分段标识符
Offset:数据片段在原数据中的offset,单位为8byte
HLEN:IP头长度,单位为4Bytes,最低为5
Total Length:整个IP包长度,单位为Bytes
Dijikstra算法:
初始化:记目标节点邻接的节成本为$D(v)=c(u,v)$;非邻接$D(v)=\infty$
找到拥有最小的$D(v)$的未着色节点$w$,前往着色。并更新所有节点的$D(v)=\min{D(v),D(w ...
EE1608-Computer-Networks-Part2-4-网络安全简述
引入:网络安全本章节是密码学与网络安全的简要介绍。
网络安全美国国家标准与技术研究院(NIST)对计算机安全的定义是:对自动化信息系统的保护,以实现保护信息系统资源(包括硬件、软件、固件、信息 / 数据和电信)的可用性、完整性和保密性的适用目标。其中,可用性、完整性和保密性被称为CIA三元组:
Confidentiality(保密性)
Data confidentiality:私有或机密信息不被未授权个体获取或披露。
Privacy:确保个人能够控制或影响与其相关的信息的收集、存储以及披露的对象和方式。
Integrity(完整性)
Data integrity:确保信息和程序仅以特定且授权的方式被修改。
System integrity:确保系统以预期的方式运行,不受故意或无意的操纵。
Availability(可用性):确保系统及时、充分地为授权用户提供服务,不被拒绝。
除了CIA三元组之外,网络安全需求还可以包括:
Authenticity(真实性):具有真实性,能够被验证和信任的属性。
Accountability(可问责性):要求实体的行为可被唯一追溯到该实体的 ...
EE1608-Computer-Networks-Part2-3-应用层
引入章节重点这一章节主要聚焦于套接字编程之上,HTTP这样的应用层协议。最后介绍P2P通信和其应用。
Web和HTTP是这一章节的重点,一些其他的应用层协议也会被简要介绍。
应用层在应用程序中,同一主机内的进程可通过进程间通信(inter-process communication) 交互,进程间通信遵循操作系统规则。而不同主机的进程通过计算机网络交换消息来通信。
而支持这些应用在设备-设备间通信、设备-服务器间通信,就是网络的终极目标。
在开发应用程序时,我们需要让程序员只专注于应用的功能,而无需关注网络和通信方面的实现,这就是应用层需要干的事情:使用应用层协议,让程序员轻易地迭代升级他们需要的功能。
两种通信架构客户端-服务端架构如其名字,客户端-服务端架构下,服务器为用户客户端提供服务。
服务器使用固定的IP地址,几乎始终在线。通过数据中心实现规模扩展(支持大量用户访问)
客户端可能是动态IP,甚至IP经过多层NAT。客户端与服务器通信,客户端与客户端之间不直接通信。
在客户端-服务端架构下,如果多个设备间需要相互通信(例如多人游戏),他们的数据会先被汇总到服务器,再由服务器 ...
EE1608-Computer-Networks-Part2-2-传输层
传输层基础传输层的功能网路层是为了主机与主机间在网络中路由互通,传输层则负责进程之间的逻辑端到端通信。例如手机上的QQ与QQ服务器间的通信。
一条通信链路上的任何一个路由器都需要具备网络层的解析功能,但是仅仅通信的两端需要具备传输层的功能。
传输层接受应用层的的数据,并把数据切分成“段(segment)”,然后交给网络层传输。
传输层基础传输层的两种协议传输层有两种协议:UDP和TCP。他们都属于传输层协议,功能一致,只是可靠性、延迟不一样。
维度
TCP
UDP
数据导向
面向字节流(Stream oriented)
面向数据报(Datagram oriented)
可靠性与连接性
可靠、面向连接(Reliable, connection-oriented)
不可靠、无连接(Unreliable, connectionless)
协议复杂度
复杂
简单
通信方式
仅单播(Only unicast)
单播、多播(Unicast and multicast)
典型应用
多数互联网应用(ftp、telnet、http、smtp 等)
多媒体应用(如流媒体); ...
EE1608-Computer-Networks-Part2-1-网络层B
引入网络层的主要功能网络层主要是进行路由和转发。
路由(Routing),是指寻找源到目的主机的一条合适的路。路由通常由路由算法驱动。对于单个路由器来说,这条合适的路就是从哪个端口转发出去。
转发(Forwarding),是指将路由器一个口收到的东西发到另一个口上去。
路由器的工作原理介绍转发表(Forwarding table)路由器的内部会维护一张转发表(Forwarding table),路由表会记录每一个网段应该转发到哪个接口。
转发表依赖于路由表,但它不是路由表。路由表主要用于路由选择过程,决定数据包的传输路径,这是属于控制面的表;而转发表则是为了在转发平面快速转发数据包,它的结构更适合高速查找,以实现数据包的高效转发,这是数据数据面的表。路由表会记录为了达到目标网段,下一跳是哪里。而转发表只记录某一段该转发到哪个接口。
例如下面这个表:
目的地址范围(数字 IP 地址)
链路接口
200.23.24.0 到 200.23.23.255
0
200.23.24.0 到 200.23.24.255
1
200.23.25.0 到 200.23.31. ...
EE1608-Computer-Networks-Topic3-Network-Layer
引入网络层简介数据链路层工作在一个广播域内,负责局域网内的传输。而网络层负责穿透多个广播域,联通不同的局域网。
网络层的DPU被称为数据包(Datagram)或者IP 包(IP Packet)。网络层使用的地址是IP地址。
网络层的主要作用是:
转发(Forwarding):将包从一个路由器的输入口转发到对应的输出口
路由(Routing):确定数据包去往目的地的路径是怎么样的,由路由算法驱动
网络层跨接这门课的P1与P2,P1负责网络层A部分,这部分主要包括IP子网划分,如何使用IP等等。网络层B专注于路由算法。
网络层的两种服务类型网络层有两种服务模型:
数据报网络(Datagram Network):提供无连接服务。网络层不需要提前建立 “端到端的连接”,直接转发数据包。
虚电路网络(Virtual-Circuit Network):提供面向连接服务。需要先建立 “虚电路”,再传输数据,最后拆除电路。
虚电路(Virtual Circuit)电路交换(circuit switching)是指使用专用物理通信路径连接通信终端的交换技术。连接建立开始时,通信系统分配给它的资源 ...
EE1608-Computer-Networks-Topic2-Data-Link-Layer
引入-数据链路层数据链路层的主要作用是将一帧数据从一个节点传输到另一个临近的节点,这两个节点将位于同一个广播域中。因此数据链路层还会针对一个广播域提供差错控制、流控等服务。
数据链路层是服务于网络层的。一个数据包从一个网络层传输到另一个网络层,可能跨越多个不同的广播域,这些广播域可能使用不同的链路层协议,这是可行的。
数据链路层在IEEE802标准中可以细分为两个子层:
介质访问控制(Medium Access Control,MAC):将载荷编码为帧;进行执行地址识别和错误检测;
链路逻辑控制(Link Logic Control,LLC):为高层协议提供接口;提供流控与差错控制;
流控机制(Flow Control)停等流控(Stop & Wait)停等流控的机制停等流控的步骤是:
发送端发送一帧数据
接收端收到数据后进行处理,等它准备好接受下一次消息时,返回ACK消息
发送端收到ACK消息后,再发送下一帧消息
停等流控的link利用率(Utilization)记$t_{prop}$为传播时延,$t_{frame}$为数据帧传输时延,$t_{ack}$为应答帧传输 ...