计算机网路期末复习
计算机网络概述
计算机网络的组成
- 资源子网:由计算机,终端以及相应的I/O设备,各种软件资源和数据资源组成
- 通信子网:主要为资源子网提供数据传输和转发等通信的能力
互联网的基本特点
- 连通性
- 共享
网络分类
-
个域网PAN( Personal Area Network )
能在便携式消费电器与通信设备之间进行短距离通信的网络覆盖范围一般在10米半径以内,如蓝牙耳机等
-
局域网LAN(Local Area Network)
局部地区形成的区域网络,如企业网络分布地区范围有限,可大可小,大到一栋建筑、小到办公室内的组网,电脑WLAN接入,打印机共享等等
-
城域网MAN(Metropolitan Area Network )
范围覆盖一个城市的网络
-
广域网WAN(Wide Area Network)
覆盖很大地理区域,乃至覆盖地区和国家
协议的三要素:
- 语法:规定格式
- 语义:规定操作
- 同步(时序)
时延
-
发送时延:又称传输时延。主机或路由器传送数据帧所需要的时间,发生在机器内部的发送器(网路适配器,又称网卡p36),数据链路层和物理层共同作用。
-
传播时延:电磁波在信道传播一定距离花费的时间。计算公式:传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
-
处理时延:主机或路由器收到分组时要花费一定时间进行处理。例如分析首部、提取数据部分、进行差错检测、查找转发表。
-
排队时延:发生在路由器里。
计算公式
-
总时延:就是以上四种之和。
总时延=发送时延+传播时延+处理时延+排队时延
-
时延带宽积:以比特为单位的链路长度。
时延带宽积=传播时延x带宽
重要概念
-
PDU:协议数据单元,对等层次之间传送的数据单位。
-
SDU:服务数据单元,层与层之间交换的数据的单位。
-
MTU:最大传送单元,帧的数据部分最大长度,即IP数据报的总长度(不包括帧头和帧尾!)
-
往返时间RTT:双向交互一次所需的时间。
-
信道利用率:
U = 1-空闲时的时延/当前时延
-
速率:又称数据率或比特率。单位bit/s或bps。前面加的字母是十进制表示!
如:K=10^3^ M=10^6^ G=10^9^
tip:在表示文件大小、 存储容量时要用二进制表示!
1K=2^10^=1024, M=2^20^, G=2^30^
-
信道带宽:最高数据率。表示网络中某信道传送数据的能力。单位是bit/s。
-
吞吐量:单位时间内通过某个网络的实际数据量。
-
时延:数据从网络或链路一端到另一端的所需时间
-
ISP:互联网服务提供者
网络核心的两大功能:
- 路由:确定数据分组从源到目标所使用的路径(全局操作)
- 转发:路由器或交换机将接收到的数据分组转发出去(即移动到该设备的某个输出接口)(本地操作)
互联网的组成:
- 边缘部分:又称资源子网,主要是主机。用户直接使用,用来进行通信和资源共享。
- 核心部分:又称通信子网,主要是路由器和网络。为边缘部分提供服务
网络分层
-
OSI 7层模型
数据链路层 (Data Link Layer)
实现相邻(Neighboring)网络实体间的数据传输 成帧(Framing):从物理层的比特流中提取出完整的帧 错误检测与纠正:为提供可靠数据通信提供可能 物理地址(MAC address):48位,理论上唯一网络标识,烧录在网卡,不便更改 流量控制,避免“淹没”(overwhelming):当快速的发送端遇上慢速的接收端,接收端缓存溢出 共享信道上的访问控制(MAC):同一个信道,同时传输信号。如同:同一个Wifi热点(AP连接着多个无线用户(手机),则多个用户同时需要发送数据,如何控制发送顺序?
网络层 (Network Layer)
将数据包跨越网络从源设备发送到目的设备(host to host) 路由(Routing):在网络中选取从源端到目的端转发路径,常常会根据网络可达性动态选取最佳路径,也可以使用静态路由 路由协议:路由器之间交互路由信息所遵循的协议规范,使得单个路由器能够获取网络的可达性等信息 服务质量(QoS)控制:处理网络拥塞、负载均衡、准入控制、保障延迟 异构网络互联:在异构编址和异构网络中路由寻址和转发
传输层 (Transport Layer)
将数据从源端口发送到目的端口(进程到进程) 网络层定位到一台主机(host),传输层的作用域具体到主机上的某一个进程 网络层的控制主要面向运营商,传输层为终端用户提供端到端的数据传输控制 两类模式:可靠的传输模式,或不可靠传输模式 可靠传输:可靠的端到端数据传输,适合于对通信质量有要求的应用场景,如文件传输等 不可靠传输:更快捷、更轻量的端到端数据传输,适合于对通信质量要求不高,对通信响应速度要求高的应用场景,如语音对话、视频会议等
会话层 (Session Layer)
利用传输层提供的服务,在应用程序之间建立和维持会话,并能使会话获得同步
表示层(Presentation Layer)
关注所传递信息的语法和语义,管理数据的表示方法,传输的数据结构
应用层(Application Layer)
通过应用层协议,提供应用程序便捷的网络服务调用
-
TCP/IP四、五层模型
作业题目
物理层*
- 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
- 物理层的作用是要尽可能地屏蔽掉不同传输媒体和通信手段的差异。
- 用于物理层的协议也常称为物理层规程 (procedure)。
三种通信方式:
-
单工通信:只有一个方向的通信,而没有反方向的交互。如广播。
-
半双工通信:双方都可以发送与接收,但不能同时发送或同时接收。如对讲机,使用CSMA/CD协议的以太网。
-
全双工通信:双方可以同时发送,同时接收。如打电话。
信噪比S/N:
S和N分别代表信号和噪声的有效功率
以分贝(dB)为度量单位 信噪比(dB)=10lg(S/N)(dB)
- 误码率BER:传输错误的比特占所传比特总数的比率。(提高信噪比,可以减小误码率)
数据交换方式
①分组交换:分组交换采用把一个个小的数据包存储转发传输来实现数据交换。
-
缺点:
- 不具有实时性。
- 存在延时。
- 会造成通信阻塞。
- 存在无用的重复数据。
- 会出现丢包的情况。
-
优点:
- 设计简单。
- 资源利用率很高。
②电路交换
-
电路连接的三个阶段:
- 建立连接。
- 数据传输。
- 释放连接。
-
优点:
- 传输速度快、高效。
- 实时。
-
缺点:
- 资源利用率低。
- 新建连接需要占据一定的时间,甚至比通话的时间还长。
以太网MAC帧 to 物理层:
加上8字节首部!
作业题目
数据链路层*
功能(要解决的问题)
-
封装成帧 (Framing)
将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链 路层功能需借助“帧”的各个域来实现
-
差错控制 (Error Control)
处理传输中出现的差错,如位错误、丢失等
-
流量控制 (Flow Control)
确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出
数据链路层提供的服务
-
无确认 无连接 服务( Unacknowledged connectionless )
接收方不对收到的帧进行确认 适用场景:误码率低的可靠信道;实时通信; 网络实例:以太网
-
有确认 无连接 服务( Acknowledged connectionless )
每一帧都得到单独的确认 适用场景:不可靠的信道(无线信道) 网络实例:802.11
-
有确认 有连接 服务( Acknowledged connection-oriented )
适用场景:长延迟的不可靠信道
CSMA/CD协议:
CSMA/CD的意思是载波监听多点接入/碰撞检测
-
四要点:
- 先听后发
- 边听边发
- 冲突停止
- 延迟重(后)发
-
多点接入说明这是总线型网络。
-
载波监听就是不管在发送数据前还是正在发送数据都不停地监听信道。
-
碰撞检测就是发送前监听信道,避免冲突,发送时监听信道,如果发现有其他站在发送,就立即中断本站的发送
零比特填充:(防止标志位和数据内容混淆,造成边界判断错误)
-
发送端
扫描整个信息字段,发现有连续5个1,就立即在后面添加1个0
-
接收方:
若出现连续5个1比特, 若下一比特为0,则为有效载荷,直接丢弃0比特; 若下一比特为1,则连同后一比特的0,构成定界符,一帧结束
数据链路层两种使用的信道:
-
点对点信道
- 一对一通信。
- 使用PPP协议。(PPP协议是目前使用最广泛的数据链路层协议。)
- 使用的协议数据单元PDU——帧,
-
广播信道:
- 一对多进行通信。
- 使用CSMA/CD协议。
- 采用以太网帧。(局域网(LAN)使用的就是广播信道。)
数据链路层的三个基本问题:封装成帧、透明传输、差错检测
-
封装成帧:将网络层传来的IP数据报加上首部和尾部(帧定界符),构成一个帧。
-
透明传输:(实际存在的事物但看起来像透明的),数据链路层对要传输的数据来说是“透明”的。使用字节填充法解决透明传输的转义字符问题。
-
差错检测:不纠错,只检错,错的帧就丢弃等待重传。
局域网
- 网络为一个单位所有,且地理范围和站点数目均有限。
- 局域网可以按网络拓扑结构进行分类
- 星型网(使用了集线器)
- 总线网
- 环形网
note:以太网逻辑拓扑——总线型,物理拓扑——星型拓扑
差错控制
-
背景
-
链路层存在的一个问题:信道的噪声导致数据传输问题
- 差错( incorrect ):数据发生错误
- 丢失( lost ):接收方未收到
- 乱序(out of order):先发后到,后发先到
- 重复(repeatedly delivery):一次发送,多次接收
-
解决方案:差错检测与纠正、确认重传
- 确认:接收方校验数据(差错校验),并给发送方应答,防止差错
- 定时器:发送方启动定时器,防止丢失
-顺序号:接收方检查序号,防止乱序递交、重复递交
差错检验与纠正
-
目标
保证一定差错检测和纠错能力的前提下,如何减少冗余信息量?
-
考虑的问题
信道的特征和传输需求 冗余信息的计算方法、携带的冗余信息量 计算的复杂度等
-
两种主要策略
-
检错码(error-detecting code)
在被发送的数据块中,包含一些冗余信息,但这些信息只能使接收方推断是否发生错误 但不能推断哪位发生错误,接收方可以请求发送方重传数据主要用在高可靠、误码率较 低的信道上,例如光纤链路偶尔发生的差错,可以通过重传解决差错问题
-
纠错码(error-correcting code)
发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有 错,并能纠正错误(定位出错的位置)主要用于错误发生比较频繁的信道上,如无线链 路也经常用于物理层,以及更高层(例如,实时流媒体应用和内容分发)使用纠错码的 技术通常称为前向纠错(FEC,Forward Error Correction)
-
常用的检错码包括:
-
奇偶检验 (Parity Check)
1位奇偶校验是最简单、最基础的检错码。 1位奇偶校验:增加1位校验位,可以检查奇数位错误。
-
校验和 (Checksum)
主要用于TCP/IP体系中的网络层和传输层
-
循环冗余检验CRC*
-
步骤:
- 通过生成多项式得到除数P(2进制,n位)
- 待传送的数据后面加上n-1个0,除以P得到余数R,这个R就是冗余码FCS。
- 将R加到待传送的数据后面,所得的数据除以P,得到的余数为0则判定这个帧没有差错。
-
帧检验序列FCS:通过CRC得到的余数,是添加在数据后面的冗余码。
-
补充:计算时一定要注意他给你的数据是待发送的,还是接收的!如果是接收的,就不要在后面加n-1个0了(注:凡是接收端数据链路层接收的帧均无差错)
-
例子:
D = 1010001101
n = 5
G = 110101 或 G = x5 + x4 + x2 + 1
R = 01110
实际传输数据:101000110101110
流量控制
链路层存在的另一个问题:
接收方的处理速率
接收方的接收缓冲区溢出
-
解决方案
- 基于反馈 (feedback-based) 的流量控制
- 接收方反馈,发送方调整发送速率
- 基于速率 (rate-based) 的流量控制
- 发送方根据内建机制,自行限速
媒体接入控制 MAC (Medium Access Control)子层
数据链路层分为两个子层:
- MAC子层:介质访问 (介质,访问,控制)数据帧的封装,卸装,帧的寻址和识别,帧的接受和发送,链路管理,帧差错控制等
- LLC子层:承上启下(弱层)(逻辑,控制,访问)传输可靠性保障和控制,数据包分段重组,顺序传输
虚拟局域网VLAN
将一个较大的局域网分割成一些较小的局域网,每一个小局域网是一个小的广播域。
虚拟局域网只是局域网提供给用户的一种服务,而不是一种新型局域网。
注意区分:虚拟专用网缩写是VPN
无线局域网(Wireless Local Area Network,WLAN)
指以无线信道作为传输介质的计算机局域网
-
模式
-
基础架构模式
- 分布式系统(DS)
- 访问点(AP)
- 站点(STA)
- 基本服务集(BSS)
- 扩展服务集(ESS)
- 站点之间通信通过AP转发
-
自组织模式(Ad hoc)
- 站点(STA)
- 独立基本服务集(IBSS)
- 站点之间直接通信
- 共享同一无线信道
-
-
无线局域网需要解决的问题
-
有限的无线频谱带宽资源
- 通道划分、空间重用
- 提高传输速率,解决传输问题
- 提高抗干扰能力和保密性
-
共享的无线信道
- 介质访问控制方法(CSMA/CA)
- 可靠性传输、安全性
-
组网模式管理
- BSS构建、认证、关联
- 移动性支持(漫游)
- 睡眠管理(节能模式)
-
100BASE-T以太网
是在双绞线上传送100Mbit/s基带信号的星型拓扑以太网。
仍使用CSMA/CD协议,又称快速以太网。
最短帧长不变,还是64字节争用期变成5.12µs,帧间最小间隔变成了0.96µs,都是10Mbit/s的1/10。
吉比特以太网
允许在1Gbit/s下以全双工和半双工两种方式工作。
以太网的适配器有过滤功能,包括三种帧
- 单播帧
- 广播帧
- 多播帧
作业题目
网络层*
网络层在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,
进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节
点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
-
网络层关键功能
- 路由(控制面)
- 选择数据报从源端到目的端的路径
- 核心:路由算法与协议
- 转发(数据面)
- 将数据报从路由器的输入接口传送到正确的输出接口
- 路由(控制面)
-
传输单元:数据报(分组)
-
(基于采用分组交换的数据传送方式)网络层提供两种服务
- 虚电路服务
- 数据报服务
主要差别在于虚电路需要建立连接,各分组按序到达终端
- 路由器之间传送的两大类信息
- 转发源主机和目的主机之间所传送的数据
- 传送路由信息
IPv4协议及其相关技术
-
基本概念
IPv4协议,网际协议版本4,一种无连接的协议,是互联网 的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6
-
internet协议执行两个基本功能
- 寻址(addressing)
- 分片(fragmentation)
-
IPv4数据报格式
-
版本: 4bit ,表示采用的IP协议版本
-
头部长度: 4bit,表示整个IP数据报首部的长度
-
优先级和服务类型: 8bit ,该字段一般情况下不使用
-
总长度: 16bit ,表示整个IP报文的长度,能表示的最大字节为2^16-1=65535字节
-
标识: 16bit , IP软件通过计数器自动产生,每产生1个数据报计数器加1;在ip分片以后,用来标识同一片分片
-
标志: 3bit,目前只有两位有意义。
- MF:置1表示后面还有分片,置0表示这是数据报片的最后1个;
- DF:不能分片标志,置0时表示允许分片
-
片偏移: 13bit,表示IP分片后,相应的IP片在总的IP片的相对位置
-
生存时间TTL(Time To Live) :8bit,表示数据报在网络中的生命周期,用通过路由器的数量来计量,即跳数(每经过一个路由器会减1)
-
协议:8bit,标识上层协议(TCP/UDP/ICMP…)
-
头部校验和:16bit ,对数据报首部进行校验,不包括数据部分
-
源地址:32bit,标识IP片的发送源IP地址
-
目的地址:32bit,标识IP片的目的地IP地址
-
选项:可扩充部分,具有可变长度,定义了安全性、严格源路由、松散源路由、记录路由、时间戳等选项
-
填充:用全0的填充字段补齐为4字节的整数倍
数据报分片
-
分片原因
-
数据报长度大于传输链路的MTU
MTU(Maximum Transmission Unit), 最大传输单元
链路MTU 路径MTU (Path MTU)
-
分片策略
允许途中分片:根据下一跳链路的MTU实施分片 不允许途中分片:发出的数据报长度小于路径MTU(路径MTU发现机制)
-
重组策略
途中重组,实施难度太大 目的端重组(互联网采用的策略) 重组所需信息:原始数据报编号、分片偏移量、是否收集所有分片
-
IPv4分片策略
IPv4分组在传输途中可以多次分片
源端系统,中间路由器(可通过标志位设定是否允许路由器分片,DF标志位)
IPv4分片只在目的IP对应的目的端系统进行重组
IPv4分片、重组字段在基本IP头部
标识、标志、片偏移
IPv6分片机制有较大变化(见IPv6部分的介绍)
- 分组 (packet) 与 帧(frame)的关系
IP协议功能及报头字段总结
-
网络层基本功能
支持多跳寻路将IP数据报送达目的端:目的IP地址 表明发送端身份:源IP地址 根据IP头部协议类型,提交给不同上层协议处理:协议
-
其它相关问题
数据报长度大于传输链路的MTU的问题,通过分片机制解决:标识、标志、片偏移 防止循环转发浪费网络资源(路由错误、设备故障…),通过跳数限制解决:生存时间TTL IP报头错误导致无效传输,通过头部机校验解决:首部校验和
-
IP地址,网络上的每一台主机(或路由器)的每一个接口都会分配一个全球唯一的32位的标识符
-
将IP地址划分为固定的类,每一类都由两个字段组成
-
网络号相同的这块连续IP地址空间称为地址的前缀,或网络前缀
-
IP地址共分为A、B、C、D、E五类,A类、B类、C类为单播地址
-
IP地址的书写采用点分十进制记法,其中每一段取值范围为0到255
- IP特殊地址
作业题目
传输层*
作业题目
应用层
作业题目
网络安全
作业题目