第1章
1.1 计算机网络概述
从组成部分上划分
计算机网络主要由硬件、软件、协议三大部分组成,协议是核心。
从工作方式上划分
计算机网络可分为边缘部分和核心部分。
边缘部分由用户主机组成,用来进行通信和资源共享。
核心部分由大量网络和连接网络的路由器组成,为边缘部分提供连通性和交换服务
从功能组成上划分
计算机网络由通信子网和资源子网组成
通信子网由通信设备和网络协议组成
资源子网由设备及其软件的集合组成
计算机网络的功能
数据通信(最基本和最重要)、资源共享、分布式处理、负载均衡、提高可靠性
按分布范围分类
广域网WAN(因特网的核心)、城域网MAN、局域网LAN、个人区域网PAN
按传输技术分类
广播式网络、点对点网络
区别:是否采用分组存储转发与路由选择机制
按拓扑结构分类
- 总线型
- 星型
- 环形
- 网状
按使用者分类
- 公用网
- 专用网
按交换技术分类
电路交换网络:专用的通路。数据直接传送,时延小;但利用率低,不便于差错控制
报文交换网络:存储-转发网络。可实现一对多,多对一访问,可差错控制;但增大了缓冲时延,资源开销
分组(包)交换网络:将数据分成较短的固定长度的数据块,存储转发方式传输。缓冲易于管理,平均时延更小,主流方式
按传输介质分类
有线网络:双绞线、同轴电缆、光纤
无线网络:蓝牙、微波、无线电
1.2 计算机网络分层结构
协议三要素
- 语法:规定了传输数据的格式
- 语义:规定了所要完成的功能
- 同步:规定了执行各种操作的条件、时许关系
接口SAP
物理层:网卡接口
数据链路层:MAC地址
网络层:IP地址
传输层:端口号
应用层:用户界面
服务
协议是水平的,服务是垂直的
服务原语
- 请求:用户发往服务提供者,请求完成某项工作
- 指示:服务提供者发往用户,指示用户做某件事情
- 响应:用户发往服务提供者,作为对指示的响应
- 证实:服务提供者发往用户,作为对请求的证实
各层主要功能
物理层:在物理媒体上为数据端设备透明地传输原始比特流
数据链路层:成帧、差错控制、流量控制和传输管理
网络层:路由选择、差错控制、流量控制、拥塞控制和网际互连
传输层:为端到端连接提供流量控制、差错控制、服务质量、数据传输管理
会话层:不同主机上的各个进程之间进行会话
表示层:数据压缩、加密和解密
应用层:用户与网络的界面
物理网络
X.25、帧中继和ATM等公共数据网络
TCP/IP模型与OSI参考模型的比较
同
- 二者均采取分层的体系结构
- 二者都基于独立的协议栈的概念
- 二者都可以解决异构网络的互连
异
- OSI模型的最大贡献就是精确定义了三个主要概念:服务、协议和接口,TCP/IP在这三个概念上却没有明确区分
- OSI模型在网络层支持无连接和面向连接的通信,在传输层只有面向连接的通信。而TCP/IP在网际层仅有一种无连接的通信模式,传输层支持无连接和面向连接
- OSI模型产生在协议发明之前,TCP/IP模型产生在协议发明之后,实际上是对已有协议的描述
本章易错点
- 广域网的拓扑结构通常采用网状,因为其范围广,结点较多,要保证可靠性
- 物理层不参与数据的封装工作
- 文件传输中插入同步点以防止网络故障而重传整个文件的动作发生在会话层
- 服务访问点:物理层->网卡接口,数据链路层->MAC地址,网络层->IP地址,传输层->端口,应用层->用户界面
- 数据链路层实现两个相邻结点间的流量控制,网络层实现整个网络的流量控制,传输层实现端到端的流量控制
第2章
- 以太网采用的是分组交换技术
- 电路交换不提供差错控制功能,无法纠正传输过程中发生的数据差错
- 同轴电缆比双绞线的传输速率更快,得益于同轴电缆具有更高的屏蔽性和抗噪声性
- 两个网段在物理层进行数据互联时要求:传输速率要相同,但数据链路层协议可以不同
- 双绞线的带宽取决于铜线的粗细和传输的距离
- 光纤通信就是利用光纤传递光脉冲来进行通信;光纤主要由纤芯和包层构成;多模光纤的光源为发光二极管,距离近,单模光纤的光源为半导体激光器,距离远
- 无线通信三种技术:微波、红外线和激光
- 信号衰减的三种类型:衰减、噪声、失真
第3章
- 有连接就一定要有确认,不存在有连接无确认的服务
- 链路管理:数据链路层连接的建立、维持和释放
- 帧定界:确定帧的界限;帧同步:从接收到的二进制比特流中区分帧的起始和终止;透明传输:无论什么样的比特组合都应当能在链路上传送
- 违规编码法只适用于采用冗余编码的特殊编码环境
- 汉明距离等于两个编码按位异或后1的个数
- 海明码检错d位,需要码距为d+1,;纠错d位,需要码距为2d+1
- 通过提高信噪比可以减弱其影响的差错是随机差错
- 在后退n帧协议中,采用n比特对帧编号,发送窗口的尺寸若大于2^n - 1,则会造成接收方无法分辨新帧和旧帧
- 在选择重传协议中,采用n比特对帧编号,发送窗口的尺寸若大于2^(n - 1),则会造成接收方无法分辨新帧和旧帧
- 发送窗口+接收窗口 ≤ 帧序号
- 数据链路层可分为介质访问控制子层(MAC)和逻辑链路控制子层(LLC),介质访问控制子层(MAC)又可分为分布式协调功能子层(DCF)和总协调功能子层(PCF)
- ALOHA协议可分为纯ALOHA协议和时隙ALOHA协议
- CSMA/CD协议适用于总线型网络或半双工网络环境
- 以太网规定最短帧长为64B,数据部分长度为46~1500B
- 现实中计算机网络更多地使用TDM而非FDM,其原因是TDM可用于数字传输而FDM不行
- 以太网中,当数据传输速率提高时,为了能有效地检测冲突,可以减少电缆的长度(降低争用期) or 增加最短帧长
- 无线局域网不使用CSMA/CD而使用CSMA/CA的原因是,暴露站问题和隐蔽站问题
- CSMA/CD与CSMA/CA主要区别
- CSMA/CD可以检测冲突,但不能避免冲突;CSMA/CA在发送数据的同时不能检测冲突,只能尽量避免
- 传输介质不同。CD用于总线型以太网,CA用于无线局域网
- 检测方式不同。CD通过电缆中的电压变化来检测,CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式
- CSMA/CA功能:二进制指数退避算法、预约信道(交换RTS/CTS帧)、ACK帧
- 多路复用器的主要功能是结合来自两条或更多条线路的传输
- 集线器速度100Mb/s,以太网最小帧长64B(不考虑前导码)
- 令牌轮询访问不会发生冲突,非常适合负载很高的广播信道
3.6 局域网
- 以太网:IEEE 802.3;逻辑上采用总线型拓扑,使用CSMA/CD协议进行访问控制;采用无连接的工作方式;使用曼切斯特编码的信号
- 无线局域网:IEEE 802.11
- MAC子层功能:组帧和拆帧、比特传输差错检测、透明传输;
- LLC子层功能:建立和释放逻辑连接、提供与高层的接口、差错控制、给帧加序号、无连接无确认、无连接有确认、面向连接、高速传输;
- 熟记表格参数
- 网卡工作在物理层和数据链路层,是数据链路层的设备
- MAC帧中数据部分长度为46-1500字节
高速以太网
- 100BASE-T以太网在双绞线上传送100Mb/s的星型拓扑,使用CSMA/CD协议,支持全双工和半双工方式
- 吉比特以太网允许在1Gb/s速率下用全双工和半双工两种方式工作
- 10吉比特以太网只工作在全双工方式,用光纤作为传输媒体
IEEE 802.11无线局域网
- 802.11帧共有三种类型,即数据帧、控制帧和管理帧
- 802.11帧的地址字段最常用两种情况
3.7 广域网
广域网数据链路层协议
PPP协议
- 提供差错检测但不提供纠错功能
- 仅支持点对点的链路通信
- 只支持全双工链路
- PPP两端可运行不同的网络层协议,但仍然可使用同一个PPP进行通信
- PPP是面向字节的
HDLC协议
HDLC常用的操作方式中,传输过程只能由主站启动的是正常响应模式
HDLC帧可分为三类:信息帧(I帧)、监督帧(S帧)和无编号帧(U帧)
PPP与HDLC不同
3.8 数据链路层设备
- 利用交换机可以实现VLAN,VLAN不仅可以隔离冲突域,也可以隔离广播域
第4章 网络层
本章易错知识点
- IP分组中的校验字段检查范围是仅分组首部
- 把IP网络划分为子网,这样做的好处是减小了广播域和冲突域的大小,但不改变网络数量
- IP分组可以被路径中的路由器分片,并在目的主机进行重组
- PING使用了ICMP询问报文
- 0.0.0.0只能作为源IP地址,不能作为目的IP地址
- 若题目中要求的是最小子网,则要考虑变长划分子网
- 分片时数据部分大小(片偏移)必须为8的整数倍
- IP地址范围为127.0.0.0到127.255.255.255的地址被指定为环回地址,不可分配给主机
- A类:1~126 B类:128.1~191.255 C类:192.0.1~223.255.255 D类:224~
- 路由收敛:网络设备的路由表与网络拓扑结构保持一致
网络层功能
- 向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
- 异构网络的互连
中间设备(中继系统)
- 物理层:转发器、集线器
- 数据链路层:网桥、交换机
- 网络层:路由器
- 网络层以上:网关
路由器
- 路由器两大功能:路由选择、分组转发
- 在路由器互连的多个局域网的结构中,要求每个局域网物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同
- 路由器由于互连多个网络,因此它不仅有多个IP地址,也有多个硬件地址
拥塞控制
- 拥塞控制的作用是确保子网能够承载所达到的流量,这是一个全局性的过程(区分流量控制是控制发送端的速率),涉及各方面的行为:主机、路由器及路由器内部的转发处理过程等
分类
- 开环控制:静态的预防方法,启动后不再修改
- 闭环控制:动态的方法,基于反馈环路的概念
路由算法
距离-向量路由算法 RIP
- 所有结点定期地将其整个路由表传送给相邻结点
- 适用于小型网络,可能遇到路由环路等问题
- 慢收敛导致路由器接收了无效的路由信息,最可能导致路由回路问题
链路状态路由算法 OSPF
- 所有结点通过广播的方式与所有其他结点交谈,仅告诉它们与它直接相连的链路的费用
ARP协议 IP->MAC
ARP工作在网络层,NAT工作在传输层
DHCP协议 分配IP地址
DHCP是应用层协议,它是基于UDP的,通过C/S模式工作
ICMP协议
为了提高IP数据报交付成功的机会,在网络层使用ICMP协议来让主机或路由器报告差错和异常情况
ICMP差错报告报文分类
- 终点不可达:路由器或主机不能交付数据报
- 源点抑制:路由器或主机由于拥塞而丢弃数据报
- 时间超过:路由器收到生存时间TTL为0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文
- 参数问题:路由器或目的主机收到的数据报的 首部中有的字段的值不正确时
- 改变路由(重定向):让主机知道下次应将数据报发送给另外的路由器
不应发送ICMP差错报告报文的几种情况 特差片组
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对第一个分片的数据报片的所有后续数据报片都不应该发送ICMP差错报告报文
- 对具有组播地址的数据报都不应该发送ICMP差错报告报文
- 对具有特殊地址(环回地址、本网络本主机)的数据报不发送ICMP差错报告报文
应用:Ping、Traceroute
PING工作在应用层,直接使用网络层的ICMP,而未使用传输层的TCP/UDP
TraceRoute工作在网络层
内部网络地址
A类1个:10.0.0.0 ~ 10.255.255.255
B类16个:172.16.0.0 ~ 172.31.255.255
C类256个:192.168.0.0 ~ 192.168.255.255
4.4 IPV6
主要特点
- IPV6地址由32位增大到了128位,用8组4位十六进制数表示
- 只有在包的源结点才能分片,是端到端的,途中路由器不能分片
- 首部长度必须是8B的整数倍(区分IPV4首部长度为4B),与ipv4一样,首部长度不可变
- 身份验证和保密功能是IPV6的关键特征
- ipv6取消了校验和字段,加速路由器处理速度
目的地址
支持单播、多播(一对多)、任播(一对多,交付时只交付其中的一台计算机)
IPV4过渡到IPV6
- 双协议栈:一台设备上同时装有IPV4和IPV6协议栈
- 隧道技术:在IPV6数据报要进入到IPV4网络时,把整个IPV6数据报封装到IPV4数据报的数据部分,使得数据报在隧道中传输
4.5 路由协议
RIP协议 基于距离-向量 只适用于小型互联网 应用层协议 UDP port:520
特点
- RIP允许一条路径最多只能包含15个路由器,距离=16时,表示网络不可达
- RIP认为好的路由就是它通过的路由器的数目少,即优先选择跳数少的路径
- 每30秒与相邻路由器交换整个路由表
- 简单、开销小、收敛过程较快
- 坏消息传得慢:网络出现故障时,会出现慢收敛现象
距离向量算法
- 对地址为X的相邻路由器发来的RIP报文,先修改:把下一跳地址改为X,并把距离字段的值加1
- 当原来的路由表中没有目的网络N时,添加到路由表中
- 当原来的路由表中有目的网络N,且下一跳地址为X时,替换原路由表中的项目
- 当原来的路由表中有目的网络N,且下一跳地址不是X时,如果收到的距离d小于路由表中的距离,则替换原路由表中的项目,否则不予理会
- 如果180秒还没有收到相邻路由器的更新路由表,则把此路由器记为不可达路由器,距离设置为16
OSPF协议 基于分布式链路状态 大规模网络适用 网络层协议 IP数据报
特点
- 向自治系统的所有路由器发送信息,使用洪泛法,发送的是与本路由器相邻的所有路由器的链路状态
工作原理 简答
由于各路由器之间频繁交换链路状态信息,因此所有路由器最终都能建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图,在全网范围内是一致的,每个路由器使用Dijkstra算法计算从自己到各网络的最优路径,以构造自己的路由表。此后,当链路状态发生变化时,每个路由器重新计算到各目的网络的最优路径,构造新的路由表。
OSPF五种分组类型
- 问候分组 发现和维持与邻站的可达性,保持与其邻居的连接
- 数据库描述分组 给出链路状态数据库的信息
- 链路状态请求分组
- 链路状态更新分组
- 链路状态确认分组
BGP外部网关协议 路径向量路由选择协议 应用层 基于TCP
4种BGP报文
- 打开报文 Open 用于与相邻的另一个BGP发言人建立关系
- 更新报文 Update 用于发送某一路由的信息,以及列出要撤销的多条路由
- 保活报文 Keepalive 用来确认打开报文并周期性地证实邻站关系
- 通知报文 Notification 用来发送检测到的差错
三种路由协议的比较
4.6 IP组播
- 让源计算机一次发送的单个分组可以抵达一个组地址标识的若干目标主机,并被它们正确接收
- 组播一定仅应用于UDP
- 主机组播时仅发送一份数据,只有数据在传送路径出现分岔时才将分组复制后继续转发
IP组播地址
IP组播使用D类地址格式,范围:224.0.0.0~239.255.255.255,每个D类IP地址标志一个组播组
- 组播地址只能用于目的地址,不能用于源地址
- 对组播数据报不产生ICMP差错报文
- 并非所有D类地址都可作为组播地址
IGMP与组播路由算法
- 基于链路状态的路由选择
- 基于距离-向量的路由选择
- 协议无关的组播(PIM)
4.7 移动IP
移动站以固定的网络IP地址实现跨越不同网段的漫游功能
三种实体
移动结点:具有永久IP地址的移动站
本地代理:连接在归属网络(原始连接到的网络)上的路由器
外地代理:连接在被访网络(移动到异地网络)上的路由器
- 一台主机移动到了另一个LAN中,如果一个分组到达了它原来所在的LAN中,那么分组会被转发给移动IP的本地代理
- 移动IP的分组路由可以分为单播、广播与组播
4.8 网络层设备
- 路由器的路由表中,“下一跳”IP地址指的是下一步接收者的目的地址
- 通常的路由器可以支持多种网络层协议,并提供不同协议之间的分组转发
- 路由器会对收到的IP分组头进行差错校验,但不保证IP分组不丢失
第5章 传输层
5.1 传输层服务
- 可靠传输协议中的“可靠”指的是使用确认机制来确保传输的数据不丢失
- TCP报文和IP数据报的首部长度都是20B
5.2 UDP协议
- UDP校验和会检查首部+数据部分,当源主机不想计算校验和,直接令该字段全为0,当校验和恰好为0,则置为全1
5.3 TCP协议
- 在TCP连接和释放过程中,西电默认SYN和FIN报文不消耗序号
- IP分组头的协议字段中,TCP为6,UDP为17
- “经过几个RTT”指的是箭头数量,而不是窗口值。MSS=2KB时,2->4->8->16->24,此时经过了4个RTT
- 客户端C和服务器S需要断开TCP连接,若从C主动向S发出FIN段时刻算起,C进入closed状态所需时间至少是1RTT + 2MSL,S进入closed状态所需时间至少是1.5RTT
第6章 应用层
6.1 客户/服务器模型
- 客户机是面向用户的,服务器是面向任务的
6.2 域名系统DNS
- 一个主机可以有多个IP地址、MAC地址(网卡),一个域名可对应多个IP地址(负载均衡),一个IP地址可对应多个域名(虚拟主机)
- 授权域名服务器一定可以将域名转换为IP地址
- 当主机访问www.abc.xyz.com网站时,且本地域名服务器无DNS记录,本地域名服务器依次会查询根域名服务器、顶级域名服务器(.com)、顶级域名服务器(.xyz)、权限域名服务器(.abc)
6.3 文件传输协议FTP
- 用FTP LIST获取的文件列表,服务器应通过20(数据端口)来传输该列表
- 匿名FTP访问通常使用anonymous作为用户名
6.4 电子邮件
- 一个电子邮件分为信封和内容,内容又分为首部和主体,首部中发信人地址和时间由系统自动生成,收信人地址和邮件主题由发信人输入
- 用户浏览器与邮件服务器之间收发邮件使用的是HTTP,仅在不同邮件服务器之间传输邮件时才使用SMTP
- POP3协议是基于ACII码的,不能发二进制数据(需要MIME转换为ASCII),且使用明文传输密码
6.5 万维网WWW
- HTTP的特点:面向事务、无状态、无连接
- HTTP传输N个数据的时间
非持久连接:2N个RTT(TCP+HTTP) + 数据传输时间
持久连接:1个RTT(TCP) + N个RTT(HTTP) + 数据传输时间 - HTTP请求报文中,Connection字段为close表示非持久连接,keep-alive表示持久连接