目录
- 第一章 概述
- 第二章 物理层
- 第三章 数据链路层
- 第四章 网络层
- 第五章 传输层
- 第六章 应用层
- ping原理
- 面试常问
第一章 概述
1.计算机网络概览
1.1 网络与计算机网络
计算机网络
:是一个将分散的、具有独立功能的计算机系统
,通过通信设备
与线路
连接起来,由功能完善的软件
实现资源共享
和信息传递
的系统。
1.2 计算机网络的功能
数据通信
:连通性
资源共享
:硬件、软件、数据
分布式处理
:多台计算机各自承担同一工作任务的不同部分(如 Hadoop
平台)
提供可靠性
:一台计算机宕机,可由其他替代机顶替等
负载均衡
:多台计算机共同提供服务,分担压力
。。。。。。
1.3 计算机网络的组成
1.3.1 组成部分
硬件
:主机、链路、路由器、交换机、集线器等
软件
:运行在主机上的各种应用软件
协议
:
1.3.2 工作方式
边缘部分
:直接面向用户使用的各种主机
- C/S 方式
- P2P方式
核心部分
:为边缘部分服务
1.3.3 功能组成
通信子网
:实现数据通信,包含网络层、数据链路层、物理层。由各种传输介质、通信设备、相应的网络协议组成。
资源子网
:实现资源共享/数据处理,包含应用层、表示层、会话层。是实现资源共享功能的设备和软件的集合。
1.4 计算机网络的分类
-
按分布范围
:可分为 广域网【WAN 使用交换技术】、城域网【MAN】、局域网【WAN 使用广播技术】、个人区域网【PAN】 -
按使用者
:可分为 公用网【如中国电信,普通用户只需要缴纳一定费用即可获得使用权限】、专用网【如军队、铁路等的专用网,只有特殊用户方可使用】 -
按交换技术
:电路交换、报文交换、分组交换 -
按拓扑结构
:总线型、星型、环型、网状型【常用于广域网】
按传输技术
:- 广播式网络:共享公共通信信道
- 点对点网络:使用分组存储转发和路由选择机制
1.5 小结
2.计算机网络的标准化工作
要实现不同厂商的硬、软件之间相互连通,必须遵从统一的标准
2.1 标准的分类
法定标准
:由权威机构制定的正式的、合法的标准【OSI】
事实标准
:某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准【TCP/IP】
2.2 RFC
2.3 标准化工作的相关组织
2.4 小结
3.计算机网络性能指标
3.1 速率
速率即数据率
或称数据传输率
或比特率
,指的是连接在计算机网上的主机在数字信道上传送数据位数的速率。
单位:b/s kb/s Mb/s Gb/s Tb/s
汉语表示:
- 千 1 kb/s = 10^3 b/s
- 兆 1 Mb/s = 10^6 b/s
- 吉 1 Gb/s = 10^9 b/s
- 太 1 Tb/s = 10^12 b/s
区分
:存储容量的表示法1 KB = 2^10 B = 1024 B = 1024 * 8b
1 MB = 2^10 KB = 1024 KB
1 GB = 2^10 MB = 1024 MB
1 TB = 2^10 GB = 1024 GB
3.2 带宽
-
带宽
:原本是指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹【Hz】 -
在计算机网络中,
带宽
用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的最高数据率
。单位是比特每秒
。
3.3 吞吐量
【定义】
单位时间内通过某个网络(或信道、接口)的数据量。单位:b/s
【注意】
吞吐量受网络带宽或网络的额定速率的影响
3.4 带宽、速率、吞吐量区别
3.5 时延
3.5.1 定义
数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需要的的时间。也叫延迟
、迟延
,单位:s
3.5.2 分类
发送时延(传输时延)
:从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕需要的时间
传播时延
:数据在信道上传送数据耗时。取决于电磁波传播速度与链路长度。
排队时延
:分组在进入路由器后需要在输入队列中排队,确认转发接口后,也需要在输出队列中排队,由此产生排队时延。
处理时延
:主机或路由器在收到分组时需要花费一定时间进行处理,由此产生处理时延。
3.6时延带宽积
时延带宽积又称为以比特为单位的链路长度
,即某段链路现在有多少比特。
3.7 往返时延RTT
-
从发送方发送数据开始,到发送方收到接收方的确认,总共经历的时延。
-
RTT[Round-Trip Time]主要包含:
- 往返传播时延 = 传播时延 * 2
- 末端处理时延
3.8 利用率
4. 计算机网络分层结构
4.1 分层缘由
举个栗子:一台计算机需要向另外一台计算机发送文件
发送文件前需要完成的工作:
发起通信的计算机必须将数据通信的通路进行
激活
要告诉网络如何识别目的主机
发送方要查明接收方是否开机,网络连接是否正常
发送方需查明,对方计算机中文件管理程序是否已经做好准备
确保差错和意外可以解决
。。。
4.2 分层原则
分层的基本原则:
- 各层之间
相互独立
,每层只实现一种相对独立的功能- 每层之间
界限自然清晰
,易于理解,相互交流尽可能少- 结构上可分割。每层都采用
最适合的技术
来实现- 保持下层对上层的独立,
上层单向使用下层提供的服务
- 整个分层结构应该促进标准化工作
举个栗子:82年拉菲的快递之旅
4.3 术语解析
实体
:第n层的活动元素称为n层实体
。同一层的实体叫对等实体
协议
:为进行网络中的对等实体
数据交换而建立的规则、标准或约定,称为网络协议。【水平意义】
- 语法:规定传输数据的格式
- 语义:规定所要完成的功能
- 同步:规定各种操作的顺序
接口
(访问服务点SAP):上层使用下层服务的入口
服务
:下层为相邻上层提供的功能调用。【垂直意义】
SDU服务数据单元
:为完成用户所要求的功能而应传送的数据PCI协议控制信息
:控制协议操作的信息PDU协议数据单元
:对等层次之间传送的数据单元
4.4 小结
-
网络体系结构是从
功能
上描述计算机网络结构的 -
计算机网络体系结构(简称网络体系结构)是
分层结构
-
每层遵循某个/些
网络协议
以完成本层的功能 -
计算机网络体系结构
是计算机网络的各层及其包含的协议
的集合 -
第n层向第n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能
-
仅仅在
相邻之间有接口
,且所提供服务的具体实现细节对上层完全屏蔽 -
体系结构是
抽象
的,而具体实现是指硬件以及能运行的一些软件
4.5 分层结构
4.5.1 OSI七层结构
4.5.2 OSI参考模型解释通信过程
4.5.2.1 概览
【端到端、点到点】
【数据封装与解封过程】
4.5.2.2 各层介绍
4.5.2.2.1 应用层
- 所有能和用户交互产生网络流量的程序,如 QQ、浏览器等。而无法联网的如记事本,则不属于计算机网络的应用层范畴
- 典型应用层服务:
- 文件传输【FTP】
- 电子邮件【SMTP】
- 万维网【HTTP】
4.5.2.2.2 表示层
用于处理在
两个通信系统
中交换的信息
的表示方式(语法、语义)
功能一
:数据格式变换
功能二
:数据加密解密
功能三
:数据压缩和恢复主要协议:JPEG、ASCII
4.5.2.2.3 会话层
向表示层
实体/用户进程
提供连接的建立
、在连接上有序地传输数据
。这是会话,也是同步建立
【SYN】
功能一
:建立、管理、终止会话
功能二
:使用校验点可以使会话在通信失效时,从校验想·点/同步点
继续恢复通信,实现数据同步
。适用于传输大文件主要协议:ADSP、ASP
4.5.2.2.4 传输层
负责主机中两个进程的通信,即
端到端
的通信。传输单位是报文段或用户数据报
功能一
:可靠传输【确认重传】、不可靠传输【最大努力交付】
功能二
:差错控制
功能三
:流量控制【控制发送速率】
功能四
:复用分用
- 复用:多个应用层进程可同时使用下面运输层的服务
- 分用:运输层把收到的信息分别交付给上面应用层中相应的进程
主要协议:TCP、UDP
4.5.2.2.5 网络层
主要任务是,把
分组
从源端传到目的端,为分组交换网上的不同主机
提供通信服务
。网络层传输单位是数据报
。
功能一
:路由选择【选择最佳路径】
功能二
:流量控制
功能三
:差错控制
功能四
:拥塞控制 拥塞控制:若所有节点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施缓解这种拥塞。
主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
4.5.2.2.6 数据链路层
主要任务是把
网络层传下来的数据报
组装成帧
。数据链路层的传输单位是帧
。
功能一
:成帧【定义帧的开始和结束】
功能二
:差错控制:帧错 + 位错
功能三
:流量控制
功能四
:访问(接入)控制【控制对信道的访问】主要协议:SDLC、HDLC、PPP、STP
4.5.2.2.7 物理层
主要任务是在
物理媒体
上实现比特流的透明传输
。物理层传输的单位是比特
。
透明传输
:不管所传数据是什么样的比特组合,都应当能够在链路上传送
功能一
:定义接口特性
功能一
:定义传输模式【单工、半双工、双工】
功能一
:定义传输速率
功能一
:比特同步
功能一
:比特编码主要协议:Rj45、802.3
4.5.3 TCP/IP参考模型
4.5.3.1 对比
相同点:
- 都分层
- 都基于独立的协议栈的概念
- 都可以实现异构网络的互连
不同点:
- OSI定义三点:服务、协议、接口
- OSI先出现,参考模型先于协议发明,不偏向特定协议
- TCP/IP设计之初考虑到
异构网络互连
的问题,故将IP作为重要的层次
面向连接
【分三个阶段】:
- 建立连接【发出一个建立连接的请求,只有在连接建立成功之后,才能开始数据传输】
- 数据传输
- 释放连接【当数据传输完毕,就必须释放连接】
无连接
:没有面向连接这么多的阶段,无连接直接进行数据传输
4.5.4 五层参考模型
4.5.4.1 介绍
应用层
:支持各种网络应用【FTP、SMTP、HTTP】
传输层
:进程-进程的数据传输【TCP、UDP】
网络层
:源主机到目的主机的数据分组、路由选择和分组转发【IP、ICMP、OSPF】
数据链路层
:把网络层传下来的数据报组装成帧【Ethernet、PPP】
物理层
:比特传输
4.5.4.2 数据的封装与解封
5.小结
第二章 物理层
1. 物理层的基本概念
物理层解决如何在连接各种计算机的传输媒体上
传输数据比特
流,而不是指具体的传输媒体
。物理层的
主要任务
:确定与传输媒体接口有关的一些特性==>定义接口标准
- 机械特性:规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况
- 电气特性:规定传输二进制位时,线路上信号的
电压范围
、抗阻匹配、传输速率和距离限制等- 功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途
- 规程特性【过程特性】:定义各条物理线路的工作规程和时序关系
2.数据通信基础知识
2.1 典型的数据通信模型
2.2 相关术语解析
通信的目的是
传送信息
数据
:传送信息的实体,通常是有意义的符号序列
信号
:数据的电气/电磁表现,是数据在传输过程中的存在形式
。信号分两种==>
信源
:产生和发送数据的源头
信宿
:接收数据的终点
信道
:信号的传输媒介。一般用来表示向某一个方向传送信息的介质。因此一条通信线路往往包含一条发送信道和一条接收信道。信道的分类==>
2.3 三种通信方式
从通信双方信息的交互方式看,可以有三种基本方式:
单工通信
:只有一个方向的通信而没有反方向的交互,仅需要一条信道半双工通信
:通信的双方都可以发送或接受信息,但不能双方同时发送和接收,需要两条
信道全双工通信
:通信双方可以同时发送和接受信息,需要两条
信道
2.4 两种数据传输方式
2.5 码元、速率、波特、带宽
2.5.1 码元
2.5.2 速率、波特
2.5.3 练习题
3.奈氏准则与香农定理
3.1 失真
3.2 码间串扰【失真现象之一】
3.3奈氏准则【奈奎斯特定理】
【习题】
3.4香农定理
【注意】
【例题】
3.5奈氏与香农
4.编码与调制
4.1 基带信号与宽带信号
【使用场景】
4.2 编码与调制
4.3.1 数字数据编码为数字信号
(1)非归零编码【NRZ】
高1低0
编码容易实现,但没有检错功能,且无法判断一个码元的开始和结束,以至于收发双方难以保持同步。
(4)归零编码【RZ】
信号电平在一个码元之内都要恢复到零的这种编码方式
(5)反向不归零编码【NRZI】
信号电平反转表示0,信号电平不变表示1
(2)曼彻斯特编码
将一个码元分成两个相等的间隔,前一个间隔为低电平后一个间隔为高电平表示码元1;码元0则正好相反。也可以采用相反的规定。该编码的特点是在每一个码元的中间出现电平跳变,位中间的跳变既作时钟信号(可用于同步),又作数据信号,但它所占的频带宽度是原始的基带宽度的两倍
(3)差分曼彻斯特编码
同1异0
常用于局域网传输,其规则是:若码元1,则前半个码元的电平与上一个码元的后半个码元的电平相等,若为0,则相反。该编码的特点是,在每个码元的中间,都有一次电平的跳转,可以实现自同步,且抗干扰性强于曼彻斯特编码
(6)4B/5B编码
4.3.2 数字数据调制为模拟信号
4.3.3 模拟数据编码成数字信号
4.3.4 模拟数据调制为模拟信号
5.传输介质与分类
5.1 导向性传输介质
5.1.1 双绞线
5.1.2 同轴电缆
5.1.3 光纤
【简介】
【单模/多模光纤】
【特点】
5.2非导向性传输介质
6.物理层设备
6.1 中继器【转发器】
6.2 集线器【多口中继器】
7. 小结
第三章 数据链路层
1.数据链路层基本概念
结点
:主机、路由器
链路
:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路
数据链路
:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路
帧
:链路层的协议数据单元,封装网络层数据报
数据链路层
负责从一个结点(通过一条链路)向另一个物理链路直接相连的相邻结点传送数据报
2. 功能概述
在物理层提供的服务的基础上向网络层提供服务
,其最基本的服务
是将源自网络层的数据可靠地
传输到相邻结点的目标机网络层。其主要作用
是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路
,使之对网络层表现为一条无差错的链路。
功能一
:为网络层提供服务。无确认无连接服务、有确认无连接服务、有确认面向连接服务。(有连接一定有确认)
功能二
:链路管理,即连接的建立、维持、释放【用于面向连接的服务】
功能三
:组帧
功能四
:流量控制【限制发送方】
功能五
:差错控制【帧错/位错】
3. 封装成帧
在一段数据的前后部分添加首部和尾部
,构成一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束
。
首部和尾部包含许多的控制信息,他们的一个重要作用是帧定界
【确定帧的界限】
帧同步
:接收方应当能从接收到的二进制比特流中区分出帧的开始和终止
组帧的四种方法
:字符计数法、字符(节)填充法、零比特填充法、违规编码法
4. 透明传输
4.1 简介
4.2 组帧方法
4.2.1 字符计数法
缺点
:当首个计数字段出错时,会导致后续所有帧的识别错误
4.2.2 字符(节)填充法
【此时有可能发生以下错误】
【解决方案】
4.2.3 零比特填充法
4.2.4 违规编码法
5. 差错控制
5.1 差错来源
为什么要在链路层进行差错控制
:当两台主机通信需要经过一台交换机和20台路由器时,若经过第一个路由器时帧已经发生了错误,则此时路由器的链路层可以发现错误并丢弃,减少了错误帧继续传递所造成的资源浪费。
5.2 比特错误
编码 VS 编码
数据链路层编码
和物理层的数据编码与调制
不同。
- 物理层编码针对的是
单个比特
,解决传输过程中比特的同步等问题,如曼彻斯特编码。- 数据链路层的编码针对的是
一组比特
,通过冗余码的技术实现一组二进制比特串在传输过程中是否出现了差错。
冗余编码
:在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则来判断是否出错。
5.3.1 检错编码之奇偶校验码
5.3.2 检错编码之CRC循环冗余码
【冗余码计算】
【接收端检错】
【注意】
5.3.3 纠错编码--海明码
海明码
:可以发现双比特错误
,只能纠正单比特错误
工作原理:动一发而牵全身
工作流程:
计算过程:
【确定校验码位数r】
【确定检验码和数据的位置】
【求出校验码的值】
【检错并纠错】
6. 流量控制、可靠传输、滑动窗口
6.1 流量控制
6.1.1 缘由
发送端较高的发送速度
和接收端较低的接收能力
的不匹配,会造成传输出错,因此流量控制也是数据链路层一项重要工作。
数据链路层流量控制
与传输层流量控制
区别:
- 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的
- 数据链路层流量控制的手段:接收方收不下就不回复确认
- 传输层流量控制手段:接收端给发送端一个窗口公告
6.1.2 流量控制的方法
【各协议发送窗口与接收窗口的大小】
停止-等待协议
:发送窗口大小=1, 接收窗口大小=1
后退N帧协议(GBN)
:发送窗口大小>1,接收窗口大小=1
选择重传协议(SR)
:发送窗口大小>1,接收窗口大小>1在数据链路层,窗口大小是固定的。
6.2 流量控制之停止-等待协议
6.2.1 为什么需要该协议
-
为了实现流量控制
-
除了比特出差错,底层信道还会出现丢包问题
丢包
:由物理线路故障、设备故障、病毒攻击、路由信息错误等原因导致的数据包的丢失
6.2.2 研究的前提
- 虽然现在常用全双工通信方式,但是为了讨论的方便,仅考虑一方为发送方,一方为接收方的情况。
- 由于是在讨论可靠传输的原理,故暂不考虑数据是在哪一层次上传送的
停止-等待
就是每发送完一个分组就停止发送,等待对方确认后再发送下一个分组
6.2.3 停止-等待协议的应用情况
6.2.3.1 无差错情况
6.2.3.2 有差错情况
- 数据帧丢失或者检测到帧出错
- ACK丢失
- ACK迟到
6.2.3.3 性能分析
停止-等待协议
简单易操作- 信道利用率太低
信道利用率:
6.3 流量控制之后退N帧协议【GBN】
6.3.1 滑动窗口
6.3.2 GBN发送方必须响应的三件事
【上层的调用】
上层要发送数据时,发送方先检查发送窗口是否已满。如果未满
,则产生一个帧并将其发送;若果窗口已满
,发送方只需将数据返回给上层,暗示上层窗口已满,上层等会再发。(实际实现中,发送方法可以缓存这些数据,窗口不满时再发送帧)。
【收到了一个ACK】
GBN协议中,对n号帧的确认采用累积确认
的方式,表明接收方已经收到n号帧和它之前的全部帧。
【超时事件】
协议的名字为后退N帧/回退N帧,来源于出现丢失帧
和帧的时延过长
时,发送方的行为。就像在停止-等待协议
中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时发送方将重传所有已发送但未被确认的帧。
接收方按帧编号顺序接收帧,当某一编号帧无法收到时,将一直等待该帧,其后的帧直接丢弃。发送方经过一定时间后,将未接收确认的帧重传。
6.3.3 GBN接收方的任务
- 如果正确收到n号帧并且按序,接收方将为n帧发送一个ACK,并将该帧中是数据部分交付给上一层
- 其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:
expectedseqnum【下一个按序接收的帧序号】
运行中的GBN:
6.3.4 滑动窗口长度
如:采用2个比特对帧编号,发送窗口大小为4【大于上述给定范围】,若第一次发送4个帧全部丢失,则发送发重传,此时接收端无法确认此时的4个帧是新帧还是旧帧。
【习题】
6.3.5 GBN性能分析
- 因连续发送数据帧而提高了信道利用率
- 在重传时必须把原来已经正确传送的数据帧重传,使得传送效率降低
- 基于以上描述,引出
选择重传协议
7. 信道划分介质访问控制
7.1 传输数据使用的两种链路
点对点链路
:两个相邻节点通过一个链路相连,没有第三者。【应用:PPP协议,常用于广域网
】
广播式链路
:所有主机共享通信介质。【应用:早期的总线以太网、无限局域网、常用于局域网
】
【典型拓扑结构:总线型、星型(逻辑总线型)】
7.2 介质访问控制
介质访问控制
的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
7.3 信道划分介质访问控制
信道划分介质访问控制
:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源
合理地分配给网络上的设备。
多路复用技术
:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源
,提高信道利用率。
7.4 静态划分信道
7.4.1 频分多路复用【FDM】
7.4.2 时分多路复用 【TDM】
7.4.3 统计时分复用【STDM】
改进的时分复用
若线路传输速率为
8000bit/s
,则对于TDM来说,每个用户【A、B、C、D】只能得到2000bit/s
;而对于STDM,每个用户最高可以得到8000bit/s
。
7.4.4 波分多路复用【WDM】
7.5 动态划分信道
7.5.1 ALOHA协议
【纯ALOHA协议】
不监听信道、不按时间槽发送、随机重发。
【时隙ALOHA协议】
把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。控制想发就发的随意性
【区别】
7.5.2 CSMA协议
7.5.2.1 1-坚持CSMA
7.5.2.2 非坚持CSMA
7.5.2.3 p-坚持CSMA
7.5.2.4 对比
7.5.3 CSMA/CA协议
7.5.3.1 介绍
7.5.3.2 工作原理
7.5.3.3 CSMA/CD与CSMA/CA对比
7.5.4 CSMA/CD协议
7.5.4.1 介绍
7.5.4.2 传播时延对载波监听的影响
7.5.4.3 碰撞后的重传时机
【例题】
7.5.4.4 最小帧长问题
为了使CSMA/CD协议能发挥作用,即在帧发送完毕之前就可以检测到碰撞,需要定义一个最小帧长
【最小帧长】
8. 轮询访问介质访问控制
8.1 对比
8.2 轮询协议
8.3 令牌传递协议
9. 局域网基本概念和体系结构
9.1 局域网
9.1.1 局域网拓扑结构
9.1.2 局域网传输介质
9.1.3 局域网介质访问控制方法
9.1.4 无限局域网划分
9.1.5 IEEE 802标准
9.1.6 MAC子层与LLC子层
9.2 以太网
9.2.1 以太网概述
以太网提供无连接、不可靠的服务
9.2.2 以太网传输介质与拓扑结构的发展
9.2.3 10 BASE-T以太网
9.2.4 适配器与MAC地址
9.2.5 以太网MAC帧
9.2.6 高速以太网
9.3 IEEE 802.11 无限局域网
9.3.1 IEEE 802.11
9.3.2 802.11的MAC帧头格式
【四种格式比对】
9.3.3 无线局域网分类
9.3.3.1 有固定基础设施的无线局域网
9.3.3.2 无固定基础设施无线局域网的自组织网络
10. PPP协议与HDLC协议
10.1 广域网
广域网强调资源共享,局域网强调数据传输!
10.2 PPP协议
10.2.1 特点
10.2.2 需满足的要求
10.2.3 无需满足的要求
- 无需纠错
- 无需流量控制
- 无需序号
- 不支持多点线路
10.2.4 三个组成部分
10.2.5 状态图
10.2.6 帧格式
10.3 HDLC协议
10.3.1 简介
10.3.2 HDLC的站
10.3.3 帧格式
10.4 PPP协议与HDLC协议对比
11. 链路层设备
11.1 物理层扩展以太网
主机与集线器之间的距离超过100m后,失帧会变得非常严重
:
为了实现远距离通信,需要扩展以太网
:
- 把物理连接线路改为光纤
- 使用主干集线器
可以形成更大的冲突域
缺点:
- 发送冲突概率变高
- 链路通信效率降低
11.2 链路层扩展以太网
11.2.1 网桥
11.2.1.1 简介
11.2.1.2 透明网桥
11.2.1.3 源路由网桥
11.2.2 以太网交换机【多接口网桥】
以太网交换机的两种交换方式:
11.3 冲突域和广播域
【例题】
第四章 网络层
1. 网络层功能概述
主要任务是把 分组
从源端传到目的端,为分组交换网上的不同主机提供提供通信服务。网络层传输单位是 数据报
。
功能一
:路由选择与分组转发【最佳路径】
功能二
:异构网络互连【依靠路由器
把 wifi、4G、校园网等网络互连,构成更大的网络】
功能三
:拥塞控制
2. 数据交换方式
2.1 进行数据交换的原因
图一:实现主机间通信,需要大量通信链路
图二:所需通信链路减少了,但是无法支撑远距离通信以及大量主机接入的通信
图三:能很好的解决上述问题
2.2 电路交换
2.3 报文交换
2.4 分组交换
2.4.1 介绍
分组
:把大的数据块(报文
)分割成许多小的数据块
2.4.1 数据报方式&虚电路方式
2.4.1.1 数据报介绍【因特网在使用】
2.4.1.2 虚电路介绍
2.4.1.3 数据报 & 虚电路
2.4.2 几种传输单元对比
2.5 报文交换 & 分组交换
2.6 小结
3. IP 数据报
IP的三个特性:
- 无连接性(Connectionless):
- IP是一种无连接协议,也称为无状态协议。这意味着在发送数据之前,通信的两个设备不需要建立持久的连接。每个数据包(IP数据报)都独立处理,路由器根据目标地址将其从源传输到目标。这使得IP非常适用于分散式的、灵活的网络环境。
- 不可靠性(Unreliable):
- IP协议本身并不提供可靠性。它依赖于更高层的协议(例如TCP,Transmission Control Protocol)来确保数据的可靠传输。IP主要关注数据包的传输,但不保证它们是否按照正确的顺序到达目的地,也不保证是否有任何错误。
- 尽最大努力交付
3.1 TCP/IP 协议栈构造
3.2 IP 数据报格式
协议字段:TCP ==> 6 UDP ==> 17
首部检验和:此处的检验和与 ICMP 的检验和不同,此处的检验和只检验首部
3.3 IP 数据报分片
3.3.1 最大传输单元 MTU
3.3.2 分片所涉及的首部字段
【例题】
3.3.3 部分字段单位
一种八片首饰
【总长度单位是 1Byte、片偏移单位是 8Byte、首部长度单位是 4Byte】
4. IPv4 地址
4.1 IP 编址历史
- 分类的 IP 地址
- 子网的划分
- 构成超网【无分类编址方法】
4.2 分类的 IP 地址
4.2.1 IP 地址介绍
4.2.2 互联网中的 IP 地址
4.2.3 分类方法
4.2.4 特殊的 IP 地址
4.2.5 私有 IP 地址
路由器对目的地址是私有IP地址的数据报一律不进行转发
4.2.6 各类 IP 地址可指派数
4.3 网络地址转换【NAT】
通过安装了 NAT 软件的路由器实现私有 ip 与外部全球 ip 的两次转换(先将请求数据报转到外部 ip,再将外部回复从外部 ip 对应到私有 ip
4.4 子网划分与子网掩码
4.4.1 分类 IP 地址的缺点
容易造成地址的浪费
4.4.2 划分方法
4.4.3 子网划分例子
4.4.4 子网掩码
两级 ip 地址就是有网络号和主机号的 ip 地址,三级 IP 地址就是有网络号,子网号,主机号的 ip 地址
【例题 1】
子网掩码全 1 与运算后是本身,全 0 与运算是全 0
【例题 2】
4.4.5 使用子网时分组的转发
直接交付: 通过查路由表可以直接转发
间接交付: 需要经过多个路由器才可抵达目的 ip
特定主机路由: 有“备注”的特殊主机路由地址
默认路由: 在 IPv4 地址中,0.0.0.0 表示所有 IP 地址,因此默认路由通常被设置为指向所有网络的下一跳地址
丢弃: ip 数据报首部有 ttl,当 ttl 耗尽时就会丢弃并报告转发分组出错
4.5 无分类编址 CIDR【构成超网】
4.5.1 介绍
【例子】
最小地址
:主机号全 0,表示本网络
最大地址
:主机号全 1,表示广播地址
IP地址位数
:2 5 = 32 个 IP 地址
CIDR地址块
:用主机位全 0 表示
地址掩码
:令网络位(前 27 位)全 1,后面的主机位全 0,(11111111 11111111 11111111 11100000)
4.5.2 构成超网
与划分子网的区别:划分子网是 由少变多 ,构成超网是 由多变少
【例子】
解题步骤
: 寻找地址共性(交集),再令主机位全 0(表网络地址)
4.5.3 最长前缀匹配
匹配成功还不够,还需要在所有匹配成功的网络地址里找 CIDR 前缀最长的(匹配就是拿自己的子网掩码和目的 IP 地址相与,看所得网络地址和自己是否相同
0.0.0.0
:是默认网关(默认路由),当此路由器里没有可以与目的 IP 地址相匹配的,就会走此 IP 地址进入另一个路由器遍历匹配,以此循环。
【习题】
5. ARP 协议
5.1 介绍
5.2 发送数据的过程
【同一局域网络内】
【不同局域网之间-01】
【不同局域网之间-02】
ARP高速缓存
:一个局域网内才有 ARP 高速缓存
5.3 例题
6. DHCP 协议
6.1 主机如何获取 IP 地址
- 静态配置:【如,学校电脑室,由管理员手动配置, IP 地址、子网掩码、默认网关】
- 动态配置【如,学校教室,人员流动大,手机、电脑等主机设备不固定】
6.2 DHCP 介绍
7. ICMP 协议
7.1 介绍
网际控制报文协议
ICMP 报文位于 IP 数据报的数据部分
IP 数据报的首部检验和只检验首部,故位于数据部分的 ICMP 报文有着自己的检验和
我的问题:ICMP 可以作为 IP 数据报的数据部分全部内容吗(有效负载)?
是可以的,IP 数据报的数据部分可以只包含 ICMP 报文信息。在这种情况下,整个 IP 数据包的有效负载(Payload)就是 ICMP 报文。 ICMP 报文是一种特殊类型的数据,用于在网络中传递控制消息和错误信息,总的来说,ICMP 报文可以是 IP 数据包的全部有效负载,但始终嵌套在 IP 数据报中,以确保在网络中正确传递。
7.2 ICMP 差错报文
7.2.1 五种类型
第二点的源点抑制已经弃用
7.2.2 ICMP 差错报文数据字段
我的问题:
1. ICMP 差错报告报文为什么要加上 IP 数据报首部,包含 ICMP 报文的 IP 数据报不是有首部吗?
因为这两个的 IP 数据报首部是不同的,一个是出错数据报的首部,一个是返回数据报的首部,他们的源地址和目的地址是
不同的
eg:
2.为什么要加上数据部分的前八个字节?
额外附上数据的前 8 字节的原因在于:IP 报文数据经常承载传输层的协议分组,前 8 个字节刚好是分组的头部。 有了差错包的传输层分组头部,则可以进一步确定差错是访问目标主机的什么端口产生的。
7.2.3 不发送 ICMP 差错报文的情况
7.3 ICMP 询问报文
第三和四种报文已经弃用
7.4 ICMP 应用
ping
:使用了 ICMP 询问报文
Traceroute
:使用了 ICMP 时间超过差错报告报文,主机通过发送一连串数据报,并使这些数据报的 ttl 依次增加(第一个为 1),那么每个数据报在 ttl 归 0 后就会返回一个 ICMP,从而得知源点到终点的路径(经过了哪些路由器)
8. IPv6
8.1 为什么使用 IPv6
-
32 位 IPv4 地址空间已分配殆尽
-
CIDR、NAT 等技术的应用治标不治本
-
IPv6 能从 根本上解决 地址耗尽的问题
-
改进了源 IPv4 的首部结果,使其能快速处理、转发数据报
-
支持 QoS【Quality of Service 服务质量】指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。
有人说过:以 IPV6 的地址量,地球上的每一个沙粒都可以分到一个 IPV6 地址
8.2 IPv6 数据报格式
【简图】
扩展首部 :是对基本首部的补充,可以没有,没有时就是对 IPV4 的一种简化
【详图】
8.3 IPv6 & IPv4
8.4 IPv6 地址表示形式
8.5 IPv6 基本地址类型
8.6 IPv4 向 IPv6 过渡的策略
上图里将 IPV6 协议的数据报封装到 IPV4 协议数据报的数据部分,两个 IPV4 路由器之间的链路可以称为隧道
8.6.1 IPV6表示IPV4的两类方法
为了实现同IPv4的兼容性和过渡,在IPv6地址设计了两类地址来表示IPv4地址:一类是兼容的,它是96位0和32位的IPv4地址:另一类是映射的,它是由80位的0后面跟着16位的1,再后面就32位的IPV4地址。
8.7 总结
9. 路由算法及相关路由协议
9.1 路由算法
9.1.1 路由表结构
9.1.2 路由算法分类
9.1.3 分层次的路由选择协议
9.2 RIP 协议及距离向量算法
9.2.1 RIP 协议
9.2.1.1 介绍
适用于小型网络
9.2.1.2 RIP 协议报文格式
RIP 协议报文是 UDP 数据报的数据部分,UDP 是传输层协议,所以 RIP 是高层应用层的协议
9.2.1.3 特点
好消息传的快,坏消息传的慢
‘
当坏消息比好消息传得慢是就会出现相邻路由器不断更新路由表项直到距离到 16 的情况
9.2.2 路由信息交换规则
路由器间彼此 每三十秒 交换一次信息,第一次各路由器得知自己相邻的信息,在下一次就能合并邻居的邻居的信息
9.2.3 距离向量算法
若路由表里有和传回的项目下一跳相同的项目还更新路由表的原因是路由表信息 必须是最新的 ,通信链路时时都会发生变化
距离向量算法 :就是将邻居路由器发来的所有表项下一跳改为 邻居 ,再将所有的距离 加一 (与邻居的距离)
【例题 1】
简单 “修改”,“加一” 后,根据算法判断是否需要更新表项,没有的表项要更新,下一跳没变要更新,下一跳改变判断距离缩写了要更新
【例题 2】
解:加上延迟后分别在值里找最小值,注意 C 到自己的距离为 0
9.2.4 小结
9.3 OSPF 协议及链路状态算法
9.3.1 OSPF 协议
9.3.2 链路状态路由算法
9.3.3 OSPF 的区域
区域边界路由器 :如 R3、R4、R7 这些处于边界的路由器
自治系统边界路由器 :在主干路由器中的路由器 R6,这种需要与其他自治系统相连的路由器又叫自治系统边界路由器
9.3.4 OSPF 分组情况
OSPF 协议所属层次 :有人说它是传输层的协议,因为它是 IP 数据报的数据部分,也有人说他是网络层协议,说法不一
9.3.5 其他特点
收敛速度快于 RIP 协议的原因是,OSPF 协议省去了 RIP 协议里与自己路由表对照的那一步,它将收来的信息都放入链路状态数据库里,并且统一使用 Dijkstra 算法处理
9.4 BGP 协议
9.4.1 介绍
9.4.2 BGP 协议交换信息的过程
BGP 协议交换的是一组 路径向量
9.4.3 BGP 协议报文格式
不难看出 BGP 协议是应用层协议
9.4.4 BGP 协议特点
BGP 支持 CIDR(Classless Inter-Domain Routing),这意味着它可以有效地处理不同长度的 IP 前缀,而不仅仅是传统的类别 A、B 或 C 网络。
9.4.5 BGP-4 的四种报文
BGP-4 是现在最常用的 BGP 协议
9.5 三种路由协议比较
OSPF 使用 IP 报文可以减少一个传输层的协议头,从而减少开销
10. IP 组播
10.1 IP 数据报的三种传输方式
【单播模式下-IP 数据报的发送】
【组播模式下-IP 数据报的发送】
10.2 IP 组播地址
10.3 硬件组播
10.4 IGMP 协议与组播路由协议
10.4.1 IGMP 协议
网际组管理协议IGMP
10.4.1.1 协议工作图解
10.4.1.2 协议在 TCP/IP 协议簇中的位置
10.4.1.3 IGMP 工作的两个阶段
10.4.2 组播路由选择协议
10.4.2.1 介绍
10.4.2.2 常使用的三种算法
10.5 总结
11. 移动 IP
11.1 相关术语
11.2 通信过程
12. 网络层设备
12.1 路由器
12.1.1 介绍
路由器可以理解为一种特殊的计算机,所以在和主机相连时用交叉线
路由器可分为路由选择部分和分组转发部分,路由选择部分用于处理RIP/OSPF分组等,交给路由选择处理机生成路由表,数据分组则交给分组转发部分,通过查询路由表转发
12.1.2 输入端口对线路上收到的分组的处理
12.1.3 输出端口将交换结果传送来的分组发送到线路
12.2 三层设备的区别
12.3 路由表与路由转发
第五章 传输层
1. 传输层概述
1.1 介绍
1.2 传输层的两个协议
-
面向连接的传输控制协议TCP
:传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于 TCP 要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。【可靠、面向连接、时延大、适用于大文件】 -
无连接的用户数据报协议UDP
:传送数据之前不需要建立连接,收到 UDP 报文后也不需要给出任何确认。【不可靠、无连接、时延小、适用于小文件】
1.3 传输层的寻址与端口
复用
:应用层所有的应用进程都可以通过传输层再传输到网络层
分用
:传输层从网络层收到数据后交付给指明的应用进程
端口【逻辑端口/软件端口】
:是传输层的 SAP,标识主机的应用进程(SAP:服务访问点)
端口号只有本地意义,在因特网中不同计算机的相同端口号是没有联系的
端口号长度为 16bit,能表示 65536 个不同的端口号
客户端使用的端口号又叫短暂端口号
2. UDP 协议
用户数据报协议
2.1 UDP 概述
2.2 UDP 首部格式
2.2.1 图解
2.2.2 UDP 校验
3. TCP 协议
3.1 TCP 协议特点
3.2 TCP 报文段首部格式
3.3 TCP 连接管理
3.3.1 TCP 的连接建立
seq是符号位,ack是确认位,ACK是控制位里的确认位,1代表ack有值
3.3.2 SYN 洪泛攻击
3.3.3 TCP 连接的释放
u代表前面传送数据过程中传送的最后一个数据序号加一
我对建立连接时需要三次握手,断开连接却需要四次握手的理解:建立连接时,三步握手的过程确保了双方都同意建立连接,双方都知道对方已经准备好进行通信,而断开连接时,由于已经进行了数据的传输,双方都需要对数据进行处理,处理好的一方发出断开连接请求,它不能同时要求另一方断开连接,另一方可能还没有处理完数据,所以断开连接时需要两方单独发出请求
总之:四步握手确保了双方都有足够的时间来处理完数据,而不会导致数据的丢失。在断开连接时,确保了双方都有机会告知对方它们已经完成了数据的传输和处理。
3.3.4 TCP 可靠传输
可靠传输:可靠传输就是我发12345,你就得收到12345,不能时1234也不能是42351,必须全且按序
3.3.4.1 校验
与 UDP 校验一样,增加伪首部
3.3.4.2 序号
3.3.4.3 确认
在没有收到4,5,6时,即使已经收到了7、8,但接收方返回的确认帧仍然还是4,应为采用累计确认
3.3.4.4 重传
3.3.5 TCP 流量控制
对于第五行的理解:因为201300的数据丢失,发送方随之有发来301400的数据,接收方在接收后,会将201300的窗口空出,此时虽然窗口还存在200个字节大小的空间,但是发送方不知道201300的数据丢失,所以只能发送100字节新数据
3.3.6 TCP 拥塞控制
3.3.6.1 介绍
3.3.6.2 四种算法
慢开始和拥塞避免
新的ssthresh值为:发生拥塞时最大拥塞窗口量的一半
拥塞窗口的翻倍在于是否收到前面窗口的确认
达到门限值后就减缓
快重传和快恢复
当收到三个冗余确认报文后就会启动快重传算法(流量控制内容),然后会采用快回复,将cwnd设为产生拥塞窗口值的一半
第六章 应用层
1. 应用层概述
2. 网络应用模型
2.1 客户服务器(C/S)模型
2.2 P2P模型
3. 域名解析系统DNS
3.1 域名
每个点后的内容叫一个标号,规定不能超过63个字符,但为了方便记忆,一般不超过12个字符,不区分大小写
域名的完整部分在比如com这种顶级域名后面还有一个“ . ”,称为根,域名的等级从左到右,由低到高
3.2 域名服务器
3.3 域名解析过程
分为递归查询和迭代查询
引入高速缓存,记录之前查询的域名与IP的映射结果,使得下次查询可以直接从缓存里读取,大大减少了域名服务器的负荷,加快dns解析的速度
注:为了使高速缓存的映射结果的准确性,会为其添加一个计时器,定时检查映射的可用性
通常情况下,DNS(Domain Name System)使用的是运输层的UDP(User Datagram Protocol)协议,而不是TCP(Transmission Control Protocol)协议。UDP是一种无连接的、轻量级的传输协议,适用于一些对实时性要求较高、可以容忍一定丢失的应用场景。
DNS使用UDP主要是出于性能和效率的考虑。DNS查询通常是短小的请求-响应过程,UDP的无连接特性可以减少通信的开销。此外,DNS通常在网络中起到寻址的作用,而不需要像TCP那样建立持久的连接。
4.文件传输协议FTP
4.1 FTP与TFTP
4.2 FTP服务器与客户端
4.3 FTP工作原理
5. 电子邮件
5.1 电子邮件系统概述
5.1.2 信息格式
5.1.3 组成结构
5.2 简单电子邮件传送协议SMTP
5.2.1 介绍
5.2.2 通信过程
5.2.3 MIME
5.3 邮局协议POP3
5.4 网际报文存取协议IMAP
5.5 基于万维网的电子邮件
6. 万维网和HTTP协议
6.1 万维网概述
6.2 超文本传输协议HTTP
6.2.1 介绍
6.2.2 HTTP特点
6.2.3 HTTP协议的连接方式
- 非持久连接(Non-Persistent Connection):
- 在非持久连接中,每个HTTP请求都需要新建一个TCP连接,并在请求完成后立即关闭连接。
- 每个请求都独立处理,服务器在每次请求后都需要重新建立连接,这导致连接的开启和关闭的开销。
- 对于每个请求,都需要经历TCP的三次握手和四次挥手的过程,这增加了延迟和资源消耗。
- 持久连接(Persistent Connection):
- 在持久连接中,客户端和服务器之间的TCP连接在一定的时间内保持打开状态,可以被多个请求和响应共享。
- 在一个持久连接中,多个HTTP请求和响应可以在同一个TCP连接上依次传输,而无需每次都重新建立连接。
- 持久连接减少了连接建立和关闭的开销,提高了性能,特别是对于多个小文件或资源的请求。
6.2.4 报文结构
ping原理
1. 网际控制报文协议ICMP
1.1 简介
有效转发IP报文和提高交付成功的机会
ICMP报文作为IP报文的数据部分被发送出去,属于网络层协议
ICMP报文格式:
ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告
1.2 种类
ICMP报文分为两种:ICMP差错报告报文 和 ICMP询问报文
几种常用的报文类型:
代码字段
:进一步区分某种类型的几种不同的情况
检验和字段
:检验整个报文IP报文首部的检验和字段,并不检验数据部分,因此,经过IP报文传输并不保证ICMP报文没有差错
1.3 差错报告报文
- 终点不可达:当路由器或者主机不能交付数据报时就向源点发送终点不可达报文
- 时间超时:
- 当路由器或主机收到生存时间为 0 的数据报时,会丢弃数据报并向源点发送时间超时报文
- 当终点在规定时间内不能接收到全部的数据报片时,会丢弃所有已收到的数据报片并向源点发送时间超时报文
- 参数问题:当路由器或者主机收到的数据报的首部中有的字段不正确时,丢弃数据报并向源点发送参数问题报文
- 改变路由【重定向】:路由器把改变路由报文发送给主机,让主机知道下一次应该将数据报发送给另外的路由器【可通过更好的路由】
1.4 不应该发送ICMP差错报告报文的情况
- 对ICMP差错报告报文,不再发送ICMP差错报告报文
- 对第一个数据报片的所有后续报片,都不发送ICMP差错报告报文
- 对具有多播地址的数据报,都不发送ICMP差错报告报文
- 对具有特殊地址的数据报【127.0.0 或 0.0.0.0】,不发送ICMP差错报告报文
1.5询问报文
- 回送请求和回答报文:用来测试目的站是否可达及了解其相关信息。ICMP回送请求报文由主机或者路由器向特定目的主机发出的询问,收到此报文的木器主机必须给源主机或路由器发送ICMP回送回答报文。
- 时间戳请求和回答报文:用于时钟同步和时间测量。ICMP时间戳请求报文是请求某台主机或路由器回答当前的日期和时间。在ICMP时间戳回答报文中有一个32位的字段,其中写入的整数代表从1900年1月1日到当前时刻一共有多少秒。
2. ICMP的应用-PING
- ICMP的一个重要的应用就是
分组网间探测PING
,用来测试两台主机之间的连通性。- PING使用了ICMP回送请求和回答报文,是应用层直接使用网络层ICMP的一个例子,没有通过传输层的TCP或UDP。
3. PING测试
- 一共发送四个ICMP回送请求报文
- 由于往返的ICMP报文上都有时间戳,因此很容易计算出往返时间
4. 拓展
4.1 tracert
- ICMP的另外一个应用
- 用来跟踪一个分组从源点到终点的路径
- tracert命令从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报【使用了非法的端口号】。
- 第一个数据报P1的生存时间TTL设置为1,当P1到达路径上的第一个路由器R1时,路由器R1先收下它,接着把TTL值减去1。由于TTL等于0,R1把P1丢弃,并向源主机发送一个ICMP时间超时差错报告报文
- 源主机接着发送第二个数据报P2,并把TTL设置为2.当P2到达R2时,TTL为0. 此时发回ICMP时间超时差错报文。
- 如此继续下去,直到最后一个数据报到达目的主机,TTL为1,主机不转发数据报也不把TTL减1。但因IP数据报中封装的是无法交付的运输层UDP报文,因此目的主机要向源主机发送ICMP终点不可达差错报文
- 如此,源主机达到了自己的目的,因为这些路由器和最后的目的主机发来的ICMP报文正好给出了源主机想知道的路由信息--到达目的主机所经过的路由器的IP地址,以及到达其中的每一个路由器的往返时间。
4.2 测试
- 图中每一行有三个时间出现,是因为对应与每一个TTL值,源主机要发送三次相同的IP数据报
- 原则上,IP数据报经过的路由器越多,所花费的时间也会越多。但有时正好相反,这是因为互联网的拥塞程度随时都在变化,也很难预料到。
- 因此完全有可能经过更多的路由器反而花费的时间更少
面试常问
1. OSI的七层模型分别是什么?各自的功能是什么?
- 应用层:所有能和用户交互产生网络流量的程序,包含协议FTP、SMTP、HTTP等
- 表示层:用于处理两个通信系统【如用户进程】之间信息的表示方式【如数据格式转换、加解密、压缩恢复等】,包含协议JPEG、ASCII等
- 会话层:为表示层实体/用户进程提供连接建立,以便数据在连接上有序传输。在会话层包含检验点,当连接异常断开重连后,可以使会话状态从检验点恢复,适合大文件传输。包含协议ADSP、ASP等
- 传输层:为两个进程提供端到端通信,传输单位是用户数据报或报文段。主要功能是可靠传输、不可靠传输、流量控制、差错控制、复用分用。主要协议TCP、UDP
- 网络层:把分组从源主机传到目的主机,为分组交换网上的两台主机提供通信服务。传输单位是数据报。主要功能是 路由选择、差错控制、流量控制、拥塞控制。主要协议:IP、IPX、ARP、RARP、ICMP、IGMP、OSPF
- 数据链路层:把网络层传下来的数据报封装成帧。主要功能是 流量控制、差错控制、信道访问控制。主要协议 PPP、STP、HDLC、SDLC
- 物理层:在物理媒体上实现比特流的透明传输。主要功能是 定义接口特性、定义传输模式、定义传输速率、比特编码、比特同步。主要协议,Rj45、802.3
2. 说说一次完整的HTTP请求过程包含的步骤?
- 进行域名解析
- 发起TCP3次握手建立连接
- 客户端发起http请求
- 服务器响应请求,返回HTML代码
- 客户端解析代码,并请求HTML代码中包含的资源【JS、CSS、图片等】
- 浏览器对页面进行渲染
- 4次挥手断开连接
3. 解释一下DNS?
答:DNS即域名系统,是IP地址与域名相互映射的分布式数据库。主要功能是域名解析,即能根据域名解析出对应的IP地址。DNS属于应用层协议,使用UDP进行通信。
4. DNS的工作原理
- 浏览器发出域名解析请求,先在浏览器查询缓存,若无则在操作系统查询缓存,若无则把请求发往本地域名服务器。
- 本地域名服务器查询自身缓存,若无则把请求发往根域名服务器。
- 根域名服务器返回顶级域名服务器地址给本地域名服务器。
- 本地域名服务器根据返回的地址再次发送请求。顶级域名服务器查询自身缓存,若无则返回下一层域名服务器,如此往复,直到找到记录。
- 本地域名会缓存返回的结果,并把结果返回给浏览器。
5. 为什么域名解析用UDP协议
- 因为UDP工作方式简单方便,只需一次请求、一次响应即可完成解析工作。
- 而使用TCP需要三次握手建立连接、请求与应答、四次挥手等操作,复杂且耗时长。
- UDP传输内容最大不能超过512字节,但是对于域名解析来说已经足够。
6. 区域传输为什么使用TCP协议
标签:王道,截图,协议,IP,报文,计算机网络,传输,ICMP,数据 From: https://www.cnblogs.com/jk101/p/18062389
- 将一个区域文件复制到多个DNS服务器的过程称为区域传输,用来实现DNS服务器的主从复制。
- TCP 协议为可靠传输协议