计算机网络自顶向下方法
1、概论
1.1、什么是 Internet ?
1.1.1、从具体构成角度
节点:
- 主机及其上运行的应用程序;
- 路由器、交换机等网络交换设备。
边:
- 接入网链路:主机连接到互联网的链路;
- 主干链路:路由器间的链路。
互联网是数以亿计的、互联的计算机设备:
- 主机 = 端系统;
- 运行网络应用程序。
1.1.2、从服务角度
- 使用通信设施进行通信的分布式应用:Web、VoIP、email、分布式游戏、电子商务、社交网络。
- 通信基础设施为apps提供编程接口(通信服务):将发送和接收数据的apps与互联网连接起来;为app应用提供服务选择,类似于邮政服务。无连接不可靠服务、面向连接的可靠服务。
1.2、什么是协议?
协议控制发送、接收消息。如 TCP、HTTP、FTP、PPP。
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他时间方面所采取的动作。
1.3、网络边缘
- 主机;
- 应用程序(客户端和服务器)。
1.3.1、端系统(主机)
- 运行应用程序;
- 如 Web、email;
- 在“网络的边缘”。
1.3.2、客户/服务器模式
1.3.3、对等(peer-peer)模式
每个端节点既是客户机又是服务器。
1.4、网络核心
网络核心是路由器的网状网络,作用是数据交换。
- 互连着的路由器;
- 网络的网络
基本问题:数据怎样通过网络进行传输?
- 电路交换:为每个呼叫预留一条专有电路,如电话网。
- 分组交换:将要传送的数据分成一个个单位,即分组;将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端;每段采用链路的最大传输能力(带宽)。
1.4.1、电路交换
1.4.2、分组交换
1.5、接入网、物理媒体
1.6、分组延时、丢失和吞吐量
1.7、协议层次和服务模型
2、应用层概述
2.1、应用层协议原理
2.2、Web and HTTP
2.3、FTP
2.4、Email
SMTP、POP3、IMAP
2.5、DNS
2.6、P2P 应用
2.7、CDN
2.8、TCP 套接字(Socket)编程
2.9、UDP 套接字编程
3、传输层
3.1、概述和传输层服务
有些服务是可以加强的,不可靠->可靠、安全;但有些服务是不可以被加强的:带宽、延迟。
3.2、多路复用/解复用
3.3、无连接传输 UDP
3.4、可靠数据传输的原理
链路层的timeout时间确定的;传输层的timeout时间是适应式的。
3.5、面向连接的传输:TCP
如果确认序号为555,则说明收到了序号为554及之前的所有字节。(序号以字节为单位)
3.6、拥塞控制原理
3.7、TCP 拥塞控制
4、网络层:数据平面
4.1、导论
4.2、路由器组成
4.3、Internet Protocol
4.4、通用转发和SDN
5、网络层控制平面
5.1、路由选择算法
5.2、自治系统内部的路由选择
5.3、ISP 之间的路由选择:BGP
5.4、SDN 控制平面
6、链路层和局域网
6.1、引论和服务
6.2、检错和纠错
6.3、多点访问协议
6.4、LANs
6.6、数据中心网络
6.7、A day in the life of web request
8、网络安全
8.1、什么是网络安全
8.2、加密原理
p49