计算机网络知识汇总(超详细整理)
Posted Dreamchaser追梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络知识汇总(超详细整理)相关的知识,希望对你有一定的参考价值。
文章目录
- 前言
- 一、计算机网络概述
- 二、物理层
- 三、数据链路层
- 四、网络层
- 五、传输层
- 六、应用层
- 写在最后
前言
为了准备期末考试,同时也是为了之后复习方便,特对计算机网络的知识进行了整理。本篇内容大部分是来源于我们老师上课的ppt。而我根据自己的理解,将老师的PPT整理成博文的形式以便大家复习查阅,同时对于一些不是很清楚的地方,我去查阅了相关资料进行补充,当然也会有少部分个人看法夹带其中来帮助大家理解。
应评论要求这里放上本文的思维导图以供大家更好的查看
一、计算机网络概述
1 互联网的构成
网络边缘:位于互联网边缘与互联网相连的计算机和其他设备,如桌面计算机、移动计算机、服务器、其他智能终端设备
网络核心:由互联端系统的分组交换设备和通信链路构成的网状网络
如:分组交换路由器、链路层交换机、通信链路(光纤、铜缆、无线电、激光链路)
2.网络分类
个域网PAN( Personal Area Network )
- 能在便携式消费电器与通信设备之间进行短距离通信的网络
- 覆盖范围一般在10米半径以内,如蓝牙耳机等
局域网LAN(Local Area Network)
- 局部地区形成的区域网络,如企业网络
- 分布地区范围有限,可大可小,大到一栋建筑、小到办公室内的组网
- 电脑WLAN接入,打印机共享等等
城域网MAN(Metropolitan Area Network )
- 范围覆盖一个城市的网络
广域网WAN(Wide Area Network)
- 覆盖很大地理区域,乃至覆盖地区和国家
3.接入网
接入网的用途
- 接入网的用途是将主机连接到边缘路由器上
- 边缘路由器是端系统Host去往任何其他远程端系统的路径上的第一台路由器
各种异构网络通过边缘路由器接入
接入网分类:
- 光纤到户FTTH
- 数字用户线DSL
- 同轴电缆
- 无线接入
- 企业和家庭网络
4.网络核心的两大功能
①路由
确定数据分组从源到目标所使用的路径(全局操作)
②转发
路由器或交换机将接收到的数据分组转发出去(即移动到该设备的某个输出接口)(本地操作)
5.网络分层
①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 4层模型
③两种模型比较
注:我们教材的是以下分层来讲述的
二、物理层
- 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
- 物理层的作用是要尽可能地屏蔽掉不同传输媒体和通信手段的差异。
- 用于物理层的协议也常称为物理层规程 (procedure)。
1.物理介质
①引导型介质
信号在固体介质中传播,例如铜、光纤、同轴电缆
光纤
- 高速运行
高速点对点传输(10-100 Gbps) - 低错误率
中继器相距很远,对电磁噪声免疫
双绞线
- 两根绝缘铜线互相缠绕为一对
- 电话线为1对双绞线,网线为4对双绞线,广泛用于计算机网络(以太网)双向传输
- 第5类:100 Mbps~1 Gbps;第6类:10Gbps
- 传输距离一般为为100米
同轴电缆
- 两根同心铜导线,双向传输
- 电缆上的多个频率通道
- 带宽可达100Mbps
- 传输距离一般为200米
②非引导型介质
信号自由传播,例如无线电(陆地无线电、卫星无线电信道)
无线电
- 电磁频谱中各种“波段”携带的信号
- 没有物理“电线”
- 不依赖介质的广播
- 半双工(发送方到接收方)
无线链路类型
- 无线局域网(WiFi)
10-100 Mbps;10米 - 广域(如3/4/5G蜂窝)
在~10公里范围内 - 蓝牙:短距离,有限速率
- 地面微波:点对点;45 Mbps
- 同步卫星:36000km高空, 280毫秒的往返时延
- 低轨卫星:近地,但围绕地球高速运动,需要大量卫星才能覆盖地球
2.数据交换方式
①分组交换
分组交换采用把一个个小的数据包存储转发传输来实现数据交换。
主要的一些缺点:
1、不具有实时性。
2、存在延时。
3、会造成通信阻塞。
4、存在无用的重复数据。
5、会出现丢包的情况。
优点:
1、设计简单。
2、资源利用率很高。
②电路交换
电路连接的三个阶段:
1、建立连接。
2、数据传输。
3、释放连接。
优点:
1、传输速度快、高效。
2、实时。
缺点:
1、资源利用率低。
2、新建连接需要占据一定的时间,甚至比通话的时间还长。
电路交换的多路复用
频分多路复用FDM
时分多路复用TDM
3.信道复用
复用 (multiplexing) 是通信技术中的基本概念。
它允许用户使用一个共享信道进行通信,降低成本,提高利用率。
①频分复用
- 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
- 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
②时分复用
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
③波分复用
波分复用就是光的频分复用。使用一根光纤来同时传输多个光载波信号。
④码分复用
各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
三、数据链路层
1.功能(要解决的问题)
成帧 (Framing)
将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助“帧”的各个域来实现
差错控制 (Error Control)
处理传输中出现的差错,如位错误、丢失等
流量控制 (Flow Control)
确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出
2.数据链路层提供的服务
1.无确认 无连接 服务( Unacknowledged connectionless )
- 接收方不对收到的帧进行确认
- 适用场景:误码率低的可靠信道;实时通信;
- 网络实例:以太网
2.有确认 无连接 服务( Acknowledged connectionless )
- 每一帧都得到单独的确认
- 适用场景:不可靠的信道(无线信道)
- 网络实例:802.11
3.有确认 有连接 服务( Acknowledged connection-oriented )
- 适用场景:长延迟的不可靠信道
3.成帧(Framing)
3.1 要解决的关键问题:如何标识一个帧的开始?
- 接收方必须能从物理层接收的比特流中明确区分出一帧的开始和结束,这个问题被称为帧同步或帧定界
- 关键:选择何种定界符?定界符出现在数据部分如何处理?
3.2 成帧(framing)的方式
①带比特填充的定界符法
定界符:两个0比特之间,连续6个1比特,即01111110,0x7E
发送方检查有效载荷:若在有效载荷中出现连续5个1比特,则直接插入1个0比特
接收方的处理:
若出现连续5个1比特,
若下一比特为0,则为有效载荷,直接丢弃0比特;
若下一比特为1,则连同后一比特的0,构成定界符,一帧结束
②物理层编码违例
- 核心思想:选择的定界符不会在数据部分出现
- 4B/5B编码方案
4比特数据映射成5比特编码,剩余的一半码字(16个码字)未使用,可以用做帧定界符
例如: 00110组合不包含在4B/5B编码中,可做帧定界符 - 前导码
存在很长的 前导码(preamble),可以用作定界符
例如:传统以太网、802.11 - 曼切斯特编码 / 差分曼切斯特编码
正常的信号在周期中间有跳变,持续的高电平(或低电平)为违例码,可以用作定界符
例如:802.5令牌环网
4.差错控制
4.1 背景
链路层存在的一个问题:信道的噪声导致数据传输问题
- 差错( incorrect ):数据发生错误
- 丢失( lost ):接收方未收到
- 乱序(out of order):先发后到,后发先到
- 重复(repeatedly delivery):一次发送,多次接收
解决方案:差错检测与纠正、确认重传
- 确认:接收方校验数据(差错校验),并给发送方应答,防止差错
- 定时器:发送方启动定时器,防止丢失
- 顺序号:接收方检查序号,防止乱序递交、重复递交
4.2 差错检验与纠正
目标
保证一定差错检测和纠错能力的前提下,如何减少冗余信息量?
考虑的问题
- 信道的特征和传输需求
- 冗余信息的计算方法、携带的冗余信息量
- 计算的复杂度等
两种主要策略
- 检错码(error-detecting code)
在被发送的数据块中,包含一些冗余信息,但这些信息只能使接收方推断是否发生错误但不能推断哪位发生错误,接收方可以请求发送方重传数据主要用在高可靠、误码率较低的信道上,例如光纤链路偶尔发生的差错,可以通过重传解决差错问题
- 纠错码(error-correcting code)
发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误(定位出错的位置)主要用于错误发生比较频繁的信道上,如无线链路也经常用于物理层,以及更高层(例如,实时流媒体应用和内容分发)使用纠错码的技术通常称为前向纠错(FEC,Forward Error Correction)
常用的检错码包括:
①奇偶检验 (Parity Check)
1位奇偶校验是最简单、最基础的检错码。
1位奇偶校验:增加1位校验位,可以检查奇数位错误。
②校验和 (Checksum)
主要用于TCP/IP体系中的网络层和传输层
③循环冗余校验 (Cyclic Redundancy Check,CRC)
数据链路层广泛使用的校验方法
CRC校验码计算方法
- 设原始数据D为k位二进制位模式
- 如果要产生n位CRC校验码,事先选定一个n+1位二进制位模式G (称为生成多项式,收发双方提前商定),G的最高位为1
- 将原始数据D乘以2^n (相当于在D后面添加 n 个 0),产生k+n位二进制位模式,用G对该位模式做模2除,得到余数R(n位,不足n位前面用0补齐)即为CRC校验码
CRC校验码计算示例
- D = 1010001101
- n = 5
- G = 110101 或 G = x5 + x4 + x2 + 1
- R = 01110
- 实际传输数据:101000110101110
④汉明码
目标:以奇偶校验为基础,找到出错位置,提供1位纠错能力
- 给定n位待发送的数据,首先确定校验位的个数k(根据2^k≥k+n+1)
- 确定校验位在码流中的位置,2^i,i=0,1,2,……,得到校验位P_1,P_2,P_4,P_8,……
- 确定分组,即每个校验位分别负责哪些数据位
P_1负责位置号的二进制符合XXXX1形式的数据位,即1,3,5,7,9,……
P_2负责位置号的二进制符合XXX1X形式的数据位,即2,3,6,7,10,……
P_3负责位置号的二进制符合XX1XX形式的数据位,即4,5,6,7,12,13,14,15,…… - 基于偶校验确定每组的校验位(0或1)
注: 汉明码是采用奇偶校验的码。它采用了一种非常巧妙的方式,把这串数字分了组,通过分组校验来确定哪一位出现了错误。
实际的海明码编码的过程也并不复杂,我们通过用不同过的校验位,去匹配多个不同的数据组,确保任何一个数据位出错,都会产生一个多个校验码位出错的唯一组合。这样,在出错的时候,我们就可以反过来找到出错的数据位,并纠正过来。当只有一个校验码位出错的时候,我们就知道实际出错的是校验码位了。
5.流量控制
链路层存在的另一个问题:接收方的处理速率
- 接收方的接收缓冲区溢出
解决方案
- 基于反馈 (feedback-based) 的流量控制
接收方反馈,发送方调整发送速率 - 基于速率 (rate-based) 的流量控制
发送方根据内建机制,自行限速
6.媒体接入控制 MAC (Medium Access Control)子层
数据链路层分为两个子层:
MAC子层:介质访问
LLC子层:承上启下(弱层)
6.1 信道分配问题
① 时分多址接入-TDMA
TDMA: time division multiple access
- 按顺序依次接入并使用信道
- 每个用户使用固定且相同长度的时隙
- 某时隙轮到某用户使用时,该用户没有数据要发送,则该时隙被闲置
例子: 6-user LAN, 1,3,4时隙有数据发送, 2,5,6时隙被闲置
② 频分多址接入-FDMA
FDMA: frequency division multiple access
- 信道总频带被划分为多个相同宽度的子频带
- 每个用户占用一个子频带,不管用户是否有数据发送
例子: 6-user LAN, 1,3,4频带有数据发送, 2,5,6频带被闲置
6.2 多路访问协议
6.2.1 随机访问协议
特点:冲突不可避免
①ALOHA
纯ALOHA协议
原理:想发就发!
特点:
- 冲突:两个或以上的帧
- 随时可能冲突
- 冲突的帧完全破坏
- 破坏了的帧要重传
分隙ALOHA
- 分隙ALOHA是把时间分成时隙(时槽)
- 时隙的长度对应一帧的传输时间。
- 帧的发送必须在时隙的起点。
- 冲突只发生在时隙的起点
②载波侦听多路访问协议CSMA
特点:“先听后发”
改进ALOHA的侦听/发送策略分类
非持续式CSMA
1.特点
①经侦听,如果介质空闲,开始发送
②如果介质忙,则等待一个随机分布的时间,然后重复步骤①
2.好处
等待一个随机时间可以减少再次碰撞冲突的可能性
3.缺点
等待时间内介质上如果没有数据传送,这段时间是浪费的
持续式CSMA
p-持续式CSMA
1.特点
①经侦听,如介质空闲,那么以 p的概率 发送,以(1–p)的概率延迟一个时间单元发送
②如介质忙,持续侦听,一旦空闲重复①
③如果发送已推迟一个时间单元,再重复步骤①
1-持续式CSMA
1.特点
①经侦听,如介质空闲,则发送
②如介质忙,持续侦听,一旦空闲立即发送
③如果发生冲突,等待一个随机分布的时间再重复步骤①
2.好处:持续式的延迟时间要少于非持续式
3.主要问题:如果两个以上的站等待发送,一旦介质空闲就一定会发生冲突
4.注意
1-持续式是p-持续式的特例
6.2.2 受控访问协议
特点:克服了冲突
①位图协议(预留协议)
竞争期:在自己的时槽内发送竞争比特
- 举手示意
- 资源预留
传输期:按序发送
- 明确的使用权,避免了冲突
②令牌传递
令牌:发送权限
令牌的运行:发送工作站去抓取,获得发送权
- 除了环,令牌也可以运行在其它拓扑上,如令牌总线
- 发送的帧需要目的站或发送站将其从共享信道上去除;防止无限循环
缺点:令牌的维护代价
③二进制倒计数协议
站点:编序号,序号长度相同
竞争期:有数据发送的站点从高序号到低序号排队,高者得到发送权
特点:高序号站点优先
6.2.3 有限竞争协议
利用上述二者的优势
①自适应树搜索协议(Adaptive Tree Walk Protocol)
- 在一次成功传输后的第一个竞争时隙,所有站点同时竞争。
- 如果只有一个站点申请,则获得信道。
- 否则在下一竞争时隙,有一半站点参与竞争(递归),下一时隙由另一半站点参与竞争
- 即所有站点构成一棵完全二叉树。
6.3虚拟局域网VLAN
广播域(Broadcasting Domain)
- 广播域是广播帧能够到达的范围;
- 缺省情况下,交换机所有端口同属于一个广播域,无法隔离广播域;
- 广播帧在广播域中传播,占用资源,降低性能,且具有安全隐患。
VLAN是一个在物理网络上根据用途,工作组、应用等来逻辑划分的局域网络,与用户的物理位置没有关系。
通过路由器或三层交换机进行VLAN间路由,实现VLAN间通信。
VLAN类型
-
基于端口的VLAN
-
基于MAC地址的VLAN
-
基于协议的VLAN
-
基于子网的VLAN
6.4无线局域网WLAN
无线局域网(Wireless Local Area Network,WLAN):指以无线信道作为传输介质的计算机局域网
基础架构模式(Infrastructure)
- 分布式系统(DS)
- 访问点(AP)
- 站点(STA)
- 基本服务集(BSS)
- 扩展服务集(ESS)
- 站点之间通信通过AP转发
自组织模式(Ad hoc)
- 站点(STA)
- 独立基本服务集(IBSS)
- 站点之间直接通信
- 共享同一无线信道
无线局域网需要解决的问题
1.有限的无线频谱带宽资源
- 通道划分、空间重用
- 提高传输速率,解决传输问题
- 提高抗干扰能力和保密性
2.共享的无线信道
- 介质访问控制方法(CSMA/CA)
- 可靠性传输、安全性
3.组网模式管理
- BSS构建、认证、关联
- 移动性支持(漫游)
- 睡眠管理(节能模式)
四、网络层
1.网络层概述
网络层在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
2.网络层关键功能
- 路由(控制面)
- 选择数据报从源端到目的端的路径
- 核心:路由算法与协议
- 转发(数据面)
- 将数据报从路由器的输入接口传送到正确的输出接口
3.Internet网际协议
3.1 IPv4协议及其相关技术
3.1.1 基本概念
IPv4协议,网际协议版本4,一种无连接的协议,是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6
internet协议执行两个基本功能
- 寻址(addressing)
- 分片(fragmentation)
3.1.2 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字节的整数倍
3.1.3 数据报分片
分片原因
数据报长度大于传输链路的MTU
MTU(Maximum Transmission Unit), 最大传输单元
- 链路MTU
- 路径MTU (Path MTU)
分片策略
- 允许途中分片:根据下一跳链路的MTU实施分片
- 不允许途中分片:发出的数据报长度小于路径MTU(路径MTU发现机制)
重组策略
- 途中重组,实施难度太大
- 目的端重组(互联网采用的策略)
- 重组所需信息:原始数据报编号、分片偏移量、是否收集所有分片
IPv4分片策略
- IPv4分组在传输途中可以多次分片
- 源端系统,中间路由器(可通过标志位设定是否允许路由器分片,DF标志位)
- IPv4分片只在目的IP对应的目的端系统进行重组
- IPv4分片、重组字段在基本IP头部
- 标识、标志、片偏移
- IPv6分片机制有较大变化(见IPv6部分的介绍)
注:分组 (packet) 与 帧(frame)的关系
3.1.4 IP协议功能及报头字段总结
网络层基本功能
- 支持多跳寻路将IP数据报送达目的端:目的IP地址
- 表明发送端身份:源IP地址
- 根据IP头部协议类型,提交给不同上层协议处理:协议
其它相关问题
- 数据报长度大于传输链路的MTU的问题,通过分片机制解决:标识、标志、片偏移
- 防止循环转发浪费网络资源(路由错误、设备故障…),通过跳数限制解决:生存时间TTL
- IP报头错误导致无效传输,通过头部机校验解决:首部校验和
3.2 IP地址
3.2.1 概述
-
IP地址,网络上的每一台主机(或路由器)的每一个接口都会分配一个全球唯一的32位的标识符
-
将IP地址划分为固定的类,每一类都由两个字段组成
-
网络号相同的这块连续IP地址空间称为地址的前缀,或网络前缀
-
IP地址共分为A、B、C、D、E五类,A类、B类、C类为单播地址
-
IP地址的书写采用点分十进制记法,其中每一段取值范围为0到255
IP特殊地址
3.2.1 子网划分
- 子网划分(subnetting),在网络内部将一个网络块进行划分以供多个内部网络使用,对外仍是一个网络
- 子网(subnet ),一个网络进行子网划分后得到的一系列结果网络称为子网
- 子网掩码(subnet mask ),与 IP 地址一一对应,是32 bit 的二进制数,置1表示网络位,置0表示主机位
- 子网划分减少了 IP 地址的浪费、网络的组织更加灵活、便于维护和管理
3.2.3 无类域间路由
- 将32位的IP地址划分为前后两个部分,并采用斜线记法,即在IP地址后加上“/”,然后再写上网络前缀所占位数
- 一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合(route aggregation),也称为构成超网 (supernet)
- 聚合技术在Internet中大量使用,它允许前缀重叠,数据包按具体路由的方向发送,即具有最少IP地址的最长匹配前缀
注:当路由器收到一个IP数据包时,它会将数据包的目的IP地址与自己本地路由表中的所有路由表进行逐位(Bit-By-Bit)对比,直到找到匹配度最长的条目,这就是最长前缀匹配机制。(路由比对之前会用相应路由的目的网络掩码进行逻辑与运算,再拿结果与路由路径比对)
3.3 DHCP动态主机配置协议
DHCP :动态主机配置协议
- 当主机加入IP网络,允许主机从DHCP服务器动态获取IP地址
- 可以有效利用IP地址,方便移动主机的地址获取
工作模式:客户/服务器模式( C/S )
基于 UDP 工作,服务器运行在 67 号端口, 客户端运行在 68 号端口
- DHCP 客户从UDP端口68以广播形式向服务器发送发现报文(DHCPDISCOVER)
- DHCP 服务器广播发出提供报文(DHCPOFFER)
- DHCP 客户从多个DHCP服务器中选择一个,并向其以广播形式发送DHCP请求报文(DHCPREQUEST)
- 被选择的DHCP服务器广播发送确认报文(DHCPACK)
3.4 ARP地址解析协议
背景
网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址二获取的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的。
注:因为下层协议是通过MAC地址来确定各自身份的,所以下层发送必须要MAC地址
IP 与 MAC地址
ARP协议工作过程
- A已知B的IP地址,需要获得B的MAC地址(物理地址)
- 如果A的ARP表中缓存有B的IP地址与MAC地址的映射关系,则直接从ARP表获取
- 如果A的ARP表中未缓存有B的IP地址与MAC地址的映射关系,则A广播包含B的IP地址的ARP query分组
- 在局域网上的所有节点都可以接收到ARP query
- B接收到ARP query分组后,将自己的MAC地址发送给A
- A在ARP表中缓存B的IP地址和MAC地址的映射关系
- 超时时删除
路由到另一个局域网
- A创建IP数据包(源为A、目的为E)
- 在源主机A的路由表中找到路由器R的IP地址223.1.1.4
- A根据R的IP地址223.1.1.4,使用ARP协议获得R的MAC地址
- A创建数据帧(目的地址为R的MAC地址)
- 数据帧中封装A到E的IP数据包
- A发送数据帧,R接收数据帧
3.5 网络地址转换(NAT)
定义
网络地址转换(NAT)用于解决IPv4地址不足的问题,是一种将私有(保留)地址转化为公有IP地址的转换技术
私有IP地址:
A类地址:10.0.0.0–10.255.255.255
B类地址:172.16.0.0–172.31.255.555
C类地址:192.168.0.0–192.168.255.255
NAT工作机制
-
出数据报:外出数据报用 NAT IP地址(全局), 新port # 替代 源IP地址(私有), port #
-
NAT转换表:每个 (源IP地址, port #)到(NAT IP地址, 新port #) 映射项
-
入数据报:对每个入数据报的地址字段用存储在NAT表中的(源IP地址, port #)替代对应的 (NAT IP地址, 新port #)
-
NAT根据不同的IP上层协议进行NAT表项管理
TCP,UDP,ICMP -
传输层TCP/UDP拥有16-bit 端口号字段
所以一个WAN侧地址可支持60,000个并行连接
NAT的优势
- 节省合法地址,减少地址冲突
- 灵活连接Internet
- 保护局域网的私密性
3.6 ICMP: 互联网控制报文协议
ICMP: 互联网控制报文协议
- ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告
- 由主机和路由器用于网络层信息的通信
- ICMP 报文携带在IP 数据报中: IP上层协议号为1
ICMP报文类型
- ICMP 差错报告报文
- 终点不可达:不可达主机、不可达网络,无效端口、协议
- ICMP 询问报文
- 回送请求/回答 (ping使用)
ICMP 报文格式
- ICMP报文的前 4 个字节包含格式统一的三个字段:类型、代码、检验和
- 相邻的后四个字节内容与ICMP的报文类型有关
ICMP报文类型及功能
4.路由算法
路由算法须满足的特性:
- 正确性
- 简单性
- 鲁棒性
- 稳定性
- 公平性
- 有效性
根据路由算法是否随网络的通信量或拓扑自适应划分
- 静态路由选择策略(非自适应路由选择)
- 动态路由选择策略(自适应路由选择)
4.1 距离向量路由
算法基本思想
-
每个节点周期性地向邻居发送它自己到某些节点的距离向量;
-
当节点x接收到来自邻居的新DV估计,它使用B-F方程更新其自己的DV :
Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N -
上述过程迭代执行,Dx(y)收敛为实际最小费用 dx(y)
距离向量算法特点:迭代的、分布式的
- 每次本地迭代由下列引起: 本地链路费用改变、邻居更新报文
- 分布式:各节点依次计算,相互依赖
注:路由器只掌握物理相连的邻居以及链路费用
算法过程
-
路由器启动时初始化自己的路由表
- 初始路由表包含所有直接相连的网络路径,距离均为0
计算机网络学习笔记第一章(概述) 超详细整理
- 初始路由表包含所有直接相连的网络路径,距离均为0