admin 管理员组文章数量: 887019
计算机网络:知识点总结(带问号是考题,不带的是知识点)
文章目录
- 计算机网络:知识点总结(带问号是考题,不带的是知识点)
- 1.互联网的产生?
- 2.三网融合?
- 3.互连网和互联网?Internet与internet
- 4.互联网的两个基本特点
- 5.WWW?
- 6.ISP、IXP?RFC?
- 7.互联网的组成?
- 8.端系统的两种通信方式
- 9.集线器、路由器、以及交换机的区别?
- 10.计算机网络性能指标
- 11.分层网络体系结构及各层作用
- 12.SDU与PDU?
- 13.上面的服务用户只能看见服务,无法看见下面的协议;对上面的服务用户是透明的。透明怎么理解?
- 14.数据链路层为啥要加首部和尾部?
- 15.什么是物理层?
- 16.信道 三种通信方式
- 17.基带调制(也称编码)、带通调制
- 18.自同步能力
- 19.信道传输速率影响因素?奈氏准则和香农公式
- 20.物理层下面的传输媒体分类?
- 21.信道复用技术
- 22.局域网中的中间设备(交换机)包含哪几层
- 23.以太网
- 24.数据链路层的信道类型?
- 25.什么是链路?什么是数据链路?
- 26.字节填充与零比特填充
- 27.CRC计算冗余码?
- 28.CRC与FCS区别?
- 29.无比特差错与无传输差错
- 30.PPP协议??组成?
- 31.并行传输与串行传输、同步通信与异步通信(转载)
- 32.PPP协议格式
- 33.网络层的概述?
- 34.虚电路和数据报服务的对比?
- 35. 直接交付和间接交付?
- 36.IP地址的表示方法
- 37.IP地址的分类
- 38.CIDR
- 39.子网掩码怎么计算网络地址?
- 40.按位与、或、异或操作?
- 41. IP地址与MAC地址的区别?
- 42.超网?
- 43.路由聚合和划分?
- 44.有mac地址为什么还需要ip地址?
- 45.ARP如何获取IP地址与MAC地址的映射?
- 46.首部校验和的计算?(与CRC区别开)
- 47.IP数据报首部的可变部分?
- 48.路由器的转发表如何进行转发?以及转发表匹配具体过程?
- 49.二叉线索查找转发表?
- 50.ICMP报文
- 51.IPV6?
- 52.静态路由和动态路由
- 52. RIP例题
- 53. 运输层的位置?
- 54.运输层的作用?
- 55.UDP与TCP的区别?
- 56.不同进程如何进行识别?
- 57.端口?
- 58.停止等待协议?
- 59.TCP报文首部格式?
- 60.滑动窗口?
- 61.RTO计算?(百度的 看不懂)
- 62.TCP的流量控制?
- 63.糊涂窗口综合征?
- 64.TCP的拥塞控制?
- 65.TCP的三次握手和4次挥手?
- 66.应用层作用?
- 67.DNS?域名结构?区和域的区别?
- 68.域名服务器类型?递归查询与迭代查询?
- 69.FTP、TFTP、NFS以及TELNET?
- 70.HTTP?
- 71.简述用户在浏览器中输入http://acm.sdtbu.edu并回车到浏览器显示出页面的主要流程?
问题:1—14:第一章节:概述
15-21:第二章节:物理层
22-32:第三章节:数据链路层
22-52:第四章节:网络层
53-65:第四章节:运输层
66-70:第四章节:应用层
1.互联网的产生?
•1969 – 1990
从单个网络 ARPANET 向互联网发展。
•1985 – 1993
建成了三级结构的互联网 。
•1993 – 现在
全球范围的多层次ISP结构的互联网。
2.三网融合?
电信网络:提供电话、电报以及传真等服务。
有线电视网络:向用户传送各种电视节目。
计算机网络:使用户能在计算机之间传送数据文件。
发展最快的并起核心作用的是计算机网络
“三网融合”:是指电信网络、有限电视网络融入计算机网络
3.互连网和互联网?Internet与internet
互联网:目前流行最广,事实上的标准译名。
互连网:局部范围互连起来的计算机网络
互联网 ≠ 互连网。
Internet:全球最大、最重要的计算机网络。它采用TCP/IP协议族作为通讯的规则,且前身是美国的ARPANET。
internet:是一个通用名词,它泛指由许多个计算机网络互连而成的计算机网络。它不一定采用TCP/IP协议族作为通讯的规则
4.互联网的两个基本特点
•连通性(connectivity)
使上网用户之间可以非常便捷、非常经济地交换各种信息好像这些用户终端都彼此直接连通一样。
•资源共享(•Sharing)
实现信息共享、软件共享、硬件共享。由于网络的存在,这些资源好像就在用户身边一样地方便使用
5.WWW?
请百度万维网。。
6.ISP、IXP?RFC?
•互联网服务提供者ISP(Internet Service Provider):
在许多情况下,互联网服务提供者ISP就是一个进行商业活动的公司,例如,中国电信、联通、移动、腾讯、网易、3guu
提供接入到互联网的服务。
需要收取一定的费用
•互联网交换点IXP(Internet eXchange Point):
世界上较大的 IXP 的峰值吞吐量都在 Tbit/s 量级。
允许两个网络直接相连并快速交换分组。
常采用工作在数据链路层的网络交换机。
•标准发表:以RFC的形式(Request For Comments ):
所有的 RFC 文档都可从互联网上免费下载。
任何人都可以用电子邮件随时发表对某个文档的意见或建议。
但并非所有的 RFC 文档都是互联网标准。只有很少部分的 RFC 文档最后才能变成互联网标准。
RFC 文档按发表时间的先后编上序号(即 RFCxxxx,xxxx 是阿拉伯数字)。
7.互联网的组成?
从互联网的工作方式上看,可以划分为两大块:
边缘部分:
由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分:
由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。
8.端系统的两种通信方式
客户/服务器方式:
Client / Server 方式
简称为 C/S 方式
对等方式:
Peer to Peer 方式
简称为 P2P 方式
9.集线器、路由器、以及交换机的区别?
了解三者工作方式(比喻法,具体官方解释请百度):
一、区分集线器、交换机、路由器(比喻法)
某一天,你到你女友小芳(暂定这个名字吧)就读的学校去找她,那么你的做法是什么呢:
一、集线器的工作方式:
你站到学校中庭,大喊一声“小芳,我来你找你了!” (广播)
如果这个时候正好有别人也在大喊大叫,你就必须等他喊完了再喊。(排队)
如果你喊的时候不巧碰上另一个人跟你同时喊,那么你和他喊的内容都不能被听见。(冲突)
你喊的时候,是听不见别人说什么的,只有喊完了才开始竖起耳朵听。(半双工工作方式、监听)
果然,对面楼里传来了你女友的声音“你去死吧!” (响应)
二、交换机的工作方式:
你女友事先通知了你她的手机号码(Mac地址)。
你拨通了她的手机。(建立连接)
对她说“我来找你了,因为我想你想得要死,我的甜心,我的宝贝……”。(独享信道)
你的女友听得不耐烦,没等你说完就回了一句“肉麻死了”! (全双工方式)
三、路由器的工作方式:
你事先把你所有女友所在的XX系XX级XX班XX号座位的信息记录在你的粉红色笔记本上(建立路由表)
你找到了小芳的地址(IP地址),并且确定了如何才能找到她的途径 (路由选择) 。
你到学校门房问到了XX系所在的楼,又到XX系问到了XX班的教室,又到XX教室问到了XX号座位的位置……经过N次询问(N跳),你终于来到了小芳的面前。
- 知乎https://www.zhihu/question/21690010
具体区别:
路由器 | 交换机 | 集线器 | |
---|---|---|---|
工作层次 | 网络层 | 数据链路层 | 物理层 |
转发依据 | IP地址 | Mac地址 | Mac地址 |
功能 | 连接不同的网络 | 连接局域网中的主机 | 连接局域网中的主机 |
宽带影响 | 共享宽带 | 独享宽带 | 共享宽带 |
传输模式 | - | 全双工或半双工 | 半双工 |
注:
10.计算机网络性能指标
速率:
带宽:
吞吐量:
时延:
时延带宽积:
往返时间:
利用率:
11.分层网络体系结构及各层作用
应用层:
运输层:
网络层:
数据链路层:
物理层:
12.SDU与PDU?
SDU:
OSI 把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)。
PDU:
OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。
任何两个同样的层次把 PDU (即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信
SDU 可以与 PDU 不一样。
例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
13.上面的服务用户只能看见服务,无法看见下面的协议;对上面的服务用户是透明的。透明怎么理解?
可以理解为 下层提供给上层服务,上层不需要懂其下层原理,实现了上下层的“分离”。既下层是对上层来说,是透明的。
14.数据链路层为啥要加首部和尾部?
- 利用首部和尾部进行帧定界(既确定帧的边界)
- 时钟同步,差错检验
首部是前同步码,可以使接收方和发送方的时钟同步。尾部信息含有CRC校验码,可以用来检验信息在传输来的过程中是否出错。
15.什么是物理层?
基本概念:
物理层考虑的是怎么样才能在连接各种计算机的传输媒介上传输比特流,并且尽可能屏蔽掉不同传输媒介和通讯手段的差异,而不是指具体的传输媒介。
16.信道 三种通信方式
信道:
一般是用来表示向某一方向传送信息的媒体,一条信道往往包含一条发送信道和一条接收信道
从通信的双方信息交互的方式,可以有下面三种方式:
单向通信(单工通信): 只能由一个方向的通信而没有反方向的交互。无线电广播或有线电视广播就属于这种类型
双向交替通信(半双工通信): 通信双方都可以发送信息,但不能双方同时发送(当然也不能同时接收)。这种通信方式是一方发送另一方接收,过段时间后可以反过来。
双向同时通信(全双工通信): 通信的双方可以同时发送和接收信息
17.基带调制(也称编码)、带通调制
基带信号(即基本频带信号)
- 来自信源的信号。
- 包含有较多的低频成分,甚至有直流成分。
调制
- 基带调制:
仅对基带信号的波形进行变换,把数字信号转换为另一种形式的数字信号。把这种过程称为编码 (coding)。
- 带通调制:
使用载波 (carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号。经过载波调制后的信号称为带通信号(即仅在一段频率范围内能够通过信道)。
18.自同步能力
前序学习:常见的编码方式
自同步能力:
不归零制不能从信号波形本身中提取信号时钟频率(这叫做没有自同步能力)。
曼彻斯特编码和差分曼彻斯特编码具有自同步能力。
19.信道传输速率影响因素?奈氏准则和香农公式
限制码元在信道上的传输速率的两个因素:
- 信道能够通过的频率范围。
- 信噪比
奈氏准则:
码元传输的最高速率 = 2W (码元/秒)
在带宽为 W (Hz) 的低通信道中,若不考虑噪声影响,则码元传输的最高速率是 2W (码元/秒)。传输速率超过此上限,就会出现严重的码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。
信噪比
信噪比(dB) = 10 log10(S/N ) (dB)
香农公式:
C = W log2(1+S/N) (bit/s)
信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。
奈氏准则:
激励工程人员不断探索更加先进的编码技术,使每一个码元携带更多比特的信息量。香农公式:
告诫工程人员,在实际有噪声的信道上,不论采用多么复杂的编码技术,都不可能突破信息传输速率的绝对极限。
20.物理层下面的传输媒体分类?
- 导引型传输媒体
双绞线、同轴电缆、光缆 - 非导引型传输媒体
无线电波、微波、通信卫星、红外、激光
21.信道复用技术
复用 (multiplexing) :
允许用户使用一个共享信道进行通信。
复用器 (multiplexer) 和分用器 (demultiplexer):
频分复用 FDM (Frequency Division Multiplexing):
- 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
- 所有用户在同样的时间占用不同的带宽(即频带)资源。
频分多址FDMA:
-让n个用户使用一个频带,或者让更多的用户轮流使用这n个频带
时分复用 TDM (Time Division Multiplexing):
- 将时间划分为一段段等长的时分复用帧(TDM帧)
- 每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
- 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。
- TDM 信号也称为等时 (isochronous) 信号。
- 所有用户在不同的时间占用同样的频带宽度。
时分多址TDMA:
-可让 N 个用户各使用一个时隙,或让更多的用户轮流使用这 N 个时隙
波分复用:
利用光的波长进行不同划分的频分复用,其区别在于传播媒介的不同,其中需要光复用器和光分用器搭配使用
码分复用CDMA:
- 每一个用户可以在同样的时间使用同样的频带进行通信。
- 各用户使用经过特殊挑选的不同码型,因此不会造成干扰。
- 当码分复用 CDM (Code Division Multiplexing) 信道为多个不同地址的用户所共享时,就称为码分多址 CDMA (Code Division Multiple Access)。
22.局域网中的中间设备(交换机)包含哪几层
交换机(s1、s2):只有数据链路层和物理层
23.以太网
局域网最主要的特点:
- 网络为一个单位所拥有;
- 地理范围和站点数目均有限。
局域网具有如下主要优点:
- 具有广播功能,从一个站点可很方便地访问全网。
- 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
- 提高了系统的可靠性、可用性和生存性。
DIX Ethernet V2:世界上第一个局域网产品(以太网)的规约。
IEEE 802.3:第一个 IEEE 的以太网标准。
这两种标准的硬件实现可以在同一个局域网上互操作。
这两个标准标准只有很小的差别,因此很多人也常把 802.3局域网简称为“以太网”
IEEE委员会将局域网的数据链路层拆成两个子层,逻辑链路控制LLC子层和媒体接入控制MAC子层
24.数据链路层的信道类型?
数据链路层使用的信道一般都是共享信道,共享信道要着重考虑的一个问题是如何使众多用户合理而方便的共享通信媒体资源,这种技术上有两种办法:
静态划分信道:
- 频分复用
- 时分复用
- 波分复用
- 码分复用
这种划分方法优点是:
用户只要分配到了信道就不会和其他用户发生冲突
缺点是:
这种划分信道的方法就是代价高,不适合局域网的使用
动态媒体接入控制(多点接入):
- 随机接入:所有的用户可随机地发送信息。
- 受控接入:用户必须服从一定的控制。如轮询(polling)。
局域网一般就是使用随机接入类型的信道
25.什么是链路?什么是数据链路?
链路 (link) :
- 一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
- 一条链路只是一条通路的一个组成部分。
- 或物理链路。
数据链路 (data link):
- 把实现控制数据传输的协议的硬件和软件加到链路上,就构成了数据链路。
- 或逻辑链路。
- 典型实现:适配器(即网卡)
26.字节填充与零比特填充
问题:
如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”,导致错误。(异步传输过程中)
解决:
字节填充
问题:
如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”,导致错误。(同步传输过程中)
解决:
零比特填充
27.CRC计算冗余码?
28.CRC与FCS区别?
CRC是一种差错检验方法,FCS是添加在数据后面的冗余码
29.无比特差错与无传输差错
可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。
传输差错可分为两大类:
- 比特差错;
- 传输差错:帧丢失、帧重复或帧失序等。
在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输。
要做到可靠传输,还必须再加上帧编号、确认和重传等机制。
30.PPP协议??组成?
对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。
PPP 协议在 1994 年就已成为互联网的正式标准 [RFC 1661, STD51]。
三个组成部分:
- 一个将 IP 数据报封装到串行链路的方法。
- 一个链路控制协议 LCP (Link Control Protocol)。
- 一套网络控制协议NCP (Network Control Protocol)。
31.并行传输与串行传输、同步通信与异步通信(转载)
1.并行传输:
字符编码的各位(比特)同时传输;
2.串行传输(一般都是串行传输):
将组成字符的各位串行地发往线路;
有两种传输方式:
1)同步传输;
2)异步传输;
串行数据通信的方向性结构有三种:
1)单工;
2)半双工;(I2C)
3)全双工; (UART)
1).同步通信原理
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。
同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。
2).异步通信原理
异步通信是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。
3).同步通信与异步通信区别:
(1)同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
(2)同步通信效率高;异步通信效率较低。
(3)同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。
(4)同步通信可用于点对多点;异步通信只适用于点对点。
(End)
转载于:https://wwwblogs/yirenyang/p/4281101.html
给一个GPT回答
同步通信和异步通信都是计算机通信中的两种常见方式,它们的原理和区别如下:
- 同步通信是指发送方发送数据后会等待接收方响应后才继续进行下一步操作的通信方式。在同步通信中,发送方和接收方需要在同一时间段内进行通信,发送方需要等待接收方响应后才能进行下一步操作。同步通信具有通信效率高、数据传输可靠性高等优点,但当接收方不能及时响应时会出现阻塞的情况,从而影响通信效率。
- 异步通信是指发送方发送数据后不需要等待接收方响应就可以继续进行下一步操作的通信方式。在异步通信中,发送方和接收方可以在不同的时间段内进行通信,发送方无需等待接收方响应就可以继续进行下一步操作。异步通信具有通信效率高、通信灵活性好等优点,但由于发送方无法确定接收方何时会响应,可能会造成一些数据的丢失。
- 总的来说,同步通信和异步通信的区别在于是否需要等待对方的响应。同步通信需要等待对方的响应,通信效率较高但可能会出现阻塞的情况。异步通信不需要等待对方的响应,通信效率也较高,但可能会出现数据丢失的情况。选择哪种通信方式需要根据具体的应用场景来决定
32.PPP协议格式
33.网络层的概述?
网络层可以分为两个层面:
- 控制层面
- 数据层面(转发层面)
网络层的功能主要体现在为数据链路层提供端点之间的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
34.虚电路和数据报服务的对比?
tips: 网络层使用的就是数据报服务,网络层不提供服务质量的承诺(无连接)
35. 直接交付和间接交付?
不需要经过任何路由器是直接交付,反之,间接交付
36.IP地址的表示方法
37.IP地址的分类
- IP地址共分为A、B、C、D、E五类,A类、B类、C类为单播地址
- IP地址的书写采用点分十进制记法,其中每一段取值范围为0到255
IP特殊地址
38.CIDR
全名是无分类域间路由选择
39.子网掩码怎么计算网络地址?
40.按位与、或、异或操作?
与:and操作
或:or操作
异或:!=操作
41. IP地址与MAC地址的区别?
MAC地址是数据链路层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址
称IP地址为逻辑地址是因为IP地址是用软件实现的,
称MAC地址为物理地址是因为MAC地址已经固化到网卡上的ROM中
42.超网?
超网(supernetting)是与子网类似的概念–IP地址根据子网掩码被分为独立的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络–超网。
超网创建用来解决路由列表超出现有软件和管理人力的问题以及提供B类网络地址空间耗尽的解决办法。超网允许一个路由列表入口表示一个网络集合,就如一个区域代码表示一个区域的电话号码的集合一样。
目前盛行的外部网关协议边界网关协议(BGP)以及开放式最短路径优先(OSPF)路由协议都支持超网技术。
43.路由聚合和划分?
一个大的CIDR地址块往往包含很多小的地址块,所以在路由器的转发表中就利用较大的一个CIDR地址块来代替许多小的地址块,这中方法就是路由聚合,反之,就是路由划分,路由划分的好处是缩短了转发表的查找时间
tips:网络前缀越短的地址块所包含的地址数就越多
44.有mac地址为什么还需要ip地址?
因为如果我们只用MAC地址的话,我们会发现路由器需要记住每个MAC地址所在的子网是哪一个(不然每一次收到数据包的时候路由器都要重新满世界地去找这个MAC地址的位置)。而世界上有248个MAC地址,这就意味着即使我们给每个MAC地址只留1字节的储存空间,每个路由器也需要256TB的内存!这显然是不可能实现的。这就是我们需要IP地址的原因了。和MAC不同的是,IP地址是和地域相关的。对于位于同一个子网上的设备,我们给他们分配的IP 地址前缀都是一样的,这个前缀就像邮政编码一样。这样,路由器过IP地址的前缀就能知道这个设备在哪个子网上了。现在,路由器只需要记住每个子网的位置即可,大大减少了路由器所需要的内存。
转载(有了MAC地址,为什么还要用IP地址?)
45.ARP如何获取IP地址与MAC地址的映射?
前置知识:
- ARP高速缓存
-存放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地址的映射关系,超时时删除
46.首部校验和的计算?(与CRC区别开)
具体流程如下:
47.IP数据报首部的可变部分?
IP数据报首部的可变部分就是一个选择字段。选择字段用来支持排错、测量以及安全等措施,内容很丰富。此字段的长度可变,从1字节到40字节不等。取决于所选择的项目。
tips:新版IPv6将IP数据报首部长度做成固定的了
48.路由器的转发表如何进行转发?以及转发表匹配具体过程?
大概流程:
- 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接收数据帧
转发表匹配具体过程:
49.二叉线索查找转发表?
其实就是为了节约时间(快速找到匹配的网络地址)而采取的算法方面的措施。
50.ICMP报文
ICMP: 互联网控制报文协议
- ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告
- 由主机和路由器用于网络层信息的通信
- ICMP 报文携带在IP 数据报中:IP上层协议号为1
ICMP报文类型
-
ICMP 差错报告报文
:终点不可达:不可达主机、不可达网络,无效端口、协议
-
ICMP 询问报文
:回送请求/回答 (ping使用)
ICMP 报文格式
ICMP报文的前 4 个字节包含格式统一的三个字段:类型、代码、检验和 相邻的后四个字节内容与ICMP的报文类型有关
ICMP报文类型及功能
51.IPV6?
与IPV4相比,出现了以下几种特点:
- 更大的地址空间(原来的32位扩大位128位)
- 扩展的地址层次结构
- 灵活的首部格式
- 改进的选项(IPV6的首部长度是固定的,40字节 = 40B = 40*8 b = 40*8 位)
- 允许协议再扩充
- 支持资源的预分配
- IPV6首部改为8字节
52.静态路由和动态路由
- 静态路由
- 非自适应路由选择
- 不能及时适应网络状态的变化
- 简单,开销较小。 - 动态路由
-自适应路由选择
-能较好地适应网络状态的变化
-实现较为复杂,开销较大
52. RIP例题
53. 运输层的位置?
- 运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
- 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
54.运输层的作用?
- 复用和分用
在一台主机中经常有多个应用进程同时分别和另一台主机中的多个应用进程通信。
这表明运输层有一个很重要的功能——复用 (multiplexing)和分用 (demultiplexing)
既然提到了运输层为应用进程之间提供端到端的逻辑通信,那么就要详细说一说端口的概念
网络层中,通信的对象为不同的主机,而从运输层的角度来看,通信的对象为进程,而端口就代表了进程
也就是说,通过 ip 找到主机,通过端口找到对应进程
端口用一个 16 位端口号进行标志。
端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。
由此可见,两个计算机中的进程要互相通信,不仅必须知道对方的 IP 地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)
- 屏蔽作用
运输层向高层用户屏蔽了下面网络核心的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。
55.UDP与TCP的区别?
UDP和TCP是网络传输协议的两种类型,它们有以下的区别:
- 可靠性:TCP是可靠的传输协议,它会确保数据的可靠传输,因为它使用了确认、重传和流量控制等机制来保证数据的可靠性。而UDP是不可靠的传输协议,它不会保证数据的可靠传输,因为它不使用确认和重传机制。
- 连接性:TCP是面向连接的协议,它要先建立连接,然后才能传输数据。而UDP是无连接的协议,数据可以直接发送,不需要先建立连接。
- 速度:UDP比TCP更快,因为它不需要建立连接和确认数据的接收,但是UDP不能保证数据的可靠传输,也无法进行流量控制。
- 适用场景:TCP适用于需要可靠传输的场景,如文件传输、电子邮件等。而UDP适用于需要快速传输的场景,如视频、音频等实时传输场景,因为UDP的速度更快,可以更好地支持实时传输。
详细讲一下可靠性的区别:
当我们在传输数据时,可靠性是指发送方发送的数据能够在不丢失、损坏或重复的情况下被接收方正确地接收。TCP和UDP在可靠性方面的区别如下:
TCP的可靠性:TCP是可靠的传输协议,它使用了多种机制来确保数据的可靠传输。例如,TCP使用确认机制,即每次发送方发送数据后,接收方都会发送一个确认消息给发送方,告诉它已经收到了这些数据。如果发送方在一定时间内没有收到确认消息,它会重新发送数据,直到接收方正确地接收到数据为止。此外,TCP还使用了流量控制和拥塞控制机制,以确保发送方发送的数据不会超过接收方的处理能力,并避免网络拥塞。
UDP的不可靠性:UDP是不可靠的传输协议,它不提供确认、重传和流量控制等机制。在UDP中,发送方发送数据后,并不会收到接收方发送的确认消息,也不会对未确认的数据进行重传,如果发生数据丢失、损坏或重复,UDP也不会进行任何处理,因此无法保证数据的可靠传输。
总的来说,TCP提供了比UDP更可靠的传输服务,但是这也使得TCP的性能比UDP更低,因为它需要花费更多的时间和资源来维护连接和确保数据的可靠传输。而UDP则更加轻量级和快速,适用于那些对可靠性要求不高,但需要快速传输的场景。
56.不同进程如何进行识别?
在计算机中,不同进程的识别是通过进程标识符(Process ID, PID)来实现的。每个进程都有一个唯一的PID,用于标识这个进程。PID是一个整数值,通常是在进程创建时由操作系统自动生成的。
在Unix/Linux系统中,可以使用命令ps来查看当前系统中运行的进程,ps命令会显示每个进程的PID以及其他信息。例如,可以使用以下命令查看系统中所有进程的PID:
ps -ef
在Windows系统中,可以使用任务管理器来查看当前系统中运行的进程,任务管理器会显示每个进程的PID以及其他信息。另外,也可以使用命令行工具tasklist来查看系统中所有进程的PID,例如:
tasklist
进程的PID在操作系统中扮演着非常重要的角色,它被用于管理进程、进行进程间通信等操作。当一个进程需要与另一个进程进行通信时,通常会使用进程的PID来标识这个进程,并进行进程间通信。因此,每个进程的PID都是唯一且不可更改的,以确保不同进程之间的唯一性和可识别性。
57.端口?
在计算机网络中,端口(Port)是用于标识应用程序或网络服务的数字,它和IP地址一起用于唯一地标识一台计算机上的网络通信进程。具体来说,端口号是一个16位的无符号整数(取值范围是0~65535),其中一些端口已经被标准化为特定的应用程序或服务使用,这些标准化的端口号称为“Well-known Ports”。
下面是一些常见的端口号及其用途:
20, 21:FTP数据传输和控制端口
22:SSH远程登录协议端口
23:Telnet远程登录协议端口
25:SMTP邮件传输协议端口
53:DNS域名解析协议端口
80:HTTP协议端口,用于Web浏览器访问网页
110:POP3邮件收取协议端口
143:IMAP邮件收取协议端口
443:HTTPS协议端口,用于Web浏览器安全访问网页
3306:MySQL数据库端口
3389:Windows远程桌面协议端口
需要注意的是,端口号仅用于标识通信的应用程序或服务,它并不与物理设备相关联。在一台计算机上,多个进程可以同时监听同一个端口号,只要它们的IP地址不同。另外,也可以通过配置网络设备的端口转发等方式,将一个端口号映射到不同的物理设备或不同的进程上。
58.停止等待协议?
停止等待协议(Stop-and-Wait Protocol)是一种简单的数据传输协议,用于解决在可靠的通信信道上进行数据传输的问题。它是一种基于确认和重传机制的协议,常用于串行通信中,例如串口通信、红外通信等。
停止等待协议的基本思想是:发送方在发送数据时,等待接收方发送确认消息,接收到确认消息后再发送下一份数据;接收方在接收数据时,发送确认消息,等待发送方重传丢失的数据。具体来说,停止等待协议的数据传输过程如下:
- 发送方将数据分为若干份,每份带有一个序列号,并发送第一份数据;
- 接收方接收到第一份数据后,发送一个确认消息给发送方,并等待下一份数据;
- 发送方接收到确认消息后,发送下一份数据,重复第1-3步,直到发送完所有数据;
- 接收方在接收数据时,如果发现有数据包丢失,则发送一个重传请求给发送方,要求发送方重传丢失的数据包;
- 发送方在接收到重传请求后,重新发送丢失的数据包,并等待接收方的确认消息;
- 接收方接收到重传的数据包后,发送确认消息给发送方,并等待下一份数据。
停止等待协议简单易懂,但它存在的主要问题是效率低下。在停止等待协议中,发送方必须等待接收方的确认消息,这会导致发送方的发送速度大大降低。此外,当网络中发生丢包或延迟等问题时,停止等待协议的重传机制会导致发送方不断重传数据包,浪费网络带宽和计算资源。因此,实际中更常用的是一些具有更高效率和更可靠性的协议,如GBN和SR协议。
59.TCP报文首部格式?
其中各字段的含义如下:
-
源端口(Source Port)和目的端口(Destination Port):分别用于标识源主机和目的主机的端口号,占用2个字节。
-
序列号(Sequence Number):用于标识TCP报文段中第一个数据字节的序列号,占用4个字节。
-
确认号(Acknowledgment Number):用于标识期望接收到的下一个数据字节的序列号,占用4个字节。
- 仅当ACK = 1时确认号才有效。当ACK = 0时确认号无效。 -
数据偏移量(Data Offset):用于表示TCP报文段中数据部分的起始位置相对于报文段起始位置的偏移量,以4个字节为单位。
-
保留位(Reserved):暂未使用,占用6个比特。
-
标志位(Flags):TCP报文段的控制位,包含URG、ACK、PSH、RST、SYN、FIN六个标志位,各占用1个比特。
- URG(紧急):URG = 1时,表明紧急指针字段有效。
- ACK(确认):ACK = 1时确认号才有效。当ACK = 0时确认号无效。
- PSH(推送):发送方TCP将PSH = 1,它用于告知接收方应该立即将数据交付给上层应用,而不需要等待缓存区填 满。
- RST(复位):RST = 1时,表明TCP连接中出现严重的差错,必须释放连接。
- SYN(同步):SYN=1 and ACK=0,表明这是一个连接请求字段,SYN=1 and ACK=1,表明同意建立连接
- FIN(终止):FIN=1时,表明此报段的发送方的数据已经发送完毕,并要求释放连接 -
窗口大小(Window):表示发送端可以接收的数据量的大小,占用2个字节。
-
校验和(Checksum):用于检查TCP报文段是否损坏,占用2个字节。
-
紧急指针(Urgent Pointer):表示紧急数据的末尾位置相对于序列号的偏移量,占用2个字节。
-
选项(Options):TCP选项,可选字段,长度不固定。
-
填充(Padding):用于填充TCP报文段,使得报文长度为4的倍数,长度不固定。
-
数据(Data):TCP报文段中的数据,长度不固定,最大长度由窗口大小决定。
上述字段共占用20个字节
60.滑动窗口?
滑动窗口(Sliding
Window)是一种流行的数据传输协议中的数据流控制技术。它用于在通信双方之间控制数据流的发送和接收,以便确保数据能够在网络中按序传输并且能够被正确处理。
在TCP协议中,滑动窗口是基于“可靠传输”机制实现的,发送方将一段连续的数据拆分成若干个数据包,接收方按顺序接收数据包,每收到一个数据包就将其从窗口中删除。发送方只有在收到接收方的确认消息后,才能将窗口向前滑动,并发送下一个数据包。同时,接收方可以向发送方发送一个确认消息,告诉发送方已经成功接收到了数据包,从而控制发送方发送数据的速度,保证数据传输的可靠性和流畅性。
滑动窗口还可以用来控制网络延迟和带宽利用率。通过改变窗口大小,可以控制数据包的数量和传输速度。如果窗口大小设置得过大,网络带宽可能会被过度使用,导致网络拥塞和延迟增加;如果设置得太小,网络带宽不能充分利用,导致传输效率降低。
滑动窗口技术是TCP协议的一个核心特性,它能够使数据传输更加高效、可靠。它也被广泛应用于其他数据传输协议中,如UDP和SCTP等。
61.RTO计算?(百度的 看不懂)
RTO(Retransmission Timeout)是TCP协议中的一个重要参数,它用于计算数据包丢失后需要重传的时间,以保证数据包能够被正确地接收。RTO的计算过程如下:
-
初始化RTO:当TCP连接建立时,RTO被初始化为一个默认值,通常为3秒钟。这个值是TCP协议中的一个标准值,可以在不同的操作系统中进行修改。
-
计算RTT:当TCP发送一个数据包后,它会等待接收方返回确认消息。发送方会记录下这个数据包被发送的时间戳,当接收到确认消息时,发送方会记录下接收到确认消息的时间戳,并计算出RTT(Round Trip Time),即数据包从发送到接收的时间差。
-
计算SRTT:为了减小RTT的抖动,TCP使用加权平均数来计算SRTT(Smoothed Round Trip Time)。SRTT是RTT的平均值,其计算方式为:
SRTT = (1 - α) * SRTT + α * RTT
其中,α是一个介于0和1之间的值,通常为0.125,表示新的RTT占SRTT的12.5%的权重,旧的RTT占87.5%的权重。 -
计算RTTVAR:为了进一步减小RTT的抖动,TCP使用加权平均数来计算RTTVAR(Round Trip Time VARiance),即RTT的方差。其计算方式为:
RTTVAR = (1 - β) * RTTVAR + β * |SRTT - RTT|
其中,β是一个介于0和1之间的值,通常为0.25,表示新的RTT与SRTT的差值占25%的权重,旧的RTTVAR占75%的权重。这个差值使用绝对值,因为RTT的抖动可能是正的也可能是负的。 -
计算RTO:最后,根据SRTT和RTTVAR计算RTO。TCP使用下面的公式:
· RTO = SRTT + 4 * RTTVAR
这个公式计算的是一个安全的RTO值,它可以确保数据包在网络中的传输时间变化时能够被成功地传输。如果一个数据包在RTO时间内没有被确认,TCP就会认为它已经丢失,并进行重传。
需要注意的是,RTO的计算过程是动态的,每次计算都是基于之前的RTT和RTTVAR的。此外,TCP的不同实现可能会使用不同的α和β值,从而导致RTO的计算结果略有不同。
62.TCP的流量控制?
滑动窗口是TCP协议中实现流量控制的一种机制,它通过动态地调整发送方和接收方的窗口大小来控制数据的发送和接收。具体来说,发送方和接收方维护着两个窗口:发送窗口和接收窗口,用来控制发送和接收的数据流量。
发送窗口的大小取决于接收方的接收窗口大小和网络状况。当接收方的接收窗口大小变小或网络状况变差时,发送方的发送窗口也会相应地变小,以避免数据包的丢失和拥塞。发送窗口的大小由以下三个因素共同决定:
- 发送方能够承受的最大窗口大小:发送方会根据自己的发送能力和网络状况估算出一个最大窗口大小,以确保数据包不会因为过度拥塞而丢失。
- 接收方的接收窗口大小:接收方通过发送窗口告诉发送方自己当前能够接收的数据包大小。发送方需要根据接收窗口的大小来决定发送的数据包数量,以避免发送过多的数据包导致接收方的缓冲区溢出。
- 已经发送但还未收到确认的数据包数量:发送方需要保留一定数量的未确认数据包,以确保数据包能够按序传输并避免重传。
接收窗口的大小取决于接收方的缓冲区大小和已接收但未处理的数据包数量。接收窗口的大小由以下两个因素共同决定:
- 接收方缓冲区大小:接收方需要分配一定的缓冲区来存储接收到的数据包,接收窗口的大小不能超过缓冲区的大小。
- 已经接收但还未处理的数据包数量:接收方需要保留一定数量的未处理数据包,以确保数据包能够按序处理并避免丢失。
通过滑动窗口机制,TCP协议可以实现可靠的数据传输和流量控制,确保数据包能够正确地传输并避免网络拥塞。
出现问题:死锁
解决办法:持续计时器
tips:
63.糊涂窗口综合征?
糊涂窗口综合征(Silly Window
Syndrome)是指在TCP协议中,当接收方窗口非常小,且发送方发送的数据报文非常小,就会出现发送方发送过多的小数据包,导致网络拥塞和性能下降的现象。具体来说,糊涂窗口综合征的发生条件如下:
- 接收方窗口非常小,只能容纳几个字节的数据;
- 发送方每次只发送几个字节的数据,因为发送方的应用程序只传输了少量的数据;
- 发送方在等待接收方发送确认消息之前,不能发送更多的数据,因为发送方的发送窗口已经被减小到一个非常小的值。
在这种情况下,发送方发送的数据包非常小,而且数量很多,这会导致网络拥塞和性能下降。这是因为网络中的路由器和交换机需要处理更多的数据包,而且每个数据包都需要消耗一定的带宽和网络资源。
为了避免糊涂窗口综合征,可以采用以下的解决方案:
- 在发送方和接收方之间采用流量控制,使得发送方发送的数据量不会超过接收方的窗口大小;
- 增加发送方发送的数据量,例如通过Nagle算法将多个小数据包组合成一个大的数据包,或者使用延迟确认技术,使得发送方可以发送更多的数据;
- 调整TCP窗口的大小,以便发送方和接收方之间可以传输更多的数据,同时避免过多的小数据包导致网络拥塞。
64.TCP的拥塞控制?
TCP协议的拥塞控制是一种用于调节发送方发送速率的技术,目的是防止网络拥塞和避免网络性能下降。TCP拥塞控制主要有以下几个方面:
- 慢启动:在TCP建立连接或发生拥塞时,发送方发送的数据量将逐渐增加,直到网络拥塞出现为止。慢启动算法将初始拥塞窗口设置为一个较小的值,然后每收到一个确认消息,就将拥塞窗口加倍,以便逐步增加发送速率。如果发生超时或网络拥塞,就将拥塞窗口重新设置为一个较小的值,然后重新开始慢启动。
- 拥塞避免:一旦发送方的拥塞窗口达到一定的大小,就使用拥塞避免算法来防止网络拥塞。拥塞避免算法将拥塞窗口每次增加1个MSS(最大报文段长度),以便逐步增加发送速率,同时监测网络的拥塞情况,如果发现网络拥塞,就将拥塞窗口减小。
- 快速重传:如果发送方连续发送了相同的数据包,而接收方只收到了其中的一部分,就认为该数据包丢失了,发送方将立即重传该数据包,而不必等待超时。
- 快速恢复:如果发送方检测到网络拥塞,并将拥塞窗口减小,但是接收方收到了后续数据包,就会发送一个确认消息,告诉发送方可以继续发送数据,而不必等待拥塞窗口重新增加。这就是快速恢复算法。
- 超时重传:如果发送方等待确认消息的时间超过了一定的时间,就认为数据包丢失了,将立即重传该数据包。
通过这些拥塞控制技术,TCP协议可以自适应地调整发送速率,避免网络拥塞和性能下降,从而保证数据的可靠传输。
拥塞控制和流量控制的区别?
- 拥塞控制:
·1.防止过多的数据注入到网络中,避免网络中的路由器或链路过载
·2.是一个全局性的过程,涉及到所有主机、路由器,以及与降低网络传输性能有关的所有因素。- 流量控制
·1.抑制发送端发送数据的速率以使接收端来得及接收
·2.点对点通信量的控制,是个端到端的问题
65.TCP的三次握手和4次挥手?
最好看看:深入浅出TCP三次握手 (多图详解)
简单点说是:
- TCP的三次握手是建立TCP连接的过程,客户端发送SYN请求,服务端发送SYN+ACK响应,客户端发送ACK确认。
- TCP的四次挥手是终止TCP连接的过程,客户端发送FIN请求,服务端发送ACK确认,服务端发送FIN请求,客户端发送ACK确认。
详细一点是:
三次握手是TCP建立连接的过程。在此过程中,客户端和服务端之间进行了以下步骤:
- 客户端向服务端发送SYN报文段,请求建立连接。SYN是同步序列号的缩写,它包含了一个随机的初始序列号(ISN)。
- 服务端收到SYN报文段后,向客户端发送SYN+ACK报文段,表示确认收到请求,并请求建立连接。SYN+ACK报文段中,ACK表示确认收到客户端的SYN报文段,同时SYN表示服务端也发送了一个随机的ISN。
- 客户端收到服务端的SYN+ACK报文段后,向服务端发送ACK报文段,表示确认建立连接。ACK报文段中,ACK表示确认收到服务端的SYN+ACK报文段,同时将确认号设置为服务端的ISN+1,序列号设置为客户端的ISN+1。
四次挥手是TCP断开连接的过程。在此过程中,客户端和服务端之间进行了以下步骤:
- 客户端向服务端发送FIN报文段,请求关闭连接。FIN表示发送方已经发送完毕数据,请求关闭连接。
- 服务端收到FIN报文段后,向客户端发送ACK报文段,表示确认收到请求。此时服务端不会立即关闭连接,而是继续等待数据的传输。
- 服务端发送FIN报文段,请求关闭连接。此时服务端也已经发送完毕数据,请求关闭连接。
- 客户端收到服务端的FIN报文段后,向服务端发送ACK报文段,表示确认关闭连接。此时客户端也不会立即关闭连接,而是等待一段时间,以便接收可能未到达的数据。服务端在收到ACK报文段后,关闭连接。
在四次挥手过程中,客户端和服务端都需要发送一个FIN报文段和一个ACK报文段,以确认对方的请求和响应。最终,两端都将关闭连接。
66.应用层作用?
应用层是OSI模型中最高层,负责应用程序之间的通信和数据交换。它为应用程序提供了一些协议和服务,使得应用程序可以方便地进行数据传输和通信。
应用层协议有很多,常见的有HTTP、FTP、SMTP、POP3、SSH等。这些协议不仅规定了数据传输的格式和内容,还规定了数据交换的方式和通信流程。
应用层服务包括身份认证、授权、会话管理、数据加密等。这些服务为应用程序提供了安全性和可靠性保障,使得应用程序可以在网络中进行安全的数据传输和通信。
应用层还提供了应用程序接口(API),应用程序可以使用这些API来访问底层网络协议栈,实现数据传输和通信功能。常见的应用程序接口有Socket、Winsock、POSIX等。
总的来说,应用层负责应用程序之间的数据交换和通信,提供了一些协议和服务,使得应用程序可以方便地进行数据传输和通信。
67.DNS?域名结构?区和域的区别?
DNS(Domain Name System)是一个分布式的命名系统,它用于将域名转换为IP地址。DNS的主要作用是将人类可读的域名转换为计算机可读的IP地址,以便实现网络通信。
域名结构通常由多个部分组成,每个部分之间用点号(.)分隔。以 www.example 为例,其中 “” 是顶级域名(TLD,Top-Level Domain),“.example” 是二级域名(SLD,Second-Level Domain),“www” 是主机名(Hostname)。
DNS将域名划分为多个区(Zone),每个区都有一个权威DNS服务器(Authoritative DNS Server)来管理该区域内的域名解析。每个域名只能由一个权威DNS服务器来管理。
一个域通常包含多个子域,每个子域都可以有自己的权威DNS服务器。权威DNS服务器负责管理该子域内的域名解析,并且可以通过DNS委托(DNS Delegation)的方式将该子域的管理权限委托给其他DNS服务器。
区和域的区别在于,区是一个DNS服务器管理的一部分域名空间,而域则是由多个区组成的完整的域名空间。一个域通常由多个区组成,每个区都有一个权威DNS服务器来管理该区域内的域名解析。
68.域名服务器类型?递归查询与迭代查询?
域名服务器主要分为以下三种类型:
- 根域名服务器(Root DNS Server):全球共有13台根域名服务器,它们的主要作用是响应DNS递归查询的请求,返回顶级域名服务器的地址。
- 顶级域名服务器(Top-Level DNS Server):负责管理一级域名,如 “”、“”、""等,它们的主要作用是响应DNS递归查询的请求,返回下一级域名服务器的地址。
- 权威域名服务器(Authoritative DNS Server):负责管理特定域名下的所有主机名解析,它们的主要作用是响应DNS迭代查询的请求,返回所查询主机名的IP地址。
在DNS查询中,递归查询和迭代查询是两种不同的查询方式。
- 递归查询是指,当DNS客户端向本地DNS服务器发出查询请求时,本地DNS服务器会向根域名服务器发出递归查询请求,根域名服务器会返回顶级域名服务器的地址,本地DNS服务器再向顶级域名服务器发出递归查询请求,顶级域名服务器会返回下一级域名服务器的地址,以此类推,直到找到所查询的域名的IP地址。最后,本地DNS服务器将所查询的域名和其对应的IP地址返回给DNS客户端。
假设有一个用户要访问 www.example 这个网站,
- 首先用户的电脑会向本地 DNS 服务器发出查询请求,本地 DNS 服务器在自己的缓存中查找是否有对应的 IP 地址。如果没有,本地 DNS 服务器就向根域名服务器发出查询请求,根域名服务器返回 com 域的权威 DNS 服务器的地址。
- 本地 DNS 服务器再向 com 域的权威 DNS 服务器发出查询请求,权威 DNS 服务器返回 example 域的权威 DNS 服务器的地址。
- 本地 DNS 服务器再向 example 域的权威 DNS 服务器发出查询请求,最终得到 www.example 的 IP 地址,并把这个 IP 地址返回给用户的电脑
在递归查询的过程中,DNS 服务器会一直向下一级 DNS 服务器发出查询请求,直到查询到目标主机的 IP 地址或者查询失败为止。递归查询过程中,DNS 服务器会自己负责从下一级 DNS 服务器获取所需的信息,并返回给请求的客户端。
迭代查询是指,当DNS客户端向本地DNS服务器发出查询请求时,本地DNS服务器会向根域名服务器发出迭代查询请求,根域名服务器会返回顶级域名服务器的地址,本地DNS服务器再向顶级域名服务器发出迭代查询请求,顶级域名服务器会返回下一级域名服务器的地址,DNS客户端再向下一级域名服务器发出迭代查询请求,直到找到所查询的域名的IP地址。最后,DNS客户端将所查询的域名和其对应的IP地址返回给本地DNS服务器。
假设有一个用户要访问 www.example 这个网站,
- 首先用户的电脑会向本地 DNS 服务器发出查询请求,本地 DNS 服务器在自己的缓存中查找是否有对应的 IP 地址。如果没有,本地 DNS 服务器就向根域名服务器发出查询请求。
- 根域名服务器返回 com 域的权威 DNS 服务器的地址,本地 DNS 服务器再向 com 域的权威 DNS 服务器发出查询请求。 如果 com 域的权威 DNS 服务器无法回答该请求,它会返回一个指向 example 域的权威 DNS 服务器的地址给本地 DNS服务器,让本地 DNS 服务器向 example 域的权威 DNS 服务器发出查询请求。
- 如果 example 域的权威 DNS 服务器也无法回答该请求,它会返回一个指向 www.example 的权威 DNS
服务器的地址给本地 DNS 服务器,让本地 DNS 服务器向 www.example 域的权威 DNS
服务器发出查询请求,最终得到 www.example 的 IP 地址,并把这个 IP 地址返回给用户的电脑。在迭代查询的过程中,DNS 服务器不会递归地向下一级 DNS 服务器发出查询请求,而是直接返回一个指向下一级 DNS 服务器的地址,让客户端自行向下一级 DNS 服务器发出查询请求。客户端需要自己处理 DNS 服务器返回的地址,然后向下一级 DNS 服务器发出查询请求。
总的来说,递归查询是由DNS服务器代表DNS客户端向其他DNS服务器查询,直到找到所查询的域名的IP地址,而迭代查询是由DNS客户端自己向DNS服务器查询,直到找到所查询的域名的IP地址。
69.FTP、TFTP、NFS以及TELNET?
FTP、TFTP、NFS和TELNET是常用的网络协议,具体介绍如下:
- FTP(File Transfer
Protocol)文件传输协议:FTP是用于在网络上进行文件传输的协议,它包括两个组件:FTP客户端和FTP服务器。FTP客户端是指用于上传或下载文件的应用程序,而FTP服务器是指存储文件并提供文件访问服务的计算机。FTP协议通过TCP协议的21号端口进行数据传输。 - TFTP(Trivial File Transfer
Protocol)简单文件传输协议:TFTP是一个简单的文件传输协议,它通过UDP协议的69号端口进行数据传输。TFTP具有简单、轻量级的特点,但是没有FTP那样强大的功能,通常用于网络设备的升级、备份等操作。 - NFS(Network File
System)网络文件系统:NFS是一种分布式文件系统,允许网络上的计算机通过网络共享文件和目录。NFS服务器将文件共享给客户端,客户端可以在本地访问共享的文件。NFS协议通过TCP协议的2049号端口进行数据传输。 - TELNET:TELNET是一种远程登录协议,允许用户从一个计算机连接到另一个计算机,以便在远程计算机上执行操作。TELNET协议通过TCP协议的23号端口进行数据传输。然而,TELNET协议已经逐渐被SSH(Secure
Shell)协议所取代,因为TELNET协议是明文传输的,安全性较差。
70.HTTP?
HTTP(Hypertext Transfer Protocol)是一种用于传输超媒体文档(例如 HTML)的协议。它是基于请求-响应模式工作的,其中客户端发送请求,服务器返回响应。
HTTP报文是在HTTP协议中传输的数据,它由两部分组成:请求报文和响应报文。请求报文由客户端发送到服务器,请求服务器处理某个操作,例如获取一个资源或提交表单。响应报文由服务器发送回客户端,包含请求的结果或出现的错误。
HTTP报文由两部分组成:报文头和报文体。报文头包含请求或响应的元数据,例如请求方法、状态码、日期和时间、报文主体长度等。报文体是请求或响应的实际数据内容。
HTTP协议有多个版本,常见的有HTTP/1.0、HTTP/1.1和HTTP/2。HTTP/1.1是目前使用最广泛的版本,它支持持久连接和流水线化,这使得客户端可以发送多个请求并在单个连接上接收多个响应。
HTTP协议使用TCP协议作为其传输层协议,因此它是一种可靠的协议,可以确保数据的可靠传输。HTTP协议也支持加密传输,可以使用HTTPS协议来保护数据的隐私和完整性。
总的来说,HTTP协议是互联网上最重要的协议之一,它支持各种不同的应用程序,包括Web浏览器、Web服务、API等。理解HTTP协议是进行Web开发和网络通信的基础。
下面是一个HTTP请求报文的例子:
GET /index.html HTTP/1.1
Host: www.example
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
上面的报文是一个GET请求,请求的资源路径是/index.html,使用的协议版本是HTTP/1.1。除此之外,还包含了一些请求头信息,比如Host表示请求的目标主机,User-Agent表示客户端的浏览器类型,Accept表示客户端能够接受的响应类型等。
下面是一个HTTP响应报文的例子:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
Date: Mon, 01 Jan 2000 00:00:00 GMT
Server: Apache/2.4.29 (Unix)
Last-Modified: Sun, 31 Dec 1999 23:59:59 GMT
ETag: "1234567890abcdef"
Accept-Ranges: bytes
Connection: close
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Welcome to Example</h1>
<p>This is an example HTML page.</p>
</body>
</html>
上面的报文是一个200 OK的响应,表示请求成功。响应头包含了一些元数据,比如Content-Type表示响应内容的类型,Content-Length表示响应内容的长度,Date表示响应时间等。响应头和响应体之间用一个空行分隔开,空行之后是响应的具体内容,这里是一个简单的HTML页面。
71.简述用户在浏览器中输入http://acm.sdtbu.edu并回车到浏览器显示出页面的主要流程?
当用户在浏览器中输入网址"http://acm.sdtbu.edu"并回车时,主要流程如下:
- 域名解析:浏览器首先将网址中的域名"acm.sdtbu.edu"解析成对应的IP地址。如果本地DNS缓存中没有该域名的记录,则向本地DNS服务器发送域名解析请求。
- 建立TCP连接:浏览器向Web服务器发送TCP连接请求,进行三次握手,建立可靠的数据传输通道。
- 发送HTTP请求:浏览器向Web服务器发送HTTP请求,请求获取网站的相关资源,如HTML文件、CSS样式表、JavaScript脚本等。
- 服务器响应:Web服务器接收到请求后,返回相应的HTTP响应,其中包含了请求资源的信息和数据。
- 解析渲染页面:浏览器接收到HTTP响应后,解析HTML文档、CSS样式表和JavaScript脚本,将网页内容呈现给用户。浏览器按照HTML文档的结构将网页内容渲染成可视化页面,并加载和解析页面中的其他资源。
- 断开TCP连接:浏览器完成页面加载后,向Web服务器发送TCP连接断开请求,进行四次挥手,断开TCP连接。
整个过程涉及到DNS解析、TCP连接、HTTP请求和响应、页面解析和渲染等多个步骤,其中每一步都需要一定的时间和资源开销,影响页面的加载速度和用户体验。
版权声明:本文标题:【计算机网络】计算机网络(第八版)谢希仁著 ----你要的答案都在这里 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729000660h1305334.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论