一、计算机网络
1.0 概述
计算机网络 是一个将分散的,具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
互联网的两个基本特点:连通性
和 共享
。
计算机网络的功能:
- 数据通信
- 资源共享
- 分布式处理(如Hadoop平台)
- 提高可靠性
- 负载均衡
1.1 计算机网络的组成
- 组成部分
- 硬件
- 软件
- 协议
- 定义:为进行网络中数据交换而建立的规则、标准和约定
- 三要素:
语法
、语义
、同步(时序)
- 从工作方式上看
边缘部分
(所有连接在互联网上的主机,用户可以直接使用)- C/S方式
- P2P方式
核心部分
(由大量的网络和连接这些网络的路由器组成,为边缘部分的主机提供服务)
- 功能组成
- 通信子网(实现数据通信)
- 【各种传输介质、通信设备、相应的网络协议组成】
- 资源子网(实现资源共享/数据处理)
- 【实现资源共享功能的设备和软件的集合】
- 通信子网(实现数据通信)
1.2 计算机网络的分类
- 按分布范围分类:
- 广域网
WAN
- 城域网
MAN
- 局域网
LAN
- 个人区域网
PAN
- 广域网
- 按使用者分类:
- 公用网(中国电信等)
- 专用网
- 按交换技术分类:
电报交换
报文交换
分组交换
- 按拓扑结构分类
- 按传输技术分类:广播式网络、点对点式网络
1.3 性能指标
- 速率 (即数据率,数据传输率,比特率)
- 单位:
b/s
,kb/s
等 - 【连接在计算机网络上的主机在数字信道上传送数据位数的速率】
b
表示bit
,字节用Byte(B)表示
- 单位:
- 带宽
- 原指某个信号的频带宽度,即最高频率与最低频率之差
- 计网中,指网络设备所支持的最高速度
- 【单位时间内从网络的某一点到另一点所能通过的“最高数据率”】
- 单位:
b/s
,kb/s
等
- 吞吐量
- 单位:
b/s
,kb/s
等 - 【单位时间内通过某个网络(或信道、接口)的数据量】
- 单位:
- 时延⭐
- 【指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间,也叫延迟。单位:
s
】 - 分类:
- 发送时延
- 也叫 传输时延,是主机或路由器发送数据帧所需要的时间。
- $$传输时延=\frac{ 数据帧长度(bit)} {发送速率(bit/s)}$$
- 传播时延
- 是电磁波在信道中传播一定距离需要的时间。
- $$传播时延= \frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)}$$
- 排队时延
- 处理时延
- 发送时延
- 【指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间,也叫延迟。单位:
- 时延带宽积
- 【 = 传播时延*带宽】
- 描述:以比特为单位的链路长度,一定情况下的链路的比特容量
- 往返时延RTT
- 【从发送方发送数据开始,到收到接收方确认总共经历的时延】
- 利用率
- 信道利用率(有数据通过的时间/总时间)
- 网络利用率(信道利用率加权平均值)
- 随着利用率增大,时延急剧增大
1.4 计算机网络体系结构
计算机网络体系结构:是计算机网络的各层及其协议的集合。
- 体系结构是抽象的
- 仅仅相邻层有接口,且提供服务的具体实现细节对上一层完全屏蔽
计算机网络的 分层结构:
- 4层
TCP/IP参考模型
(事实标准)- 应用层(HTTP、FTP、DNS)
- 传输层(TCP、UDP)
- 网际层(IP)
- 网络接口层(Ethernet、ATM、Frame Relay)
- 7层
OSI参考模型
(法定标准)
名称 | 主要任务 | 协议 | 功能 |
---|---|---|---|
应用层 | 对应用程序的通信提供服务 | 文件传输 FTP ,电子邮件 SMTP ,万维网 HTTP |
|
表示层 | 用于处理两个通信系统中交换信息的表示方式 | 数据格式变换、数据加密解密、数据压缩与恢复 | |
会话层 | 向表示层实体/用户进程提供建立连接(建立同步,SYN)并在连接上有序地传输数据。 | ADSP、ASP | |
传输层 | 负责进程间的数据传输,即端到端的通信 | TCP 、UDP |
①可靠传输、不可靠传输②差错控制③流量控制(对发送方、接收方的速度协调)④复用分用 |
网络层 | 源主机到目的主机的数据分组路由与转发 | IP 、IPX、ICMP |
路由选择、流量控制、差错控制、拥塞控制 |
数据链路层 | 把网络层传下来的数据包组装成 帧 |
SDLC、HDLC、PPP、STP | 成帧、差错控制、流量控制、访问(接入)控制 |
物理层 | 实现相邻计算机结点之间比特数据流的透明传输 | Rj45、802.3 | 说明:透明传输,即不管怎样的比特组合,都能在链路上传送 |
两个参考模型的不同:
面向连接:发送请求 -> 建立连接 -> 数据传输
无连接:直接数据传输
OSI参考模型 | TCP/IP模型 | |
---|---|---|
网络层 | 无连接+面向连接 | 无连接 |
传输层 | 面向连接 | 无连接+面向连接 |
二、物理层
学习目标:
- 掌握物理层基本概念
- 熟悉传输媒体
- 了解数据通信的基本概念和主要方法
- 熟悉常用的物理接口
- 掌握一些重要参数的计算方法
2.1 概述
物理层解决如何在连接各种计算机的传输媒体上传输数据比特流。
主要任务:确定与传输媒体接口有关的一些特性。
机械特性
(如接口形状、引脚数目等)电气特性
(线路上信号的电压范围、阻抗匹配等)功能特性
(指明电平表示的意义等)规程特性
(定义各条物理线路的工作规程和时序关系)
数据通信的相关术语:
- 数据(传送信息的实体,通常是有意义的符号序列)
- 信号(数据的电气/电磁的表现,是数据在传输过程中的存在形式)
- 数字信号,参数的取值是离散的
- 模拟信号,参数的取值是连续的
- 信源(产生和发送数据的源头)
- 信宿(接收数据的终点)
- 信道(信号的传输媒介)
2.2 物理层传输介质
- 导向性传输介质
- 双绞线(由两根采用一定规则并排绞合的、相互绝缘的铜导线组成)
- 非屏蔽双绞线
- 屏蔽双绞线(加入了金属屏蔽层,提高抗电磁干扰)
- 同轴电缆
- 光纤(利用光导纤维传递光脉冲进行通信)
- 双绞线(由两根采用一定规则并排绞合的、相互绝缘的铜导线组成)
- 非导向性传输介质
- 无线电波(信号向所有方向传播)
- 微波(信号向固定方向传播)
- 红外线、激光
2.3 编码与调制
- 信道上传送的信号
- 基带信号(直接表达了要传输的信息的信号)
- 宽带信号(将基带信号进行调制后形成的频分复用模拟信号)
- 数字数据编码方式
- 非归零编码
- 归零编码
- 曼彻斯特编码等
- 模拟数据的编码:抽样 -> 量化 -> 编码
- 数字数据的调制方式
- 调幅
- 调频
- 调相
- 模拟数据的调制(为了传输的有效性,可能需要较高的频率)
数字数据 | 模拟数据 | |
---|---|---|
数字信号 | 通过数字放大器编码 | 通过PCM编码器编码 |
模拟信号 | 通过调制器调制 | 通过放大器调制器调制 |
2.4 通信方式
通信方式:
- 单工通信
- 只有一个方向的通信,没有反方向的交互。需要一条信道
- 半双工通信
- 通信的双方都可以发送和接受信息,但任何一方都不能同时发送和接受。需要两条信道
- 全双工通信
- 通信的双方都可以同时发送和接受信息。需要两条信道
数据传输方式
- 串行传输(适合远距离,电缆等)
- 并行传输(适合近距离,如计算机内部)
- 码元
- 表示一个固定时长的信号波形(数字脉冲)
- k进制码元,表示码元的离散状态有k个(k>=2)
- 码元传输速率
- 【单位时间内数字通信系统所传输的码元个数】
- 单位:
Baud
(波特)(1Baud = 1码元/s)
- 信息传输速率
- 【单位时间内数字通信系统所传输的二进制码元个数】
- 信息传输速率 = 码元传输速率 * $log(k,2)$
- 单位:
b/s
(比特/秒)
提高最大数据传输速率,根据奈氏准则,可提高带宽或采用更好的编码技术。
提高最大数据传输速率,根据香农定理,可提高带宽或信噪比。
2.5 奈氏准则与香农定理
奈氏准则:在理想低通(无噪声,带宽受限)条件下,为避免码间串扰,极限码元传输速率为 2W Baud
,
$W$ 是信道带宽,单位是 $Hz$。
理想低通 信道下的 极限数据传输速率 = $2W\cdot\log_2k$
失真:信号发生扭曲变化。受码元传输速率、信号传输距离、传输媒体等影响。
码间串扰:接收端收到的信号波形失去了码元之间的清晰界限的现象
信道带宽:信道能通过的最高频率和最低频率之差。
在无噪声的情况下,某通信链路带宽为 3k Hz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路上的最大数据传输速率是多少?
解:调相和调幅后,信号有16种变化,即16种码元
根据奈氏准则,最大数据传输速率 = 2 * 3k * $\log_2{16}$ = 24 kb/s
香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信道的极限数据传输速率为
$$W\cdot\log_2(1+S/N)$$
信噪比 = 信号的平均功率/噪声的平均功率,常记为 S/N
,计量单位为分贝dB。信噪比(dB)= 10 * log(S/N, 10)
,单位为dB时要先转换
0dB表示输出与输入或两个比较信号一样大。
简单地说,dB是一个比值,举个例子,音频行业中,功率大一倍即是大3dB。???
电话系统的典型参数是带宽为 3k Hz,信噪比为30dB,则该系统的最大数据传输速率是多少?
解:30dB = 10*$\log_{10}S/N$,-> S/N = 1000
最大数据传输速率 = 3000 * $\log_2(1+1000)$ ≈ 30kb/s
三、数据链路层
学习目的:
- 理解,数据传输过程中差错产生的原因和性质
- 了解,面向字符型数据链路层协议实例-BSC
- 掌握
- 误码率的定义与差错控制的方法
- 数据链路层的基本概念
- 面向比特型数据链路层协议实例-HDLC
- Internet中的数据链路层协议ppp
数据链路层主要功能:
- 建立、维护、拆除数据链路
- 组帧,同步
- 差错控制
- 流量控制
- 透明传输
- 寻址(多点链路)
数据链路层向网络层提供的服务:
- 面向连接确认服务
- 无连接确认服务
- 无连接不确认服务
3.1 术语说明
结点:主机、路由器
链路:网络两个结点之间的物理通道,如双绞线、微波等
数据链路:数据链路层实体的连接叫数据链路。多个数据链路复用一条物理连接。(from学校)
数据链路:网络中两个结点之间的逻辑通道,即链路+邮件+软件封装成了数据链路。
帧:链路层的协议数据单元,封装网络层数据报。(数据链路层的分组)
数据链路层,负责从一个结点通过一条链路向另一个物理链路直接相邻结点传送数据报。
主要作用:加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
- 封装成帧 就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧
- 组帧的方法:
- 字符计数法
- 字符(节)填充法
- 零比特填充法
- 违规编码法
3.2 差错控制
概括来说,传输中的差错都是由于噪声引起的。
- 位错(比特位出错)
- 检错编码
- 奇偶校验码(1位冗余的单元,n-1位信息元,奇校验要求1的个数为奇数)
- 循环冗余码CRC
- 纠错编码
- 海明码(发现双比特错,纠正单比特错)
- 检错编码
- 帧错(丢失,重复,失序)
3.2 流量控制与可靠传输机制
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
- 流量控制(限制发送方的发送速率)
- 停止-等待协议
- 滑动窗口协议
???
- 后退N帧协议
- 选择重传协议
- 可靠传输(发送方发啥,接收方接啥)
丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等,会导致数据包的丢失。
ACK:即确认字符,通常ACK信号有自己固定的格式、长度大小,由接收方回复给发送方。
RTS(request to send)请求发送,CTS(clear to send)允许发送
3.3 局域网
局域网,local area network
- 指在某一区域内的多台计算机互联成的计算机组,共享介质的 广播式 分组交换网。
- 网络拓扑结构
- 星型、环型、树型
- 总线型(推荐)
- 特性:
- 跨距小
- 速度快
- 误码率低,可靠性高
- 广播信道,多点连接
介质访问
- 局域网的中心问题是广播媒体的介质访问控制技术
- 分类
- 静态分配:每个用户有自己的频段或时隙,不会冲突
- 动态分配:信道在用户需要时,才进行分配
- 随机接入:争用,ALOHA技术,CSMA/CD
- 受控接入:预约,轮转
3.4 HDLC协议
广域网有两种常用的链路层协议:PPP
协议和 HDLC
协议.
HDLC
(high-level data link control)是一种面向比特的网络节点之间同步传输数据的数据链路层协议。
- 四个特点
- 对于任何一种比特流都可透明传输
- 较高的数据链路传输效率
- 所有的帧都有帧校验序列FCS,传输可靠性高
- 用同一的帧格式来实现传输
- 三种类型的站
- 主站,主站发出的帧叫命令帧,负责对链路进行控制
- 从站,从站发出的帧叫响应帧,在主站的控制下进行操作
- 复合站
- 链路配置
- 非平衡配置
- 平衡配置
- 数据传输方式
- 正常响应方式
- 异步平衡方式
- 异步响应方式
- 帧类型
- 信息帧
- 管理帧
- 无编号帧
参考资料:https://blog.csdn.net/wangguchao/article/details/109595845
3.5 以太网
现在广泛使用的局域网只有以太网,
以太网(Ethernrt)是由Xerox公司创建的并由…联合开发的 基带总线局域网规范 ,是当今现有局域网采用的最通用的通信协议标准。以太网使用 CSMA/DA
(载波监听多路访问及冲突检测)技术。
- 以太网的服务 -> 不可靠交付,
无连接
,不发确认
。- 因为:局域网信道的质量很好,发生差错概率很小
- CSMA/CD, Carrier Sense Multiple Access/Collision Detect
- 多点接入:总线网络,多台计算机连接在一根总线上
- 载波监听:每个站在发送数据前要先检测总线上是否有其它计算机发送数据,避免冲突
- 碰撞检测:边发送边监听
- 特点:先听先发,边听边发,冲突停止,延迟重发
- 使用 CSMA/CD 的以太网不能进行全双工通信,只能进行双向交替通信(半双工通信)
MAC 媒体访问控制层:控制传输及介质的访问,与接入各种媒体有关的问题都放在MAC层,不同LAN使用的介质访问方法不同。
- 最小帧长:规定有效帧从DA~FCS,最短64字节
- 争用期:发送数据开始后的时间 2τ
- 最小包长:72字节,8先导+14头+46字节+4CRC
- 数据不足46字节时,要填充至46字节
- 帧长<72字节的帧是冲突碎片
- 最小包间隔:9.6us
计算机通过通信适配器与外界局域网连接。
适配器的ROM上有计算机硬件地址MAC地址。
每个适配器有一个全球唯一的 48
位二进制地址,前24位代表厂家,后24位由厂家指定。
MAC地址(Media Access Control Address),称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),6字节,它是一个用来确认网络设备位置的位址。
IEEE 802.11
是无线局域网的通用标准
3.6 交换机
- 网桥:根据MAC帧的目的地址对帧进行转发和过滤。
- 【连接冲突域】
- 【可互连不同物理层、不同MAC子层和不同速率的以太网】
- 作用:
- 过滤信息量
- 扩大物理范围,增加整个局域网的最大站数
- 使用不同的物理层
- 互连不同类型的局域网
- 提高可靠性
- 交换机:多接口网桥
- 具有自学习能力,学习的是交换表的内容,交换表中存储着MAC地址到端口的映射。
物理层设备:
- 中继器
- 对信号进行再生和还原,放大衰减信号。
- 两端的网络部分是网段、不是子网。适用于完全相同的两类网络的互连,且两个网段的速率相同。
- 在物理层上实现局域网网段互连,用于扩展局域网网段的长度
- 集线器(多口中继器,Hub)
- 不具备定向传送能力,是一个共享式设备。
网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的部分。
冲突域:在同一个冲突域中,每个节点都能收到所有被发送的帧。
广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。
.
隔离冲突域 | 隔离广播域 | |
---|---|---|
物理层设备(中继器,集线器) | × | × |
链路层设备(网桥,交换机) | √ | × |
网络层设备(路由器) | √ | √ |
四、网络层
学习目的:
- 了解:网络层与网络互联的基本概念
- 掌握:
IP协议
的特点与基本内容 - 掌握:IP地址及子网编址的基本方法
- 掌握:
地址解析
的基本概念与方法 - 掌握:
IP分组转发
与路由选择
的概念 - 掌握:Internet
路由选择协议
的概念 - 掌握:路由器与第三层交换的基本工作原理。
- 了解:Internet
控制报文协议
与组管理协议
4.1 概述
网络层提供主机之间的逻辑通信
- 主要任务:把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
- 协议:
IP
,ARP
地址解析协议,ICMP
因特网控制报文协议,IGMP
因特网组管理协议 - 传输单位:数据报
- 功能:
- 路由选择与分组转发
- 异构网络互联
- 拥塞控制
- 开环控制(预先考虑好,静态控制)
- 闭环控制(动态地控制)
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
4.2 网络互连
互联网络:利用网桥、路由器等互联设备将两个及两个以上的物理网络相互连接起来构成的系统。
局域网、广域网是互联网的构件,在局域网或广域网内部主机通信使用网络的物理地址。
- 直接交付
- 是指在一个物理网络上,数据报从一台机器上直接传送到另一台机器上,这是所有互联网通信的基础。
- 只有当两台机器同时连到同一底层物理传输系统时(例如一个以太网),才能进行直接交付
- 间接交付
- 当目的地不在一个直接连接的网络上时,发送方必须把数据报发给一个路由器才能交付它
通常将网络层使用的路由器称为 网关
。
4.3 数据交换方式⭐
- 电路交换
- 特点:通信时延小,有序传输,独占资源,必须是面向连接的
- 应用:大量数据传输,对时延敏感的应用,语音业务
- 报文交换(采用存储转发)
- 特点:线路利用率高,速率自适配,结点延迟时间较长
- 模型:电报系统
- 分组交换(采用存储转发)
- 特点:线路分段占用,链路共享,可靠性好,速率自适配,减少结点延迟时间,不存在建链时的呼叫损失
- 数据报方式(为网络层提供无连接服务)
- 虚电路方式(结合数据报方式和电路交换方式,提供连接服务)

