自顶向下方法体现出应对陌生知识浅尝辄止而不细究的方法。
第一章 计算机网络和因特网
1.1什么是因特网
1.1.1具体构成描述
- 网络核心,网络边缘,
- ISP:一个由多台分组交换机和多段通信链路组成的网络
- 协议:控制因特网中信息的接收和发送
- 请求评论
1.1.2服务描述
- 分布式应用程序:涉及多个端系统交换数据的应用程序
- 套接字接口:端系统提供,规定了运行在端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的程序交互数据的方式
将因特网描述成“为应用程序提供基础设施的平台”,作为多个端系统交换数据的平台
1.1.3协议
在因特网中,涉及两个或多个远程通信实体的所有活动都受协议的制约
协议:定义了两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和接收一条报文或其他事件所采取的动作
1.2网络边缘
主机=端系统:与因特网相连的设备
有时主机被划分成客户,服务器
1.2.1接入网
接入网:将端系统物理连接到边缘路由器(端系统到任意其他端系统路径上的第一台路由器)的网络
- 家庭接入:DSL、电缆(HFC)、FTTH(AON,PON)、卫星链路、拨号
- 企业接入-以太网和WiFi:以太网用户使用双绞铜线与一台以太网交换机相连。使用以太网接入,用户通常以100Mbps或1Gbps速率接入以太网交换机,而服务器可能具有1Gbps接入速率
- 广域无线接入:3G和LTE 通过蜂窝网提供商运营的基站来发送和接收分组,仅需要位于基站的数万米范围内(而非如WiFi几十米)
HFC下行链路(下载),为单源发送(一对多),所以不会发生碰撞
1.2.2物理媒体
- 导引型媒体:电波沿着固体媒体前行
- 非导引型媒体:电波在空气和外层空间传输
双绞铜线,同轴电缆(LAN),光纤(长途,成本高),陆地无线电信道(蜂窝网,无线LAN),卫星无线电信道
1.3网络核心
通过网络链路和交换机移动数据有两种基本方法:电路交换和分组交换
1.3.1分组交换
- 存储转发传输(发送时延) d=NL/R
- 排队时延和分组丢失(排队时延,不确定) 分组交换机具有输出缓存(输出队列),存储路由器准备发往那条链路的分组。如果到达的分组发现缓存已满,则发生分组丢失(丢包)
- 转发表和路由选择协议 (因特网)不同计算机网络是不同的方式转发的
不预留链路资源,尽力以实时方式交付分组,但不做任何保证。若发生拥塞,则分组不得不在发送侧缓存中等待而产生时延。
1.3.2电路交换
建立专用端到端连接。预留恒定的传输速率
适合长会话,具有可预测的平滑带宽需求。传输速率已知,而不是突发,所以可以为用户保留带宽,这样不会浪费资源。此外,建立和拆除连接的消耗将在一段较长的典型应用程序会话时间内摊销
1.电路交换网络中的复用
频分复用(频段宽度叫带宽),时分复用。
2.对比
分组交换性能更优,按需分配链路使用,电路交换不考虑需求而预先分配传输链路的使用
1.3.3网络的网络
端系统通过接入ISP与因特网相连。接入ISP之间要互联。
1.4分组交换网中的时延、丢包和吞吐量
1.4.1时延概述
处理时延,排队时延,传输时延,传播时延
依据这张图来建立模型计算总时延
传输速率传播速率可根据上面这张图以及管子模型两个思路理解
1.4.2排队时延和丢包
在队列无穷大时,流量强度La/R接近1,时延也会接近无穷大
1.4.3端到端时延
- traceroute 路径有n个路由器,发送n个特殊的分组,第n个路由器接收第n个分组时会向源送回一个报文,包括路由器的名字和地址
- 其他时延
1.4.4吞吐量
链瓶颈路的速率min{R1,...RN}为传输吞吐量
瓶颈链路仅能为每个下载提供R/N的吞吐量
整条链路的实际速率应均为吞吐量的大小,否则会引起路由器传入速率大于传出速率导致丢包
- 不仅取决于数据流过的链路的传输速率,还取决于干扰流量。
- 如果没有其他干扰流量,吞吐量能近似为沿着源和目的地之间路径的最小传输速率。
- 如果许多其他的数据流也通过这条链路流动,一条具有高传输速率链路也能成为文件传输的瓶颈链路
将不同传输速率的链路想象成一根根粗细不同的管子。
如果最开始的管子更粗,而且比特一定会填满这根管子 ,那么一定会发生排队等待。
如果最开始到管子更细,而且……,那么后面的管子肯定填不满。
以上情况都决定了整条链路的吞吐量
1.5协议层次及其服务模型
1.5.1分层的体系结构
每一层执行了某些动作,且直接使用下层的服务。并为上层提供服务。
当某层的实现变化时,该系统其他部分不用改变。(这是分层的重要优点)
1.协议分层
以分层的方式组织协议以及实现这些协议的网络硬件和软件
某层向上一层提供的服务,即一层的服务模型。每层通过在该层中执行某些动作或使用直接下层的服务来提供服务。(例如,第n层的网络可靠交付由第n-1层边缘到边缘的不可靠传输服务加上第n层检测重传报文的功能来实现的)
各层的所有协议称为协议栈。因特网的协议栈由五个层次组成。
- 应用层:网络应用程序及它们的应用层协议存留的地方。应用程序交换信息分组,称为报文message
- 运输层:运输层在应用程序端点之间传送应用层报文。运输层的分组叫做报文段segment
- 网络层:数据报datagram从一个节点(主机或路由器)移动到路径上的下一个节点。包含网际协议IP协议和路由选择协议
- 链路层:帧frame。将整个帧从一个网络元素移动到邻近的网络元素。数据报传送经常需要经过几段链路,一个数据报可能被不同链路上的不同链路层协议处理。
- 物理层:将帧的一个个比特从一个节点移动到下一个节点。与链路的实际传输媒体(双绞铜线,单模光纤)有关。
另一个协议栈osi模型有七层,附加了表示层和会话层。这留给应用程序开发者处理,若服务重要
1.5.2封装
链路层交换机实现了第一层第二层 路由器实现了三层
发送端应用层发送的报文经过层层封装,送到接收端。
1.6面对攻击的网络
病毒,攻击服务器,嗅探分组,伪装ip