计算机网络复习
1 计算机网络及其参考模型
设备
- 局域网设备
- 集线器Hub 第一层 信号转发
- 网桥bridge 第二层 LAN分段、识别MAC地址
- 交换机switch 第二层 多端口网桥
- 路由器router 路径选择,转发
- 广域网设备
- 路由器
- 调制解调器modem
以太网是局域网
internet互联网是广域网
数据包
为了传输,将计算机数据分割成小的数据单元,OSI模型中可能被叫做frame、packet或segment
为什么要使用数据包?
- 计算机可以轮流发送包
- 如果包遗失,只需要重发少量数据
- 可以通过不同的路径传输
分层模型
为什么要使用分层模型?
- 降低复杂度
- 标准化接口
- 促进模块化工程
- 保证协作技术
- 促进发展
- 简化教学和学习
OSI参考模型:
- 1~4层 数据流层
- 第一层:物理层(Physical),二进制传输;关键词:信号、介质。
- 第二层:数据链路层(Data Link),介质访问;关键词:帧、媒介访问控制;提 供数据的可靠传输,与物理寻址、网络拓扑、网络接入、错误通知、帧的顺序传 送和流控制有关。
- 第三层:网络层(Network),寻址和最优路径选择关键词:路径选择、路由、寻 3 址;在路由时提供连接和路径选择。
- 第四层:传输层(Transport),终端对终端的连接;关键词:可靠性、流控制、 错误校正。
- 5~7层 应用层
- 第五层:会话层(Session),内部宿主连接;关键词:会话;管理表现层实体间 的数据交换。
- 第六层:表现层(Presentation),数据显示和加密;关键词:通用格式;与数据 结构和数据传输语法间的协商有关。
- 第七层:应用层(Application),用户界面;关键词:浏览器;向用户程序提供 网络服务。
TCP/IP模型:
-
网络接口层:
- 主要是指物理层次的一些接口,比如电缆等.
-
网络层:
- 从任何互联网上的网络发送源包,不依靠路径和网络让它们到达目的地
- 最好路径选择和包交换发生在这层
-
传输层:
- 处理服务质量事务,如可靠性、流控制和误差校正
-
应用层:
- 处理高等级协议、辅助事务、加密和会话控制
TCP/IP和OSI的异同点
- 相同点
- 都分层,网络专业两个都需要了解
- 都有应用层
- 都有相似的网络层和传输层
- 都是用数据包进行交换
- 不同点
- TCP/IP看起来更简单,因为层数少
- TCP/IP 协议是互联网发展的基石,所以TCP/IP模型获得可信度就是因为它的协议
- 尽管OSI模型被用作是一个引导,但网络不是基于OSI协议建立的。
网络拓扑
总线
-
物理视角
每个主机都连线到总线上-
优势:所有主机都可以直接通讯
-
劣势:一个电路中断会导致所有主机无法互联
-
-
逻辑视角
- 每一个网络设备都可以看到其他设备发出的信号
环形
- 物理视角
- 所有设备直接相互连接
- 逻辑视角
- 为了信息流动,每一个站点都要让信息通过,去相邻的站点
双环形
-
物理视角
在环形拓扑的基础上增加一个冗余环路,提高了可靠性和灵活性。
优势:可靠、灵活
-
逻辑视角
双环拓扑就像两个独立的环,同一时间使用其中一个
星型
-
物理视角
星型拓扑有一个中心节点,其它链路由中心散射开去
- 优势:它允许所有其它节点方便地互相通讯。保障安全、隐私性
- 劣势:如果中心节点失效了,整个网络就断了。依赖于网络设备的类型,冲突是个问题
-
逻辑视角
所有信息流都会通过同一个设备
树形
- 物理视角
- 树干是有多层树枝的电路
- 逻辑视角
- 信息流是分层的
完全
- 物理视角
- 优点:连通性和可靠性最大化
- 缺点:链路媒介数量多
- 逻辑视角
- 需要控制以最佳路径进行传输
蜂窝
- 物理视角
- 蜂窝拓扑用于无线技术
- 逻辑视角
- 节点直接相互通讯 (尽管有时很艰难);或者只与相邻细胞(窝)通讯,这样效率很低
2 OSI物理层
网络类型
- 共享介质环境
- 多个主机访问同样的介质
- 点对点网络环境
- 一个设备通过链路与另一个设备连接
传输媒介
-
UTP 无屏蔽双绞线
- 由 4 对细铜线组成,每根线外使用颜色的塑料隔离; 只有最外层的一个外部护套。
- 有效距离100m,带宽10~100Mbps
- 优点:抗干扰能力强、传输距离远、布线容易、价格低廉、直径小易安装
- 缺点:有电流损耗、易受影响,要远离大型电器
-
Coaxial 同轴电缆 粗缆、细缆
- 有效距离500m,带宽10~100Mbps
- 优点:
- 不用中继器时比双绞线传输距离更远
- 比光缆便宜,比双绞线贵
-
Fiber-Optic 光缆
- 单模3000m,多模2000m,100+Mbps
- 优点:长距离传输,没有电磁干扰;未来发展趋势好(主要成分为二氧化硅,易获得)
- 缺点:成本高
单模光纤(Singlemode) 多模光纤(Multimode) 直射 反射 细 粗 多用于WAN 多用于LAN 损耗小(不散射),传输距离远、快 传输距离短、慢 -
无线通信
-
频率是区分不同电磁波的主要方式。(频分复用)
-
介质:
-
激光(laser)
部署在中间没有障碍物的
-
红外(infrared)
不能跨障碍物
-
无线电(Radio)
波长长,衍射,可以跨障碍物,易受干扰(雨天、其他设备。。)
-
-
UTP
-
线缆种类
-
Straight 直通线
- 两头都是T568A或者都是T568B
- 连接主机/路由器→交换机
-
Rollover 反转线/控制线
- 在一个末端的引脚1连接到另一个末端的引脚8,然后引脚2连接引脚7,引脚3连接引脚6,以此类推
- 主机→路由器/交换机,进行控制
-
Crossover 交叉电缆
- 一端568A,一端568B
- 把两个交换机或路由器连成一个(两个8口→一个14口)
- 连接两个独立的工作站来形成一个迷你局域网
- 连接PC和路由器
-
发送信号和通讯问题
- 传播
- 速度由介质决定
- 衰减
- 因为环境影响,信号随着距离损失
- 反射
- 介质不连续性导致
- 噪音
- 计时问题
- 色散——信号变宽
- 抖动——来源和目的不同步
- 时延——网络信号延迟
冲突和冲突域collision domains
- 通过增加中继器和集线器,扩展冲突域
- 通过增加智能设备,如网桥、交换机和路由器,可以将网络分段
通信基础
- 信号:数据的电气或电磁表现
- 模拟信号 连续
- 数字信号 离散
- 码元 ——在使用时间域的波形表示数字信号时,代表不同离散值的基本波形(eg 8种码元可以传输三位)
编码
-
单极性编码
- 用0电平表示“0”,正电平表示“1”
- 缺点:难以分辨开始和结束;发送方和接收方要有时钟同步
-
极化编码-不归零电平编码NRZ
- 用负电平表示“0”,正电平表示“1”(或相反)
- 缺点同上
-
极化编码-不归零电反相编码NRZ
- 信号电平的一次翻转代表比特1,无电平变化代表0
- 可以根据电平跃迁进行有限的同步
-
极化编码-归零制码RZ
- 用负电平表示“0”,正电平表示“1”(或相反),比特中位跳变到零电平,从而提供同步
- 带同步信息
- 需要三个电平,增加了占用带宽
-
曼彻斯特码
- 每一位中间都有一个跳变,从低跳到高表示“0”,从高跳到低表示“1”
- 提供同步
-
差分曼彻斯特码
- 每一位中间跳变:表示时钟,每一位位前跳变:表示数据,有跳变表示“0”,无跳变表示“1”
-
双极性编码: ——双极性传号交替反转码AMI
- 零电平表示“0”,正负电平的跃迁表示“1”,实现对“1”电平的交替反转。
- 连续1可以同步
名词解释
- UTP
- unshielded twisted pair 无屏蔽双绞线
- STP
- shielded twisted pair 屏蔽双绞线,
- EMI
- 电磁干扰(Electro-Magnetic Interference)
- RFI
- 射频干扰(Radio Frequency Interference)
- IEEE—Institute of Electrical and Electronics Engineers美国电气和电子工程师协会
- IEEE主要关注以太网技术标准的制订。IEEE的工作重点是以传统以太网为基础,研究制定应用于城域网的新型以太网技术标准。
- UL—Underwriters Laboratories美国保险商安全标准
- EIA—Electronic Industries Alliance电子工业协会
- TIA—Telecommunications Industry Association美国通信工业协会
- ANSI—American National Standards Institute美国国家标准学会
- Line coding:
- 线路编码,将数字数据转换到数字信号
- NRZ
- non-return to zero,不归零编码
- RZ
- return to zero,归零编码
- TDM
- time division multiplexing 时分复用
- 将时间划分为等长的TDM帧,每个用户占据的时隙周期性出现,TMD信号也称等时信号;
- 可能造成线路资源的浪费
- STDM
- static TDM 统计时分复用
- FDM
- frequency division multiplexing 频分复用
- 所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽)
- WDM
- wavelength division multiplexing 波分复用
- 光的频分复用
- CDM
- code division multiplexing 码分复用
- CDMA
- code division multiple access 码分多址
- 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
- Simplex Transmission(单工)
- 无方向性—只单方向传送
- 示例:电视机.
- Half-Duplex Transmission(半双工)
- 信号可以两个方向传送,但是不能同时
- Full-Duplex Transmission(全双工
- 信号可以两个方向同时传送
3 OSI 数据链路层
概述
- 解决问题:怎么在一个不稳定的链路中传输数据
- 提供服务:
- 对网络介质的访问(3个由LLC提供给网络层的服务)
- 无应答的无连接服务(用于可靠链路,上层保证数据正确性;实时任务;大部分LAN)
- 有应答的无连接服务(不可靠链路,如无线网络)
- 损失带宽 /2
- 有应答的连接服务
- 通过介质的物理传输
- 对网络介质的访问(3个由LLC提供给网络层的服务)
- 第二层协议定义了:
- 链路上数据交换的格式
- 链路上两个节点的行为
- 主要任务
- 错误通知
- 网络拓扑
- 流量控制
第一层和第二层的区别:
- 第1不能和高层通讯;第2层通过逻辑链路控制Logical Link Control (LLC)做这件事
- 第1层不能从一个群体中,决定即将传输或接收二进制数据的主机,第2层通过介质访问控制Media Access Control (MAC)做这件事
- 第1层不能给计算机命名;第2层有命名过程
- 第1层只能描述比特流;第2层用帧,组织比特
LAN数据传输方式:
单播unicast、多播multicast、组播broadcast
介质访问控制
- 以太网
- 逻辑总线拓扑,物理星型或者拓展星型
- 令牌环
- 环形拓扑
- FDDI
- 双环形
方式:
- 决定性——轮流
- 令牌环/FDDI
- 非决定性(概率性)——先来先服务
- 以太网/802.3
MAC
802.3 向下传输
- 定义了怎样在物理线缆传输帧
- 处理物理寻址
- 定义网络拓扑
- 定义网线使用规则
前导码、源MAC地址、目的MAC地址、长度(暗示后面数据的字节)、数据(46~1500)、帧校验序列
LLC
802.2 向上层网络层传输
- 逻辑上识别不同协议类型并封装
- 依赖于上层协议
- 获取网络协议数据,然后加入更多的控制信息来帮助传送包到目的地
- 一个单独的LLC子层可以和不同的MAC子层相配
MAC地址
-
48位,通常表示为12位十六进制
- 前6位——制造商和供应商的身份
- 后6位——由供应商管理分配
-
广播地址 全1(FFFF.FFFF.FFFF)
CSMA/CD
标准
无线标准:
802.11 星型拓扑
802.11b 也叫WIFI 11Mbps 2.4Ghz
(a在发展的时候出现了问题,所有先有了b)
802.11a 54Mbps 5Ghz
802.11g 和a一样的吞吐率,兼容b
802.11n 下一代WLAN 108Mbps
速度越来越快
WLAN
访问流程:扫描
-
主动扫描
- 想要加入网络的无线节点发送探测请求,包含要连接网络的SSID
- 匹配的AP发送一个探测响应
- 认证和连接完毕
-
被动扫描
- 监听AP发送的信标管理帧
- 收到想要加入网络的SSID的信标时,连接
-
802.11数据帧
-
四个地址字段
-
4 网络层
Packet
- 版本 v4 or v6
- 首部长度 最大15,单位是4字节(即图中一行)
- 可选部分最大位10行
- 服务类型,基本不用了
- 总长度:首部+数据部分,最大不超过MTU
- 标识:有时候报文过大要拆,通过标识来合并
- 标志
- MF=0说明是最后一个分片
- 片偏移:较长的分组分片后的相对位置,以8字节作为偏移单位
- 分片长度要是8的整数倍
- 生存时间:TTL,每个路由器转发时-1,到0了就扔掉
- 协议:指出数据携带何种协议,方便目的主机向上交付
- 首部检验和:只检验首部
IP地址
32位
- 网络号
- 主机号
地址分类
- A类地址
- 0~127
- B类地址
- 128~191
- C类地址
- 192~223
- D类地址 多播
- 224~239
- E类地址 保留
- 240~255
主机号全0和全1不可用!!
私有地址:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
子网
- 最少借两位
- 以前不支持全0、全1子网
- 最少留两位主机号
- 全0、全1不可用
ARP
地址解析协议
获取与IP地址相关的MAC地址
-
请求(广播)
-
检查,如果目的IP=本IP,做出回应
-
应答
-
缓存
与不在同一个网段设备通信的方法:
-
默认网关:
为了让一个设备可以和别的网络中的设备通讯,你必须给它提供一个默认网关
目的地址不在本网段,就将默认网关设为MAC目的
-
代理ARP
网络层服务
-
面向连接的
-
传输数据前在发送者和接收者之间建立连接
-
-
无连接
-
分别处理每一个包,如IP
-
线路交换:所有包在同一个虚拟路线上传输
包交换:包传输会切换到不同的路径,可能乱序到达
routed protocol & routing protocol
- routed/routable protocol 被路由/可路由协议
- 可以被路由器转发的协议,如IP,IPX
- routing protocol
- 路由器之间的协议
- RIP,IGRP,EIGRP,OSPF
静态路由vs动态路由:
静态路由:
- 隐藏了部分网络
- 可测试网路中某个特定的链接
- 当只有一条路径到达目的网络时,便于维持路由表
- 优点:节省了CPU、带宽和路由内存,具有更高的安全性
动态路由:
- 维持路由表
- 定时更新
- 基于routing protocol
- 可适应变化的网络
IGP vs EGP:
- IGP 内部网关协议 (RIP IGRP EIGRP OSPF...)
- 用于自治系统
- EGP 外部网关协议 (EGP BGP)
- 用于自治系统之间传送包
DVP vs LSP:
- DVP 距离矢量协议
- 从相邻的视角看网络拓扑
- 路由器之间添加矢量
- 周期性更新
- 复制路由表,传给邻居
- LSP 链路状态协议
- 了解整个网络拓扑
- 计算去其他路由的最短路径
- 事件触发更新
- 把链路状态路由的更新信息发给其他路由
VLSM(大题必考)
可变长子网掩码
允许一个自治系统有不同的子网掩码
子网划分(避免地址浪费)
原则:先分配地址多的,从数字小的子网开始分起
例1:192.168.10.0/24
-
分配60个主机,需要6位
.00/26
-
分配28个主机,需要5位
010/27
-
分配12个主机,需要4位
0110/28
0111/28
-
分配2位的,需要2位
100000/30
100001/30
100010/30
例2:
注意1:路由器间也有LAN1,要3个地址
-
分配150个主机
0./24
-
分配91个主机
1.0/25
-
分配15个主机
1.100/27
-
分配3个主机
1.10100/29
-
分配3个主机
1.10101/29
路由聚合
取最长公共网络地址
ICMP
作为IP数据报的数据,加上数据报的首部组成IP数据报发送出去
不发送ICMP差错报文的情况:
- 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文
- 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文
- 对具有多播地址的数据报都不发送 ICMP 差错报告报文
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送 ICMP 差错报告报文
8&9 路由、路由器、路由协议
路由表
路由表的表项中C表示直连地址;S表示静态路由;S*表示默认静态路由
RAM、NVRAM
易失性 存储
- 路由表
- ARP
- 快速交换缓存
- 包缓存、队列
RAM存 running config
NVRAM存 startup config
FLASH
可读可写,存ISO系统镜像
ROM
仅可写,引导程序
bootstrap program
系统启动
- 运行ROM中引导文件
- 加载FLASH中的ISO
- 运行NVRAM中的配置文件,若没有则进入setup mode
路由器功能
- 交换
- 接受来自接口的包然后将它通过第二个接口转发出去
- 路径选择
- 选择最合适的接口来转发包
- 静态路由
- 动态路由
- 选择最合适的接口来转发包
对比DV和LS
- 距离矢量:
从邻居的视角来看网络拓扑
从路由器到路由器,增加距离矢量
周期性、频繁的更新,汇聚慢
向相邻的路由器发送路由表的副本
-
链路状态:
OSPF、ISIS
常需要占用更多的内存、CPU 运算量和带宽。对内存的要求源于使用了链路状态数据库和创建 SPF 树的需要。
获得整个网络拓扑的整体构造
计算到达其它路由的最短路径
事件触发更新,汇聚快
把链路状态更新的部分发给其它路由器
路由协议的目标
- 最优路径
- 高校
- 快收敛 rapid convergence
- 灵活性
默认路由
使得路由表更多
若目的地址不在路由表中,走默认路由
RIP v1 vs v2
v1
-
不发送掩码
-
255.255.255.255上广播更新
-
不支持VLSM、CIDR(classless inter-domain routing)
-
无验证
v2
- 无类路由
- 发送掩码
- 组播更新,224.0.0.9
- 身份验证
对比OSPF和RIP
-
OSPF
使用带宽作为度量衡
适用于大型网络
可以进一步划分网络
支持 VLSM
快速汇聚
支持等耗的多种路径
-
RIP
使用跳数来计数
适用于小型网络 (15跳)
宽等级设计
不支持 VLSM (RIP v1)
距离管理
10 局域网交换和VLAN
交换机的功能
- 基于MAC地址建立和维持交换表
- 在接口交换帧,发往目的地址
交换机的工作原理
讲解交换机传输数据帧的过程
1)主机A会将一个源MAC地址为自己,目标MAC地址为主机B的数据帧发送给交换机。
2)交换机收到此数据帧后,首先将数据帧中的源MAC地址和对应的接口(接口为f 0/1) 记录到MAC地址表中。
3)然后交换机会检查自己的MAC地址表中是否有数据帧中的目标MAC地址的信息,如果有,则从MAC地址表中记录的接口发送出去,如果没有,则会将此数据帧从非接收接口的所有接口发送出去(也就是除了f 0/1接口)。
4)这时,局域网的所有主机都会收到此数据帧,但是只有主机B收到此数据帧时会响应这个广播,并回应一个数据帧,此数据帧中包括主机B的MAC地址。
5)当交换机收到主机B回应的数据帧后,也会记录数据帧中的源MAC地址(也就是主机B的MAC地址),这时,再当主机A和主机B通信时,交换机根据MAC地址表中的记录,实现单播了。
当局域网存在多个交换机互联的时候,交换机的MAC地址表是怎么记录的呢
1)主机A将一个源MAC地址为自己,目标MAC地址主机C的数据帧发送给交换机
2)交换机1收到此数据帧后,会学习源MAC地址,并检查MAC地址表,发现没有目标MAC地址的记录,则会将数据帧广播出去,主机B和交换机2都会收到此数据帧。
3)交换机2收到此数据帧后也会将数据帧中的源MAC地址和对应的接口记录到MAC地址表中,并检查自己的MAC地址表,发现没有目标MAC地址的记录,则会广播此数据帧。
4)主机C收到数据帧后,会响应这个数据帧,并回复一个源MAC地址为自己的数据帧,这时交换机1和交换机1都会将主机C的MAC地址记录到自己的MAC地址表中,并且以单播的形式将此数据帧发送给主机A。
5)这时,主机A和主机C通信就是一单播的形式传输数据帧了,主机B和主机C通信如上述过程一样,因此交换机2的MAC地址表中记录着主机A和主机B的MAC地址都对应接口f 0/1。
总结:从上面的两幅图可以看出,交换机具有动态学习源MAC地址的功能,并且交换机的一个接口可以对应多个MAC地址,但是一个MAC地址只能对应一个接口。
注意:交换机动态学习的MAC地址默认只有300S的有效期,如果300S内记录的MAC地址没有通信,则会删除此记录。
- 对称交换
- 提供同带宽端口之间的交换
- 非对称交换
- 提供不同带宽端口之间的交换
- 需要交换机的内存缓冲
- 交换方法
- store-and-forward —— 接收整个完整的帧,进行CRC校验
- cut-through
- fast forward switching —— 快速交换,只看MAC地址
- fragment free —— 读取前64位
STP
步骤:
- 选择根网桥
- 每一个不是根的网桥必须选择一个根端口
- 根端口是距离网桥最近的端口
- 根路径开销是到达根网桥的所有链接开销的累计
- 选择指定端口
详细见https://www.cnblogs.com/cpaulyz/p/12859995.html
VLAN
会考一道VLAN间通信的大题
这个写的巨详细!https://blog.csdn.net/liufuchun111/article/details/90710838
特征:
- 不被物理交换网段限制的,一个逻辑上的网络设备或用户的集合
- 逻辑组合,不论物理网段地址
- 构造了一个新的广播域,就像一个子网
VLAN中帧怎么用?
- 帧过滤,根据MAC地址或者第三层协议类型
- 帧标记,在转发的时候在放一个独特的VLAN标识符
5 OSI 传输层
功能
- 将应用层数据分段
- 建立端到端的操作
- 将segment从主机发送到主机
- 流量控制和可靠性
TCP UDP对比
- TCP
- 可靠传输
- 面向连接
- 段检查
- 丢失重传
- 确认
- 流量控制
- UDP
- 不可靠
- 无连接
- 不提供软件检查段
- 不确认
- 不提供流操作
- 相同点
- 都用端口来跟踪同一时间穿过网络的不同通讯
- 小于255的端口号保留给TCP 和 UDP 公共应用
熟知端口,数值一般为 0~1023,这些数值可在网址www.Iana-org 查到。IANA 把这些端口号指派给了TCPIIP 最重要的一些应用程序,让所有的用户都知道.
登记端口号,数值为1024-49151 。这类端口号是为没有熟知端口号的应用程序使用的。使用这类端口号必须在IANA 按照规定的手续登记,以防止重复
socket
socket = (IP_address, port)
connection = (socket_source, socket_destination)
TCP
TCP的功能:
- 可靠传输
- 流量控制
- 滑动窗口、避免拥塞
- 连接管理
- 三次握手
- 四次握手
- 点对点,不支持多播和广播
- 全双工
报文
- 端口号
- 运输层和应用层的服务接口
- 多路复用、多路分解的基础
- 序号
- 指本报文段数据的第一个字节的序号,溢出后从0重新开始
- e.g. 一报文段的序号字段值是301.而携带的数据共有100字节。这就表明:本报文段的数据的第一个字节的序号是301.最后一个字节的序号是400
- 确认号
- 是期望收到对方的下一个报文段的数据的第一个字节的序号
- 数据偏移
- 即首部长度,单位是32位字(即一行)
- 最大15,所以数据偏移最大15x4=60字节,这也是TCP首部最大长度
- URG = 1 尽快送达
- ACK = 1 确认号字段有效
- PSH = 1 尽快向上交付,而不是等缓存满了再交付
- RST = 1 TCP连接中出现严重差错,要释放连接重新建立
- SYN = 1 说明是连接请求或连接接受报文
- FIN = 1 释放连接用
- 窗口
- 让对方设置发送窗口,单位字节
- 检验和
- 包括首部和数据
- 紧急指针
- 指出本报文段紧急数据的长度
- 选项
- MSS(不包括首部!)
建立连接
- 第一次握手:客户端发送一个SYN=1,ACK=0的TCP段
- 第二次握手:服务端发送一个SYN=1,ACK=1的TCP段
- 如果没有监听端口,返回一个RST=1的TCP段
- 第三次握手:客户端发送一个SYN=0,ACK=1的TCP段
- 为什么要三次握手?主要是为了防止己失效的连接请求报文段突然又传送到了B ,因而产生错误。
注意:这里的ACK是CTL字段,ack是确认号(有时也用大写),可能有这样的表示
ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
可靠传输
-
停止等待协议
-
每个段和ACK必须有ID
-
发送后保留一个副本,只有收到确定后才清除副本并发下一个
-
重发时间>平均运输时间的两倍
-
-
ARQ 自动重传
- 维护一个发送窗口
- 收到一个确认后发送窗口向前滑动
流量控制
也可以利用可变窗口来进行流量控制
释放连接
- 客户端发送一个FIN=1的报文
- 进入进入FIN-WAIT-l (终止等待1)状态,等待服务器的确认。
- 服务器发送FIN=0,ACK=1的确认报文
- 进入CLOSEWAIT(关闭等待)状态,TCP 服务器进程这时应通知高层应用进程
- (half-close)状态,即A 己经没有数据要发送了,但B 若发送数据, A 仍要接收。
- A 收到来自B 的确认后,就进入FIN-WAIT-2 (终止等待2) 状态
- 若服务器没有要发送的报文了,就向客户端发送FIN=1的释放报文
- 确认号仍要和前述的一致
- B 就进入LAST-ACK (最后确认)状态
- 客户端收到连接释放报文后,发送FIN=0,ACK=1的确认报文
- 客户端进入TIME-WAIT (时间等待)状态,TCP连接还没释放!
- 必须经过时间等待计时器(TIME-WAIT timer)设置的时间2MSL 后, A 才进入到CLOSED 状态
Q1:为什么要等2MSL
防止第四条B没有收到,经过2MSL后会收到B会重新发送的第三条
Q2:关于确认号
注意见图!很重要
UDP
好处
- 不需要建立连接
- 简单:尽最大努力交付
- 更小的报文首部
- 没有拥塞控制,尽可能快
应用(选择题会考!)
- 流媒体(容忍包丢失、对速率敏感)
- RIP 周期性发送信息
- DNS 避免连接费时
- SNMP 避免拥塞
- TFTP、DHCP。。。
NAT和PAT
- 是在IP包首部,用一个地址换另一个地址的过程
- 允许私有地址的主机访问因特网
- IP地址损耗的一种解决方法
三种类型:
- 静态NAT
- 私有IP地址转换为公有IP地址,一对一,不变地
- 优点
- 可用一小部分全局地址来服务大量私有地址
- 缺点
- 一对一映射
- 动态NAT
- 先到先服务地映射
- PAT
- 端口地址转换用于允许多个因特网用户分享一个单独的内部全局地址
6 OSI 会话、表示、应用层
会话层
-
作用:建立、管理、终止应用程序之间的会话
- 例如是半双工还是其他的(传输层确定能通信,会话层确定怎么通信)
-
checkpoint 检查点
- 把会话分割成明显的会话单元session,过去的成为对话dialogue
- 会话分离是有序地初始化、终止和管理通讯
- 这样当网络出现故障就从最后一个检查点开始重传数据(下载100M的文件,下载到95M网络断线只需要再次下载最后5M)
-
应用
- NFS: Network File System,网络文件系统
- SQL: Structured Query Language,结构化查询语言
- RPC: Remote Procedure Call,远程过程调用
- X Window System,X视窗系统
- ASP: AppleTalk Session Protocol,AppleTalk会话协议
- SCP: DNA Session Control Protocol,DNA(Digital Network Architecture,数字网络架构) 会话控制协议
展示层
负责以接收设备可理解的方式呈现数据
- 格式化数据
- ASCII和EBCDIC
- GIF和JPEG
- 压缩数据
- 数据加密
应用层
HTTP
URL := <URL的访问方式>://<主机>:<端口>/<路径>
- 无状态的
- 无连接的,虽然使用了面向连接的TCP
FTP 和 TFTP
- FTP
- 使用TCP,可靠、面向连接的服务
- 首先建立控制连接 21端口
- 然后建立数据传输需要的连接 20端口
- TFTP
- UDP
- 小且容易实施
Telnet
远程登录
SMTP和POP
SMTP来发送邮件
POP来接收邮件
MIME
将非ASCII码转为ASCII码
SNMP
用于在网络设备之间管理信息交换的应用层协议
DNS
域名解析系统
负责管理域名,将域名翻译成IP地址
-
越往前层数越高
-
TLD (top level domain)
- 包括国家(cn、us);通用(com、net、org、gov)等;
-
迭代/递归
7 DHCP
概述
- 可以高效地分配IP地址
- 局域网的网络协议
- 使用UDP来实现
工作流程
- 发现阶段
- DHCP Client开始并不知道DHCP Server的ip地址,因此以广播的方式发出DHCP Discover报文
- 响应阶段
- DHCP Server在IP地址池中查找合法的IP地址通过DHCP Offer报文提供给DHCP Client
- 选择阶段
- DHCP Client选择一个DHCP Offer报文(一般选择最先收到的DHCP Offer报文),向网络发送一个DHCP Request广播数据包
- 确认阶段
- DHCP Server接收到DHCP Request消息后,以DHCP ACK消息向DHCP Client广播成功的确认;出错则广播否定确认消息DHCP NAK
- 租期续约(可选)
- DHCP Client直接向为其提供IP地址的DHCP Server发送DHCP Request消息,收到回应的DHCP ACK消息后, DHCP Client根据所提供的新的租期以及其它更新的TCP/IP参数更新自己的配置,IP租用更新完成
- 租期释放
- 当DHCP Client不再需要使用分配IP地址时,就会主动向DHCP Server发送Release报文,告知不再需要分配IP地址, DHCP Server会释放被绑定的租约
DHCP欺骗
原理:
- 接收第一个到达的服务器提供的网络配置参数。
- DHCP的网络中,基本上都会采用DHCP中继,因此本网络的非授权DHCP服务器一般都会先于其余网络的授权DHCP服务器的应答
用DHCP Relay代理可以去掉在每个物理的网段都要有DHCP服务器的必要,它可以传递消息到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。
11 广域网
概念
广域网运行在OSI前三层,主要在物理层和数据链路层
-
物理结构
-
SVC的三个阶段
- 建立回路
- 数据传输
- 终止连接
-
PVC
- 永久建立,减少带宽使用,增加开销
WAN与OSI参考模型
广域网标准主要描述的是OSI中的物理层和数据链路层
-
广域网物理层
- 描述怎样提供电学的、机械的、操作的、功能的连接到广域网服务的协议
- 这些服务通常从广域网服务提供者那里获得
- 描述数据终端设备(DTE)和数据回路终端设备(DCE)之间的接口
- DCE是服务提供者,DTE是连接设备。给DTE的服务通过modem或者CSU/DSU变得可用
-
数据链路层封装
- PPP(point-to-point protocol)
- HDLC(high level data link protocol)
- 支持点对点和多点
- Frame Relay帧中继
- 简单的封装,无差错检验
- ISDN(Integrated Services Digital Network 综合业务数字网)
- 从已有的电话线传输声音和数据
- LAPB(Link access procedure,balanced)平衡型链路接入规程
- X.25帧的第二层封装
- 支持点对点的可靠性和流量控制
PPP/HDLC
PPP
- 在建立连接时检查链路质量
- 包含一个识别网络层协议的帧
- 支持动态分配IP地址
- 支持身份认证
- 支持压缩
- 支持错误检验
- 支持PAP、CHAP
HDLC
- 没有窗口或流量控制
- HDLC帧并不兼容其它供应商的设备,只有专线两端的连接都是运行思科IOS的路由器,HDLC才能被使用
PPP帧格式
PPP会话建立/终止
- 建立链路
- 发送LCP,包含配置
- 链路质量测定
- 根据LCP包
- 网络层协议配置
- 发送NCP包
- 链路终止
PAP
password authentication protocol 通行码鉴别协定
- 两次握手
- 远程节点重复发送,直到被应答
- 密码明文发送
- 连接建立阶段,只会被鉴别一次
CHAP
- 三次握手
ISDN
综合业务数字网(ISDN)允许数字信号通过已有的电话线传输
有BRI和DRI两个服务
这TM考过,我服了
- BRI
- 两个B频道和一个D频道 2B+1D = 144kbps
- B频道 64kbps
- D频道 16kbps
- 两个B频道和一个D频道 2B+1D = 144kbps
12 网络安全
概述
四种威胁
- 截获
- 中断
- 篡改
- 伪造
被动攻击:攻击者观察和分析某一个数据协议单元PDU而不干扰信息流
主动攻击:攻击者对某个连接中通过的PDU处理
- 更改报文流
- 拒绝报文服务
- 伪造连接初始化
密码体制
-
对称密钥密码体制
- 加密密钥和解密密钥相同,对称密钥系统
-
公钥密码体制
-
使用不同的加密密钥和解密密钥,“由加密密钥推导出解密密钥在计算上不可行”
-
公钥和私钥是一组,选一个当公钥,另一个就是私钥
-
加密算法和解密算法是公开的
-
公钥加密:只有私钥持有者可以解(收)
-
私钥加密:只有私钥持有者可以发
-
-
-
安全性取决于密钥长度以及攻破密文所需的计算量
数字签名
保证以下三点
- 报文鉴别——接受者可以核实签名
- 报文的完整性——发送者事后不能抵赖对报文的签名
- 不可否认——接收者不能伪造报文的签名
使用私钥加密实现
优化:双层加密
防火墙
内:可信赖的网络
外:不可信赖的网络
-
功能
- 阻止、允许
-
分类
- 网络级防火墙
- 防止整个网络出现外来非法的入侵。分组过滤和授权服务器
- 应用级防火墙
- 从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用
- 网络级防火墙
-
ACL
-
按顺序匹配,一旦匹配到了,就停止
-
隐式的“deny any”在末尾,也就是说如果没有匹配项,则拒绝
-
access-list-number
- 1~99:标准ACL
- 根据地址
- 100~199:拓展ACL
- 还可目的地址、根据协议、端口号
- 标准配在距离目的近的,拓展配在距离目的远的(防止把其他的也deny掉了)
access-list 1 deny 192.5.5.10 0.0.0.255(反掩码)
any = 0.0.0.0 255.255.255.255
host [address] = [address] 0.0.0.0
- 1~99:标准ACL
-