计算机网络期中复习笔记(自用)
复习大纲
–第一章 概述
-
计算机网络的组成
-
网络边缘:主机和网络应用程序(又称为“端系统”)
-
端系统中运行的程序之间的通信方式可划分为两大类:
-
客户/服务器方式(C/S方式)
-
对等方式(P2P方式)
-
-
网络接入方式(P22~P34)
-
-
网络核心:路由器互连、网络的网络
-
电路交换(分为建立连接、通信、释放连接三个阶段)
-
报文交换(PPT中没写,但是王道课程里面有)
-
分组交换(数据首先分成多个分组,每个分组单独传送)
-
(这里会给出时延数据、报文长度、传输速率、请求处理时间等要求计算传播时长)
-
-
-
网络性能的指标(P71)
-
协议和分层体系结构
–第二章 应用层
-
网络应用概述
-
应用层协议的特点:没有通用的协议,每个应用都有专门的协议
-
C/S、P2P、C/S和P2P混合结构(P11~P22)
-
P2P怎么查找资源?
-
集中式查找:混合P2P
-
洪泛式查找:每个peer都将查询请求转发给相邻的全部Peer
-
分层叠加网查找
-
-
进程通信
-
P2P应用既运行client进程也运行是server进程
-
不同主机间通信的接口:Sockets
-
进程标识:主机IP地址+进程端口号
-
-
传输服务
-
衡量指标:可靠性、实时性、吞吐量、安全性
-
TCP服务与UDP服务
-
-
-
DNS(一般使用UDP,服务端口号为53)
-
DNS的功能和名字空间
-
DNS服务器分为根域名服务器、顶级域名服务器、权威域名服务器、本地域名服务器(P41~43)
-
迭代查询与递归查询(简单理解一下就是迭代查询是BFS,递归查询是DFS)
-
DNS资源记录
-
DNS的消息格式:DNS包含请求(query)和应答(reply)两个消息,其消息格式相同
-
-
WWW应用和HTTP
-
WWW的体系结构
-
以C/S模式工作
-
使用URL标识分布在整个因特网上的页面
- 编址格式:协议名://主机:端口号/文件路径及文件名
-
使用HTTP协议实现通过www上的各种链接获取信息
-
使用HTML标记语言显示页面并标识超链接
-
WWW应用客户:
- 浏览器
- web服务器
-
-
网页类型
-
静态网页
-
动态网页:如CGI脚本
-
活跃网页:例如Java Applet
-
-
HTTP:操作过程、消息格式
-
持久连接与非持久连接
-
非持久连接:每次传输对象都要重新建立TCP连接,响应时间为2×RRT+文件传输时间(HTTP1.0)
- 采用非流水线机制
-
持久连接:一个TCP连接可以传输多个对象(HTTP1.1)
- 流水线机制:Client可以连续发出多个请求,而不必等待前一个请求的响应完成
-
-
Cookies和Proxy
-
HTTP有两类消息:请求(request),响应(response)
-
消息格式:ASCII
-
请求消息的格式:
-
HTTP方法
-
HTTP响应消息的格式
-
状态码
-
-
Cookie:Web服务器对于访问用户的标识信息,可用于识别用户、记录用户信息和访问情况(用于保持访问应用)
-
在HTTP响应中包含一行set-cookie头信息
-
在HTTP请求中包含一行cookie头信息
-
Client主机中保存一个cookie文件,由浏览器管理
-
Server端的后台数据库
-
应用包括:身份认证、购物车、个性化推荐信息、用户会话状态等
-
-
-
代理服务器(Proxy Server):目的用于减轻Web服务器的负担,加快访问速度
-
浏览器Caching:浏览器缓存访问过的网页,进一步减少网络负载
- 缓存更新:条件GET(P87)
-
-
-
Email应用
-
电子邮件系统的构成:用户代理(UA)、邮件服务器(mail servers)、邮件传输协议:SMTP、邮件访问协议:IMAP,POP3
-
邮件服务器采用C/S模式
-
-
-
SMTP采用C/S模式,传输层协议使用TCP,server端口号为25
- 直接传输:邮件直接从发信人的服务器传输到收信人的服务器,而不从中间服务器转发
- 命令/响应方式交互
-
邮件访问协议:POP3(端口号:110)和IMAP(端口号:143)
-
邮件格式:多媒体扩展
- SMTP不能传送可执行文件或其他的二进制对象,限于传送7为ASCII码,会拒接超过一定长度的邮件
- 通过因特网邮件扩充(MIME)
-
-
-
FTP:文件传输协议
- 用于和远程主机之间上传/下载文件
- C/S模式
- 传输协议使用TCP
- FTP两个连接
- 控制连接
- FTP client 与 FTP server(端口21)建立控制连接
- 进行身份验证
- 传输命令和响应
- 持久连接:在访问期间,控制连接一直存在
- 数据连接
- 需要传输数据时建立数据连接
- 数据传输结束后,连接关闭
- 控制连接
-
远程登录协议:Telent
-
远程登录:从一台计算机通过网络登录到远程另一台计算机上进行操作
-
Telent特性:
- C/S模型
- 基于TCP,server端口号:23
- 通用、双向、基于8位字符的通信协议
-
NVT:网络仿真终端
- 标准的数据格式
- 实现异构设备的互联
-
–第三章 传输层:实现端到端的可靠通信
-
传输层的功能及服务
-
进程-进程的逻辑通信
-
复用与解复用
- 多路复用:多个应用进程的消息在同一个网络接口上传输
- 进程标识:16位端口号
- 复用:源端传输层在应用层消息之前加上源端口号和目的端口号
- 解复用:目的端传输层根据端口号确定目的进程
-
端口号
- 熟知端口(常用端口)
- 服务器进程使用
- 开放、固定值
- 值一般是0~1023
- 短暂端口
- 客户进程使用
- 由操作系统分配,值不固定
- 值一般是49152~65535
- 熟知端口(常用端口)
-
两种服务:TCP与UDP
- TCP:可靠、按顺序交付
- 建立连接
- 流量控制
- 拥塞控制
- UDP:不可靠、无序交付
- TCP:可靠、按顺序交付
-
传输层不提供时延保障和带宽保障
-
-
可靠数据传输的原理
-
提供可靠传输服务的层次:传输层和数据链路层
-
可靠传输代表:数据不会丢失、重复、失序(P18~P50)
-
-
-
无连接传输协议:UDP
-
简单高效的传输层协议
-
提供“尽力而为”的服务
- UDP数据报可能丢失
- 接受的顺序可能与发送顺序不一致
-
无连接协议
- 在发送数据之前,发送端和接收端没有握手
- 每个UDP数据报都是独立的,与其他的数据报无关
-
相比IP:增强了多路复用/多路分解
-
-
数据格式
-
-
伪报头:只用于校验和的计算,不发送
-
-
面向连接的传输协议:TCP
- 面向连接、全双工数据传输、端到端传输
- 连接管理:三次握手建立连接,四步释放连接
- 动态滑动窗口:发送窗口不超过对端通知的接收窗口值
- 采用ARQ协议,流水线方式工作,流量控制,拥塞控制,可靠、按序的字节流传输
- TCP不能保证上层消息的边界
- TCP的报文段
- 发送序号与接收序号
- 控制字段
- 可靠数据传输:序号管理
- 流量控制:防止发送方发送过快导致接收方缓存溢出造成数据丢失
- 基本方法:接收方反馈,限制发送方的发送数据量
- RTT估值=α×RTT估值的历史值+(1-α)×RTT的测量值
- 传输效率问题:
- Nagle算法:一次尽量发送较大的数据量
- Clark算法:只有在较大缓存时,才发送窗口更新通知
-
拥塞控制的主要原理
-
拥塞即网络边缘主机发送到网络中的负载超出了网络的承载能力
-
特征包括:时延增大(数据包在缓存中排队)、数据包丢失(路由器缓存溢出)
-
-
拥塞控制是全局问题,涉及全网所有的路由器和主机
- 流量控制是局部问题,仅限于发送方和接收方之间
-
拥塞控制
-
开环方法
-
闭环方法
-
TCP拥塞控制方法
- 细节发送端限制发送速率,发送速率近似为cwnd/RTT 字节/秒
- cwnd动态变化,取决于网络拥塞情况
- 发送端感知拥塞
- 当定时器超时或收到3个重复ACK时,即认为有数据丢失
- 发送端随即降低发送速率(降低cwnd)
- 三个机制:慢启动、AIMD、根据拥塞情况调整策略
-
慢启动:启动速率很低,按照指数级增加发送速率直至发现数据丢失(或者达到预先设定的阈值)
-
拥塞窗口达到阈值后,进入拥塞避免(CA)阶段
-
出现数据丢失的情况:MD
-
快速重传机制
-
-