计算机网络原理 笔记 1
网络原理 概要
考核
- 随堂测 15%
- 作业 25%
- 期末考试 60%
Key problems
- Multiple access control: MAC
- rooting
- naming: how to give each user a unique id
- Congestion control(阻塞控制)
- RDT: Reliable Data Transfrom
Protocol
协议:协议定义了网络实体之间发送和接收消息的格式、顺序,以及对消息传输、接收所采取的操作
网络核心
分组交换
- 端系统(主机)之间交换报文,报文包含了通讯者需要的信息,并通过通信链路从源发送至目的地
- 源会将长报文划分为较小的数据块,称为分组,通信链路上拥有分组交换机,以使得以链路允许的最大传输速率传输报文,分为路由器和链路层交换机两种
- 存储转发传输:在链路发送信息时必须要整组发送,即需要等待源将一组信息完全发送至交换机才能发送至目的地
- 端到端时延:通过条传输速率为的链路组成的路径,从源向目的地发送一个比特的分组,端到端时延(传输时延)为
发送个分组的时延为
- 排队时延与丢包:分组交换机拥有一个输出队列(缓存),当交换机的输出速率小于输入速率时,后进入的包会进入缓存中等待,这一种延迟称之为排队时延,主要取决于网络阻塞程度,当缓存被填满时,再次有包进入时会导致有的包(可能是新来的或队列中的)被丢弃,即为丢包
- 转发表:路由器决定应该将信息往哪一条链路发送的方式,可以将目的地IP地址(或其一部分)映射到对应的输出链路,转发表通常会根据路由转移协议来自动设置
电路交换
与分组交换的最大区别在与:电路交换会提前预留端到端通信所需要的资源,包括缓存、链路传输数据等,每一条链接称为一条电路,因此其时延主要来自于建立电路与在电路上传播
- 复用:分为频分复用与时分复用
- 频分复用指一组连接共用一段频谱,每个连接有一个独享的频段。例如调频无线电台使用FDM共享88MHz-108MHz的频谱,每一个电台会被分配一个特定的频段(通常带宽为4MHz),使用完毕之后会被回收投入下一次使用
- 时分复用指,将时间分割为固定的帧,每一帧被分割为固定量的时隙,每个时隙只传播一个连接的数据(类似并行的概念)
- 电路交换会有静默期,也即建立了电路之后不传播信息,可能会引发资源浪费,但是电路交换的端到端时延与链路数量无关(在路由器处无需等待)
- 通常情况下,分组交换的效率会优于电路交换
网络的网络
此节讨论我们怎么能够使用网络资源,也即因特网的结构(发展动力主要是商业竞争)
- 网络结构:一个单一的全球ISP互联所有接入ISP,所有的客户直接向该全球ISP付费
- 网络结构:多个全球ISP,全球ISP之间是互联的,用户可以向性价比最高的全球ISP付费
- 网络结构:有区域ISP,ISP按照层级高低分为接入、区域、第一层(全球传输),低层需要向直接连接的高层付费
- 网络结构:在结构的基础上增加了PoP、多宿,对等与IXP
- PoP:提供商网络中位于相同位置的一组路由器,客户ISP可以通过其与提供商ISP相连接
- 多宿:任何非顶层ISP可以与多台上游ISP相连接
- 对等:同层的相邻ISP之间直接连接,无需通过上游ISP进行中转,通常对等无需付费
- IXP:可以使得多个ISP一起对等,类似于一个中转站
- 网络结构:在网络结构的基础上增加了内容提供商网络,更多的用于直接与较低层的ISP互联,避免由于中间ISP的收费
时延、丢包与吞吐量
时延
- 处理时延:检查数据是否有错,决定输出链路等,数量级为
- 排队时延:在输出队列中等待的时间,取决于网络拥塞程度,数量级为
- 传输时延:将数据从路由器传输到链路的时间,数量级在
- 传播时延:数据在链路上传播的时间,通常很小(传播速率在量级),但是在长距离传播中需要考虑
排队时延和丢包
流量强度定义为
其中,代表数据到达队列的平均速率,代表分组的平均比特数,时排队时延很小,时排队时延很大,的时候排队时延无界
当的时候,分组到达的方式(周期性或突发性等)将会影响排队时延
当路由器的输出队列已满时,新进入的分组会被丢弃,称为丢包
端到端时延
其中
这个式子假设了网络是畅通的
吞吐量
定义:主机接受文件的速率,分为瞬间吞吐量与平均吞吐量
- 瓶颈链路:指平均传输速率最小的一条链路,限制了整个网络的吞吐量
- 上述的平均指的是,分配给每条链路的传输速率,例如一条速率为100Mbps的高速链路,需要同时承担个客户-服务器的通信,那平均速率将会降至100kbps,有可能成为瓶颈链路
协议层次及其服务模型
分层的体系结构
协议分层
为了更好的结构化与模块化,网络以分层的方式组织协议与硬软件,每一层通过在该层中执行动作或使用直接下层的服务来提供服务。
各层的所有协议被称为协议栈,因特网的协议栈自顶向下为应用层,运输层,网络层,链路层,物理层
- 应用层:网络应用程序以及其应用层协议存留的地方,其中的信息分组称为报文。应用层提供了许多协议,如:
- HTTP:Web文档协议
- SMTP:电子邮件报文协议
- FTP:端系统协议
- DNS:域名系统协议
- 运输层:用于在应用程序端点之间传送应用层报文,有两种运输协议:TCP, UDP,其中TCP提供了截断机制与拥塞控制机制。运输层的分组称为报文段
- 网络层:分组称为数据报,网络层负责将数据报从一台主机移动到另一台主机,网际协议包括IP,其定义了数据报中的各个字段以及端、路由器如何作用在这些字段上
- 链路层:在节点之间传递数据,每个节点的网络层将数据下放给链路层,传递至下一个节点之后再上传至网络层。如以太网、WiFi、电缆接入网的DOCSIS协议,其中的分组称为帧
- 物理层:在物理层面上将帧中的比特移到下一个节点,每一种链路层中包括很多物理层协议,与实际的物理媒介有关
OSI模型
层分层,包括应用层、表示层、会话层、运输层、数据链路层、物理层。
表示层用于将交换的数据可以被应用程序解释,会话层提供了数据交换的定界和同步功能,包括检查与恢复等
封装
每一层会将来自上一层的数据进行封装,也即附加一些首部信息,包括一些权限信息以及检测信息等,引测,每一层的分组都有两种字段,首部字段和有效载荷字段
坏家伙
- 危害终端设备
坏家伙将恶意软件植入设备中,并利用僵尸网络(被控制的主机)展开攻击,从而实现自我复制。恶意软件分为病毒与蠕虫两类:- 病毒:需要用户交互来感染用户设备的恶意软件
- 蠕虫:无需用户交互即可进入设备
- 危害服务器和网络设施
拒绝服务攻击,也即DoS, 包括以下三种:- 弱点攻击:攻击不完备的应用或操作系统
- 带宽洪泛:往目标发送大量分组,例如DDoS通过大量源向目标发送分组造成目标瘫痪
- 连接洪泛:在目标中创建大量的半开或全开TCP连接
- 嗅探分组:在传输分组时,精心布置的被动接收机可以得到传输信息的副本,并且由于其不会注入信息,所以很难被检测出来,这种接收机被称为分组嗅探器
- 身份伪装:通过IP哄骗,向目标发送具有恶意的信息