这系列博客是个新坑。开坑的动机是:学个CS,不学计算机网络就如同咸鱼一般。笔记的目的简单来说:
粗略浏览下来,计算机网络这门学科是偏向文科为主的学科,有纷繁复杂的规则和概念——这需要耐下性子去学。好在学OS的经历也磨练出了我学这些内容的一些心性。宗旨就是:涉猎为主,记些概念和术语,能复述(做)大局观(题)即可。对于向Http这种热门协议再做些深入研究,也就能说是毕业了。这个坑我希望6个月(2019.2~2019.8)之内能完结,主要看前5章。一个月一个章节,留出一个月的时间用做调整。这样我大三下选修计算机网络能做好充分准备。
1.def 因特网:
2.def 主机(host)或端系统(end system):连入因特网中的格式各样的设备。
Note(复习题R1): 主机和端系统是相等的术语。常见端系统有:服务器,手机,个人家用PC等。现代(博客写于2019)新兴设备囊括:智能汽车,平板电脑等。
3.端系统通过通信链路(communication link)和分组交换机(packet switch)连接在一起。
4.链路的传输速率一般以比特/秒度量(bit/s,或bps)来度量。
5.def 分组(packet):当一台端系统向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息报用计算机网络的术语说称为分组(packet)。
6. 分组交换机两种著名类型:①路由器(rounter) ②链路层交换机(link-layer switch)
7. 从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机成为通过该网络的路径
8. def ISP: internet sercice provider ISP 因特网服务提供商。端系统通过ISP接入因特网。
9. def: 协议(protocol):协议控制因特网中信息的接收和发送。一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送/或接收的一条报文或其他事件所采用的动作。
两个著名的协议TCP/IP:
Note: 掌握计算机网络领域的知识的过程就是理解网络协议的构成、原理和工作方法的构成。
Note(复习题R3): 每个人就各个协议及其作用的取得一致认识是很重要的,这样人们就能够创造协同工作的系统和产品。这正是标准发挥作用的地方。
10. 因特网标准(internet standard)由因特网工程任务组(Internet Engineering Task Force, IETF)研发。IETF的标准文档称为请求评论(Request for Commment)。RFC定义了TCP、IP、HTTP(Web)、SMTP(电子邮件)等协议。目前有将近6000个RFC。IEEE 802 LAN/MAN标准化委员会制定了以太网和无线WIFI的标准。
11. API :Application programming interface应用程序编程接口
1. 端系统是计算机网络从具体构成描述因特网中设备的用语,而主机是从服务去描述这些设备。实际上,这两个术语是通用的,即主机=端系统。
2. 主机有时候分为两类:客户(client)和服务器(server)。
3. def 接入网(access network):将端系统连接到边缘路由器(edge router)的物理链路。
4. 常见接入技术和适用范围:
5. 家庭接入技术对比(对应复习题R9):
Remark: 在这里时候笔者有疑问:ADSL和拨号接入相同之处是:都利用了电话线。那么二者的差别在哪里?经过查阅,确认拨号上网技术是通过拨打一个特服号码来提供上网服务的。其媒介是音频。所以,如果有电话打进,就会出现断网的情况(03,04年代亲身经历过,当时家里用的是拨号上网)。而ADSL就和书上所说的DSL十分类似,在此不作赘述。
6.物理媒体:分为两类:①导引型媒体(guided media):电波随着固体媒体前行,如光缆、双绞铜线和同轴电缆。②非导引型媒体(unguided media):电波在空气或外层空间中传播:例如在无线局域网或数字卫星频道里。
7.以太网细节(复习题R7,R8):①传输速率一般分为:10Mbps, 100Mps, 1Gbps和10Gbps都可以。②物理媒介:主要依托于双绞铜线,但也可以在光缆上。
8.HFC(Hybrid Fiber Coax)混合光纤同轴技术细节(复习题R5):①HFC宽带是用户间共享的。②下行通道不会发生数据碰撞,因为数据都是从同一个源头分发的(即电缆头端)。1.3
1. def 报文(message): 端系统彼此交换信息的术语。报文可以执行一种控制功能,也可以包含数据(例如:电子邮件,JPEG图像文件等)。
1. def 分组 (packet):其实大家更常见喜闻乐见的说法是“包”。打游戏时候说的丢包应该指的就是分组。源将长报文划分成小的数据块,就称之为分组了。
2.在源和目的之间,每个分组通过通信链路和分组交换机(packet switch)。交换器有两类:路由器和链路层交换机 。
3.在传输速率为 R bits / s 的链路上,传输一个 L bits 的分组时间是 L / R 秒。
4. 存储转发传输(store-and-forward transmission):交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
5. N条速率均为R,长度为L的链路构成的路径(所以再源和目的地之间有N-1太路由器),端到端的时延是:
$$d_{\text{end to end}} = N \frac{L}{R}$$
6.输出缓存(output buffer)(也成为输出队列 output queue): 当分组需要经过的那条链路繁忙时(传输其他分组中),那么该分组可以在输出缓存上等待。
7.排队时延(queue delay): 在输出缓存等待的时延;除此之外,还有之前提到的存储转发时延。
8.分组丢失(丢包)(packet lost):到达的分组可能发现缓存已经被其他等待的分组完全充满了,这种情况下就会出现丢包。
9.在因特网中,每个端系统具有一个称为IP地址的地址。源在分组的首部包含了目的地的IP地址。路由器会检查目的地址的一部分,并向相邻的路由器转发该分组。
10. 转发表(forwarding table): 用于将目的地址(或目的地址的一部分)映射成输出链路。
11. 路由选择协议 (routing protocal): 可以实现路由的特殊功能,例如:自动设置转发表来选择通往目的地的最短路径
1. 电路交换(circuit switching)网络必须在发送发和接受方之间的交换机需要为该连接维护为连接状态。该连接用电话的术语被称为一条电路。
2.电路交换的复用技术:指的是如何复用链路服务于多个连接,构建电路的技术。主要有频分复用(Frequency-Division Multiplexing, FDM)和时分复用(Time-Division Multiplexing, TDM)。简单来说,在不同频率上连接多个电路的称为FDM,而基于一定时间间隔为所有连接打开通路的被称为时分复用。
3. TDM较FDM优势在哪里(复习题R12.2)?FDM需要复杂的硬件去把信号移到合适的频带。
4. 电路交换较分组交换优势在哪里(复习题R12.1)?电路交换由于一直维护着连接,可以保证端到端的时延更稳定,适合实时的通话等。
1.区域ISP(regional ISP):区域中的接入ISP与之互联(例如一个城市)。区域ISP再与第一层ISP互联。区域ISP和第一层ISP可能是多对多的客户-提供商关系。
2.存在点(Popint of Presence, PoP): Pop存在于等级结构的所有层次。提供商网络中的一台或多肽路由器(在相同位置)的群组,其中客户ISP能够与提供商ISP连接。
3.多宿(multi-home):任何ISP(除了第一层ISP)可以与两个或更多ISP连接。
4.对等(peer):将相同等级结构的邻近一对网络连接到一起,使他们之间网络不通过上游ISP。通常对等的互相连接是不会结算的。
4.1. 复习题R14.2 为什么在等级结构相同级别的两个ISP通常互相对等?:如果不对等,那么他们之间的交通流量会通过一个供给商ISP,然后他们需要为流量付费。若对等后,他们就不用结算费用了。
5.因特网交换点(Internet Exchange Point, IXP):IXP是一个汇合点,多个ISP都能够在这里共同对等。
5.1 复习题R14.1 IXP是如何赚钱的?:靠向接入IXP的ISP收取微量的费用,取决于流量的多少。
6. 内容提供商网络(content provider network): 独立于公共互联网却跨越全球的网络。例如谷歌的服务器主机。
动机(复习题R15):通过专用网络,可以绕过因特网的较高层,减少费用和增加对网络的控制。
1.常见时延分类:
$$d_{\text{nodal}}=d_{\text{proc}}+d_{\text{queue}}+d_{\text{trans}}+d_{\text{prop}}$$
2. 流量强度(traffic intensity):a 表示分组到达队列的平均速率(分组/秒,pkt/s);R 是传输速率(从队列中输出比特的速率);假设分组长度都为L:则比特到达队列的平均速率是 La bps;流量强度为比例 La/R。
3. 若流量强度>1, 则比特 到达队列的平均速度超过从该队列传输出去的速率。所以,流量工程中一条金科玉律是:设计系统时流量强度不能大于1.
4. 丢包: 队列并不能容纳无限多的分组。若没有地方存储,则会丢弃(drop)这个分组,该分组会丢失(lost)。
5. 瞬间吞吐量(instantaneous throughput):在任何时间瞬间接收到文件的速率(参考物理学中速度的定义)。
6.平均吞吐量(average throughput):一段时间,接受 F bits 花费了 T 秒,则平均吞吐量为 F/T bps。
7.瓶颈链路(bottleneck link):一条路径上,限制吞吐量的链路(参考图论中关键路径的定义)。
1.为了给网络协议的设计提供一个结构,网络设计者以分层(layer)的方式组织协议以及实现这些协议的软件和硬件。
2.任何分层都会为上一层提供服务(serivce),即所谓一层的服务模型(service model)。
3.将这些综合起来,各层的所有协议被称为协议栈(protocol stack)。
4.五层因特网协议栈:应用层、传输层、网络层、链路层、物理层。
5.我们把位于应用层的信息分组称为报文(message)。
6.应用层常见协议:HTTP(web),SMTP(电子邮件),FTP(两个端系统间的文件传输),域名系统(DNS)。
7.运输层协议:TCP/UDP。运输层的分组称为报文段(segment)。
8.网络层:负责将数据报(datagram)的网络层分组从一台主机移动到另一台主机。著名协议:IP协议,路由选择协议。
9.链路层:链路层分组称为帧(frame)。链路层负责将整个帧从一个网络元素移动到相邻网络元素。
10.物理层:物理层负责将帧中的一个一个比特从一个结点移动到下一个结点。
11.OSI七层模型:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
12.表示层:解释交换数据含义、压缩数据、数据加密、数据描述。
13.会话层:提供了数据交换定界和同步功能,检查点的建立和恢复方法。
14.封装(encapsulation):应用层报文(application-layer meesage)-> 运输层报文段(transport-layer segment)-> 网络层数据报(network-layer datagram)-> 链路层帧(link-layer frame)。
15. 一个分组具有两种类型的字段:首部字段和有效载荷字段(payload field)。有效载荷字段通常是来自于上一层的分组。
16.路由器处理的因特网协议栈中的哪些层次(R25)?:网络层,链路层和物理层 \ 链路交换机处理链路和物理层。\ 主机五个层都要处理。
1. 病毒(virus):是一种需要某种形式的用户交互来感染用户设备的恶意软件。
2. 蠕虫(worm):是一种无需任何明显用户交互就能进入设备的恶意软件。
3. 拒绝服务攻击(Denial-of-Service (Dos) attack):攻击使得网络不能被合法用户所使用。分为:弱点攻击、带宽洪泛、连接洪泛。
4. 分布式DoS(Distributed Dos, DDoS):攻击者控制多个源并让每个源向目标猛烈发送流量。
5. 分组嗅探器(packet sniffer)、IP哄骗(IP spoofing)都是计算机网络安全存在的问题。
6. 描述一个僵尸网络形成的过程(复习题R27):(1)僵尸网络来源于某些应用或者系统的弱点(2)在找到弱点之后,攻击者需要判断主机是否属于脆弱的状态(3)其次,充分利用弱点对僵尸网络进行传播。(4)攻击者可能可以使用一条命令控制所有的受感染结点。(5)攻击者可以依据控制权限进行攻击。