计算机网络期末笔记
Not just for exam. 后期不断补充新的知识。
第一章
OSI/RM参考模型
🚧施工中🚧
- 物理层:利用传输介质为数据链路层提供物理连接,负责处理数据传输并监控数据出错率,以便数据流的透明传输
- 数据链路层:在物理层提供的服务基础上,在通信的实体间建立数据链路连接,传输以“帧”为单位的数据包,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路
- 网络层:为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适当的路径,以及实现拥塞控制、网络互联等功能
- 应用层:为应用软件提供了很多服务,实现具体的应用功能
网络协议
网络协议是为进行网络中的数据交换而建立的规则、标准或约定。由语法、语义和时序(或顺序或同步)三个要素组成。
语法,即数据与控制信息的结构或格式。
语义,即需要发出何种控制信息,完成何种动作以及做出何种响应。
时序,即事件实现顺序的详细说明。
各种协议
首部
首部(尾部) | 长度(Byte) |
---|---|
以太网MAC帧首部和尾部 | 18 |
网络层IP首部 | 20(Max:60) |
运输层UDP首部 | 8 |
运输层TCP首部 | 20(Max:60) |
中间设备
将网络互相连接起来要使用一些中间设备
层次 | 中间设备 |
---|---|
网络层以上 | 网关 |
网络层 | 路由器 |
数据链路层 | 网桥(桥接器)、交换机 |
物理层 | 转发器 |
数据传送单元
层次 | 单元 |
---|---|
应用层 | 报文 |
运输层 | 报文段 TCP:报文段 UDP:用户数据报 |
网络层 | 包、分组 TCP/IP:IP数据报 |
数据链路层 | 帧 |
物理层 | 比特流 |
第二章 物理层
信道的极限容量
奈奎斯特准则
在理想低通(没有噪声、带宽受限)信道中
香农公式
物理层4个特性
- 机械特性
- 电气特性
- 功能特性
- 过程特性
信道复用技术
(p56)
- 频分复用(FDM)
- 时分复用(TDM)
- 统计时分复用(STDM)
- 波分复用(WDM)
- 码分复用(CDM)
调制技术
- 调频FM
- 调幅AM
调相PM
第三章 数据链路层
数据链路层的主要问题
封装成帧
透明传输
差错检测
网络拓补结构
局域网可按网络拓补分类(p84)
星形网(最广泛)
环形网
总线网
(网状)
数据链路层的两个子层
逻辑链路控制LLC
媒体接入控制MAC
CSMA/CD协议
载波监听多路访问/冲突检测协议(p87)
适用于总线形网络或半双工网络环境
CSMA/CD=多点载入+载波监听+碰撞检测
碰撞检测
电磁波在1km电缆的传播时延越为5μs
最迟要经过
帧间最小间隔:9.6μs=96比特时间
100BASE-T以太网
在双绞线上传输(p106)
CSMA/CA协议
802.11标准定义了广泛适用于无线局域网的CSMA/CA协议,把冲突检测改为冲突避免
第四章 网络层
Ip地址和Mac地址的区别
从层次的角度看,物理地址是数据链路层和物理层使用的地址。而IP地址是网络层及其以上各层使用的地址,是一种逻辑地址。
由于全世界存在各式各样的网络,使用不同的硬件地址。要使这些异构网络能够互相通信,就必须进行非常复杂的硬件地址转换工作。由用户或用户主机来完成这项工作几乎是不可能的事。但统一的IP地址把这个复杂问题解决了。连接到Internet的主机只需拥有统一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便。当需要把IP地址转换为物理地址时,使用ARP协议即可实现。
区别 | IP地址 | MAC地址 |
---|---|---|
所在层 | 网络层 | 数据链路层 |
地址 | 逻辑地址 | 硬件地址 |
分配方式 | 基于网络拓补结构,通过手动或字典跟配,可以更改 | 基于制造商,与硬件绑定,全球唯一,一般不能更改 |
长度 | 4字节 | 6字节 |
寻址协议 | ||
地址使用 | Internet协议 | Erhernet协议 |
三种路由协议
协议 | RIP | OSPF | BGP | |
---|---|---|---|---|
中文 | 路由信息协议 | 开放最短路径优先协议 | 边界网关协议 | |
路由算法 | 距离向量 | 链路状态 | 路径向量 | |
算法基础 | Bellman-Ford | Dijkstra | ||
类型 | 内部网关协议IGP | 外部网关协议EGP | ||
层次 | 应用层 | 网络层 | 应用层 | |
传递协议 | UDP | IP | TCP | |
路径选择 | 跳数最少 | 代价最低 | 较好,非最佳 | |
交换结点 | 和本结点相邻的路由器 | 网络中的所有路由器 | 和本结点相邻的路由器 | |
交换内容 | 当前本路由器知道全部信息,自己的路由表 | 与本路由器相邻的所有路由器的链路状态 | 首次 | 整个路由表 |
非首次 | 有变化的部分 |
IP的私有地址
私有地址分3类:
A类: 第一段为10的都是私有地址
10.0.0.1 ~ 10.255.255.254
10.0.0.0表示整个网段,10.255.255.255是广播地址
B类: 以172.16 ~ 172.31开头的都是私有地址
172.16.0.1 ~ 172.31.255.254
172.16.0.0表示整个网段,172.31.255.255是广播地址
C类: 以192.168开头的都是私有地址
192.168.0.1 ~ 192.168.255.254
192.168.0.0表示整个网段,192.168.255.255是广播地址
单播和多播
在一对多通信中:
单播:点对点
多播:一点对多点
任播:终点是一组计算机,但数据报只交付其中一台,通常距离最近
常见网络命令
ping(p148)
tracert(p148)
nslookup
netstat
route
ipconfig
第五章 运输层
udp和tcp
TCP/IP运输层的两个主要协议
- 用户数据报协议UDP
- 传输控制协议TCP
udp和tcp的特点
特点 | UDP | TCP |
---|---|---|
主要特点 | 简单方便,但不可靠 | |
连接 | 无连接 | 面向连接的运输层协议 |
可靠交付? | 尽最大努力交付, 不保证可靠交付 所有维护可靠性的工作由用户在应用层完成 |
可靠交付 无差错,不丢失,不重复,按序到达 |
方向 | 支持一对一,一对多,多对一,多对多的交互通信 | 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的 全双工通信 |
面向 | 报文 | 字节流(流入到进程或从进程流出的字节序列) |
首部 | 开销小 | 开销大 |
拥塞控制 | 没有 | 有 |
虽然TCP面向字节流,但是采用的是对报文段的确认机制。
udp和tcp伪首部的作用
计算检验和。
把首部和数据部分一起检验。
udp的伪首部,协议号为17
tcp的伪首部,协议号为6
udp和tcp的首部
tcp可靠传输的工作原理
信道利用率
其中,
停止等待协议
优点:简单
缺点:信道利用率太低
连续ARQ协议和滑动窗口协议
超时重传时间选择
第一次测量:
后面:
其中,
推荐
Karn算法:在计算加权平均
tcp的流量控制
利用滑动窗口进行流量控制。
发送方的发送窗口不能超过接收方给出的接收窗口的数值。
TCP的窗口单位是字节,不是报文段。
tcp的拥塞控制
拥塞:
拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载。
拥塞控制算法(p241)
MSS:最大报文段长度
cwnd:拥塞窗口
rwnd:接收方窗口(通知窗口)
ssthresh:慢开始门限
发送窗口的上限值=Min[rwnd,cwnd]
超时时,执行慢开始和拥塞避免
3-ACK时,执行快重传和快恢复
具体如下:
1.慢开始
由小到大逐渐增大注入到网络中的数据字节,由小到大逐渐增大拥塞窗口数值
tcp开始发送报文段时,先设置cwnd=1~2个MSS(目的:试探一下网络的拥塞情况),然后再逐渐增大cwnd。
发送方每收到一个对新报文的确认(不包括对重传的确认),就把发送方的拥塞窗口+1。即cwnd加倍
当发送方判断网络拥塞(未按时收到确认)时
第一步:
第二步:重新执行慢开始算法
目的:迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完。
2.拥塞避免
加法增大AI
拥塞窗口cwnd按线性规律缓慢增长,每经过一个往返时延RTT就把cwnd加1,而不是加倍。
目的:让拥塞窗口cwnd缓慢增大。
慢开始门限ssthresh的用法:
算法 | |
---|---|
cwnd < ssthresh | 慢开始 |
cwnd = ssthresh | 拥塞避免 |
cwnd > ssthresh | 慢开始或拥塞避免 |
当发送方判断网络拥塞(未按时收到确认)时
第一步:
第二步:重新执行慢开始算法
目的:迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完。
慢开始和拥塞避免遇到网络拥塞,都要这么做。
3.快重传
发送方只要一连收到3个重复确认(3个冗余ACK),就可知道现在并未出现网络拥塞,而是接收方少收到一个报文段,因而立即重传相应的报文段,而不等待报文段的超时计时器再重传。
目的:让发送方尽早知道发生了个别报文段的丢失
4.快恢复
乘法减小MD
发送方连续收到3个冗余ACK时,
然后执行拥塞避免算法(加法增大)
与慢开始算法不同的是,它不是将cwnd调整为1,而是减为一半。要预防网络发生拥塞,但发送方认为没有那么严重的拥塞。
tcp的有限状态机
第五章习题
课本p253
5-12
一个应用程序用 UDP, 到了IP层把数据报再划分为4个数据报片发送出去。结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装为完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。
解答:不行。重传时, IP数据报的标识字段会有另一个标识符。仅当标识符相同时IP数据报片才能组装成一个IP数据报。前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。
5-21
假定使用连续 ARQ 协议,发送窗口大小是3, 而序号范围是[0, 15],而传输媒体保证在接收方能够按序收到分组。在某一时刻,在接收方,下一个期望收到的序号是5。试问:
(1) 在发送方的发送窗口中可能出现的序号组合有哪些?
(2) 接收方已经发送出的、但仍滞留在网络中(即还未到达发送方)的确认分组可能有哪些?说明这些确认分组是用来确认哪些序号的分组。
解答:
(1) 在接收方,下一个期望收到的序号是5。这表明序号到4为止的分组都已收到。若这些确认都已到达发送方,则发送窗口最靠前,其范围是[5,7]。
假定所有的确认都丢失了,发送方都没有收到这些确认。这时,发送窗口最靠后,应为[2, 4] 。因此,发送窗口可以是[2, 4], [3, 5], [4, 6], [5, 7]中的任何一个。
(2) 接收方期望收到序号5 的分组,说明序号为2,3,4的分组都已收到,并且发送了确认。
对序号为 1 的分组的确认肯定被发送方收到了,否则发送方不可能发送4号分组。可见,对序号为2,3,4的分组的确认有可能仍滞留在网络中。这些确认是用来确认序号为2,3,4的分组的。
5-68
在 TCP 的连接建立的三报文握手过程中,为什么第三个报文段不需要对方的确认?这会不会出现问题?
A在发送第三个报文段时有两种选择
- 仅仅是确认而不携带数据
- 不仅是确认,而且携带上自己的数据
当服务器端B在经过一段时间后未收到来自A的确认报文段,会终止这个半开状态,A必须重新建立TCP连接。这是第三个报文段的丢失导致TCP连接无法建立。
但假设A紧接着就发送数据,由于在数据报文段中,自己的序号不变,ACK=1,确认号是B的初始序号加1。当B收到这个报文段,就知道A收到了自己发送的SYN+ACK报文段,于是进入ESTABLISH状态。
A丢失了第三个报文段就不会造成影响。于是A发送第一种选择,只要紧接着发送数据报文段就无妨。
udp和tcp选择题
- tcp首部没有目标主机ip地址
- udp提供不可靠的传输服务,不需要对报文编号,所以不会有序列号字段。而tcp提供可靠的传输服务,因此需要设置序列号字段。
目的IP地址属于ip数据报中的内容。
第六章 应用层
http的一次请求过程
- 在浏览器输入URL,并按下回车键。
- 浏览器向DNS服务器发出域名解析请求并获得结果。
- 根据目的IP地址和端口号,与服务器建立TCP连接。
- 浏览器向服务器发送数据请求
- 服务器将网页数据发送给浏览器
- 通信完成,断开TCP连接
- 浏览器解析收到的数据并显示
域名系统DNS
(p261)
电子邮件
(p296)
SMTP | POP3 | IMAP | MIME | |
---|---|---|---|---|
中文 | 简单邮件传输协议 | 邮局协议 | 网际报文存取协议 | 通用互联网邮件扩充 |
功能 | 发件人的用户代理向邮件服务器发送邮件,以及发送方邮件服务器向接收方邮件服务器发送邮件 | 用户代理从接收方邮件服务器上读取邮件 | 增加邮件主体的结构 |
pop3和IMAP
区别 | POP3 | IMAP | |
---|---|---|---|
复杂度 | 简单 | 复杂 | |
特点 | 脱机协议,所有对邮件的处理者都在用户的PC机上进行 | 联机协议,用户可以操纵ISP的邮件服务器的邮箱 | |
从服务器读取邮件后就删除这个文件 | 在用户发出删除命令之前一直保存邮件 | ||
功能 | 收件箱 | 仅在客户端内 | 客户端与邮箱更新同步 |
发件箱 | |||
创建文件夹 | |||
草稿 | |||
垃圾文件夹 | 不支持 | 支持 | |
广告邮件 |
MIME
SMTP的缺点
- 不能传送执行文件或其它的二进制对象
- 限于传送7为的ASCII码
- 拒绝超过一定长度的邮件
- 有的没有完全按照SMTP的互联网标准
- 回车换行
- 超过76字符的处理
- 多余空格的删除
- tab转换为若干个空格
因为SMTP存在一些缺点和不足,所以通过MIME并非改变或取代SMTP.MIME继续使用RFC822格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则.也就是说,MIME邮件可在已有的电子邮件和协议下传送.
包括:
- 5个新的邮件首部字段
- 邮件内容的格式
- 传送编码
DHCP
(p304)
动态主机配置协议
即插即用连网
第七章 网络安全
信息安全
机密性:不暴露给未授权的实体或进程
完整性:只有得到允许的人才能修改数据,能判别出数据是否已被篡改。未经授权不可改变!
可用性:得到授权的的实体在需要时可访问数据,攻击者不能占用所有的资源而阻碍授权者的工作
可控性:可以控制授权范围内的信息流向及行为方式
可审查性:对出现的信息安全问题提供调查的依据和手段
安全性威胁
(p334)
- 被动攻击
- 截获
- 流量分析
- 主动攻击
- 篡改
- 恶意程序
- 拒绝服务DOS
计算机病毒
引导区病毒:破坏引导盘、文件目录等
宏病毒:破坏OFFICE文件相关
木马病毒:控制操作
蠕虫病毒:自我复制,网络传播,消耗大量带宽,破坏文件,窃取敏感信息,并安装后门程序
安全
- 机密性
- 端点识别
- 信息的完整性
- 运行的安全性
密码体制
数据加密模型
明文
密文
密钥
加密算法
解密密钥
解密算法
两类密码体制
(p338)
对称密钥体制:加密密钥与解密密钥都是用相同密钥的密码体制
非对称密钥体制/公钥密码体制:使用不同的加密密钥与解密密钥
公钥加密,私钥解密
常见的对称加密算法:aes、des、md5等
常见的非对称加密算法有rsa、dsa、ecc等
数字证书、数字签名
用户A和B要进行安全通信,使用数字证书来对用户的身份进行认证;使用数字签名确保消息不可否认
第九章 无线网络和移动网络
wifi从一代到七代,分别是802.11 b/a/g/n/ac/ax/be
DIFS, SIFS, CSMA/CA, DCF, PCF, SSID
DIFS (Distributed Inter-Frame Space)
- 定义:分布式帧间间隔,是IEEE 802.11无线局域网标准中定义的一种帧间间隔时间.
- 作用:用于在无线网络中管理信道访问,防止数据包碰撞.
- 特点:
- 当一个节点检测到信道空闲时,它会等待DIFS时间,然后尝试发送数据.
- 如果检测到信道忙,则等待信道空闲后再等待DIFS时间.
- DIFS是CSMA/CA协议的一部分,用于减少数据包碰撞的概率.
SIFS (Short Inter-Frame Space)
- 定义:短帧间间隔,是比DIFS更短的帧间间隔时间.
- 作用:用于高优先级的传输,如确认帧、数据帧的快速响应等.
- 特点:
- SIFS比DIFS短,因此具有更高的优先级.
- 在CSMA/CA协议中,SIFS用于快速响应,以减少传输延迟.
CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)
- 定义:带有冲突避免的载波侦听多路访问.
- 作用:无线局域网中的信道访问控制机制.
- 特点:
- 载波侦听:节点在发送数据前先侦听信道是否空闲.
- 冲突避免:通过使用DIFS和SIFS等帧间间隔来减少数据包碰撞.
- 二进制指数退避算法:如果发生碰撞,节点会等待一个随机时间后重试发送,以进一步降低碰撞概率.
DCF (Distributed Coordination Function)
- 定义:分布式协调功能.
- 作用:IEEE 802.11标准中定义的一种信道访问机制,基于CSMA/CA协议.
- 特点:
- 适用于无中心节点的无线网络,如对等网络.
- 使用DIFS和SIFS等帧间间隔来管理信道访问.
- 提供基本的信道访问控制,但不支持QoS(服务质量).
PCF (Point Coordination Function)
- 定义:点协调功能.
- 作用:IEEE 802.11标准中定义的另一种信道访问机制,由中心节点(如AP)控制.
- 特点:
- 适用于有中心节点的无线网络,如基础设施网络.
- 中心节点负责调度和管理信道访问.
- 支持QoS,可以为不同优先级的数据提供不同的服务.
SSID (Service Set Identifier)
- 定义:服务集标识符.
- 作用:用于标识无线网络的名称.
- 特点:
- 用户可以通过输入正确的SSID来连接到特定的无线网络.
- SSID可以隐藏,以增加网络的安全性.
- SSID是区分不同无线网络的重要标识.