计算机网络
文章目录
- 计算机网络
- 第1章 概述
- 第2章 物理层
- 公式
- 传输媒体
- 信道复用技术
- 1. 频分 FDM
- 2. 时分 TDM
- 3. 统计时分 STDM
- 4. 波分 WDM/DWDM
- 5. 码分 CDM
- 宽带接入技术
- 第3章 数据链路层
- 循环冗余检验 CRC
- 点对点协议 PPP
- CSMA/CD协议
- 交换机
- 虚拟局域网 VLAN
- 第4章 网络层
- IPv4
- 1. 分类的IP地址
- 2. 划分子网
- 3. 超网 CIDR
- 4. IP数据报
- IPv6
- 地址解析协议 ARP
- 网际控制报文协议 ICMP
- 内部/外部网关协议
- 1. 路由信息协议 RIP
- 2. 开放最短路径优先协议 OSPF
- 3. 边界网关协议 BGP
- 网际组管理协议 IGMP
- 虚拟专用网 VPN
- 网络地址转换 NAT
- 第5章 运输层
- UDP
- TCP
- 1. 超时重传 ARQ
- 2. 拥塞控制*
- 3. 握手
- UDP和TCP的区别
- 第6章 应用层
- 域名解析 DNS
- 文件传输 FTP
- 超文本传输协议 HTTP
- 电子邮件
- 1. 简单邮件传送协议 SMTP
- 3. 万维网电子邮件
- 动态主机配置协议 DHCP
第1章 概述
- 计算机网络的功能:连通、共享
- 互联网(Internet、因特网): 指由APPANET发展而来、采用 TCP/IP协议族作为通信的规则的特定的计算机网络
- 因特网的组成:边缘部分、核心部分
- 边缘部分:连接在因特网上的所有主机
- 核心部分:由网络与路由器组成
- 主机之间的通信模式:
- 客户端/服务器模式(C/S)Client/Server
- 浏览器/服务器模式(B/S)Browser/Server
- 对等模式(P2P)Peer-to-Peer
- 路由器处理分组的过程:
- 把收到的分组先放入缓存(暂时存储)
- 查找转发表,找出到某个目的地址应从哪个端口转发
- 把分组送到适当的端口转发出去
- 电路交换:先建立源点到终点的链路,然后整个报文的比特流连续地从源点直达终点。
- 报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。需要各结点存储转发。
- 分组交换:单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,-转发到下一个结点。需要各结点存储转发。
- 计算机网络的性能指标:
- 速率(信息速率、码元速率)
- 带宽
- 时延(发送时延、传播时延、处理时延、排队时延)
- 利用率(信道利用率、网络利用率)
- 网络协议:为进行网络中心的数据交换而建立的规则、标准或约定。主要由语法、语义、同步三个要素组成。
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:事件实现顺序的详细说明
- 协议:对等实体间进行通信的规则,协议必须能应付各种可能的情况。协议是水平的
- 服务:下层为上层提供服务。上下层实体进行信息交互的地方称为服务访问点SAP。服务是垂直的
第2章 物理层
公式
信噪比\:(dB) = 10 ln(S/N)\:(dB)
C = W log_2(1+S/N)\:(bit/s)
传输媒体
信道复用技术
1. 频分 FDM
2. 时分 TDM
3. 统计时分 STDM
- 扫描正在使用信道的用户,动态分配时隙
- 优点:
- 缺点:
- 扫描时使用了缓存,对于智能复用器的性能要求高
- 由于时隙不是固定分配的,所以每个时隙中需要带有地址等信息,造成额外开销
4. 波分 WDM/DWDM
- 按波长将一条光纤划分成多个信道
- 优点:
- 缺点:价格昂贵
5. 码分 CDM
- 每个站被指派一个唯一的码片序列,1就是这个序列,0是这个序列的反码
- 各个站的码片序列各不相同,相互正交
- 优点:
- 用户可以在同样的时间使用同样的频带进行通信
- 信号有很强的抗干扰能力
- 缺点:一个bit转换成m个比特的码片,需要传送的数据量增大
宽带接入技术
1. xDSL
- 特点:
- 在电话线(
铜线
)的基础上改造
- 0~4kHz 频段用于电话,高频用于上网
- ASDL使用DMT技术:将高频分段,少部分用于上行信道,其他用于下行信道
- 采用频分复用
- ISP<–>端局DSLAM<–>ATU-C<–>电话分离器(
至电话局
)<–>电话分离器(用户电话
)<–>ATU-R<–>用户电脑
- 优点:
- 改造成本低,在电话线基础上改造,不需要破坏原有的物理结构
- ATU是无源的,使用物理方法进行滤波,维护成本低
- 缺点:
2. HFC
- 特点:
- 在电视线的基础上改造
- 原本电视线的单向传输改造为双向传输
- 主干使用光纤,在光纤节点中转换为电信号,再由一条大同轴电缆送至用户家庭
- 优点:
- 缺点:
3. FTTx
- 特点:
- 不同与DSL的电话线和FHC的同轴电缆,FTTx使用光纤进行近距离传输
- 为了有效利用光纤,数十个用户使用一个光配线网ODN(
光分路器
)对一条光纤进行分用
- 采用波分复用
- 优点:
- 缺点:
第3章 数据链路层
循环冗余检验 CRC
- 双方协议生成多项式的方式,例如
P(X) = X^3 + X^2 + 1
- 得出除数就是1101,最高项次数n = 3
- 数据后面补n个0:101001,000
- 101001,000除以1101,相同为0,不同为1
- 最后的余数取n位:001即FCS
- 由数据101001和FCS 001检验数据是否正确:
- 将FCS拼接到数据后面:101001,001
- 由多项式得出除数1001
- 若101001,001除1001不为0,则数据错误
点对点协议 PPP
PPP协议就是用户和 ISP进行通信时使用的数据链路层协议
字段: |
F |
A |
C |
协议 |
信息部分 |
FCS |
F |
字节: |
1 |
1 |
1 |
2 |
不超过1500字节 |
2 |
1 |
-
协议:
- 0x0021:信息部分为 IP数据报
- 0xC021:信息部分为 链路控制协议LCP的数据
- 0x8021:信息部分为 网络控制协议NCP的数据
-
连接过程:
- 物理链路:物理层建立连接
- LCP链路:发送一系列LCP分组–>对方返回配置确认帧–>LCP配置鉴别成功
- NCP链路:发送NCP帧–>建立NCP链路
-
封装和透明性:
- 使用标志字段7E表示一个帧的开始和结束
- 使用字节填充,转义字符7D
- 数据中的帧边界(
7E
)转义为7D 5E,数据中的转义字符(7D
)转义为7D 5D
- PPP协议用在SONET/SDH链路时使用零比特填充,每5个1填入一个0
CSMA/CD协议
CSMA/CD协议是使用在以太网(使用总线网的局域网
)上的数据链路层协议,解决一条总线上如何实现一对一通信的问题
字段: |
前同步码 |
帧开始定界符 |
|
目的地址 |
源地址 |
类型 |
数据 |
FCS |
字节: |
7 |
1 |
|
6 |
6 |
2 |
46~1500 |
4 |
-
帧格式说明:
- 前同步码:在不使用SONET/SDH时发送需要插入前同步码,目的是使适配器的时钟与比特流达成同步
- 帧开始定界符:分开前同步码和MAC帧
- 类型:标志上一层使用的协议,例如IP或IPX
- 数据:数据不够46字节时将会在数据后面进行填充
-
MAC地址:
- MAC存在于硬件适配器(
网卡,串行/并行转换
)中
- 长度为6字节、48位
- 前24位由 IEEE的RA管理出售,第7位为G/L位(
全球/本地管理
),第8位为I/G位(单个站/组地址
)
- 后24位由厂家自行指派
-
利用率:
S_{max}=\frac{发送时延}{发送时延 + 传播时延}
-
封装和透明性:
- 不需要帧结束定界
- 不需要使用字节插入来保证透明传输
-
碰撞、退避:
- 基本退避时间S = RTT = 512比特时间 = 64字节传输时延 = 51.2 μs(10 Mb/s)
- 截断二进制指数退避:
S_{退让时间} = r × RTT
r = [0,1,2,...,(2^k-1)]
k = Min[重传次数,10]
交换机
- 网桥:通过MAC地址表查找目标地址,确定后将帧转发到目标地址上,使用软件转发
- 交换机:
- 并行传输,无碰撞
- 内置缓存
- 通过自学习方法建立交换表,使用硬件转发
虚拟局域网 VLAN
字段: |
目的地址 |
源地址 |
802.1Q标记 |
用户优先级 |
CFI |
VID |
类型 |
数据 |
FCS |
字节: |
6 |
6 |
2 |
3位 |
1位 |
12位 |
2 |
42~1500 |
4 |
第4章 网络层
- 网络层提供的两种服务:虚电路服务和数据报服务
- 网络层中间设备:路由器
- IP地址:分类的IP地址、子网掩码、掩码、CIDR、回环地址、私有地址(10/8,172.16/12,192.168/16)、网络地址与广播地址、单播地址与多播地址。
IPv4
1. 分类的IP地址
- A类:前面1个字节是网络号,1.x.x.x~126.x.x.x
- B类:前面2个字节是网络号,128.1.x.x~191.255.x.x
- C类:前面3个字节是网络号,192.0.1.x~223.255.255.x
2. 划分子网
3. 超网 CIDR
4. IP数据报
字段: |
版本(IPv4) |
首部长度(最少20) |
区分服务(一般没用) |
总长度(该分片的长度) |
字节: |
4位 |
4位 |
1 |
2 |
字段: |
标识(一个数据的全部分片标识一样) |
标志(MF=还有分片,DF=不能分片) |
片偏移(数据在原来的位置/8) |
字节: |
2 |
3位 |
13位 |
字段: |
生存时间(跳数TTL) |
协议(数据部分使用的协议) |
首部检验和 |
字节: |
1 |
1 |
2 |
IPv6
字段: |
版本(IPv6) |
通信量类 |
流标号 |
字节: |
4位 |
1 |
20位 |
字段: |
有效载荷长度(扩展首部+数据) |
下一个首部(协议) |
跳数限制 |
字节: |
2 |
1 |
1 |
地址解析协议 ARP
- ARP进程在本局域网上广播发送一个ARP请求分组
- 在本局域网上所有主机上运行的ARP进程都收到此ARP请求分组
- 主机B在ARP分组中见到自己的IP地址,就向主机A发送ARP响应分组,并写入自己的硬件地址
- 主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射
网际控制报文协议 ICMP
- 有ICMP差错报告报文和ICMP询问报文两种
- ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告
- 应用程序PING采用的就是ICMP 请求与响应报文。
内部/外部网关协议
1. 路由信息协议 RIP
- 一种分布式的基于距离向量的路由选择协议
- 相邻路由器间定时交换各自的路由表
- 基于UDP
2. 开放最短路径优先协议 OSPF
- 一种分布式的链路状态路由协议
- 链路状态改变时洪泛发送邻居信息。基于IP协议进行传输
3. 边界网关协议 BGP
网际组管理协议 IGMP
让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组。
虚拟专用网 VPN
通过一个公用网络建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。
网络地址转换 NAT
将私有(保留)地址转化为合法IP地址的转换技术,被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
第5章 运输层
UDP
字段: |
源IP地址 |
目的IP地址 |
0 |
17 |
UDP长度 |
字节: |
4 |
4 |
1 |
1 |
2 |
-
17表示UDP检验和,TCP的伪首部将17换为6
-
报文格式:
字段: |
源端口 |
目的端口 |
长度 |
检验和 |
UDP数据部分 |
字节: |
2 |
2 |
2 |
2 |
|
TCP
字段 |
源端口 |
目的端口 |
序号 |
确认号 |
数据偏移 |
保留 |
URG |
ACK |
PSH |
RST |
SYN |
FIN |
窗口 |
检验和 |
紧急指针 |
字节 |
2 |
2 |
4 |
4 |
4位 |
6位 |
1位 |
1位 |
1位 |
1位 |
1位 |
1位 |
2 |
2 |
2 |
- 序号:本报文段数据的第一个字节的编号
- 确认号:下一个报文第一个字节的编号
- 数据偏移:因为首部有可选项,所以数据位置不确定,需要指明偏移值用于找到数据部分
- ACK:建立连接后ACK=1
- PSH:PSH=1相当于flush
- RST:RST=1释放和复位
- SYN:SYN=1表示这是一个连接请求或连接接受报文
- FIN:FIN=1释放连接
- 窗口:接收方窗口的大小
1. 超时重传 ARQ
RTT_S = \frac{7}{8}RTT_S + \frac{1}{8}RTT
RTO = RTT_S + 4 × RTT_D
RTT_D = \frac{3}{4}RTT_D + \frac{1}{4}|RTT - RTT_S|
2. 拥塞控制*
3. 握手
sequenceDiagram
Client->>Service: SYN = 1, seq = x
Service->>Client: SYN=1,ACK=1,seq=y,ack=x+1
Client->>Service: ACK = 1, seq = x+1, ack = y+1
sequenceDiagram
Client->>Service: FIN = 1, seq = u
Service->>Client: ACK=1,seq=v,ack=u+1
Service->>Client: FIN=1,ACK=1,seq=w,ack=u+1
Client->>Service: ACK = 1, seq = u+1, ack = w+1
UDP和TCP的区别
对比项目 |
UDP |
TCP |
连接 |
无连接 |
面向连接 |
面向 |
报文 |
字节流 |
交互通信方式 |
支持全部 |
一对一 |
首部开销 |
固定8字节 |
20字节以上 |
可靠 |
尽最大努力交付 |
提供可靠交付 |
第6章 应用层
域名解析 DNS
- 主机访问 www.baidu.com:
- 主机本地的映射缓存
- 本地域名服务器的映射缓存
- 本地域名服务器向根域名服务器查询,活得
.com
顶级域名服务器的地址
- 本地域名服务器向顶级域名服务器查询,获得
baidu.com
权限域名服务器的地址
- 本地域名服务器向权限域名服务器查询,获得
www.baidu.com
的IP地址
文件传输 FTP
- FTP:
- 使用TCP
- 一个端口21负责传送控制信息
- 一个端口20负责传送数据
- TFTP:
- 使用UDP
- 每次传送512字节
- 数据报文编号,从1开始
- 使用类似停止等待的方式实现可靠传输
超文本传输协议 HTTP
- URL:
- <协议> ?/ <主机> : [端口] / [路径]
- HTTP的端口默认为 80
- HTTP:
- 使用TCP
- 在建立TCP连接的第三次握手中发送HTTP请求报文
- HTTP/1.1使用长连接
- Proxy Server:
- 请求报文:
- GET /dir/index.html HTTP/1.1
- Host: www.xyz.edu.cn
- Connection: close
- User-Agent:
电子邮件
1. 简单邮件传送协议 SMTP
- 电子邮件分信封(
自动填入
)和内容
- 内容分首部和主体
- To: 收件人地址
- Subject: 主题
- Cc: 抄送
- Bcc: 暗送
- Reply-To: 让对方回信的地址
- From: 来自(
自动填入
)
- Date: 发信日期(
自动填入
)
3. 万维网电子邮件
- 浏览器和邮件服务器间使用HTTP协议
- 邮件在服务器之间传送仍然使用SMTP
动态主机配置协议 DHCP
- DHCP可以让主机自动获得IP地址
- 使用UDP
- 租用时间过了一半后像DHCP服务器申请延时
- DHCP客户端口68,DHCP服务器端口67