20210911#_《计算机网络-自顶向下》
第1章 计算机网络
1.1 什么是因特网
1.1.1 具体构成描述
- 计算机网络(computer network)
- 主机(host)或端系统(end system)
- 通信链路(communication link)和分组交换机(packet switch)
- 传输速率(transmission rate)
- 分组(packet)
- 路由器(router)
- 链路层交换机(link-layer switch)
- 路径(mute或path)
- 因特网服务提供商(Internet Service Provider, ISP)
- 协议(protocol)
- TCP (Transmission Control Protocol,传输控制协议)和IP (Internet Protocol,网际协议)
- 因特网标准(Internet standard)由因特网工程任务组(Internet Engineering Task Force, IETF )
- 请求评论(Request For Comment, RFC)
1.1.2 服务描述
- 分布式应用程序(distributed applicalion)
- 套接字接口( socket interface),
1.1.3 什么是协议
1.2 网络边缘
- 客户(client)和服务器(server)
- 数据中心(data center)
1.2.1 接入网
- 接入网
- 边缘路由器(edge router)
1.家庭接入:DSL、电缆、FTTH、拨号和卫星
-
数字用户线(Digital Subscriber Line,DSL)
-
复用器(DSLAM)
-
电缆因特网接入(cable Internet access)
-
所以它经常被称为混合光纤同轴(Hybrid Fiber Coax, HFC)系统。
-
电缆因特网接入需要特殊的调制解调器,这种调制解调器称为电缆调制解调器(cablemodem)
-
电缆调制解调器端接系统(Cable Modem Termination System, CMTS)
-
光纤到户(Fiber To The Home, FTTH)
-
进行这种分配有两种有竞争性的光纤分布体系结构:
- 主动光纤网络(Active Optical Network,AON)
- 被动光纤网络(Passive Optical Network, P0N)
-
光纤网络端接器(Optical Network Terminator, ONT)
-
分配器(splitter)
-
光纤线路端接器(Optical Line Tenninator, OLT)
2.企业(和家庭)接入:以太网和WiFi
3.广域无线接入:3G和LTE
- LTE (长期演进“Long-Term Evolution”的缩写,被评为最差首字母缩写词年度奖候选者)
1.2.2 物理媒体
- HFC使用了光缆和同轴电缆相结合的技术。
- DSL和以太网使用了双绞铜线。
- 移动接入网 使用了无线电频谱。
- 物理媒体(physical medium)
- 物理媒体分成两种类型:导引型媒体(guided media)和非导引型媒体(unguided media)
1.双绞铜线
- 无屏蔽双绞线(Unshielded Twisted Pair, UTP)常用 在建筑物内的计算机网络中,即用于局域网(LAN)中。
2.同轴电缆
- 同轴电缆能被用作导引型共享媒体(shared medium)
3.光纤
- 光载波(Optical Carrier, OC)
4.陆地无线电信道
5.卫星无线电信道
- 通信中常使用两类卫星:同步卫星(geostationary satellite)和近地轨道(Low・ Earth Orbiting, LEO)
1.3 网络核心
1.3.1 分组交换
- 端系统彼此交换报文(message)
- 分组(packet)
- 在源和目的地之间,每个分组都通过通信链路和分组交换机(packet switch ) 传送。(交换机主要有两类:路由器(router)和链路层交换机(link-layer* switch)。)
1.存储转发传输
- 多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission) 机制。
2.排队时延和分组丢失
-
对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer,也称为输出队列(output queue)),它用于存储路由器准备发往 那条链路的分组。
-
分组还要承受输岀缓存的排队时延(queuing delay)
-
因为缓存空间的大小是有限的,一个到 达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)(packet loss),到达的分组或已经排队的分组之一将被丢弃。
3.转发表和路由选择协议
- 每台路由器具有一个转发表(forwarding table),
- 路由选择协议(routing protocol),
1.3.2 电路交换
- 通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)和分 组交换(packet switching)
- 传统的电话网络是电路交换网络的例子。
- 用电话的术语来说,该连接被称为一条电路(circuit)
- 端到端连接(end・ to-end connection)
1.电路交换网络中的复用
- 链路中的电路是通过频分复用(Frequency- Division Multiplexing, FDM )或时分复用(Time-Division Multiplexing, TDM)来实现的
- 。毫无疑问,该频段的宽度称为带宽(bandwidth)
- 在静默期(silent period)
2.分组交换与电路交换的对比
1.3.3网络的网络
- 存在点(Point of Presence, PoP)、多宿、对等和因特网交换点。
- 多宿(multi-home)
- 对等(peer)
- 因特网交换点(Internet Exchange Point, IXP)
- 内容提供商网络(content provider network )
1.4 分组交换网中的时延、丢包和吞吐量
1.4.1分组交换网中的时延概述
- 这些时延最 为重要的是节点处理时延(nodal processing delay)
- 排队时延(queuing delay)、
- 传输时延 (transmission delay)和
- 传播时延(propagation delay),
- 这些时延总体累加起来是节点总时 延(tolal nodal delay)。
时延的类型
- (1)处理时延
- (2)排队时延
- (3)传输时延
- (4)传播时延
- (5)传输时延和传播时延的比较
1.4.2排队时延和丢包
- 丢包
- 路由器将丢弃(drop)该分组,即该分组将 会丢失(lost) o当
1.4.3端到端时延
1.Traceroute
2.端系统、应用程序和其他时延
1.4.4计算机网络中的吞吐量
- 的瞬时吞吐量(instantaneous throughput)
- 的平均吞吐量(average throughput.
- 它是瓶颈链路(bottleneck link)的传输速率
1.5协议层次及其服务模型
1.5.1分层的体系结构
1.协议分层
- 分层(layer)
- 我们再次关注某层向它的上一层提供的服务(service),即所谓一层的服 务模型(service model)
- 为协议栈(protocol stack) o
- 因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层
-
自顶向下方法(top-down approach),
-
(1)应用层
- HTTP
- SMTP
- FTP
- DNS
- MESSAGE报文
-
(2)运输层
- TCP
- UDP
- segment:报文段
-
(3)网络层
- 数据报(datagram)
- 网际协议:IP
-
(4)链路层
- 帧(frame)
- 链路层的例子包括以太网、WiFi和电缆接入网的DOCSIS协议。
-
(5)物理层
- 与实际传输媒体相关。
2. OSI模型
1.5.2封装
-
应用层报文(application-layer message)
-
运输层报文段(transport-layer segment)
-
网络层数据报(network-layer datagram)
-
链路层帧(link-layer frame)
-
有效负荷字段(payload field)
1.6面对攻击的网络
1.坏家伙能够经因特网将有害程序放入你的计算机中
-
恶意软件 (malware),
-
僵尸网络(botnet)
-
病毒(virus)是一种需要某种形式的用户交互来感染用户设备的恶意 软件。
-
蠕虫(worm)是一种无须任何明显用户交互就能进入设备的恶意软件。
2.坏家伙能够攻击服务器和网络基础设施
- 另一种宽泛类型的安全性威胁称为拒绝服务攻击(Denial-of・Service ( DoS) attack)
- 弱点攻击
- 带宽洪泛
- 连接洪泛
- 分布式DoS(Distributed DoS, DDoS)
3.坏家伙能够嗅探分组
- 分组嗅探器 (packet sniffer)
4.坏家伙能够伪装成你信任的人
- IP哄骗 (IP spoofing)
1.7计算机网络和因特网的历史
1.7. 1分组交换的发展:1961〜1972
1.7.2 专用网络和网络互联:1972 "980
1.7.3网络的激增:1980 -1990
1・7.4因特网爆炸:20世纪90年代
1.7.5最新发展
1.8小结
本书的路线图
第2章 应用层
- IP电话 (VoIP)
2.1 应用层协议原理
2.1.1 网络应用程序体系结构
-
应用程序体系结构 (application architecture)
- 客户-服务器体系结构(client-server architecture)
- 对等体系结构(P2P)
-
客户-服务器体系结构包括:
- Web
- FTP
- Telnet
- 电子邮件
-
数据中心(data center )
-
自扩展性(self-scalability)
2.1.2 进程通信
- 进程 (process)
- 报文 (message)
1.客户和服务器进程
- 在一对进程之间的通信会话场景中,发起通信(即在该会话开始时发起与其他进程的联系)的进程被标识为客户,在会话开始时等待联系的进程是服务器。
2.进程与计算机网络之间的接口
- 套接字 (socket)
- 应用程序编程接口 (application programming interface)
3.进程寻址
- 端口号 (port number)
2.1.3可供应用程序使用的运输服务
- 可靠数据传输(reliable data transfer)
- 容忍丢失的应用(loss-tolerant application)
- 带宽敏感的应用(bandwidth-sensitive application)
- 弹性应用(elastic application)
2.1.4因特网提供的运输服务
- 安全套接字层(Secure Socket Layer, SSL)
2.1.5应用层协议
- 应用层协议(application-layer protocol)
- SMTP(简单邮件传输协议)
2.1.6本书涉及的网络应用
在本章中我们详细讨论5种重要的应用:Web、文件传输、电子邮件、目录服务、流式视频和P2P。
2. 2 Web 和 HTTP
2. 2. 1 HTTP 概况
- 超文本传输协议(HyperText Transfer Protocol, HTTP)
- Web页面(web page)
- 对象(object)
- HTML基本文件(base HTML file)
- 每个URL地址由两部分组成:存放对象的服务器主机名 和 对象的路径名
- Web 浏览器 (Web browser)
- Web 服务器 (Web server)
- 无状态协议(stateless protocol)
2.2.2 非持续连接和持续连接
- 非持续连接(non-persistent connection)
- 持续连接(persistent connection)
1.采用非持续连接的http
- 往返时间(Round-Trip Time RTT)
2.采用持续连接的HTTP
2. 2.3 HTTP报文格式
1.HTTP请求报文
-
请求行(request line)
-
首部行(header line)
2. HTTP响应报文
- 初始状态行: status line
- 首部行: header line
- 实体体: entity body
2. 2.4用户与服务器的交互:cookie
2. 2. 5 Web 缓存
- Web缓存器(Web cache), 也叫代理服务器(proxy server)
- 内容分发网络(Content Distribution Network, CDN)
2. 2.6 条件GET方法
- 条件GET: conditional GET
2.3因特网中的电子邮件
- 用户代理 : user agent
- 邮件服务器 : mail server
- 简单邮件传输协议: Simple Mail Transfer Protocol
2.3. 1 SMTP
2. 3.2 与HTTP的对比
2. 3. 3邮件报文格式
2. 3.4邮件访问协议
- 流行的邮箱访问协议:
- 第三版的邮局协议:Post Office Protocol-Version 3, POP3
- 因特网邮件访问协议 : Internet Mail Access Protocol, IMAP
- HTTP
2.4 DNS:因特网的目录服务
- hostname : 主机名
- ip地址: IP address
2.4.1 DNS提供的服务
- 域名系统: Domain Name System, DNS
2.4.2 DNS工作机理概述
- 单点故障: a single point of failure
- 通信容量: traffic volume
- 远距离的集中式数据库: distant centralized database
- 维护: maintenance
1.分布式、层次数据库
- 根DNS服务器
- 顶级域DNS服务器: Top-Level Domain, TLD
- 权威DNS服务器
-
本地DNS服务器: local DNS server
2.DNS缓存
- DNS缓存: DNS caching
2.4.3 DNS记录和报文
- 资源记录: Resource Record, RR
1.DNS报文
- nslookup程序 (nslookup program)
2.在DNS数据库中插入记录
2.5 P2P文件分发
-
客户-服务器体系结构
- Web、电子邮件、DNS
-
主机(对等放)
-
P2P文件分发协议: BitTorrent
-
P2P的自扩展性
1.P2P体系结构的扩展性
- 服务器上载速率
- 对等方上载速率
- 对等方下载速率
- 被分发的文件长度:F
- 要获得该文件副本的对等方的数量: N
- 分发时间: distribution time
- 所有N个对等方得到文件副本所需时间
- 分发时间:
2.BitTorrent
- 最稀缺优先 : rarest first
2.6视频流和内容分发网
2.6.1 因特网视频
2. 6. 2 HTTP 流和 DASH
- Dynamic Adaptive Streaming over HTTP, DASH : 经HTTP的动态适应性流
2.6.3 内容分发网
- Content Distribution Network, CDN : 内容分发网
1.CDN操作
2.集群选择策略
2.6.4 学习案例:Netflix、YouTube 和“看看”
1.Netflix
2.YouTube
3.看看
2.7 套接字编程:生成网络应用
2.7.1 UDP套接字编程
2.7.2 TCP套接字编程
第3章 运输层
3.1 概述和运输层服务
- 逻辑通信 : logic communication
- 报文段: segment
3.1.1 运输层和网络层的关系
3.1.2 因特网运输层概述
3.2 多路复用和多路分解
- 多路分解: demultiplexing
- 多路复用: multiplexing