计算机网络与因特网
因特网具体构成描述:
端系统(或称主机)通过通信链路和分组交换机连接到一起。链路的传输速率为bit/s,当主机间发送数据,发送端将数据分段,并为每段数据加上首部字节,形成的信息包为分组。分组交换机(包含路由器与链路层交换机)从它的一条入通信链路接受到达的分组,从它的一条出通信链路转发分组。一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。
端系统通过因特网服务提供商(ISP)接入网络,每个ISP是一个由多个分组交换机和多段通信链路组成的网络。
协议
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接受一条报文或其他事件所采取的行动
网络核心
分组交换
存储转发交换:多数的分组交换机在链路的输入端使用存储转发交换机制。即在交换机能够开始向输出链路传输该分组的第一个比特前,必须接受到整个分组。
排队时延和分组丢失:对于每条相连的链路,该分组交换机具有一个输出缓存,用于存储路由器准备发往那条链路的分组。当缓存已满,则到达的分组或者排队之一的分组将被丢弃。
转发表和路由选择协议:
电路交换
电路交换、分组交换:通过网络链路和交换机移动数据的两种基本方法。
电路交换中,在会话期间预留了端系统间通信沿路径所需要的资源。(电话)
频分复用
要传送的信号带宽是有限的,而线路可使用的带宽则远远大于要传送的信号带宽,通过对多路信号采用不同频率进行调制的方法,使调制后的各路信号在频率位置上错开,以达到多路信号同时在一个信道内传输的目的。因此,频分复用的各路信号是在时间上重叠而在频谱上不重叠的信号
时分复用
时延、丢包、吞吐量
时延:
- 结点处理时延(检验分组首部和决定将该分组导向何处)
- 排队时延(在输出队列中的等待时间)
- 传输时延(将分组推向链路)
- 传播时延(在链路向路由器传播)
吞吐量:服务器到客户端的传输速率是min{链宽}
面对攻击的网络
- 自我复制:感染一台主机后,从该主机寻求进入其他主机的方式
- 病毒:需要某种形式的用户交互来感染设备
- 蠕虫:无需明显交互的
DOS攻击:
- 弱点攻击:向容易受到攻击的程序制作精细的报文
- 带宽泛洪:向主机发送大量分组,使得接入链路拥堵
- 连路洪泛:创建大量TCP连接,停止接受合法TCP连接
嗅探分组:
检测网络上的分组,并保存副本
冒充:
生成精细的分组,发送的网络中,进行IP哄骗。
应用层
域名系统
DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。
域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。
DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传来保证可靠性。在两种情况下会使用 TCP 进行传输:
- 如果返回的响应超过的 512 字节(UDP 最大只支持 512 字节的数据)。
- 区域传送(区域传送是主域名服务器向辅助域名服务器传送变化的那部分数据)。
文件传送协议
FTP 使用 TCP 进行连接,它需要两个连接来传送一个文件:
- 控制连接:服务器打开端口号 21 等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答。
- 数据连接:用来传送一个文件数据。
根据数据连接是否是服务器端主动建立,FTP 有主动和被动两种模式:
- 主动模式:服务器端主动建立数据连接,其中服务器端的端口号为 20,客户端的端口号随机,但是必须大于 1024,因为 0~1023 是熟知端口号。
- 被动模式:客户端主动建立数据连接,其中客户端的端口号由客户端自己指定,服务器端的端口号随机。
主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙。被动模式只需要服务器端开放端口号即可,无需客户端配置防火墙。但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号。
动态主机配置协议
DHCP (Dynamic Host Configuration Protocol) 提供了即插即用的连网方式,用户不再需要去手动配置 IP 地址等信息。
DHCP 配置的内容不仅是 IP 地址,还包括子网掩码、网关 IP 地址。
DHCP 工作过程如下:
- 客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理。
- DHCP 服务器收到 Discover 报文之后,发送 Offer 报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提供的信息,因此客户端需要进行选择。
- 如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器。
- DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。
远程登录协议
TELNET 用于登录到远程主机上,并且远程主机上的输出也会返回。
TELNET 可以适应许多计算机和操作系统的差异,例如不同操作系统系统的换行符定义。
电子邮件协议
一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件协议。
邮件协议包含发送协议和读取协议,发送协议常用 SMTP,读取协议常用 POP3 和 IMAP。
1. SMTP
SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。MIME 并没有改动或者取代 SMTP,而是增加邮件主体的结构,定义了非 ASCII 码的编码规则。
2. POP3
POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。
3. IMAP
IMAP 协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除。IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。
常用端口
应用 | 应用层协议 | 端口号 | 传输层协议 | 备注 |
---|---|---|---|---|
域名解析 | DNS | 53 | UDP/TCP | 长度超过 512 字节时使用 TCP |
动态主机配置协议 | DHCP | 67/68 | UDP | |
简单网络管理协议 | SNMP | 161/162 | UDP | |
文件传送协议 | FTP | 20/21 | TCP | 控制连接 21,数据连接 20 |
远程终端协议 | TELNET | 23 | TCP | |
超文本传送协议 | HTTP | 80 | TCP | |
简单邮件传送协议 | SMTP | 25 | TCP | |
邮件读取协议 | POP3 | 110 | TCP | |
网际报文存取协议 | IMAP | 143 | TCP |