计算机网络整合笔记
一、计算机网络概述
1.1 计算机网络的定义
计算机网络是一个将物理位置不同的、具有独立功能的多台计算机通过通信线路连接起来,实现资源共享的系统。
1.2 计算机网络的组成
- 资源子网:提供共享的软件资源和硬件资源
- 通信子网:提供信息交换的网络结点和通信线路
1.3 计算机网络的类型
按拓扑分类:星型网络、总线型、环型、树型、全网状型、不规则型、混合型
按范围分类:
- 局域网(LAN)
- 城域网(MAN)
- 广域网(WAN)
按传输方式:有线网络、无线网络
1.4 计算机网络体系结构
- OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
- TCP/IP四层模型:网络接口层、网际层、运输层、应用层
1.5 传输方式
按传输方向:单工、半双工、全双工
按传输对象(方式):单播、多播、广播
1.6 数据交换
- 电路交换
- 报文交换
- 分组交换
1.7 网络协议三要素
- 语法:交换数据的格式和结构,以及数据出现的顺序
- 语义:发送者或接受者所要完成的操作,需要发出何种控制信息、完成何种动作、做出何种响应
- 同步:事件实现顺序以及速度匹配
1.8 性能指标
带宽、时延
时延类型:
- 发送时延:数据帧长度(bit)/ 发送速率(bit/s)
- 传播时延:信道长度(m)/ 电磁波在信道上的传播速率(m/s)
- 处理时延
- 排队时延
二、物理层
2.1 物理层特性
- 机械特性:接口是怎么样的(水晶头、光纤头)
- 电气特性:用多少伏的电
- 功能特性
- 过程特性:指明对于不同功能的各种可能事件的出现顺序
2.2 信号类型
- 模拟信号:特点频段的信号(调制)
- 数字信号:只有0和1(编码)
2.3 传输介质
- 双绞线
- 光纤
- 同轴电缆(淘汰)
- 无线
2.4 香农公式
C = W log₂(1+S/N)(bit/s)
其中:
- W:信道带宽(Hz)
- S/N:信噪比(信号平均功率/噪声平均功率)
- x dB = 10 log₁₀(S/N)
- C:信道的极限传输速率
结论:信道的带宽或者信道中的信噪比越大,信息的极限传输速率就越高。
2.5 信道复用技术
复用:多个用户使用一个IO资源发送消息 分用:多个用户使用一个IO资源接收消息
主要类型:
-
频分复用(FDM):用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。所有用户在同样的时间占用不同的带宽资源。
-
时分复用(TDM):将时间划分为一段段等长的时分复用帧,每一个用户所占用的时隙周期性地出现。所有用户在不同的时间占用同样的频带宽度。
-
波分复用(WDM):光的频分复用,使用一根光纤来同时传输多个光载波信号。
-
码分复用(CDM):用户使用不同码型,彼此无干扰。
-
统计时分复用(STDM):不固定分配时隙,按需动态分配时隙。
2.6 码分多址(CDMA)
原理:给每个站分配的码片序列各不相同且相互正交
优点:具有很强的抗干扰能力,频谱类似于白噪声,可以提高通信质量和数据传输的可靠性
缺点:占据带宽较大
计算规则:
- 结果为1则发送1
- 结果为-1则发送0
- 结果为0,则没发送数据
2.7 ADSL技术
用数字技术对现有的模拟电话用户线进行改造,使其能够承载宽带业务。
2.8 FTTX技术
一种实现宽带居民接入网的方案,代表多种宽带光纤接入方式。
- FTTH:光纤到家
- FTTB:光纤到大楼
- FTTC:光纤到路边
- FTTD:光纤到门户
- FTTF:光纤到楼层
2.9 调制技术
定义:对信号源的信息进行处理加到载波上,使其变为适合信道传输的形式的过程。就是使载波随信号而改变的技术。
理由:使信号适合在信道中传输
调整方法:
- 调幅(幅移键控)
- 调频(频移键控)
- 调相(移相键控)
调制前的电信号为基带信号,调制后的信号为带通信号。
三、数据链路层
3.1 主要任务
为网络中的相邻节点(直接通过链路相连的设备)之间提供帧的传输服务。
帧:点对点信道的数据链路层的协议数据单元
3.2 封装成帧
概念:数据链路层给上层交付的协议数据单元添加帧头和帧尾,使之成为帧
目的:接收端在收到物理层上交的比特流后,可根据首尾标记,识别帧的开始和结束
MTU:最大传送单元——数据链路层协议规定的所能传送的帧的数据部分长度上限
3.3 透明传输
保证无论发送什么样的比特组合的数据,都能按照原样无差错地通过数据链路层
- 无比特差错:接收端接受的帧无传输差错(可能有差错的帧被丢失)
- 无传输差错:即可靠传输——接收端收下的帧无差错、不丢失、不重复、且按序到达
3.4 差错检验
使网络中的结点尽早发现传输中出现了差错,减少对网络资源的浪费
3.5 CRC循环冗余校验
发送端:
- 构造被除数:待发送数据后面加k位0(k为生成多项式最高次)
- 构造除数:生成多项式每一位的系数形成的比特序列
- 做除法得余数:按位异或运算
- 检查余数:补充为k位,加在待发送数据后面
接收端:
- 重复发送端第2步、第3步
- 余数为0无误码,反之有误码
注意:仅仅采用CRC检验,缺少重传机制,数据链路层的传输还不是可靠的传输。
3.6 PPP点对点协议
特点:
- 简单——首要要求
- 封装成帧、透明传输、差错检验
- 多种网络层协议、多种类型链路
PPP不提供使用序号和确认的可靠传输
3.7 零比特填充
- 发送方:每5个连续的1,立即在后面插入一个0
- 接收方:每5个连续的1,立即删除后面的一个0
3.8 字节填充
- 发现0x7E就换成0x7D, 0x5E
- 发现0x7D就换成0x7D, 0x5D
3.9 局域网
特点:
- 网络为一个单位所拥有
- 地理范围和站点数目均有限
3.10 以太网
两个标准…
3.11 CSMA/CD协议
核心原则:先听后发,边发边听,冲突停发,延迟重发
载波侦听:
任何站点在发送数据前,必须先侦听共享信道的当前状态。
- 如果信道空闲(没有检测到载波信号),则等待一个帧间间隔后立即发送。
- 如果信道忙碌,则持续侦听,直到信道空闲后,再等待一个帧间间隔并发送。
多点接入:
碰撞检测(冲突检测):…
四、网络层
4.1 网际协议IP
相关协议:
- 地址解析协议ARP:从网络层使用的IP地址,解析出在数据链路层使用的硬件地址
- 网际控制报文协议ICMP(网络诊断工具ping)
- 网际组管理协议IGMP
4.2 分类的IP地址
- A类:0 + net-id(8位)+ host-id(24位)
- B类:10 + net-id(16位)+ host-id(16位)
- C类:110 + net-id(24位)+ host-id(8位)
- D类:1110 + 多播地址
- E类:1111 + 保留为今后使用
4.3 点分十进制记法
32位二进制,每8位一组,转十进制
格式:网络号 + 主机号
4.4 IP地址和硬件地址
- 硬件地址(物理地址):数据链路层和物理层使用的地址
- IP地址:网络层和以上各层使用的地址,是一种逻辑地址
4.5 IP数据报
一个IP数据报由首部和数据两部分组成。首部前一部分是固定长度(20字节),后面是一些可选字段(长度可变)。
首部字段:
- 版本:占4位,IP协议的版本(IPv4)
- 首部长度
- 区分服务
- 总长度:占16位,最长到65536字节(总长度受MTU影响,太长需要分片)
- 标识:一个计数器,用来产生IP数据报的标识
- 标志:占3位,目前只有两位有意义
- MF=1表示后面还有分片,MF=0表示最后一个分片
- DF=0时才允许分片
- 片偏移:较长的分组在分片后某片在原分组中的相对位置,以8个字节为偏移单位
- 生存时间:TTL(Time To Live)
- 协议
- 首部检验和:只检验数据报的首部,不管数据部分
4.6 IPv6
地址表示:128位,冒号分16进制,分8组,每组4个16进制数
简化规则:左侧零省略、连续零压缩(只能1次)
4.7 子网掩码
作用:标识两个IP地址是否属于同一个子网
判断方法:如果两个IP地址与同一个子网掩码进行&运算后结果相同,则属于同一个子网
4.8 CIDR(无分类域间路由选择)
目的:消除传统A、B、C类地址和划分子网的概念,更有效地分配IPv4的地址空间
核心概念:
- 用”网络前缀”代替分类地址中的网络号和子网号
- CIDR地址块:网络前缀相同的连续的IP地址
- 地址聚合:简化路由表
- 最长前缀匹配原则:查找路由表中从匹配结果中选择具有最长网络前缀的路由
网络前缀越长,其地址块就越小,路由就越具体
4.9 RIP距离向量算法
- 改写收到的信息(下一跳都记为C,距离+1)
- 相同的下一跳:更新
- 不同的下一跳:距离更短,更新;距离一样/更大,不改变
- 新的项目:添加进来
记忆口诀:新增加,短改变,长保留
4.10 ARP请求过程
-
ARP请求是广播:
- 计算机A想要和计算机B通信(已知B的IP地址,但不知其MAC地址)
- A会构造一个ARP请求分组,其中包含:“我的IP是IPA,我的MAC是MACA。请问IP地址为IPB的主机,你的MAC地址是什么?”
- 由于A不知道目标MAC,这个ARP请求帧的目的MAC地址是广播地址(FF:FF:FF:FF:FF:FF),因此局域网上的所有计算机都会收到这个帧
-
处理ARP请求:
- 每台收到广播ARP请求的计算机,都会查看请求分组中的”目标IP地址”字段
- 只有计算机B会发现,这个”目标IP地址”与自己的IP地址(IPB)一致
- 其他计算机(C, D, E…)发现目标IP不是自己的,就会丢弃这个ARP请求,不做任何响应
-
ARP响应是单播:
- 计算机B识别出这是发给自己的询问后,会立即构造一个ARP响应分组
- 这个响应分组不再是广播,而是直接以计算机A的MAC地址(MACA)作为目的地址进行单播回复
- 响应的内容是:“你好A,我是你要找的IPB,我的MAC地址是MACB。“
五、传输层
5.1 传输协议数据单元(TPDU)
5.2 UDP(用户数据包协议)
特点:
- 无连接的协议,提供无连接服务
- 支持单播、多播、广播
- 尽最大努力交付,不能保证可靠交付
- 简单
5.3 TCP(传输控制协议)
特点:
- 面向连接的运输层协议,在无连接、不可靠的IP网络服务基础上提供可靠交付
- 只支持点对点单播,不支持多播、广播
- 提供可靠服务
- 复杂
TCP核心特性:
- 面向连接:通信前需建立连接(三次握手),通信结束后释放连接(四次挥手)
- 可靠传输:通过确认应答(ACK)、重传机制、序号和校验和等确保数据无差错、不丢失、不重复、按序到达
- 流量控制:使用滑动窗口机制防止发送方发送过快导致接收方缓冲区溢出
- 拥塞控制:通过慢启动、拥塞避免等算法避免网络拥塞
复用与分用:
- 复用:多个应用进程可通过同一传输层协议发送数据
- 分用:传输层能将接收到的数据正确交付给指定的应用进程
5.4 端口
定义:端口是一个16位的整数,取值范围为0~65535
作用:在网络通信中,IP地址 + 端口号唯一标识一个通信端点(即”套接字”,Socket)
示例:192.168.1.10:80表示该主机上运行在80端口的Web服务
重要性:端口只存在于传输层协议(如TCP和UDP)中,用于多路复用和分用
进程到进程的通信:通过端口号来唯一标识主机上的应用进程
端口分类:
- 熟知端口:0-1023
- 登记端口号:1024-49151
- 动态/私有端口号:49152-65535
六、应用层
6.1 域名系统(DNS)
作用:把主机名字转换为IP地址
域名服务器分类:
- 根域名服务器
- 顶级域名服务器
- 权威域名服务器
- 本地域名服务器
6.2 FTP(文件传送协议)
File Transfer Protocol
6.3 URL(统一资源定位符)
定义:URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁表示
作用:URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位
6.4 HTTP(超文本传输协议)
定义:HTTP协议规定了浏览器怎样向服务器请求文档,以及服务器怎样把文档传送给浏览器
特点:使用TCP作为运输层协议,保证数据可靠传输
6.5 电子邮件协议
- SMTP:简单邮件传送协议
- POP3:邮件读取协议
- IMAP:邮件读取协议
七、OSI七层模型总结
| 层级 | 名称 | 主要设备 | 关键概念 |
|---|---|---|---|
| 7 | 应用层 | - | 应用程序接口 |
| 6 | 表示层 | - | 数据表示、加密解密 |
| 5 | 会话层 | - | 会话管理 |
| 4 | 传输层 | - | TCP、UDP、端口 |
| 3 | 网络层 | 路由器 | IP、子网、路由 |
| 2 | 数据链路层 | 交换机 | 帧、MAC地址、CSMA/CD |
| 1 | 物理层 | 集线器 | 比特、信号、传输介质 |