计算机网络
- 计算机网络体系结构
- 定义
- 组成
- 局域网和广域网
- 因特网常见标准
- 常用网络参数
- 协议
- OSI各层作用和协议
- 物理层
- 串行传输和并行传输
- 同步传输和异步传输
- 通信方式
- 码元速率
- 比特率
- 奈奎斯特定理
- 香农定理
- 编码方式
- 模拟信号编码的步骤
- 交换方式
- 多模光纤和单模光纤
- 数据链路层
- 组帧方法
- 差错控制
- 流量控制
- 介质访问控制
- 以太网
- 部分设备和作用
- 网络层
- 功能
- 路由算法
- IPv4
- IPv6
- 网络地址转换
- DHCP
- 网络层常用协议
- 传输层
- 功能
- 常用端口
- 主要协议
- UDP
- TCP
- 建立TCP连接
- 释放TCP连接
- TCP可靠传输机制
- 流量控制
- 拥塞控制
- 应用层
- 网络应用架构
- DNS
- HTTP
- 常用应用层协议
计算机网络体系结构
定义
计算机网络是互联的自治的计算机系统的集合。
组成
硬件、软件和协议。
包括资源子网和通信子网。
局域网和广域网
局域网基本采用广播式网络,广域网基本属于点对点网络。
因特网常见标准
- RFC文档
- ISO制定的OSI参考模型
- IEEE:802标准
常用网络参数
带宽:通信线路所能传送数据的能力。
发 送 时 延 = 数 据 长 度 带 宽 发送时延=\frac{数据长度}{带宽} 发送时延=带宽数据长度
传 播 时 延 = 信 号 长 度 电 磁 波 速 率 传播时延=\frac{信号长度}{电磁波速率} 传播时延=电磁波速率信号长度
时 延 带 宽 积 = 传 播 时 延 × 信 道 带 宽 时延带宽积=传播时延×信道带宽 时延带宽积=传播时延×信道带宽
协议
作用:控制两个对等实体进行通信。包括语法、语义和同步。
OSI各层作用和协议
层 | 作用 | 协议 |
---|---|---|
应用层 | 用户应用 | HTTP、FTP、SMTP |
表示层 | 统一编码 | |
会话层 | 建立会话 | |
传输层 | 复用分用、差错控制、流量控制 | TCP、UDP |
网络层 | 路由选择、差错控制、流量控制、拥塞控制 | IP、ICMP |
数据链路层 | 成帧、差错控制、流量控制 | Wi-Fi |
物理层 | 传输比特流 | RJ45 |
物理层
串行传输和并行传输
串行传输:数据在一条信道上依次传输
并行传输:数据在多条并行信道上同时进行传输
同步传输和异步传输
同步传输:使用同步信号,使发送端和接收端的时钟同步后进行数据传输
异步传输:使用开始位和结束位标记数据的起始和结束
通信方式
单工通信:一条单方面的信道
半双工通信:两条单方向的信道
全双工通信:一条双方向的信道
码元速率
1波特表示每秒传输1个码元
比特率
单位时间传输的比特数
比 特 率 = 码 元 速 率 × 每 个 码 元 所 含 的 比 特 比特率=码元速率×每个码元所含的比特 比特率=码元速率×每个码元所含的比特
奈奎斯特定理
理 想 数 据 传 输 速 率 = 2 W log 2 V 理想数据传输速率=2W\log_2V 理想数据传输速率=2Wlog2V
香农定理
数 据 传 输 速 率 = W log 2 ( 1 + S / N ) 数据传输速率=W\log_2(1+S/N) 数据传输速率=Wlog2(1+S/N)
编码方式
以太网:曼切斯特编码
局域网:差分曼切斯特编码
模拟信号编码的步骤
采样、量化、编码
交换方式
交换方式 电路交换 报文交换 分组交换 数据报方式 虚电路方式报文交换和分组交换都采用存储转发的方式。
多模光纤和单模光纤
多模光纤利用全反射原理;单模光纤直径位一个波长,光源为激光。
数据链路层
组帧方法
- 字符计数法:在帧头部使用一个计数字段来标明帧内字符数
- 字符填充法:使用特定字符定界帧的开始和结束
- 比特填充法:01111110标志一帧的开始和结束,在信息中遇到5个连续的“1”时,自动在其后面插入一个“0”
- 违规填充法:使用冗余编码违规使用来对帧定界
差错控制
- 奇偶校验码
- 循环冗余码
流量控制
- 停止-等待协议:发送的帧得到确认后发送下一帧
- GBN协议:发送窗口内均可发送,接收方只按顺序接收,累积确认
- SR协议:发送窗口内均可发送,接收方无序接收,逐个确认,选择重传
介质访问控制
静态分配信道:
频分、时分、波分、码分
动态分配信道:
- ALOHA:效率18%
- 时隙ALOHA:效率36%
- CSMA/CD:具有碰撞检测的载波侦听多路访问协议;为了确保能够有效检测碰撞,以太网规定最短帧长为64B。若检测到碰撞,则延迟一个随机时间重传,重传16次仍不能成功,抛弃该帧。
- CSMA/CA:用于无线局域网
以太网
逻辑拓扑为总线型,采用曼切斯特编码。
部分设备和作用
设备名称 | 工作层 | 能否隔离冲突域 | 能否隔离广播域 |
---|---|---|---|
集线器、中继器 | 物理层 | × | × |
交换机、网桥 | 数据链路层 | √ | × |
路由器 | 网络层 | √ | √ |
网络层
功能
路由选择、分组转发、拥塞控制
路由算法
- 距离矢量算法
RIP v2 network 192.168.1.0/24 声明自己所连的网段
BGP BGP发言人运行BGP和AS内部协议(AS:自治系统) - 链路状态算法
OSPF network 192.168.1.0 0.0.0.255
OSPF划分若干Area,路由器只知道本区域的细节,无需知道其他区域,只需要把分组交付给对应的边界路由器
IPv4
首部长度:20B
分类:
- A类(1.0.0.0-126.255.255.255)
- B类(128.0.0.0-191.255.255.255)
- C类(192.0.0.0-223.255.255.255)
- D类(224.0.0.0-239.255.255.255)
- E类(240.0.0.0-255.255.255.255)
IPv6
首部长度:40B
地址共 2 128 2^{128} 2128个
网络地址转换
网络地址转换(NAT)是指通过将专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址。它使得整个专用网只需要一个全球IP地址就可以与因特网连通,大大节省了IP地址的消耗。
DHCP
中文名称为动态主机配置协议,用于自动配置IP地址,是一个应用层的协议。
客户机 服务器 DHCP发现 DHCP提供 DHCP请求 DHCP确认 客户机 服务器网络层常用协议
英文缩写 | 中文名称 | 功能 |
---|---|---|
ARP | 地址解析协议 | IP地址到MAC地址的映射 |
ICMP | 网际控制报文协议 | 主机或路由器报告差错或异常情况 |
传输层
功能
为不同主机的进程之间提供逻辑通信
常用端口
应用 | 端口 |
---|---|
FTP | 21 |
TELNET | 23 |
SMTP | 25 |
DNS | 53 |
HTTP | 80 |
HTTPS | 433 |
主要协议
UDP
无连接
首部8B
常用于网络电话、实时视频会议、流媒体(边看边传输)
TCP
面向连接
保证有序、可靠交付
点对点
首部20B
建立TCP连接
客户机 服务器 SYN=1,seq=x SYN=1,ACK=1,seq=y,ack=x+1 ACK=1,seq=x+1,ack=y+1 客户机 服务器释放TCP连接
客户机 服务器 FIN=1,ack=u,seq=v ACK=1,seq=u,ack=v+1 仍可有单向数据传输 FIN=1,seq=w,ack=v+1 ACK=1,seq=v+1,ack=w+1 客户机 服务器TCP可靠传输机制
- 序号
- 确认
- 重传(超时、冗余ACK)
流量控制
在确认报文中设置接收窗口rwnd的值来限制发送速率
拥塞控制
- 慢开始:当 c w n d < s s t h r e s h cwnd<ssthresh cwnd<ssthresh时,以 2 n 2^n 2n增加cwnd
- 拥塞避免:当 c w n d > s s t h r e s h cwnd>ssthresh cwnd>ssthresh时, c w n d = c w n d + 1 cwnd=cwnd+1 cwnd=cwnd+1
- 快重传:三个冗余ACK,直接重传对方期待的报文
- 快恢复:三个冗余ACK, c w n d = c w n d 2 cwnd=\frac{cwnd}{2} cwnd=2cwnd, s s t h r e s h = c w n d ssthresh=cwnd ssthresh=cwnd
- 超时: s s t h r e s h = c w n d 2 ssthresh=\frac{cwnd}{2} ssthresh=2cwnd, c w n d = 1 cwnd=1 cwnd=1,重回慢开始
应用层
网络应用架构
- C/S 客户机、服务器模式
- B/S 浏览器、服务器模式
- P2P 对等方相互通信
DNS
传输层使用UDP,端口53
查询方式:
- 递归查询(比较少用)
- 迭代+递归查询(常用)
HTTP
HTTP1.1默认使用持久连接,一个TCP连接可以传输多个资源
URL:统一资源定位符,负责标识万维网上各种文档
常用应用层协议
协议 | 传输层协议 | 端口 |
---|---|---|
FTP | TCP | 21、20 |
TELNET | TCP | 23 |
SMTP | TCP | 25 |
DNS | UDP | 53 |
HTTP | TCP | 80 |
POP3 | TCP | 110 |