一些概念:
报文 message
:要发送的整块数据。
首部 header
:必要的控制信息。
分组 packet
:由报文+首部组成,也叫包。
4.4 路由
路由 routing
是指分组从源到目的地时,决定端到端路径的网络范围的进程。
路由工作在网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。
功能一
:运行路由选择算法、协议- 路由算法
- 静态路由算法
- 动态路由算法(路由器间彼此交换信息,按照算法优化出路由表项)
- 距离-向量路由算法
- 链路状态路由算法
- 路由选择协议
- 内部网关协议IGP(RIP,OSPF)
- 外部网关协议EGP(BGP)
- 路由算法
功能二
:从入链路到出链路 转发 数据报
路由器可以进行路由选择和分组转发。
路由器对目的地址是私有IP地址的数据报一律不进行转发
默认路由项:当路由表中与包的目的地址之间没有匹配的表项时路由能做出的选择。
4.5 ARP协议
ARP(Address Resolution Protocol)即 地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。
- ARP协议自动进行
- ARP表
- 格式:<IP地址;MAC地址;TTL>
- 其中TTL为地址长度将被忘记的时间长度(通常20分钟)
4.6 IP地址⭐
IP地址 Internet Protocol Address 是指互联网协议地址,又译为网际协议地址。
(1)IP协议特点
- 不可靠、无连接、尽力而为的数据报服务
- 发送 IP 数据报后不维护任何状态信息
- 不能保证IP数据报成功到达目的地
- 独立处理对待每个数据报,发生错误的处理方法是丢弃并利用 ICMP 报告
- 对传输正确性不做验证,不发确认。
- 点对点网络层协议,分为直接交付和间接交付
- 向传输层屏蔽物理网络的差异
(2)IP地址分类
IP地址类别 | 地址范围 | 地址构成 | 说明 |
---|---|---|---|
A类 | 1.0.0.0 ~ 127.255.255.255 |
0 +7 位网络号+24 位主机号 |
适用于大型网络 |
B类 | 128.0.0.0 ~ 191.255.255.255 |
10 +14 位网络号+16 位主机号 |
使用中等大小组织 |
C类 | 192.0.0.0 ~ 223.255.255.255 |
110 +21 位网络号+8 位主机号 |
适用于一些小型公司等 |
D类 | 224.0.0.0 ~ 239.255.255.255 |
1110 +28 位组播地址 |
用于特殊用途,如多播地址 |
E类 | 240.0.0.0 ~ 255.255.255.255 |
11110... |
暂时保留 |
(3)特殊IP地址
回送地址
用于网络软件测试和本地进程间通信。含网络号为127
的分组不能出现在任何网络上- 本地回环地址,
127.0.0.1
- 网络地址,
192.168.12.0
- 广播地址,
192.128.12.255
- 受限广播,
255.255.255.255
- 本网内本主机,
0.0.0.0
(4)私有IP地址
,只能在局域网内使用
私有IP地址类别 | 地址范围 | 网段个数 |
---|---|---|
A类 | 10.0.0.0 ~ 10.255.255.255 |
1 |
B类 | 172.16.0.0 ~ 172.31.255.255 |
16 |
C类 | 192.168.0.0 ~ 192.168.255.255 |
256 |
========== 其它补充
在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。
私网IP要接入Internet时,要使用 NAT
网络地址转换
安装了NAT软件(含NAT转换表)的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
4.7 IP数据报⭐

