admin管理员组文章数量:1122849
计算机网络原理
╭第一章 计算机网络概述
|第二章 网络应用
|第三章 传输层
|第四章 网络层
内容大纲<
|第五章 数据链路层与局域网
|第六章 物理层
|第七章 无线与移动网络
╰第八章 网络安全基础
第一章 计算机网络概述
1.计算机网络基本概念(填空选择题)
1>计算机网络定义
*1.定义:
1)计算机网络是 互连的、自治的 计算机的集合;
互连: 是指利用通信链路链接相互独立的计算机系统;
自治: 是指互连的计算机系统 彼此独立 ,不存在主从或控制与被控制的关系;
2)一个计算机网络是由资源子网和通信子网构成的,
资源子网负责信息的处理,通信子网负责全网中的信息传递;
*2.起源:从技术范畴来看,计算机网络是 计算机技术 与 通信技术 相融合的产物;
*3.互联网与因特网(了解)
#1.互连网(internet):泛指由多个计算机网络互连而成的网络;
#2.因特网(Internet):指当前全球最大的、应用最广泛的计算机网络;
*4.因特网服务提供商(Internet Service Provider, ISP)
2>网络协议的定义(填空题)
*1.网络协议:网络通信实体之间在 数据交换 过程中需要遵循的规则或约定(例如:HTTP,FTP等);
*2.协议的三要素(填空题)
#1.语法: 定义实体之间交换信息的 格式与结构;
#2.语义: 定义实体之间交换信息中的 控制信息;
#3.时序(同步):定义实体之间交换信息的 顺序 及如何匹配或适应彼此的 速度;
3>计算机网络功能(选择)(软硬件信息资源共享)
*0.是指在不同主机之间实现快速的信息交换,通过信息交换,计算机网络可实现 资源共享 这一核心功能;
*1.硬件 资源共享: 计算资源(CPU)、存储资源、打印机与扫描仪I/O等共享; 例如云存储,云计算;
*2.软件 资源共享: SaaS(Software as a Service,软件即服务) 例如:大型办公软件、大型数据库系统等;
*3.信息 资源共享: 信息检索,新闻浏览等, 典型为 计算机网络所支持的信息交换;
4>计算机网络的分类
*1.按覆盖范围分类(选择题)
#1.个域网(PAN,Personal Area Network):随身穿戴或便携设备,通过无线技术构成的小范围网络; 1~10m
#2.局域网(LAN,Local Area Network):通常部署在办公室,办公楼,厂区,校区等; 10m~1Km
#3.城域网(MAN,Metropolitan Area Network):覆盖一个城市范围的网络; 5~50Km
#4.广域网(WAN,Wide Area Network):覆盖范围在几十到几千千米,可实现异地城域网的互连;
*2.按拓扑结构分类(选择题)
1)按拓扑结构的形状分类
#0.拓扑(topology)
是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科;
它只考虑 物体间的位置关系 而不考虑它们的形状和大小;(星型,总线,环形,网状,树形,混合)
#1.星形拓扑结构(个域网(PAN)或局域网(LAN))
包括一个中央结点,网络中的主机通过点对点通信
链路与中央结点连接; ●
优点:易于监控管理,故障诊断,隔离; ●- ● -●
缺点:中央结点一旦故障,全网瘫痪; ● ●
受限制与中央结点的端口数量;
#2.总线型拓扑结构(早期局域网(LAN))
网络采用一条广播信道作为公共传输介质,所有结点均与总线连接,
结点间的通信均通过共享的总线进行; ● ● ●
优点:结构简单,电缆数量少,易于扩展. ┴-┬-┴-┬-┴
缺点:通信范围受限,故障诊断与隔离困难,容易产生冲突; ● ●
#3.环形拓扑结构(早期局域网(LAN),城域网(MAN)) ●--●
利用通信链路将所有结点连接成一个闭合的环; / \
优点:电缆长度短,可以使用光纤,易于避免冲突; ● ●
缺点:某结点故障引起全网瘫痪,加新(撤出)结点麻烦,等待时间较长; \ /
●--●
#4.网状拓扑结构(广域网(WAN)和核心网络) ●--●
网络中的结点通过多条链路与不同的结点直接相连接; /\ /\
优点:网络可靠性高,一条或多条链路故障时,网络仍然可以联通; ●--╳--●
缺点:网络结构复杂,成本高; \/ \/
●--●
#5.树形拓扑结构(目前局域网LAN) ●
可以看作是总线型拓扑或星型拓扑结构网络的扩展; / \
优点:易于扩展,故障易隔离; ● ●
缺点:根结点要求高; /\ /\
● ● ● ●
● ● ●
╲│╱
#6.混合型拓扑结构(绝大多数实际网络) ● ○ ●
由两种以上简单拓扑结构网络混合连接而成的网络; ╲ ╱ ╲ ╱
优点:易于扩散,可以构建不同规模的网络,根据需要优选网络结构; ●──○────○──●
缺点:结构复杂,管理与维护复杂; ╱ ╲
● ●
2)按拓扑结构传输模式分类
#1.点对点模式: 星形拓扑结构、网状形拓扑结构、树形拓扑结构;
#2.点与总线相连模式: 总线形拓扑结构;
3)按采用信道的拓扑结构分类
#1.采用广播信道的拓扑结构
总线型拓扑结构;
树形拓扑结构;
环形拓扑结构;
无限通信与卫星通信型;
#2.直接链路连接: 网状形拓扑结构;
*3.按交换方式分类
#1.电路交换网络;
#2.报文交换网络;
#3.分组交换网络;
*4.按网络用户属性
#1.公用网:是指由国家或企业出资建立,面向公众提供收费或免费服务的网络(电信网络);
#2.私有网:某个组织(政府或企业)出资建设,专门面向该组织内部提供网络传输服务,不向公众开放;(银行,军事,铁路)
2.计算机网络结构
*大规模现代计算机网络的结构包括 网络边缘,接入网络 与 网络核心 三部分;
1>网络边缘(上网使用的设备)
连接到网络上的计算机、服务器、智能手机、智能传感器、智能家电等称为
主机 或 端系统, 连接到网上的所有端系统构成了 网络边缘;
2>接入网络(上网的途径)
*0.是指实现网络边缘的端系统与网络核心连接与连入的网络;
*1.电话拨号接入:利用电话网络接入;
*2.非对称数字用户线路ADSL(Asymmetrical Digital Subscriber Line):
#1.利用电话网络接入;#2.基于频分多路复用技术;#3.非对称(上行小,下行大);#4.独享式接入;
*3.混合光纤共轴电缆HFC接入网络:
#1.利用有线电视网络接入;#2.基于频分多路复用技术;#3.非对称(上行小,下行大);#4.共享式接入;
*4.局域网:典型的局域网技术是以太网,WIFI等;
*5.移动接入网络:利用移动通信网络,如3G/4G/5G网络,实现智能手机,移动终端等设备的网络接入;
3>网络核心(网络实现数据转发方式)
是由通信链路互连的 分组交换设备(路由器和交换机) 构成的网络,
作用:通过 数据交换 来实现网络边缘中主机之间的 中继 与 转发;
3.数据交换技术
0>数据交换的概念
*1.交换设备: 具有多通信端口,可同时连接多个通信结点;(交换设备互连构成网络核心)
*2.数据交换: 是实现在大规模网络核心上进行数据传输的 技术基础;
*3.常见的数据交换技术包括: 电路交换,报文交换,分组交换;
1>电路交换
*1.电路交换是 最早 出现的一种交换方式, 电话网络 是最早、最大的电路交换网络;
*2.电路交换进行通信步骤(3个阶段): 建立电路->传输数据->拆除电路;
*3.优点: 实时性高,时延和时延抖动小;
*4.缺点: 不适用于猝发式通信,信道利用率低,且传输率单一;
*5.用途:适用于语音和视频这类实时性强的业务;
*6.特点:电路交换是有连接的,在通信时需要先建立电路连接,
在通信过程中独占一个信道,通信结束后拆除电路连接;
2>报文交换(消息交换)
*1.报文: 发送方把要发送的信息(数据) 附加上 接收主机的地址和控制信息(首部);
*2.报文交换:发送方组装好报文,发给相邻报文交换机
示意图如下:
源 -----交换设备-----交换设备-----目的
报文 存储转发\ /
首部|数据 交换设备
*3.交换结点的这种 接收-暂存-转发 的工作方式,称为 存储-转发 的交换方式;
*4.优点: 信道利用率高; 适用于电报通信;
*5.缺点: 网络的延迟时间变长; 有时还需要丢弃报文;
*6.特点:
报文交换机必须接受一个完整的报文后,才能把报文转发到某个输出线路中;
1)报文交换可以把一个报文发送到多个目的地,而电路交换网络很难做到这点;
2)报文交换网络中交换结点需要缓冲存储,报文需要排队,因此会导致报文经过
网络的延迟时间变长且不固定(数据块长度不限且可变);
3>分组交换
*1.分组交换(包交换):是目前计算机网络 广泛采用 的交换技术;
*2.分组交换需将待传输的数据(即报文)分割成较小的独立的数据块,(首部/数据)
每个数据块附加地址、序号 等控制信息构成数据分组,每个分组独立传输到目的地,
到目的地将收到的分组重新组装,还原为报文, 采用 存储-转发 交换方式;
*3.示意图:
源 ----交换设备-----交换设备-----目的
分组 存储转发\ /
▌▌▌▌▌▌▌ 交换设备
*4.优点:
#1.交换设备存储容量要求低; 报文交换设备: 分组交换设备:
#2.交换速度快; 1400MB 1400MB
#3.可靠传输效率高;(丢包少) 首部|数据 首部|数据 首部|数据
#4.更加公平;(效率高) 报文1:1500MB(丢弃) 分组1:100MB 分组2:100MB
*5.缺点: 有效传输效率降低(每组都附加地址)
*6.分组长度的确定:
在其他条件相同的情况下,分组长度越长,延迟时间越长;
(每组长度越长,在交换设备中存储停留的时间越长)(16B-4096B)
*7.ARPAnet是第一个分组交换的计算机网络,也是当今因特网的祖先。(*****)
*8.因特网的标准都有一个(Request For Comments,RFC)编号,
如著名的IP协议和TCP协议最早分别为RFC791 和 RFC793;
4.计算机网络性能
1>速率与带宽
*1.速率:是指网络 单位时间内 传送的 数据量,用以描述网络传输数据的 快慢;
也称为数据传输速率 或 数据速率(date rate), 单位: bit/s (位每秒)
*2.速率单位转换:
1Kbit/s=1000bit/s=10³bit/s 1Byte(字节)=8bit(位);
1Mbit/s=1000000bit/s=10^6bit/s 1bit=0/1
1Gbit/s=10^9bit/s 速率的基本单位:bit/s(位每秒)
1Tbit/s=10^12bit/s
*3.带宽
在通信和信号处理领域,指的是信号的频带宽度(最高和最低频率之差),单位Hz(赫兹);
在计算机网络中,指的是:一条链路或信道的最高数据速率,单位:bit/s(位每秒)
2>时延
*1.时延
时延:也称延迟,指数据从网络中的一个结点(主机或交换设备)到达另一结点所需要的时间;
跳:在计算机网络中,通常将连接两个结点的直接链路称为有"一个跳步",简称 “一跳”;
分组
↙
▌ 第一跳 ▌ 第二跳 ▌ 第三跳 ▌
源主机-------分组交换机1-----分组交换机2-----目的
图1:一个简单的分组交换网络
*2.分组每跳 传输过程中主要产生 4类 时间延时:
-----------交换设备1--------------------交换设备2----------
A B c \ d: 传播时延:dp /
\ / \ / ↘
结点处理时延dc 排队时延dq 传输时延(发送时延)dt
图2:传输过程中产生的4类时延
3.时延分类
总时延dh=结点处理时延dc+排队时延dq+发送时延dt+传播时延dp;
1)结点处理时延,记为dc
2)排队时延,记为dq
3)传输时延(发送时延),记为dt:
/*
* L:分组长度,单位bit;
* R:链路带宽(即速率),单位:bit/s
* 传输时延=分组长度/链路带宽
* 从发送第一位到发送完最后一位所用时间
*/
dt=L/R; bit/bit/s= bit•s/bit=s;
4)传播时延,记为dp,
/**
* D:物理链路长度,单位:m
* V:信号传播速度,单位:m/s
* 传播时延=物理链路长度/信号传播速度
* 光速=3×10^8m/s
*/
dp=D/V; m/m/s= m•s/m=s;
3>时延带宽积
时延带宽积:是物理链路的传播时延 与 链路带宽 的乘积,记为G;
公式:G=传播时延×链路带宽=dp•R=s•bit/s=bit;//时延带宽积的单位:bit
时延带宽积物理意义: 一段链路可以容纳的数据位数, 也称为 以位为单位的链路长度;
示例:
设信号传播速度 V=2500km/s, 链路长度 D=500m,链路带宽 R=10Mbit/s,
求该段链路的时延带宽积;
V=2500000m/s D=500m, R(带宽)=10000000bit/s
G=D/V•R = (500/2500000)•10000000=2000 bit
G=D/V•R =(5×102)/(25×105)=1/(5×103)×107=2×10^3 bit
例题2:
设主机A和主机B由一条带宽为R=10^8bit/s、长度为D=100m的链路互连,
信号传播速率为V=250000km/s。如果主机A从t=0时刻开始向主机B发送
长度为 L=1024bit的分组。
1)求主机A和主机B间的链路传输时延dt;
dt=L/R=1024/10^8=1.024×10^-5s;
2)求主机A发送该分组的传播时延dp;
dp=D/V=100/250000000=4×10^-7s;
3)求该分组从主机A到主机B的延迟T。(忽略结点处理时延和排队时延)
T=dt+dp=1.024×10-5s+4×10-7s=1.064×10-5s;
4)求主机A与主机B间链路的时延带宽积G
G=dp×R=4×10^-7 × 0^8=40bit;
4>丢包率(选择,填空)
作用:丢包率常被用于评价和衡量网络性能,在很大程度上反映 网络拥塞程度;
/**
* N1:丢失分组总数
* Ns:发送分组总数
* Nr:接收分组总数
*/
η=N1/Ns=Ns-Nr/Ns
5>吞吐量(Thr Throught)
是指在 单位时间内 源主机通过网络向目的主机 实际送达 的数据量,
记为Thr,单位:bit/s 或 B/s(字节每秒) : 1B=8bit
受网络链路带宽, 网络连接复杂性, 网络协议, 网络拥塞程度 影响
S R1 R2 Ri RN-1 RN
▋-----●------●- - -●-----●-----▉ Thr=min(R1,R2,R3)
±------------±--------±-------------------------------------------+
| 速率、带宽 | bit/s | 网络 单位时间内 传送的 数据量, 1bit=0/1 |
±------------±--------±-------------------------------------------+
| 时延 | s | 结点处理时延dc+排队时延dq+发送时延dt+传播时延dp|
±------------±--------±-------------------------------------------+
| 时延带宽积 | bit | G=传播时延dp×链路带宽R =s•bit/s=bit; |
±------------±--------±-------------------------------------------+
| 丢包率 | % |η=N1(丢包总数)/NS(发送总数)=Ns-Nr(接收总数)/Ns|
±------------±--------±-------------------------------------------+
| 吞吐量 |bit/s,B/s| Thr(最大吞吐量)=min(R1,R2,Ri,R(N-1),RN)|
±------------±--------±-------------------------------------------+
例题:
设主机A和主机B由一条宽带为R=10^8bit/s,长度为D=100m的链路互连,信号传播率
为V=250000Km/s如果主机A从t=0时开始向主机B发送长度为L=1024bit的分组,试求:
1>主机A和主机B间的链路传输延时dt;
dt=L/R=1024/108=1.204×10-5 s
2>主机A发送该分组的传播延迟dp;
dp=D/V=100/(25×107)=4×10-7 s
3>该分组从主机A到主机B的延时T;
1.204×10-5+4×10-7=(1.024+0.04)×10-5=1.064×10-5
4>t=dt时,分组的第一位在何处;
分组的第一位已经到达主机B,因为dt>dp 0.124>0.04;
5>主机A与主机B间链路时延带宽积G;
G=dp×R=4×10-7×108=40bit;
例2:
如图所示的网络中,A在 t=0 时刻开始向C发送一个 4Mbit 的文件;
B在t=(0.1+e)s(e无限趋近0的小正实数)时刻向D发送一个2Mbit文件;
忽略传播延迟和结点处理延迟(注:M=10^6);如果采用报文交换方式,
则A将文件交付给C需要大约多长时间? B将文件交付给D需要大约多长时间;
//延迟时间=dt(L/R)+dp(D/V)
dt(AC)=4Mbit/20Mbps=0.2s; dp(AC)=
20Mbps▊→ 20Mbps▊→
A----------┐ 40Mbps ┌----------C
¤-------------¤
B----------┘ └----------D
20Mbps▊→ 20Mbps▊→
5.计算机网络体系结构
1>计算机网络体系结构定义
计算机网络所划分的 层次 以及 各层协议 的集合就称为计算机 网络体系结构;
2>OSI参考模型(七层)
开发系统互连(Open System Interconnection, OSI)参考模型: 国际标准化组织;
采用分层结构化技术,采用三级抽象,即体系结构,服务定义,协议规格说明,将整个通信
功能分为7层,数据 由上到下 层层封装;
(发送端)
应用层 :为用户提供一个使用网络应用的 “接口”; HTTP/HTTPS FTP SMTP
↕ (通信软件)
表示层 :用于处理应用实体间交换数据的语法,解决格式和数据表示的差别,不独立存在;
↕ (翻译) 文本压/解压缩,数据加/解密,字符编码的转换;
会话层 :通过两台计算机建立、管理、终止通信来完成会话,不独立存在; socket
↕ (确认对方可通话)
传输层 :复用/分解、处理端到端的可靠数据传输,连接控制、流量控制、拥塞控制; 传输协议 TCP UDP
↕ (控制速度,数据分组) 将通信子网的技术、设计和欠缺与上层相隔离
网络层 :将分组通过交换网络传送至目的主机(路径选择功能), 转发和路由;
↕ (加IP地址)
数据链路层:1.差错控制,2.流量控制,3.链路管理(建立连接),4.寻址;
↕ (加MAC地址,Media Access Control Address 它用来确认网络设备位置的位址,每个网卡都有一个MAC )
物理层: 无结构比特流传输;规定数据终端设备(DTE)与数据通信设备(DCE)之间接口的相关特性,(机械,电气,功能、规程)
(光纤,双绞线,电磁波) 发送端 接收端
应用层<------ 协议 ------->应用层 ╮
*1.数据在垂直的层次中 自上而下 地逐层传递至物理层; ↕ ↕ │
表示层<------ 协议 ------->表示层 │
*2.对等层不直接进行通信,称为虚拟通信; ↕ ↕ >端到端层(端口)
会话层<------ 协议 ------->会话层 │ 虚拟通信
*3.物理层的两个端点进制物理通信,称为实通信; ↕ ↕ │ 信息处理服务
传输层<------ 协议 ------->传输层 ╯
*4.中间系统通常只实现物理层、数据链路层和网络层功能; ↕ ↕ ↕
网络层<─协议─>网络层<─协议─>网络层 ╮
物理层、数据链路层、网络层为 结点到结点层; ↕ ↕ ↕ |
数据链路层<协议>数据链路层<协议>数据链路层 >结点到结点层
传输层、会话层、表示层、应用层为 端到端层; ↕ ↕ ↕ |数据交换和传输
(端到端层的第一个层) 物理层<─协议─>物理<──协议──>层物理层 ╯—实通信
↑___传输介质__↑↑__传输介质___↑
发送方 中间系统 接收方
3>有关术语
*1.数据单元:在层的实体之间传送的比特组,
对等层之间传输的数据单元:协议数据单元(PDU,Protocol Data Unit)
应用层<–>表示层<–>会话层<–>传输层<---->网络层<–>数据链路层<–>物理层
(报文) 数据段或报文段 分组或包 帧 比特流或位流
(报应) (数段) (络分) (物流)
*2.服务访问点(Service Access Point,SAP)
相邻层的服务是通过其接口上的 服务访问点 进行的,每个SAP都
有一个唯一的 地址号码,N层SAP就是(N+1)层可以访问N层的地方;
*3.服务原语
OSI参考模型中的每一层的真正功能是为其上一层服务的,第N层向(N+1)层
N-PDU可表示为N-PC加上N-SDU,提供服务都通过一组原语描述的,包括四类:
1)请求(Request): 用户实体请求服务做某种工作;
2)指示(Indication): 用户实体被告知某件事发生;
3)响应(Response): 用户实体表示对某件事的响应;
4)证实(Confirm): 用户实体收到关于它的请求的答复;
4>TCP/IP参考模型
应用层(报文): 网络应用 www服务:HTTP 文件传输:FTP 电子邮件:SMTP和POP3
↕
传输层(段): 面向连接:提供可靠数据流传输的传输控制协议:TCP
↕ 无连接:不提供可靠数据传输的用户数据协议:UDP
↕
网络互联层(数据报):TCP/IP参考模型 核心 ,IP协议,ICMP(互联网控制报文协议);
↕
网络接口层(帧) :提供给网络互联层一个访问接口
*Internet组织在长期运行因特网的实践中,提出了一个基于TCP/IP协议簇的
网络管理标准协议 SNMP ,并得到众多支持,使之成为事实上的网络管理工业标准;
5>五层参考模型
描述计算机网络中 最常用、最接近实际网络 的参考模型;
应用层(报文)->传输层(段)->网络层(数据报)->链路层(帧)->物理层(比特流)
第二章 应用层
1.计算机网络应用体系结构(3种)
1>客户/服务器(C/S)结构网络应用;(Client/Server)
*1.C/S结构网络应用 是最典型、最基本的网络应用(例如:www应用;文件传输;电子邮件;)
*2.特点:
#1.网络通信双方分为客户程序 和 服务器程序,客户与客户之间不进行直接通信;
#2.服务器程序 需 先运行起来, 做好接受通信的准备;
#3.客户程序后运行,主动与服务器进行通信;
2>纯P2P结构网络应用;
P2P(Peer to Peer(对等端))
通信双方没有传统意义上的客户端服务器之分,地位对等,通信双方都具备客户端与服务器的特征;
P2P与传统因特网C/S两者在传输层及以下各层的协议结构是相同的,差别在 应用层;
P2P网络是一种在IP网络上构建的覆盖网;
3>混合结构网络应用(选择);
混合结构网络应用将C/S应用和P2P应用相结合;
2.网络应用通信基本原理
1>网络应用的基本通信过程
网络应用的基本通信过程就是运行在不同主机上的 应用进程 间以C/S方式进行的通信;
(微信)客户端 应用层协议 服务器端 (微信)
应用层----------------应用层
接口-------API-------接口 Application Programming Interface
传输层 传输层 (应用编程接口)
2>网络应用编程接口
典型的 网络应用编程接口 是套接字(Socket),对于一个传输层协议,需要
为其接口的每个套接字分配特定的编号,标识该套接字,该编号称为 端口号;
3.域名系统(DNS,Domain Naming System)
1>域名系统
*1.作用(选择题):将域名映射为IP地址,实现映射的过程,称为域名解析;
域名解析
域名:www.baidu<----------->IP地址:115.239.211.122;
*2.域名解析的原理(选择题)
为了实现域名解析,域名系统会建立 分布式 数据库,存储域名与IP地址的映射关系数据;
2>层次化域名空间
*1.域名的命名方式:层次树状结构命名方式,每个域名有不同级别的域名构成,各层域名间用 点 分割;
四级域名.三级域名.二级域名.顶级域名.根 例如 www.baidu (顶二三)
域名不区分大小写; (三级域名.二级域名.顶级域名)
我国二级域名 划分为类别域名 和 行政区域名 两大类;
*2.顶级域名的分类
#1.国家顶级域名:cn,us,uk等;
#2.通用顶级域名:com(公司),org(非盈利组织),gov(政府),edu(教育),
net(网络组织),mil(军事组织),int(国际组织)等
#3.基础结构域名:只有一个,arpa(反向域名解析);
3>域名服务器
*0.区:一个服务器所负责管辖的范围;
DNS服务器:管辖范围不以"域"为单位, 而以"区"为单位;
*1.作用:存储着自己所管辖范围内主机的域名到IP地址的映射
*2.分类:根据其主要保存的域名信息以及在域名解析过程的作用分为:
#1.根域名服务器:根域名服务器是最重要的服务器(a-m),全球有13个,保存所有顶级域名服务器的域名和IP;
#2.顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名;结尾的IP
#3.权威域名服务器:保存该区中的 所有主机 的域名和IP地址的映射;
#4.中间域名服务器:不是以上三种的域名服务器;
#5.本地域名服务器:主机在网络地址配置是都会配置的,用于保存被查询域名信息;
是主机进行域名查询时首先被查询的域名服务器。
本地域名服务器->根域名服务器->顶级域名服务器->中间域名服务器->权威域名服务器;
4>域名解析过程(简答题)
递归解析:
主机进行域名查询时,本地域名服务器没有 被查询域名信息,则本地域名服务器 代理主机
查询根域名服务器,根域名服务器代理本地域名服务器查询下一个域名服务,依次类推,
直到得到被查询域名的IP地址,最后将解析结果发送给主机; 本地->根->顶级->权威
↑—根<-顶级←–┛
迭代解析:
主机进行域名查询时,本地域名服务器没有查询域名信息,则先求助根域名服务器,
根域名服务器只是将下一步要查询的服务器告知查询主机的本地域名服务器,本地
域名服务器继续查询下一个域名服务器,直到查询到被查询的域名的IP地址;
本地->根 本地->顶级 本地->权威
4.万维网应用
1>万维网应用结构
*1.万维网应用主要包括 浏览器、web服务器、HTTP协议;
#1.浏览器:Web应用的客户代理;
#2.web服务器:存储管理供用户请求浏览的Web页面(Web文档)
#3.超文本传输协议(HTTP):客户和服务器间交换基于应用层的协议HTTP;
*2.URL:统一资源定位符(Uniform Resource Locator)
URL作用:URL是HTTP标识被操作资源的方法;
URL地址主要两个部分组成:存放对象的 主机域名(或IP地址) 和 对象的路径名;
例:http://www.abc.edu/cs/index.html //对象:网页上的图片、文字、视频等资源
服务器主机域名(IP地址)/对象的路径名
URL的寻址方式确保万维网上的每个Web页面或对象都有一个唯一的标识符;
*3.用户通常利用客户端软件来使用某个网络应用,例如,浏览器,邮件收发软件等
这个软件被称为 用户代理(user agent);
2>HTTP(HyperText Transfer Protocol,HTTP) (综合题)
*1.HTTP(超文本传输协议)概述
Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服务器
如何向浏览器进行响应,目前主要使用HTTP/1.0和HTTP1.1,以HTTP/1.1为主流;
*2.HTTP连接
1)浏览器在向服务器发送请求之前,首先需要 建立TCP连接,
然后才 发送 HTTP请求报文, 接收 HTTP响应报文;
RTT:
HTTP客户进程向服务器请求建立连接,从客户发送连接请求,到收到服务器连接确认,
用时一个往返时间(Round Trip Time, RTT),RTT作为一个 时间单位 来使用
客户端--------------->服务器
↖--------------↙
2)使用TCP策略不同分为:
#1.非持久连接的HTTP;
指客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文,接收HTTP响应报文,然后断开连接;
$1.一条连接(8个RTT)
非持久连接HTTP的响应时间: 以请求浏览一个引用为例 总共8个RTT时间, 请求每个对象时,都要新建TCP连接;
$2.多条连接(4个RTT)
优化:典型的优化技术:并行连接和持久连接;
并行连接:通过建立多条并行TCP连接,并行发送HTTP请求和并行接收HTTP响应;(4个RTT, RTT是往返时间)
并行连接会增加客户端主机的资源开销,如内存开销,故系统通常同时建立的并行TCP连接数是有限制的;
#2.持久连接的HTTP;
$1.非流水(管道)方式的持久连接:
客户端收通过持久连接到响应报文后,不断开TCP连接,继续请求接下来的文档;
$2.流水(管道)方式持久连接(HTTP1.1):
客户端在通过持久连接收到前一个响应报文后,不断开连接,继续并行请求所需文档;
① HTTP/1.0 默认是非持久连接;
② HTTP/1.1 默认使用流水方式持久连接,HTTP/1.1持久连接默认是激活的; 半双工
③ HTTP/1.1代理服务器 不应该与 HTTP/1.0客户端 建立持久连接;
例题
设某网页的URL为“http://www.abc/index.html”,且该URL对应的IP地址在你的计算机上没有缓存
(hosts中没有),文件index.html引用了 8个小图像,在域名解析的过程中,无等待的一次DNS解析请求与
响应时间记为RTTd,HTTP请求传输Web对象过程的一次往返时间记为RTTh。试给出:
1.该URL中的域名。 域名:www.abc ;
2.浏览器解析到该URL对应的IP地址的最短时间和最长时间。
最短时间1个RTTd (本地), 最长4个RTTd (本地+根+顶级+权威);
3.若浏览器没有配置并行TCP连接,则基于HTTP1.0获取该Web页的完整内容(包括引用的图像)
所需要的时间(不包括域名解析时间):
/**
* 解题思路:画图
* 连接TCP:1RTTh,
* 请求空网页:1RTTh 获取8张图片的URL;
* (建立TCP 1RTTh+请求图1RTTh) *8=16RTTh
*/
1+1+16=18RTTh;
4.若浏览器配置5个并行TCP连接,则基于HTTP1.0获取该Web页的完整内容(包括引用的图像)
需要的时间(不包括域名解析时间):
/**
* 并行5个
* 建立TCP连接 1RTTh,
* 请求web空页面1RTTh, 获取8张图片的URL;
* 建立5条TCP连接:1RTTh
* 请求图片1,2,3,4,5:1RTTh
* 建立3条TCP连接 :1RTTh
* 请求 6,7,8:1RTTh
*/
6RTTh;
5.若浏览器没有配置并行TCP连接,分别计算基于非流水方式的HTTP1.1获取该Web页完整内容需要的时间
以及基于流水方式的HTTP1.1获取该Web页的完整内容(包括引用的图像)需要的时间(不包括域名解析时间)
/** /**
* 建立TCP连接 1RTTh, * 建立TCP连接 1RTTh,
* 请求web空页面1RTTh, 获取8张图片的URL; * 请求web空页面1RTTh, 获取8张图片的URL;
* 请求8张图片 8RTTh, * 请求8张图片 1RTTh,
*/ */
非流水方式=10RTTh; 流水方式=3RTTh;
3)HTTP报文(选择,填空)
*1.报文结构:
+-------+----------------------------+----------------------------------+
|报文结构| 请求报文 | 响应报文 |
+-------+----------------------------+----------------------------------+
| 起始行 | 请求行:<方法><URL><协议版本> | 状态行:<协议版本><状态码><原因短语>|
+-------+----------------------------+----------------------------------+
| 首部行 | 携带附加信息 | 携带附加信息 |
+-------+----------------------------+----------------------------------+
| 空白行 | CR回车 LF换行(必须有) | CRLF(回车换行) |
+-------+----------------------------+----------------------------------+
|报文主体| 实际要请求的内容 | 实际要响应的内容 |
+-------+----------------------------+----------------------------------+
*请求报文和响应报文最大的不同在于起始行,起始行在请求报文中为请求行,在响应报文中为状态行;
*2.请求方法:
+------+----------------------------------------+
| GET |请求读取由URL所标识的信息, 是 最常见 的方法;|
+------+----------------------------------------+
| HEAD |请求读取由URL所标识的信息的首部; |
+------+----------------------------------------+
| POST |给服务器添加信息; |
+------+----------------------------------------+
|OPTION|请求一些选项的信息; |
+------+----------------------------------------+
| PUT |在指明的URL下存储一个文档; |
+------+----------------------------------------+
*3.状态码:2位十进制数,利用第一位十进制数字区分5类状态码;
+---------+---------+-------------+---------------------------------+
|状态码类别| 取值范围 | 作用 | 说明 |
+---------+---------+-------------+---------------------------------+
| 1×× | 100~199 | 信息提示 | 通告请求已接收,可能还需要进一步交互|
+---------+---------+-------------+---------------------------------+
| 2×× | 200~299 | 成功 | 成功完成客户请求操作,并进行响应 |
+---------+---------+-------------+---------------------------------+
| 3×× | 300~399 | 重定向 | 表示资源已移走,需要向新URL发送请求 |
+---------+---------+-------------+---------------------------------+
| 4×× | 400~499 | 客户端错误 | 由于客户端错误无法成功响应 |
+---------+---------+-------------+---------------------------------+
| 5×× | 500~599 | 服务器错误 | 由于服务器错误,无法成功响应 |
+---------+---------+-------------+---------------------------------+
常见状态码
+-----+------------------------------+---------------------------------+
|状态码| 短语 | 说明 |
+-----+------------------------------+---------------------------------+
| 100 | Continue |已成功收到请求的初始部分,请客户端继续|
+-----+------------------------------+---------------------------------+
| 200 | OK | 成功,所请求信息在响应报文中 |
+-----+------------------------------+---------------------------------+
| 301 | Moved Permanently | 重定向 |
+-----+------------------------------+---------------------------------+
| 400 | Bad Request | 客户端请求错误 |
+-----+------------------------------+---------------------------------+
| 401 | Unauthorized | 未授权,需要输入用户名和密码 |
+-----+------------------------------+---------------------------------+
| 404 | Not Found | 客户端请求的对象,在服务器上不存在 |
+-----+------------------------------+---------------------------------+
| 451 | Unsupported Media Type | 不支持的媒体类型 |
+-----+------------------------------+---------------------------------+
| 505 | HTTP Version Not Supported | 请求使用的HTTP版本,服务器不支持 |
+-----+------------------------------+---------------------------------+
3>cookie(选择,填空)
*1.HTTP服务器不保存客户的任何信息,被称为无状态协议;
*2.为了记录保存客户信息,引入Cookie机制,用于用户跟踪;
*3.Cookie(小型文本文件):
网站为了辨别用户身份,进行会话跟踪而存在 用户本地终端 上的数据;
*4.Cookie技术包括4部分内容(简答)
1)HTTP 响应报文 中的Cookie头行: Set-Cookie 用户的Cookie ID,用户偏好等;
2)用户浏览器在本地 存储、维护、和管理的Cookie文件;
3)HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问是,浏览器会检索本地Cookie文件;
4)网站在后台数据中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等;
*5.Cookie的常见用途
1)网站可以利用Cookie的ID来准确统计网站的实际访问人数,新访问者和重复访问者的人数对比及访问频率;
2)网站可以利用Cookie限制某些特定用户的访问;
3)网站可以存储用户访问过程中的操作习惯和偏好;
4)记录用户登录网站使用的用户名、密码等信息;
5)电子商务网站利用Cookie可以实现"购物车"功能;
5.Internet电子邮件
1>邮件系统结构(选择填空)
*1.邮件服务器(电子邮件体系结构的核心)
负责发送和接收邮件,向发信人报告信件传送情况(已交付,被拒绝,丢失),用户注册,分配存储空间
xuezhihui @ 163
用户邮箱名 在 邮箱服务器域名
*2.用户代理(电子邮件应用的客户端软件)
Outlook,Apple Mail, Fox Mail等支持用户撰写、显示、处理 和
收发邮件,为用户阅读,回复,转发,保存和撰写邮件提供编辑与操作环境;
*3.简单邮件传输协议(SMTP)
是核心应用层协议,实现邮件服务器之间或用户代理到邮件服务器间的 邮件传输;
*4.邮件读取协议(POP3,IMAP,HTTP)
第三版邮局协议 Post Office Protocol - Version 3 POP3
互联网邮件访问协议 Internet Message Access Protocol IMAP
Web邮件系统的邮件读取协议 HyperText Transfer Protocol HTTP
2>SMTP 简单邮件传输协议 (Simple Mail Transfer Protocol)
*1.通过3个阶段的应用层交互完成邮件传输:
1)握手阶段
2)邮件传输阶段
3)关闭阶段
*2.定义了14条命令,每条命令用4个字母组成;
例如: HELO:标识发件人身份; DATA:通知服务器准备开始发送邮件内容, QUIT:命令退出;
*3.SMTP定义了21种应答信息,一般只一行,由3位数字的代码开始,后面附上(可无)简单的文字说明;
例如:220 mail.abc SMTP服务器端口号 25;
*4.SMTP的特点
1)SMTP只能传送 7位 ASCII码文本内容,(包括SMTP命令,应答消息,以及邮件内容);
2)SMTP传送的邮件内容中不能包含 “CRLF.CRLF”, (因为该信息用于标识邮件内容的结束);
3)SMTP是 “推动” 协议(HTTP是"拉动"协议);
4)SMTP使用 TCP连接 是持久的;
3>电子邮件格式与MIME
*1.一封邮件的格式结构
首部 空白 行主体
*2.邮件中常见的首部行内容:
To 后面收件人的电子邮件地址 (必填)
Subject 邮件的主题 ╮
Cc 表示应给发送一个邮件副本 |
From 表示发信人的电子邮件地址 >可选
Date 发信日期 |
Reply-To 对方回信所用的地址 ╯
*3.MIME 互联网邮件扩展(Multipurpose Internet Mail Extensions)
0)用于传输非7位ASCII码文本内容时;
1)有5个 MIME邮件 首部字段;
MIME-Version(MIME版本), Content-Description(邮件概述),Content-Id(邮件唯一标识)
Content-Transfer-Encoding(编码方式) Content-Type(主体内容类型和格式)
2)定义了 多种邮件内容的格式, 对多媒体电子邮件的表示方法进行了标准化;
3)定义了邮件传送编码,可对 任何内容格式进行转换 ,从而适用于通过SMTP进行传送;
4>邮件读取协议
*1.POP3 第三版邮局协议(Post Office Protocol - Version 3)
1)授权阶段(用户名和密码)
2)事务处理阶段(list,retr,dele)
3)更新阶段(quit)
user xxxx:用于向服务器传送用户名
pass xxxx:用于向服务器发送用户密码
list:用于请求所有的邮件序号和邮件长度
retr邮件号:用于请求服务器传送第几封邮件
dele邮件号:用于将邮件标记为删除
quit: 结束会话,并更新操作
*2.IMAP 互联网邮件访问协议(Internet Message Access Protocol)
IMAP 服务器将每个邮件与一个文件夹进行关联,
通过 IMAP 收件人可以对邮件进行移动、查询、阅读、删除等操作。
IMAP 允许用户代理只读邮件的部分内容;
IMAP与POP3的区别:
对邮件的操作是否会反映在服务器上 IMAP(会) POP3(不会)
*3.HTTP:Web邮件系统的邮件读取协议
6.FTP 文件传输协议(File Transfer Protocol,FTP)
*1.在互联网的两个主机间实现文件互传的网络应用,其应用层协议称为FTP;
*2.进程两大组成部分:
#1.主进程:负责接受新的客户请求;
#2.从属进程: 负责处理单个客户请求,与具体客户进行交互;
应用结构
FTP <───控制连接(持久,端口号21)───> FTP
客户端<—数据连接(临时,端口号20)—>服务器
↕ ↕
文件系统 文件系统
*3.FTP控制信息的传送方式为 带外控制;
#0.由于FTP专门使用一个独立的控制连接传输控制信息,与传输文件信息进行分离,故将其传送方式称为 “带外控制”;
#1.控制连接:客户和服务器之间传输控制信息。如用户标识、口令、改变远程目录,上传下载文件命令等。
#2.数据连接:实际传送文件内容。 *.控制连接服务器端口号为21; 数据连接服务器端口号为20;
带内控制协议: 命令、数据通过一个TCP连接传输的应用层协议,例如HTTP;
带外控制协议: 专门使用一个独立的控制连接传输控制信息,与传输文件信息进行分离,例如FTP;
*4.FTP是 有状态 的协议, FTP的命令是 可读的
例如:List(文件列表), RETR下载/STOR上传 filename ,USER usename, PASS password,
*5.不需要专门的用户名和口令就可以登录的FTP服务器称为 匿名 服务器;
7.P2P应用
*1.P2P:Peer to Peer P2P应用:BitTorrent、PPLive 和 PPstream等;
*2.P2P应用特点(选择,填空)
#1.应用的对等方是用户的计算机;
#2.很强的应用规模伸缩性;
#3.应用都是动态地在对等方之间进行;
#4.应用充分聚集利用了端系统的计算能力以及网络传输带宽;
8.Socket编程基础
套接字(Socket): 典型的网络应用编程接口
端口号(Port number):标识套接字;
*1.常见的服务器端口号(选择,填空)
20,21 FTP文件传输协议端口号 控制端口号21,数据端口号20;
23 Telnet远程终端协议的端口号;
25 SMTP简单邮件传输协议端口号;
53 DNS域名服务器端口号;
69 TFTP简单文件传送协议端口号;
80 HTTP超文本传输协议端口号;
110 POP3第三版的邮局协议端口号;
161,162 SNMP简单网络管理协议的端口号;
520 RIP路由信息协议的端口号;
*2.Socket API函数
1) 创建套接字: socket();
参数: 流式套接字: SOCK_STREAM;面向传输层: TCP接口;
数据报套接字:SOCK_DGRAM; 面向传输层: UDP接口;
原始套接字: SOCK_RAW; 面向网络层: 如IP,ICMP等接口;
2) 绑定套接字的本机地址和端口号: bind();
3) 设置监听: listen();
4) 建立连接: TCP客户端: connect(); TCP服务端: accept();
5) 发送数据: TCP: send(); UDP: sendto
6) 接收数据: TCP: recv(); UDP: recvfrom;
7) 关闭套接字: close();
*3.UDP及TCP的Socket
#1.UDP Socket:
UDP客户端 UDP服务端
1) 创建套接字 socket() 1)创建套接字 socket()
2) 发送数据 sendto 2)绑定地址和端口号 bind()
3) 接收数据 recvfrom 3)接收数据 recvfrom
4) 关闭套接字 close() 4)发送数据 sendto
5)关闭套接字 close()
#2.TCP Socket:
TCP客户端 TCP服务端
1) 创建套接字 socket() 1)创建套接字 socket()
2) 建立连接 connect() 2)绑定地址和端口号 bind()
3) 发送数据 send() 3)设置监听 listen();
4) 接收数据 recv() 4)建立连接 accept()
5) 关闭套接字 close() 5)接收数据 recv()
6)发送数据 send()
7)关闭套接字close()
WebSocket
特点
1.服务器可以主动向客户端推送消息,客户端也可以主动向服务器发送信息,是真正的双向平等对话;
实现原理:客户端向WebSocket服务器通知(notify)一个带有所有接收者ID(recipient IDs)的
事件(event),服务器接收后立即通知所有活跃的(active)客户端,只有ID在接收者ID序列中的
客户端才会处理这个事件,WebSocket本身是基于TCP协议的;
2.WebSocket与Http区别
Http WebSocket
Client Server Client Server
| Request | | Handshake | 握手
|------------>| |----------------->|
| Response | | Acknowledgement | 确认
|<------------| |<-----------------|
| | |<---------------->|
| Request | |Bi-directional msg| 双向通信(双全工模式)
|------------>| |<---------------->|
| Response | | Connection end | 连接结束
|<------------| |<---------------->|
↓ ↓ ↓ ↓
Connection lifecycle Connection lifecycle 连接生命周期
*1.WebSocket 是一个持久化协议,相对HTTP这种非持久的协议来说,Http的生命周期是
通过Request来界定的,也就是一个Request,回应一个Response,Http请求结束(HTTP1.0);
*2.在HTTP1.1中有了改进,增加了一个keep-alive,也就是说,在一个HTTP连接中,可以发送
多个Request,接收多个Response,但请记住 Request=Response,也就是说,一个Request
只能有一个Response,而且这个Response也是被动的,不能主动发起;
首先我们来看个典型的 WebSocket 握手:
Client: 发起请求
版权声明:本文标题:计算机网络原理知识 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1725920040a1030489.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论