- 版本 : 有 4(IPv4)和 6(IPv6)两个值;
- 首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为固定部分长度为 20 字节,因此该值最小为 5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
- 区分服务 : 用来获得更好的服务,一般情况下不使用。
- 总长度 : 包括首部长度和数据部分长度。
- 生存时间 :TTL,它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。
- 协议 :指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。
- 首部检验和 :因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。
- 标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
- 片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
IP数据报,数据报,分组,包都是同一个东西
什么是IP分片?
IP协议在传输数据包时会将数据报文分成若干片进行传输,并在目标系统中进行重组。这以过程就成为分片。
为什么要进行IP分片
如果IP数据报加上数据帧头部后大于MTU,数据报文就会分成若干片进行传输。那么什么是MTU呢?每一种物理网络都会规定链路层数据帧的最大长度,称为链路层MTU。在以太网的环境中可传输的最大IP报文为1500字节。
如果要传输的数据帧的大小超过1500字节,即IP数据报的长度大于1472(1500-20-8=1472,普通数据报)字节,需要分片之后进行传输。
关于标志位
MF:表示后面是否“还有分片”。MF = 0 表示这是若干数据报分片的最后一个
DF(Don't fragment):标志着允不允许数据报分片
4.8 子网划分与地址聚合⭐
- 子网
- 具有IP地址相同的子网部分的设备接口
- 能够物理上互相到达而没有中间路由器
- 子网掩码:用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。
- 作用:将某个 IP 地址划分成网络地址和主机地址两部分
- 默认掩码:
A类
:255.0.0.0B类
:255.255.0.0C类
:255.255.255.0
判断IP为156.26.27.71, 156.26.27.110的主机,子网掩码为255.255.255.192是否处于同一子网?
经子网掩码运算后,子网号0001101101
相同,处于同一子网。
地址聚合:即求二进制地址的最长公共前缀,并把/x改成位数
4.9 网际控制报文协议 ICMP
ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议。
Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。
other
(1)常用网络指令
ipconfig | 查看网络信息,IP配置等 |
ping | 检测网络连通性 |
netstat | 显示连接信息,路由表信息等 |
arp | 用于显示和修改ARP表中缓存的项目 |
tracert | 跟踪网络连接 |
netsh | 用于显示和修改计算机的网络配置 |
(2)IPv6
IPv6地址 有16个字节
五、传输层
学习目的:
- 了解:进程相互作用的Client/Server模型
- 掌握:网络环境进程通信端口概念
- 掌握:传输层的基本功能与服务
- 掌握:用户数据报协议UDP
- 掌握:传输控制协议TCP
5.1 概述
只有主机才有的层次。
- 主要作用
- 提供进程和进程之间的逻辑通信
- 复用和分用
- 对收到的报文进行差错检测
- 两个协议
TCP
(面向连接的传输控制协议)⭐- TCP连接管理(三次握手,四次握手)
- TCP可靠传输
- TCP流量控制(滑动窗口)
- TCP拥塞控制
UDP
(无连接的用户数据报协议)- 无连接
- 尽最大努力交付
- 面向报文
- 没有拥塞控制
- 支持一对一、一对多、多对一、多对多的交互通信
- 首部开销少,只有 8 个字节,TCP首部 20 个字节
5.2 TCP协议⭐
- 主要特点
- 面向连接 的运输层协议,需要事先建立连接
- 提供 可靠交付 的服务,无差错、不丢失,不重复,并且按序到达
- 提供 全双工通信,TCP连接的两端都设有发送缓存和接收缓存
- 面向字节流,即将应用程序交下来的数据看成一串无结构的字节流
5.2.1 TCP报文结构

- 源端口号和目的端口号:再加上Ip首部的源IP地址和目的IP地址可以唯一确定一个TCP连接
- 数据序号:表示在这个报文段中的第一个数据字节序号
- 确认序号:仅当ACK标志为1时有效。确认号表示期望收到的下一个字节的序号(这个下面再详细分析)
- 偏移:就是头部长度,有4位,跟IP头部一样,以4字节为单位。最大是60个字节
- 保留位:6位,必须为0
- 6个标志位:
- URG-紧急指针有效
- ACK-确认序号有效
- PSH-接收方应尽快将这个报文交给应用层
- RST-连接重置
- SYN-同步序号用来发起一个连接
- FIN-终止一个连接
- 窗口字段:16位,代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16 - 1 = 65535个字节(这个下面再详细分析)
- 校验和:源机器基于数据内容计算一个数值,收信息机要与源机器数值 结果完全一样,从而证明数据的有效性。检验和覆盖了整个的TCP报文段:这是一个强制性的字段,一定是由发送端计算和存储,并由接收端进行验证的。
- 紧急指针:是一个正偏移量,与序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式
5.2.2 TCP的连接
TCP 把连接作为最基本的抽象
套接字
Socket =(主机IP地址,端口号)
在计算机网络中采用发送方和接收方的套接字组合来识别端口,
套接字唯一标识了网络中的一个主机和它上面的一个进程。
5.2.3 TCP传输连接建立

5.2.4 TCP传输连接释放

5.2.5 关于TCP协议的问答
建立一个TCP连接需要的信息共识?
- Socket:由IP地址和端口号组成
- 序列号:用来解决乱序问题
- 窗口大小:用来做流量控制
如何确定一个TCP连接?
TCP四元组(源地址,源端口,目标地址,目标端口)
TCP 和 UDP 的区别?
连接
- TCP是面向连接,传输数据前需建立连接
- UDP无连接,即刻传输数据服务对象
- TCP是一对一的两点服务
- UDP支持一对一、一对多、多对多的交互通信可靠性
- TCP可靠交互数据
- UDP不保证可靠交互数据TCP拥有拥塞控制和流量控制机制
传输方式
- TCP是流式传输,没有边界,但保证顺序和可靠
- UDP是一个一个包的发送,是有边界的,但可能会丢包和乱序应用场景
- TCP应用场景
- FTP文件传输
- HTTP/HTTPS
- UDP应用场景
- 包总量较少的通信,如DNS、SNMP等
- 视频,音频等多媒体通信
- 广播通信
5.3 端口
端口是传输层的SAP(服务接入点),标识主机中的应用进程
端口号只有本地意义,长度为16bit
,能表示65536个不同的端口。
- 端口号
- 服务端使用的端口号
- 熟知端口号
0~1024
- 登记端口号
1024~49151
- 熟知端口号
- 客户端使用的端口号
49152~65535
:仅在客户进程运行时才动态选择。
- 服务端使用的端口号
协议 | 功能用处 | 端口号 | Python 模块 |
---|---|---|---|
FTP | 文件传输 | 20 | ftplib urllib |
Telnet | 命令行 | 23 | telnetlib |
SMTP | 发送邮件 | 25 | smtplib |
DNS | 53 | ||
TFTP | 69 | ||
Gopher | 信息查找 | 70 | gopherlib urllib |
HTTP | 网页访问 | 80 | httplib urllib xmlrpclib |
POP3 | 接收邮件 | 110 | poplib |
NNTP | 阅读和张贴新闻文章 | 119 | nntplib |
IMAP4 | 获取邮件 | 143 | imaplib |
5.4 拥塞控制

记轮次为$n$,拥塞窗口为$cwnd$,慢开始门限为$ssthresh$
- 慢开始
- 拥塞窗口逐轮翻倍,在此阶段不能大于$ssthresh$
- 拥塞避免
- $cwnd \ge ssthresh$ 时进入拥塞避免,$cwnd$逐轮加一
- 超时时重新开始,$ssthresh=cwnd/2$
- 快重传和快恢复
- $3−ACK$,表示收到3个重复确认报文,数据传输时丢失了,进入快重传和快恢复
- $cwnd=ssthresh=原cwnd/2$
六、应用层
应用层的协议定义了:
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法
- 字段的语义
- 进程何时、如何发送报文,以及对报文进行响应的规则
6.1 网络应用模型
C/S模型
- 服务器(提供计算服务的主机)
- 永久提供服务
- 永久性访问地址/域名
- 客户机(请求计算服务的主机)
- 与服务器通信
- 间歇性接入网络
- 可使用动态IP地址
- 不与其它客户机直接通信
- 服务器(提供计算服务的主机)
P2P模型
- 每个主机既可以提供服务,也可以请求服务
- 任意节点间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
6.2 DNS域名解析系统
–>通过DNS服务器,将域名解析为IP地址
如 www.unielu.com
,com
是顶级域名,unielu
是二级域名,www
是三级域名
- 顶级域名:
- 国家顶级域名
.cn
.us
- 通用顶级域名
.com
.net
.org
.gov
- 基础结构域名/反向域名
.arpa
- 国家顶级域名
- 二级域名
- 类别域名
- 行政区域名
- 其它域名(可注册)
- 三级域名、四级域名
6.3 文件传送协议
FTP
(File Transfer Protocol)
FTP是基于客户/服务器的协议,使用TCP实现可靠传输
传输模式:文本模式(ASCII模式),二进制模式
6.4 电子邮件系统
一般电子邮件系统:
用户代理 ->SMTP->
发送方邮件服务器 ->SMTP->
接收方邮件服务器 ->POP3->
用户代理
基于万维网的电子邮件系统:
发送方 ->HTTP->
邮件服务器1 ->SMTP->
邮件服务器2 ->HTTP->
接收方
SMTP
(简单邮件传送协议)- 规定了两个相互通信的SMTP进程之间应如何交换信息
- 使用TCP连接,端口号25,C/S模式
- 缺点:
- 不能传送可执行文件或其它二进制对象,仅限于传送7位ASCII码
- 拒绝超过一定长度的邮件
- 通用因特网邮件扩充
MIME
POP3
- 使用TCP连接,端口号110,C/S模式
IMAP
网际报文存取协议MIME
多用途互联网邮件扩展类型,扩展了电子邮件标准
6.5 万维网和HTTP协议
万维网(WWW)是一个大规模的、联机式的信息储藏所,是无数个网络站点和网页的集合。
用户通过 URL形成的超链接 获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者。
万维网使用超文本标记语言HTML
URL
(统一资源定位符)- 对资源进行唯一标识
- 一般形式:<协议>://<主机>:<端口>:<路径>
- 协议:http、ftp等
- 主机:域名、IP地址等
关于HTTP的理解(2020.05):www.unielu.com/posts/2174.html
other
参考资料:
- 2019-王道考研-计算机网络
- 学校课程
- 《计算机网络》谢希仁,第七版
- 计算机网络期末复习,应用题
推荐阅读:
- TCP/IP 协议⭐
- 两张动图-彻底明白TCP的三次握手与四次挥手
- 35 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
- TCP报文格式详解
- IP报文格式学习笔记
- 公网IP与私网IP
- 移动IP的工作原理
- 路由器工作原理
- cookie和session的详解与区别
- 交换机的自学习算法
- 子网划分
一些问题:
- 在分层的计算机网络体系结构中,对等层之间传送的数据单位称为(
PDU
)。 - 互联网现在采用的是存储转发的分组交换技术,以及三层ISP结构。
-
internet
(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。Internet
(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信的规则,且其前身是美国的 ARPANET。
连接在因特网上的计算机都称为主机(host
)。 - 默认网关:一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,默认网关最后一位为1。
- 默认路由(Default route),是对IP据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。
- PING 指令的流程,先进行DNS解析,之后用网络层协议ARP,通过目标主机的IP地址映射为MAC地址,通过IP地址可以知道数据包最后发给谁,MAC地址可以知道数据包下一跳给谁。之后用网络层协议ICMP来传递主机间的控制信息。由于主机间没有连接过程,是直接发送数据的,所以不使用TCP协议。
- 在路由器互联的多个局域网中,数据链路层协议和物理层协议都可以不相同。
学时:56h理论+12h实验(6个)
分数:期末(70%)+平时(30%)
2021.7.5
考试结束,学的知识是十分零散的,
了解分层体系之后,做一下主要题型,深入了解TCP、IP即可
考试重点:
- TCP\UDP特点
- 路由表(更新,下一跳计算)、ARP表、交换机的站表
- IP数据报(分片计算)
- 子网划分
- 拥塞控制算法
- TCP 确认号
- 抓包分析