计算机网络工作的职责范围决定求职者要准备的技能,面试问题也是在这方面来展开。简单来说如下:
1、一般小型公司,主要面对硬件维护、网络维护,老板对电脑也不太懂,问题会有:
(1)有装机经验吗?
(2)会装系统吗?
(3)会设内网吗,像路由器、网络打印等会设吗?
2、有点规模的公司,IT系统有一定规模,问题会有:
(1)网络经验有哪些?(对方懂网络,要小心条理的回答)
(2)网络安全会处理吗?(如果有这方面的能力,工资会高一些)
(3)有用过VPN设备或防火墙吗?(公司里有这些设备需要维护)
3、软件类公司,这种公司里高手有的是,需要熟练技能。
(1)学的专业是什么,会那些语言?
(2)域的设置熟练吗?
(3)维护过服务器吗?
网管工作分别很大,从初级到精通,从维护小局域网到保证网络的稳定和安全,再高端的提供数据安全方案并实施,包括网络知识和阵列知识等。
B. 计算机网络名词解释知识点简答题整理
基带传输:比特流直接向电缆发送,无需调制到不同频段;
基带信号:信源发出的没有经过调制的原始电信号;
URL :统一资源定位符,标识万维网上的各种文档,全网范围唯一;
传输时延:将分组的所有比特推向链路所需要的时间;
协议:协议是通信设备通信前约定好的必须遵守的规则与约定,包括语法、语义、定时等。
网络协议:对等层中对等实体间制定的规则和约定的集合;
MODEM :调制解调器;
起始(原始)服务器:对象最初存放并始终保持其拷贝的服务器;
计算机网络:是用通信设备和线路将分散在不同地点的有独立功能的多个计算机系统互相连接起来,并通过网络协议进行数据通信,实现资源共享的计算机集合;
解调:将模拟信号转换成数字信号;
多路复用:在一条传输链路上同时建立多条连接,分别传输数据;
默认路由器:与主机直接相连的一台路由器;
LAN :局域网,是一个地理范围小的计算机网络;
DNS :域名系统,完成主机名与 IP 地址的转换;
ATM :异步传输模式,是建立在电路交换和分组交换基础上的一种面向连接的快速分组交换技术;
Torrent :洪流,参与一个特定文件分发的所有对等方的集合;
Cookie :为了辨别用户、用于 session 跟踪等而储存在用户本地终端的数据;
SAP :服务访问点;
n PDU : PDU 为协议数据单元,指对等层之间的数据传输单位;第 n 层的协议数据单元;
PPP :点对点传输协议;
Web caching :网页缓存技术;
Web 缓存:代替起始服务器来满足 HTTP 请求的网络实体。
Proxy server :代理服务器;
Go-back-n :回退 n 流水线协议;允许发送方连续发送分组,无需等待确认,若出错,从出错的分组开始重发;接收方接收数据分组,若正确,发 ACK ,若出错,丢弃出错分组及其后面的分组,不发任何应答;
Packet switching :分组交换技术;
CDMA :码分多路复用技术;各站点使用不同的编码,然后可以混合发送,接收方可正确提取所需信息;
TDM :时分多路复用,将链路的传输时间划分为若干时隙,每个连接轮流使用不同时隙进行传输;
FDM :频分多路复用,将链路传输频段分成多个小的频段,分别用于不同连接信息的传送;
OSI :开放系统互连模型,是计算机广域网体系结构的国际标准,把网络分为 7 层;
CRC :循环冗余检测法,事先双方约定好生成多项式,发送节点在发送数据后附上冗余码,使得整个数据可以整除生成多项式,接收节点收到后,若能整除,则认为数据正确,否则,认为数据错误;
RIP :路由信息协议;
Socket (套接字):同一台主机内应用层和运输层的接口;
转发表:交换设备内,从入端口到出端口建立起来的对应表,主要用来转发数据帧或 IP 分组;
路由表:路由设备内,从源地址到目的地址建立起来的最佳路径表,主要用来转发 IP 分组;
存储转发:分组先接收存储后,再转发出去;
虚电路网络:能支持实现虚电路通信的网络;
数据报网络:能支持实现数据报通信的网络;
虚电路:源和目的主机之间建立的一条逻辑连接,创建这条逻辑连接时,将指派一个虚电路标识符 VC.ID ,相关设备为它运行中的连接维护状态信息;
毒性逆转技术: DV 算法中,解决计数到无穷的技术,即告知从相邻路由器获得最短路径信息的相邻路由器到目的网络的距离为无穷大;
加权公平排队 WFQ :排队策略为根据权值大小不同,将超出队列的数据包丢弃;
服务原语:服务的实现形式,在相邻层通过服务原语建立交互关系,完服务与被服务的过程;
透明传输:在无需用户干涉的情况下,可以传输任何数据的技术;
自治系统 AS :由一组通常在相同管理者控制下的路由器组成,在相同的 AS 中,路由器可全部选用同样的选路算法,且拥有相互之间的信息;
分组丢失:分组在传输过程中因为种种原因未能到达接收方的现象;
隧道技术:在链路层或网络层通过对等协议建立起来的逻辑通信信道;
移动接入:也称无线接入,是指那些常常是移动的端系统与网络的连接;
面向连接服务:客户机程序和服务器程序发送实际数据的分组前,要彼此发送控制分组建立连接;
无连接服务:客户机程序和服务器程序发送实际数据的分组前,无需彼此发送控制分组建立连接;
MAC 地址:网卡或网络设备端口的物理地址;
拥塞控制:当网络发生拥塞时,用响应的算法使网络恢复到正常工作的状态;
流量控制:控制发送方发送数据的速率,使收发双方协调一致;
Ad Hoc 网络:自主网络,无基站;
往返时延:发送方发送数据分组到收到接收方应答所需要的时间;
电路交换:通信节点之间采用面向连接方式,使用专用电路进行传输;
ADSL :异步数字用户专线,采用不对称的上行与下行传输速率,常用于用户宽带接入。
多播:组播,一对多通信;
路由器的组成包括:输入端口、输出端口、交换结构、选路处理器;
网络应用程序体系结构:客户机 / 服务器结构、对等共享、混合;
集线器是物理层设备,交换机是数据链路层设备,网卡是数据链路层设备,路由器是网络层设备;
双绞线连接设备的两种方法:直连线和交叉线,同种设备相连和计算机与路由器相连都使用交叉线;不同设备相连用直连线;
MAC 地址 6 字节, IPv4 地址 4 字节, IPv6 地址 16 字节;
有多种方法对载波波形进行调制,调频,调幅,调相;
IEEE802.3 以太网采用的多路访问协议是 CSMA/CD ;
自治系统 AS 内部的选路协议是 RIP 、 OSPF ;自治系统间的选路协议是 BGP ;
多路访问协议:分三大类:信道划分协议、随机访问协议、轮流协议;
信道划分协议包括:频分 FDM 、时分 TDM 、码分 CDMA ;
随机访问协议包括: ALOHA 、 CSMA 、 CSMA/CD(802.3) 、 CSMA/CA(802.11) ;
轮流协议包括:轮询协议、令牌传递协议
ISO 和 OSI 分别是什么单词的缩写,中文意思是什么?用自己的理解写出 OSI 分成哪七层?每层要解决的问题和主要功能是什么?
答:ISO:international standard organization 国际标准化组织;OSI:open system interconnection reference model 开放系统互连模型;
OSI分为 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;
层名称解决的问题主要功能
应用层实现特定应用选择特定协议;针对特定应用规定协议、时序、表示等,进行封装。在端系统中用软件来实现,如HTTP;
表示层压缩、加密等表示问题;规定数据的格式化表示,数据格式的转换等;
会话层会话关系建立,会话时序控制等问题;规定通信的时序;数据交换的定界、同步、建立检查点等;
传输层源端口到目的端口的传输问题;所有传输遗留问题:复用、流量、可靠;
网络层路由、拥塞控制等网络问题;IP寻址,拥塞控制;
数据链路层相邻节点无差错传输问题;实现检错与纠错,多路访问,寻址;
物理层物理上可达;定义机械特性,电气特性,功能特性等;
因特网协议栈分层模型及每层的功能。
分层的优点:使复杂系统简化,易于维护和更新;
分层的缺点:有些功能可能在不同层重复出现;
假设一个用户 ( 邮箱为: [email protected]) 使用 outlook 软件发送邮件到另一个用户 ( 邮箱为: [email protected]) ,且接收用户使用 IMAP 协议收取邮件,请给出此邮件的三个传输阶段,并给出每个阶段可能使用的应用层协议。
用户 [email protected] 使用outlook软件发送邮件到 163 邮件服务器
163邮件服务器将邮件发送给用户 [email protected] 的yahoo邮件服务器
用户 [email protected] 使用IMAP协议从yahoo邮件服务器上拉取邮件
第1、2阶段可以使用SMTP协议或者扩展的SMTP协议:MIME协议,第3阶段可以使用IMAP、POP3、HTTP协议
三次握手的目的是什么?为什么要三次(二次为什么不行)?
为了实现可靠数据传输,TCP协议的通信双方,都必须维护一个序列号,以标识发送出去的数据包中,哪些是已经被对方收到的。三次握手的过程即是通信双方相互告知序列号起始值,并确认对方已经收到了序列号起始值的必经步骤。
如果只是两次握手,至多只有连接发起方的起始序列号能被确认,另一方选择的序列号则得不到确认。
选择性重传 (SR) 协议中发送方窗口和接收方窗口何时移动?分别如何移动?
发送方:当收到ACK确认分组后,若该分组的序号等于发送基序号时窗口发生移动;向前移动到未确认的最小序号的分组处;
接收方:当收到分组的序号等于接收基序号时窗口移动;窗口按交付的分组数量向前移动;
简述可靠传输协议 rdt1.0, rdt2.0, rdt2.1, rdt2.2 和 rdt3.0 在功能上的区别。
rdt1.0:经可靠信道上的可靠数据传输,数据传送不出错不丢失,不需要反馈。
rdt2.0(停等协议):比特差错信道上的可靠数据传输,认为信道传输的数据可能有比特差错,但不会丢包。接收方能进行差错检验,若数据出错,发送方接收到NAK之后进行重传。
rdt2.1:在rdt2.0的基础上增加了处理重复分组的功能,收到重复分组后,再次发送ACK;
rdt2.2:实现无NAK的可靠数据传输,接收方回发带确认号的ACK0/1,
收到出错分组时,不发NAK,发送接收到的上一个分组的ACK;
rdt3.0:实现了超时重发功能,由发送方检测丢包和恢复;
电路交换和虚电路交换的区别?哪些网络使用电路交换、报文交换、虚电路交换和数据报交换?请各举一个例子。
电路交换时整个物理线路由通讯双方独占;
虚电路交换是在电路交换的基础上增加了分组机制,在一条物理线路上虚拟出多条通讯线路。
电路交换:电话通信网
报文交换:公用电报网
虚电路交换:ATM
数据报交换:Internet
电路交换:面向连接,线路由通信双方独占;
虚电路交换:面向连接,分组交换,各分组走统一路径,非独占链路;
数据报交换:无连接,分组交换,各分组走不同路径;
交换机逆向扩散式路径学习法的基本原理:
交换表初始为空;
当收到一个帧的目的地址不在交换表中时,将该帧发送到所有其他接口(除接收接口),并在表中记录下发送节点的信息,包括源MAC地址、发送到的接口,当前时间;
如果每个节点都发送了一帧,每个节点的地址都会记录在表中;
收到一个目的地址在表中的帧,将该帧发送到对应的接口;
表自动更新:一段时间后,没有收到以表中某个地址为源地址的帧,从表中删除该地址;
非持久 HTTP 连接和持久 HTTP 连接的不同:
非持久HTTP连接:每个TCP连接只传输一个web对象,只传送一个请求/响应对,HTTP1.0使用;
持久HTTP连接:每个TCP连接可以传送多个web对象,传送多个请求/响应对,HTTP1.1使用;
Web 缓存的作用是什么?简述其工作过程:
作用:代理原始服务器满足HTTP请求的网络实体;
工作过程:
浏览器:与web缓存建立一个TCP连接,向缓存发送一个该对象的HTTP请求;
Web缓存:检查本地是否有该对象的拷贝;
若有,就用HTTP响应报文向浏览器转发该对象;
若没有,缓存与原始服务器建立TCP连接,向原始服务器发送一个该对象的HTTP请求,原始服务器收到请求后,用HTTP响应报文向web缓存发送该对象,web缓存收到响应,在本地存储一份,并通过HTTP响应报文向浏览器发送该对象;
简要说明无线网络为什么要用 CSMA/CA 而不用 CSMA/CD ?
无线网络用无线信号实施传输,现在的技术还无法检测冲突,因此无法使用带冲突检测的载波侦听多路访问协议CSMA/CD,而使用冲突避免的载波侦听多路访问协议CSMA/CA;
简述各种交换结构优缺点,并解释线头 HOL 阻塞现象。
内存交换结构:以内存为交换中心;
优点:实现简单,成本低;
缺点:不能并行,速度慢;
总线交换结构:以共享总线为交换中心;
优点:实现相对简单,成本低;
缺点:不能并行,速度慢,不过比memory快;
纵横制:以交叉阵列为交换中心;
优点:能并行,速度快,比memory和总线都快;
缺点:实现复杂,成本高;
线头HOL阻塞:输入队列中后面的分组被位于线头的一个分组阻塞(即使输出端口是空闲的),等待交换结构发送;
CSMA/CD 协议的中文全称,简述其工作原理。
带冲突检测的载波侦听多路访问协议;
在共享信道网络中,发送节点发送数据之前,先侦听链路是否空闲,若空闲,立即发送,否则随机推迟一段时间再侦听,在传输过程中,边传输边侦听,若发生冲突,以最快速度结束发送,并随机推迟一段时间再侦听;
奇偶校验、二维奇偶校验、 CRC 校验三者比较:
奇偶校验能检测出奇数个差错;
二维奇偶校验能够检测出两个比特的错误,能够纠正一个比特的差错;
CRC校验能检测小于等于r位的差错和任何奇数个差错;
GBN 方法和 SR 方法的差异:
GBN:一个定时器,超时,重发所有已发送未确认接收的分组,发送窗口不超过2的k次方-1,接收窗口大小为1,采用累计确认,接收方返回最后一个正确接受的分组的ACK;
SR:多个定时器,超时,只重发超时定时器对应的分组,发送窗口和接收窗口大小都不超过2的k-1次方,非累计确认,接收方收到当前窗口或前一窗口内正确分组时返回对应的ACK;
C. TCP/IP计算机网络协议面试题汇总
LISTEN – 侦听来自远方TCP端口的连接请求;
SYN-SENT -在发送连接请求后等待匹配的连接请求;
SYN-RECEIVED – 在收到和发送一个连接请求后等待对连接请求的确认;
ESTABLISHED- 代表一个打开的连接,数据可以传送给用户;
FIN-WAIT-1 – 等待远程TCP的连接中断请求,或先前的连接中断请求的确认;
FIN-WAIT-2 – 从远程TCP等待连接中断请求;
CLOSE-WAIT – 等待从本地用户发来的连接中断请求;
CLOSING -等待远程TCP对连接中断的确认;
LAST-ACK – 等待原来发向远程TCP的连接中断请求的确认;
TIME-WAIT -等待足够的时间以确保远程TCP接收到连接中断请求的确认;
CLOSED – 没有任何连接状态;
路由器仅根据网络号net-id来转发分组,当分组到达目的网络的路由器之后,再按照主机号host-id将分组交付给主机;同一网络上的所有主机的网络号相同。
从主机号host-id借用若干个比特作为子网号subnet-id;子网掩码:网络号和子网号都为1,主机号为0;数据报仍然先按照网络号找到目的网络,发送到路由器,路由器再按照网络号和子网号找到目的子网:将子网掩码与目标地址逐比特与操作,若结果为某个子网的网络地址,则送到该子网。
每台主机或路由器在其内存中具有一个ARP表(ARP table),这张表包含IP地址到MAC地址的映射关系。将IP地址通过广播,根据目标IP地址解析到MAC地址。
1. Ping
Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。
Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。
2. Traceroute
Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点的路径。
Traceroute 发送的 IP 数据报封装的是无法交付的 UDP 用户数据报,并由目的主机发送终点不可达差错报告报文。
用于解决内网中的主机要和因特网上的主机通信。由NAT路由器将主机的本地IP地址转换为全球IP地址,分为静态转换(转换得到的全球IP地址固定不变)和动态NAT转换。
每个路由器维护一张表,记录该路由器到其它网络的”跳数“,路由器到与其直接连接的网络的跳数是1,每多经过一个路由器跳数就加1;更新该表时和相邻路由器交换路由信息;路由器允许一个路径最多包含15个路由器,如果跳数为16,则不可达。交付数据报时优先选取距离最短的路径。
1、 客户端发送自己支持的加密规则给服务器,代表告诉服务器要进行连接了;
2、 服务器从中选出一套加密算法和 hash 算法以及自己的身份信息(地址等)以证书的形式发送给浏览器,证书中包含服务器信息,加密公钥,证书的颁发机构;
3、客户端收到网站的证书之后要做下面的事情:
4、服务器接收到客户端传送来的信息,要做下面的事情:
5、如果计算法 hash 值一致,握手成功。
把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
D. 计算机网络知识点
一、计算机网络概述
1.1 计算机网络的分类
按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);
按照网络使用者:公用网络、专用网络。
1.2 计算机网络的层次结构
TCP/IP四层模型与OSI体系结构对比:
1.3 层次结构设计的基本原则
各层之间是相互独立的;
每一层需要有足够的灵活性;
各层之间完全解耦。
1.4 计算机网络的性能指标
速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RTT:数据报文在端到端通信中的来回一次的时间。
二、物理层
物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
物理层设备:
中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;
集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。
单工通信信道:只能一个方向通信,没有反方向反馈的信道;
半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;
全双工通信信道:双方都可以同时发送和接收。
三、数据链路层
3.1 数据链路层概述
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括: 物理地址寻址、数据的成帧、流量控制、数据的检错、重发 等。
有关数据链路层的重要知识点:
数据链路层为网络层提供可靠的数据传输;
基本数据单位为帧;
主要的协议:以太网协议;
两个重要设备名称:网桥和交换机。
封装成帧:“帧”是 数据链路层 数据的基本单位:
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
3.2 数据链路层的差错监测
差错检测:奇偶校验码、循环冗余校验码CRC
奇偶校验码–局限性:当出错两位时,检测不到错误。
循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
3.3 最大传输单元MTU
最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.
路径MTU:由链路中MTU的最小值决定。
3.4 以太网协议详解
MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。
以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:
局域网分类:
Ethernet以太网IEEE802.3:
以太网第一个广泛部署的高速局域网
以太网数据速率快
以太网硬件价格便宜,网络造价成本低
以太网帧结构:
类型:标识上层协议(2字节)
目的地址和源地址:MAC地址(每个6字节)
数据:封装的上层协议的分组(46~1500字节)
CRC:循环冗余码(4字节)
以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;
MAC地址(物理地址、局域网地址)
MAC地址长度为6字节,48位;
MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
MAC广播地址:FF-FF-FF-FF-FF-FF。
四、网络层
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文。
网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。
与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:
1、网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;
2、基本数据单位为IP数据报;
3、包含的主要协议:
IP协议(Internet Protocol,因特网互联协议);
ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
4、重要的设备:路由器。
路由器相关协议
4.1 IP协议详解
IP网际协议是 Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。
IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。
其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。
4.2 IP协议的转发流程
4.3 IP地址的子网划分
A类(8网络号+24主机号)、B类(16网络号+16主机号)、C类(24网络号+8主机号)可以用于标识网络中的主机或路由器,D类地址作为组广播地址,E类是地址保留。
4.4 网络地址转换NAT技术
用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。
NAT 工作原理:
从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;
从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。
4.5 ARP协议与RARP协议
地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。
ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。
RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。
4.6 ICMP协议详解
网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。
ICMP协议的应用:
Ping应用:网络故障的排查;
Traceroute应用:可以探测IP数据报在网络中走过的路径。
4.7网络层的路由概述
关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化、稳定的公平的。
自治系统AS: 指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。
静态路由: 人工配置,难度和复杂度高;
动态路由:
链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法
距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);
4.8 内部网关路由协议之RIP协议
路由信息协议 RIP(Routing Information Protocol)【应用层】,基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;RIP报文,封装进UDP数据报。
RIP协议特性:
RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);
RIP的费用定义在源路由器和目的子网之间;
RIP被限制的网络直径不超过15跳;
和隔壁交换所有的信息,30主动一次(广播)。
4.9 内部网关路由协议之OSPF协议
开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】,基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络,直接封装在IP数据报传输。
OSPF协议优点:
安全;
支持多条相同费用路径;
支持区别化费用度量;
支持单播路由和多播路由;
分层路由。
RIP与OSPF的对比(路由算法决定其性质):
4.10外部网关路由协议之BGP协议
BGP(Border Gateway Protocol)边际网关协议【应用层】:是运行在AS之间的一种协议,寻找一条好路由:首次交换全部信息,以后只交换变化的部分,BGP封装进TCP报文段.
五、传输层
第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
有关网络层的重点:
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
重要设备:网关。
5.1 UDP协议详解
UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议。
UDP协议的特点:
UDP是无连接协议;
UDP不能保证可靠的交付数据;
UDP是面向报文传输的;
UDP没有拥塞控制;
UDP首部开销很小。
UDP数据报结构:
首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】 数据字段:应用数据
5.2 TCP协议详解
TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议。
TCP协议的功能:
对应用层报文进行分段和重组;
面向应用层实现复用与分解;
实现端到端的流量控制;
拥塞控制;
传输层寻址;
对收到的报文进行差错检测(首部和数据部分都检错);
实现进程间的端到端可靠数据传输控制。
TCP协议的特点:
TCP是面向连接的协议;
TCP是面向字节流的协议;
TCP的一个连接有两端,即点对点通信;
TCP提供可靠的传输服务;
TCP协议提供全双工通信(每条TCP连接只能一对一);
5.2.1 TCP报文段结构:
最大报文段长度:报文段中封装的应用层数据的最大长度。
TCP首部:
序号字段:TCP的序号是对每个应用层数据的每个字节进行编号
确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;
TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍
TCP标记的作用:
5.3 可靠传输的基本原理
基本原理:
不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失
基于不可靠信道实现可靠数据传输采取的措施:
差错检测:利用编码实现数据包传输过程中的比特差错检测 确认:接收方向发送方反馈接收状态 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据按序提交 计时器:解决数据丢失问题;
停止等待协议:是最简单的可靠传输协议,但是该协议对信道的利用率不高。
连续ARQ(Automatic Repeat reQuest:自动重传请求)协议:滑动窗口+累计确认,大幅提高了信道的利用率。
5.3.1TCP协议的可靠传输
基于连续ARQ协议,在某些情况下,重传的效率并不高,会重复传输部分已经成功接收的字节。
5.3.2 TCP协议的流量控制
流量控制:让发送方发送速率不要太快,TCP协议使用滑动窗口实现流量控制。
5.4 TCP协议的拥塞控制
拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。拥塞控制的方法:慢启动算法+拥塞避免算法。
慢开始和拥塞避免:
【慢开始】拥塞窗口从1指数增长;
到达阈值时进入【拥塞避免】,变成+1增长;
【超时】,阈值变为当前cwnd的一半(不能<2);
再从【慢开始】,拥塞窗口从1指数增长。
快重传和快恢复:
发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;
执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
5.5 TCP连接的三次握手(重要)
TCP三次握手使用指令:
面试常客:为什么需要三次握手?
第一次握手:客户发送请求,此时服务器知道客户能发;
第二次握手:服务器发送确认,此时客户知道服务器能发能收;
第三次握手:客户发送确认,此时服务器知道客户能收。
建立连接(三次握手):
第一次: 客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN_SEND (同步发送状态);
第二次: 服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态);
第三次: 客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;
5.6 TCP连接的四次挥手(重要)
释放连接(四次挥手)
第一次: 客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态);
第二次: 服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器期望接收客户数据序号为x+1(ack_seq=x+1);服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2;
第三次: 服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器期望接收客户数据序号为x+1(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状态由CLOSE_WAIT 进入 LAST_ACK (最后确认状态);
第四次: 客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED;
为什么需要等待2MSL?
最后一个报文没有确认;
确保发送方的ACK可以到达接收方;
2MSL时间内没有收到,则接收方会重发;
确保当前连接的所有报文都已经过期。
六、应用层
为操作系统或网络应用程序提供访问网络服务的接口。应用层重点:
数据传输基本单位为报文;
包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
6.1 DNS详解
DNS(Domain Name System:域名系统)【C/S,UDP,端口53】:解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的 域名 到 IP 地址的映射。
域名解析的顺序:
【1】浏览器缓存,
【2】找本机的hosts文件,
【3】路由缓存,
【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。
IP—>DNS服务—>便于记忆的域名
域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(,taobao,qq,alibaba)、三级域(www)(12-2-0852)
6.2 DHCP协议详解
DHCP(Dynamic Configuration Protocol:动态主机设置协议):是一个局域网协议,是应用UDP协议的应用层协议。作用:为临时接入局域网的用户自动分配IP地址。
6.3 HTTP协议详解
文件传输协议(FTP):控制连接(端口21):传输控制信息(连接、传输请求),以7位ASCII码的格式。整个会话期间一直打开。
HTTP(HyperText Transfer Protocol:超文本传输协议)【TCP,端口80】:是可靠的数据传输协议,浏览器向服务器发收报文前,先建立TCP连接,HTTP使用TCP连接方式(HTTP自身无连接)。
HTTP请求报文方式:
GET:请求指定的页面信息,并返回实体主体;
POST:向指定资源提交数据进行处理请求;
DELETE:请求服务器删除指定的页面;
HEAD:请求读取URL标识的信息的首部,只返回报文头;
OPETION:请求一些选项的信息;
PUT:在指明的URL下存储一个文档。
6.3.1 HTTP工作的结构
6.3.2 HTTPS协议详解
HTTPS(Secure)是安全的HTTP协议,端口号443。基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护
原文地址:https://blog.csdn.net/Royalic/article/details/119985591
E. 计算机网络专业的学生面试时常被提问的一些专业问题又哪些
什么是代理服务器?
防火墙是有什么用的?
拓扑结构是什么?
等等。。我会的不多。还是让下楼的哥们帮你回答更多的吧。。
F. 计算机网络基础重要知识点
计算机网络基础重要知识点,第一章概述的知识点包含章节导引,第一节计算机网络的定义与作用,第二节计算机网络技术的发展,第三节计算机网络的分类与主要性能指标,第四节计算机网络的体系结构,。参考模型的七层结构很重要,要理解如下:
从最底层到最高层:物理层,内数据链路容层,网络层,传输层,会话层,表示层,应用层.
物理层:在通信系统间建立物理链接,实现原始位流的传输。工作在该层的设备有 中继器 集线器 网卡 数据的传输单位 是 比特流.
数据链路层:实现物理网络中的系统标识,具有组帧功能,在共赏传输介质的网络中,还提供访问控制功能,提供数据的无错传输。 工作在层的设备有 交换机
网桥。 传输单位 是帧。
网络层:对整个互联网络中的系统进行统一的标识,具有分段和重组功能还具有寻址的功能,实现拥塞控制功能。
传输层: 实现主机间进程到进程的数据通信。 数据传输的单位是 段。
会话层:组织和同步不同主机上各种进程间的通信。
表示层:为应用进程间传送的数据提供表示的方法即确定数据在计算机中编码方式。
应用层: 是(唯一)直接给网络应用进程提供服务。
G. 计算机网络基础有哪些需要掌握的知识点
1)什么是链接?
链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。
2)OSI 参考模型的层次是什么?
有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。
3)什么是骨干网?
骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。
4)什么是 LAN?
LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。
5)什么是节点?
节点是指连接发生的点。它可以是作为网络一部分的计算机或设备。为了形成网络连接,需要两个或更多个节点。
6)什么是路由器?
路由器可以连接两个或更多网段。这些是在其路由表中存储信息的智能网络设备,例如路径,跳数等。有了这个信息,他们就可以确定数据传输的最佳路径。路由器在 OSI 网络层运行。
7)什么是点对点链接?
它是指网络上两台计算机之间的直接连接。除了将电缆连接到两台计算机的 NIC卡之外,点对点连接不需要任何其他网络设备。
8)什么是匿名 FTP?
匿名 FTP 是授予用户访问公共服务器中的文件的一种方式。允许访问这些服务器中的数据的用户不需要识别自己,而是以匿名访客身份登录。
9)什么是子网掩码?
子网掩码与 IP 地址组合,以识别两个部分:扩展网络地址和主机地址。像 IP 地址一样,子网掩码由 32 位组成。
10)UTP 电缆允许的最大长度是多少?
UTP 电缆的单段具有 90 到 100 米的允许长度。这种限制可以通过使用中继器和开关来克服。
11)什么是数据封装?
数据封装是在通过网络传输信息之前将信息分解成更小的可管理块的过程。在这个过程中,源和目标地址与奇偶校验一起附加到标题中。
12)描述网络拓扑
网络拓扑是指计算机网络的布局。它显示了设备和电缆的物理布局,以及它们如何连接到彼此。
13)什么是 VPN?
VPN 意味着虚拟专用网络,这种技术允许通过网络(如 Internet)创建安全通道。例如,VPN 允许您建立到远程服务器的安全拨号连接。
14)简要描述 NAT。
NAT 是网络地址转换。这是一种协议,为公共网络上的多台计算机提供一种方式来共享到 Internet 的单一连接。
15)OSI 参考模型下网络层的工作是什么?
网络层负责数据路由,分组交换和网络拥塞控制。路由器在此层下运行。
16)网络拓扑如何影响您在建立网络时的决策?
网络拓扑决定了互连设备必须使用什么媒介。它还作为适用于设置的材料,连接器和终端的基础。
17)什么是 RIP?
RIP,路由信息协议的简称由路由器用于将数据从一个网络发送到另一个网络。它通过将其路由表广播到网络中的所有其他路由器来有效地管理路由数据。它以跳数为单位确定网络距离。
18)什么是不同的方式来保护计算机网络?
有几种方法可以做到这一点。在所有计算机上安装可靠和更新的防病毒程序。确保防火墙的设置和配置正确。用户认证也将有很大的帮助。所有这些组合将构成一个高度安全的网络。
19)什么是 NIC?
NIC 是网络接口卡(网卡)的缩写。每个 NIC都有自己的 MAC 地址,用于标识网络上的 PC。
20)什么是 WAN?
WAN 代表广域网。它是地理上分散的计算机和设备的互连。它连接位于不同地区和国家/地区的网络。
21)OSI 物理层的重要性是什么?
物理层进行从数据位到电信号的转换,反之亦然。这是网络设备和电缆类型的考虑和设置。
22)TCP/IP 下有多少层?
有四层:网络层,互联网层,传输层和应用层。
23)什么是代理服务器,它们如何保护计算机网络?
代理服务器主要防止外部用户识别内部网络的 IP 地址。不知道正确的 IP 地址,甚至无法识别网络的物理位置。代理服务器可以使外部用户几乎看不到网络。
24)OSI 会话层的功能是什么?
该层为网络上的两个设备提供协议和方法,通过举行会话来相互通信。这包括设置会话,管理会话期间的信息交换以及终止会话时的解除过程。
25)实施容错系统的重要性是什么?有限吗?
容错系统确保持续的数据可用性。这是通过消除单点故障来实现的。但是,在某些情况下,这种类型的系统将无法保护数据,例如意外删除。
26)10Base-T 是什么意思?
10 是指数据传输速率,在这种情况下是 10Mbps。“Base”是指基带。T 表示双绞线,这是用于该网络的电缆。
27)什么是私有 IP 地址?
专用 IP 地址被分配用于内部网。这些地址用于内部网络,不能在外部公共网络上路由。这些确保内部网络之间不存在任何冲突,同时私有 IP 地址的范围同样可重复使用于多个内部网络,因为它们不会“看到”彼此。
28)什么是 NOS?
NOS 或网络操作系统是专门的软件,其主要任务是向计算机提供网络连接,以便能够与其他计算机和连接的设备进行通信。
29)什么是 DoS?
DoS 或拒绝服务攻击是试图阻止用户访问互联网或任何其他网络服务。这种攻击可能有不同的形式,由一群永久者组成。这样做的一个常见方法是使系统服务器过载,使其无法再处理合法流量,并将被强制重置。
30)什么是 OSI,它在电脑网络中扮演什么角色?
OSI(开放系统互连)作为数据通信的参考模型。它由 7 层组成,每层定义了网络设备如何相互连接和通信的特定方面。一层可以处理所使用的物理介质,而另一层则指示如何通过网络实际传输数据。
31)电缆被屏蔽并具有双绞线的目的是什么?
其主要目的是防止串扰。串扰是电磁干扰或噪声,可能影响通过电缆传输的数据。
32)地址共享的优点是什么?
通过使用地址转换而不是路由,地址共享提供了固有的安全性优势。这是因为互联网上的主机只能看到提供地址转换的计算机上的外部接口的公共 IP 地址,而不是内部网络上的私有 IP 地址。
33)什么是 MAC 地址?
MAC 或媒介访问控制,可以唯一地标识网络上的设备。它也被称为物理地址或以太网地址。MAC 地址由 6 个字节组成。
34)在 OSI 参考模型方面,TCP/IP 应用层的等同层或多层是什么?
TCP/IP 应用层实际上在 OSI 模型上具有三个对等体:会话层,表示层和应用层。
35)如何识别给定 IP 地址的 IP 类?
通过查看任何给定 IP 地址的第一个八位字节,您可以识别它是 A 类,B 类还是 C类。如果第一个八位字节以 0 位开头,则该地址为 Class A.如果以位 10 开头,则该地址为 B 类地址。如果从 110 开始,那么它是 C 类网络。
36)OSPF 的主要目的是什么?
OSPF 或开放最短路径优先,是使用路由表确定数据交换的最佳路径的链路状态路由协议。
37)什么是防火墙?
防火墙用于保护内部网络免受外部攻击。这些外部威胁可能是黑客谁想要窃取数据或计算机病毒,可以立即消除数据。它还可以防止来自外部网络的其他用户访问专用网络。
38)描述星形拓扑
星形拓扑由连接到节点的中央集线器组成。这是最简单的设置和维护之一。
39)什么是网关?
网关提供两个或多个网段之间的连接。它通常是运行网关软件并提供翻译服务的计算机。该翻译是允许不同系统在网络上通信的关键。
40)星型拓扑的缺点是什么?
星形拓扑的一个主要缺点是,一旦中央集线器或交换机被损坏,整个网络就变得不可用了。
41)什么是 SLIP?
SLIP 或串行线路接口协议实际上是在 UNIX 早期开发的旧协议。这是用于远程访问的协议之一。
42)给出一些私有网络地址的例子。
10.0.0.0,子网掩码为 255.0.0.0
192.168.0.0,子网掩码为 255.255.0.0
43)什么是 tracert?
Tracert 是一个 Windows 实用程序,可用于跟踪从路由器到目标网络的数据采集的路由。它还显示了在整个传输路由期间采用的跳数。
44)网络管理员的功能是什么?
网络管理员有许多责任,可以总结为 3 个关键功能:安装网络,配置网络设置以及网络的维护/故障排除。
45)描述对等网络的一个缺点。
当您正在访问由网络上的某个工作站共享的资源时,该工作站的性能会降低。
46)什么是混合网络?
混合网络是利用客户端 - 服务器和对等体系结构的网络设置。
47)什么是 DHCP?
DHCP 是动态主机配置协议的缩写。其主要任务是自动为网络上的设备分配 IP 地址。它首先检查任何设备尚未占用的下一个可用地址,然后将其分配给网络设备。
48)ARP 的主要工作是什么?
ARP 或地址解析协议的主要任务是将已知的 IP 地址映射到 MAC 层地址。
49)什么是 TCP/IP?
TCP/IP 是传输控制协议/互联网协议的缩写。这是一组协议层,旨在在不同类型的计算机网络(也称为异构网络)上进行数据交换。
50)如何使用路由器管理网络?
路由器内置了控制台,可让您配置不同的设置,如安全和数据记录。您可以为计算机分配限制,例如允许访问的资源,或者可以浏览互联网的某一天的特定时间。您甚至可以对整个网络中看不到的网站施加限制。
51)当您希望在不同平台(如 UNIX 系统和 Windows 服务器之间)传输文件时,可以应用什么协议?
使用 FTP(文件传输协议)在这些不同的服务器之间进行文件传输。这是可能的,因为 FTP 是平台无关的。
52)默认网关的使用是什么?
默认网关提供了本地网络连接到外部网络的方法。用于连接外部网络的默认网关通常是外部路由器端口的地址。
53)保护网络的一种方法是使用密码。什么可以被认为是好的密码?
良好的密码不仅由字母组成,还包括字母和数字的组合。结合大小写字母的密码比使用所有大写字母或全部小写字母的密码有利。密码必须不能被黑客很容易猜到,比如日期,姓名,收藏夹等等。
54)UTP 电缆的正确终止率是多少?
非屏蔽双绞线网线的正常终止是 100 欧姆。
55)什么是 netstat?
Netstat 是一个命令行实用程序。它提供有关连接当前 TCP/IP 设置的有用信息。
56)C 类网络中的网络 ID 数量是多少?
对于 C 类网络,可用的网络 ID 位数为 21。可能的网络 ID 数目为 2,提高到 21或 2,097,152。每个网络 ID 的主机 ID 数量为 2,增加到 8 减去 2,或 254。
57)使用长于规定长度的电缆时会发生什么?
电缆太长会导致信号丢失。这意味着数据传输和接收将受到影响,因为信号长度下降。
H. 计算机网络面试知识点
[图片上传失败...(image-47b18e-1644856864285)]
[图片上传失败...(image-fbfbf-1644856864285)]
网络协议其实就是端到端的一个 通信规则 ,有了这些规则,双方的沟通才有意义。
[图片上传失败...(image-bc49f9-1644856864285)]
其中,有几点比较重要:
[图片上传失败...(image-f04cf4-1644856864285)]
[图片上传失败...(image-bb666-1644856864285)]
如果我们只进行 2 次握手就建立连接,那么对于 Server 端来讲太容易建立起连接了,基本是有客户端过来,那么 Server 就要建立起连接了。这种情况就会导致连接成本太低,Server 端很容超负载。
四次挥手是因为 TCP 是 全双工 的,存在了数据发送与接收两个行为,在这两个方向的数据流入流出都需要进行关闭。
当服务接收到客户端请求连接 SYN,然后向客户端响应 ACK 和 SYN 后, 就会将连接维护到半连接队列。当客户端再次回复 ACk 后,当前的连接就会被维护到全连接队列里。
SYN 攻击是 DOS 攻击的一种,通过伪造大量的请求建立连接,使得半连接队列超出最大容量,其他正常的请求无法处理。
TIME_WAIT 是一个定时设置,在 2*MSL(MSL 表示一个包在网络环境中的生存时间,一般为 2 分钟, Linux 里为 30s)时间过后就会真正的 CLOSED。
之所以不立即关闭,主要为了让被动关闭方能有足够的时间接收到最后的 Ack 包,如果没有接收到,被动方就会重新发送 Fin 包,重新触发主动方发送最后的 Ack 包。这样的话,就能尽量保证被动关闭方尽快关闭连接了,毕竟主动关闭方需要承担起主要责任,所以会有 TIME_WAIT 的等待了。
另外一个原因也是怕当前连接立马释放,有一定概率会重用到当前连接标识(五元组),而旧的网络包由于延迟此时才接收到,就有可能产生包的混乱问题了。
TCP 发送的包都需要接收方进行一个 Ack 包的响应,如果在一定时间内没有响应的话,那么发送方就会认为包未能正确到达,需要进行重传动作。这就是 TCP 的重传机制。
TCP 里的重传机制会有一个超时的判断,这个超时时间并不是很准确,或者说并不是很标准,毕竟不同的网络环境,包的到达情况都会是不一样的。
所以 TCP 会使用一个采样时间,先记录了正常情况下一个数据包从发送到响应确认这么一来一回的时间,即所谓的 RTT (Round Trip Time) 时间,根据这个时间进行一些公式计算,得到了超时时间的值: RTO (Retransmission TimeOut)
对于重传机制,还有另外一种触发机制。上面的情况属于发送方去探知发送情况,有另一种情况是接收方能探知的。比如发送方发送了 1, 2, 3 的包,但实际上接收方只接收到 1 和 3,一直没能收到 2 这个包,那此时接收方就会连续响应三个 关于 2 的 ack 包。
当发送方收到这么一个连续的 3 个 ack 包后,就知道需要重传 2 了,此时就不需要等到 2 的超时未确认触发,可以提前的重传 2 这个包了。
TCP 采用 滑动窗口 进行了流量的控制,所谓的滑动窗口即在发送方和接收方各自维护了一个窗口,在这个窗口里将会维护对应的数据包,以感知当前的数据处理情况。
在接收方这边的窗口称之为 接收窗口 ,它具体表示当前所能接收的数据包大小,计算公式为:当前最大可接收缓冲区大小 - 当前已接收的大小,在连接建好的开始一般为 65535 字节。
在计算出可接收大小后,接收方就会将此值设置在 TCP 头部里的 Window 字段,然后响应回发送方,发送方也就知道了当前所能允许发送的数据包大小了。
在发送方这边的窗口称之为 发送窗口 ,按正常逻辑来讲,发送窗口维护的是即将要发送的数据,即根据刚刚反馈回来的接收窗口大小计算出的发送数据。
但由于一个数据包的发送需要有一个 ACK 响应才算完整流程,所以对于这些“已发送未响应”的数据也应该纳入到发送窗口的管理,并且只有真的 ACK 响应回来,才能继续下个数据包的准备发送。
[图片上传失败...(image-8f81f8-1644856864285)]
需要注意的是,如果发送方接收到的 Window 大小为 0,则表示当前的接收方已经无能力处理新的包了,此时发送方就不会再下发数据了,直到接收方发送一个 窗口通告 ,才继续数据的发送。
但此时需要考虑一种情况,就是接收方由于网络问题没能将窗口通告送达发送方,那此时发送方就会一直干等着了.所以对于发送方来讲,会启动 窗口探知 动作,要求接收方 ACK 它当前的接收窗口大小,如果超过 3 次的探知动作,则直接断开连接了。
TCP 协议抽象出了 拥塞窗口 (cwnd)的概念,它会根据当前的网络拥塞程度进行动态的调整。由于加入了拥塞情况的考虑,上面我们提到过的发送窗口则不能仅仅只考虑接收窗口这个因素了,需要进行 min(拥塞窗口,接收窗口) 的选择发送了。
MSS 表示 网络传输 数据 的最大值,如果 MSS 加上包头大小,则表示网络传输最大 报文 :MTU 。
在 Internet 这种互联网中,一般 MTU 定义为 576 字节,减去 TCP、IP 的包头 40 字节,则可以得到 MSS = 536 字节的值;而在以太网这种局域网里,一般 MTU 会大点:1500 字节,MSS 为 1460 字节。
当连接建立完毕,开始传输数据时,TCP 协议规定不能一开始就发送大尺寸的数据包,这样避免了网络环境有问题时,新加入的连接加剧了拥塞状况。所以,对于新加入的连接而言,需要一点一点的增大数据量,这就是所谓的 慢启动 。
其中,慢启动涉及的拥塞窗口计算过程如下:
从慢启动的算法来看,每经过一个 RTT 后,拥塞窗口的增长速度将会变得很厉害,如果没有进行限制的话,那么很快就会占满带宽了。因此, TCP 协议使用了一个叫慢启动门限(ssthresh)的变量(一般取 65535 字节)。当 cwnd(拥塞窗口) 超过该限制后,就会进入所谓的 拥塞避免 阶段了。
在拥塞避免阶段,拥塞窗口的计算过程如下:
从上面的算法可以看出,进入拥塞避免阶段后,数据包的发送大小将呈线性增加了。通过这样的方式,使得 TCP 的传输在前期很快,然后再慢慢降下来,达到网络最佳值。
在拥塞发生时,关于拥塞窗口的计算在不同的 TCP 版本里将会不一样,主要有以下 3种版本:
Tahoe 版本是 TCP 的最早版本,当它发现需要进行重传动作,即触发了 RTO 超时或发送方收到三个重复 ACK 包时,此时会进行的动作为:
Reno 版本进行的动作为:
其中,快速恢复阶段的计算又如下:
NewReno 是对 Reno 的改进,主要是优化了快速恢复阶段,在 Reno 版本中,所考虑的都是一个包的丢失情况。然而,在实际情况中,一次数据窗口的发送,是有可能出现很多数据包丢失情况的。
这样的话,就会触发多次的 cwnd 和 ssthresh 减半动作,一旦 cwnd 降到小于 3 时,即发送窗口会出现小于 3 的情形,此时将再也触发不了 3 次快速重传动作了,只能依赖 RTO 超时,而一般 RTO 的值是比较大(太小会经常触发重传)的,此时整个传输速度将会大大降低。
所以 NewReno 会在收到所有数据包的确认后才结束快速恢复阶段,这样 cwnd 和 sshthresh 就不会轻易被降低了。
NewReno 主要是使用了一个 recover 变量,作为当前数据窗口中,可能丢包的最大序号。即如果有丢包情况产生,并且大于当前的 recover 值,则会更新该值。
当收到接收方的 ack 后,会进行 ack_seq 的判断,如果 ack_seq > recover,此时就可以结束快速恢复阶段了;如果 ack_seq < recover,则意味着多包丢失,还不能结束快速恢复阶段。通过这样的控制,来提高了整个的吞吐量。
Nagle 算法把多个小数据包合并到一个片段,并且等待满足一定条件后,再一起发送过去。具体的触发条件如下:
当上述条件都未满足,但发生了超时(一般为 200ms),则立即发送。
对于 TCP 协议来讲,默认会启用 Nagle 算法,降低网络负载,减少网络拥塞,提高网络吞吐。
在 TCP 的确认机制里,可以在通信过程中不对每一个 TCP 数据包进行单独的 ACK 包响应,而是在传输数据时,顺便把 ACK 信息随数据包一起发送,这样可以提高网络流量利用率。
如果在一定时间内(一般 40 ms)没有数据包要发送,此时就会单独的进行 ACK 包响应。这个过程也被称为 Delay Ack。
TCP 是面向字节流的传输,它会根据接收方的包处理能力以及当前网络的拥塞情况来一部分一部分的加载数据发送,再加上有 Nagle 这种整合小数据包的算法存在。所以对于接收方来讲,接收到的数据有可能是粘合在一起的,也有可能是被拆分开的,即所谓的粘包和拆包。
对于粘包和拆包现象,常用的解决方案有:
TCP 的连接和断开都是双方互相沟通进行的(三次握手、四次挥手)。在数据的传输过程中会进行应答确认、超时重传、流量控制、拥塞控制、拥塞避免等手段去保证传输的准确性。
TCP 是面向字节流的可靠连接,而 UDP 是面向数据报文的连接,不保证可靠连接,但传输比较快。TCP 常用于邮件、文件传输这种要求准确性高的场景,而 UDP 常用于视频直播这种实时传输的场景。
HTTP 是基于 TCP 协议的短连接,按请求-响应来通信。每一次的请求都是独立的,和上次的没有关联。尽管 TCP 是有状态的,但它的状态是为了传输使用,比如报文序号、发送窗口大小等辅助信息,这些和 HTTP 的请求没有关系。
Http 虽然有 keep-alive 字段控制,但那是为了提高传输效率,让此次的请求连接尽量生命周期长些,不至于频繁的建立连接-销毁连接。另外,cookie 会话只是 HTTP 的补充,它是允许关闭或伪造的,并不是协议的通信依赖。
首先,会根据域名进行 DNS 的解析,以获取到服务器的 IP 地址。拿到 IP 地址后将会和服务端进行三次握手,建立 TCP 连接。接着将会按照 HTTP 协议的请求-响应来传输网页内容。最后,TCP 通过四次挥手结束连接。
每次请求-响应都会建立一次 TCP 连接,服务器处理完后就会断开 TCP 连接。后面加了 Connection: keep-alive 来延迟 TCP 连接时长,尽量让请求-响应使用同一个连接
HTTPS 解决了 HTTP 的安全传输问题,在 HTTP 这一层协议下加入了 SSL 层。即进行了端到端的加密/身份验证,以保证数据的不被窃取篡改。
HTTPS 的流程如下:
[图片上传失败...(image-b619ee-1644856864285)]
ping 采用了 ICMP 协议,ICMP 协议用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
DOS:即拒绝服务,其目的是使计算机或网络无法提供正常的服务。最常见的 DoS 攻击有计算机网络带宽攻击和连通性攻击,像 SYN 洪水攻击也是一种,它利用 TCP 协议发送大量的半连接请求,耗费服务器的 CPU 和内存资源。
感兴趣的朋友可以搜一搜公众号“ 阅新技术 ”,关注更多的推送文章。
可以的话,就顺便点个赞、留个言、分享下,感谢各位支持!
阅新技术,阅读更多的新知识。
I. 网络管理员面试常见问题及答案_网络管理员面试技巧
网络管理员行业对网络管理员的要求基本就是大而全,不需要精通,但什么都得懂一些。下面我分享了网络管理员 面试 常见问题及答案,希望对你有帮助。
网络管理员面试常见问题
1.请写出568A与568B的线序
2.按照数据访问速度排序:硬盘、CPU、光驱、内存
3.请写出下列服务使用的默认端口POP3、SMTP、FTP
4.网卡MAC是由6组什么组成的
5.ISO/OSI 7层模型是什么
6.C/S、B/S的含义
7.RFC950定义了什么?
8.综合布线包括什么
9.路由器和交换机属于几层设备
10.计算机中的端口共有多少个
11. 什么是Cache 什么是Buffer?区别是什么?
12. 什么是MBR
13. 你在局域网内想获得IP 192.168.1.2 的MAC,在XP系统的命令提示符中如何操作?
14. 查看编辑本地策略,可以在开始/运行中输入什么
15. 将FAT32转换为NTFS分区的命令是什么
16. 手动更新DHCP分配的IP地址是什么
17. XP每个分区下都有个System Volume Information名的隐藏目录是做什么的?还有pagefile.sys文件?
18. 默认时XP的文件共享是没办法设置用户权限的,只有一个是否允许网络用户更改我的文件选项,但要需要对此共享文件夹设置不同的用户权限,该怎么做?
19. QQ等即时消息软件采用的基本网络传输协议是什么?
20. 刚刚装好的XP系统C盘下只显示哪几个文件夹?
21. Windows XP系统盘C 盘根目录下都有哪几个重要的文件(隐藏文件)
22. 简述计算机从加电到启动系统时主板的工作流程,按照屏幕显示顺序描述
23. 电脑开机时主机内发出嘀嘀的鸣叫声,且 显示器 无任何信号,此现象可能是哪方面所导致,怎样处理?
24. 如果电脑的系统瘫痪(XP系统盘为C),正常启动无法进入系统,而C盘中又有重要文件,请问有几种拯救 方法 ,该如何操作?
25. 重装系统格式化C盘之前该注意哪些方面?(系统可运行前提)
26. 如何设置宽带路由器(基本步骤)
27. 简单谈谈怎样提高计算机是网络安全
28. 在对等网中使用ADSL共享连接Internet,怎样限制大流量多线程下载软件和P2P下载软件,从而保证网络的其他用户正常工作
网络管理员面试常见问题参考答案
1 568B
橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
568A
绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
2 CPU、内存、硬盘、光驱
3 POP3 110 SMTP 25 FTP 21(20)
4 有16进制数据组成,前三组表示厂商,有IEEE来分配,并可以在细分,后三组表示该制造商所制造的某个网络产品(如网卡)的系列号。
5 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
6 C/S表示客户端/服务器的模式C 是client,s是server。B/S是基于浏览器/server模式,B是browser,S是server,前者中的C是需要另外开发客户端程序的。而后者是基于浏览器来实现的,例如可以用IE等。
7 RFC950定义了IP的策略(分配策略),应用等规范。
8 综合布线包括六大子系统:
建筑群连接子系统、设备连接子系统、干线(垂直)子系统、管理子系统、水平子系统、工作区子系统(含网络布线系统,监控系统,闭路电视系统 )
9 路由器属于三层设备,交换机(通常所指的)属于二层设备
10 TCP0-65535,UDP0-65535也就是共有65536*2=131072个端口
11 cache,直译是高速缓存存储器,有硬件来实现。起到设备间处理速度协调作用。例如CPU的L2,L1,内存的作用等。 buffer,直译是缓冲区,有软件在RAM中实现。起到加快响应速度的作用。例如:WEB缓存,各个应用软件中的缓存,队列。共同点都是在RAM中实现,但实现的方式不一样。
12 MBR,master boot record,主引导记录。引导OS作用的。
13 我的方法是先ping 192.168.1.2 在用ARP -a命令查看arp列表即可获得
14 gpedit.msc
15 convert x: /fs:ntfs x:表示要转换的分区
16 ipconfig /renew
17 System Volume Information 该目录是XP的自动还原功能所要用到的,存储的是还原点文件。pagefile.sys就是PF,虚拟内存的文件。
18 打开资源管理器---工具---文件夹选项---查看---使用简单文件共享(推荐)把前面的勾勾去掉,或者打开组策略编辑器---计算机配置----windows设置---本地策略---安全选项---网络访问:本地帐户的共享安全模式,把该属性修改为“经典”模式也可以。
19 采用的是UDP和TCP协议,QQ主要采用UDP,在某些情况下采用TCP,即时消息多数采用UDP协议
20 只有 windows,program files ,documents and settings,System Volume Information(有隐藏属性),RECYCLER(有隐藏属性)。
21 ntldr ,ntdetect.com,boot.ini
22 加电--[自检]--- BIOS 信息---显卡的参数--CPU的参数--内存的参数--硬盘的参数---光驱的参数---显示PCI等主板的其他的I/O等参数----(如果有RAID卡这步应该会显示)----BIOS将更新ESCD最后给出(Verifying DMI Poll DATA...........Update Success)字样---读取MBR记录-----调用NTLDR做一系列操作(这时的控制权从BIOS移交到硬盘/OS)---读取boot.ini文件(显示 操作系统 选择菜单)进入给定的操作---等等一系列操作都属于操作系统的部分了,不在这个问题的范围---最终看到桌面
23 可能是内存问题导致,一般是内存松动,灰尘较多。可以做清扫灰尘,从新插好内存等操作。根据不同的鸣叫身也可以判断是其他硬件等问题
24 最简单的是把硬盘挂到其他计算机上,直接把重要文件出来,如果磁盘分区是FAT的,可以用启动盘进入到DOS模式下进行文件操作,如果磁盘分区是 NTFS的,可以用工具盘启动到DOS下加载NTFSDOS工具进行对NTFS分区进行操作。
25 磁盘空间允许最好备份整个windows目录。主要备份program files 目录,我的文档目录,documents and settings目录。另:备份一些软件的安装信息等。
26 宽带路由的设置,不复杂关键就几个步骤设置好拨号属性,一般都是PPPOE,ISP提供的用户名密码等设置好内网的合法IP地址建议启动防火墙功能。
27 定期不定期的升级操作系统和应用软件的补丁,杀毒,防火墙的应用。这些都是被动的,关键是有一套可行的行政手段。
28 这个问题据我所知只能采用第三方软件实现了,例如P2P终结者,一系列的网管软件。
怎么成功面试网络管理职位
1、网络管理,首先要对网络的架构相关概念要了解,一些基本的IP划分、DHCP、DNS、病毒服务器以及路由、交换工作原理的基本知识要清楚。
2、去公司面试之前,首先要理解清楚公司招聘职位的要求,对职位要求中的相关知识进行熟悉。
3、如果招聘方是需要招聘有工作 经验 的,那基本的电脑、打印机、网络维修、维护你得会。
4、对ERP类系统 管理知识 进行归纳 总结 ,不管哪一家出的系统,操作、管理模式是大同小异的。
5、数据库知识,难得不说,基本的增删改查要会。
6、软件开发能力,公司一般都有软件修修补补的需求,所以,至少要对一门编程语言要熟悉,虽没有软件工程职位的要求,最好自己做做小项目。
7、面试前重要功课,对自己会什么、能做什么?最好在自己的脑子里过一遍。
J. 计算机网络经典20问
本文目录 :
计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。
TCP/IP五层模型:应用层、传输层、网络层、数据链路层、物理层。
假设发送端为客户端,接收端为服务端。开始时客户端和服务端的状态都是 CLOSED 。
第三次握手主要为了 防止已失效的连接请求报文段 突然又传输到了服务端,导致产生问题。
因为当Server端收到Client端的 SYN 连接请求报文后,可以直接发送 SYN+ACK 报文。 但是在关闭连接时,当Server端收到Client端发出的连接释放报文时,很可能并不会立即关闭SOCKET ,所以Server端先回复一个 ACK 报文,告诉Client端我收到你的连接释放报文了。只有等到Server端所有的报文都发送完了,这时Server端才能发送连接释放报文,之后两边才会真正的断开连接。故需要四次挥手。
HTTP请求由 请求行、请求头部、空行和请求体 四个部分组成。
请求报文示例 :
HTTP响应也由四个部分组成,分别是: 状态行、响应头、空行和响应体 。
响应报文示例 :
HTTP2.0相比HTTP1.1支持的特性:
服务端可以向证书颁发机构CA申请证书,以避免中间人攻击(防止证书被篡改)。证书包含三部分内容: 证书内容、证书签名算法和签名 ,签名是为了验证身份。
服务端把证书传输给浏览器,浏览器从证书里取公钥。证书可以证明该公钥对应本网站。
数字签名的制作过程 :
浏览器验证过程 :
首先是TCP三次握手,然后客户端发起一个HTTPS连接建立请求,客户端先发一个 Client Hello 的包,然后服务端响应 Server Hello ,接着再给客户端发送它的证书,然后双方经过密钥交换,最后使用交换的密钥加解密数据。
对称加密 :通信双方使用 相同的密钥 进行加密。特点是加密速度快,但是缺点是密钥泄露会导致密文数据被破解。常见的对称加密有 AES 和 DES 算法。
非对称加密 :它需要生成两个密钥, 公钥和私钥 。公钥是公开的,任何人都可以获得,而私钥是私人保管的。公钥负责加密,私钥负责解密;或者私钥负责加密,公钥负责解密。这种加密算法 安全性更高 ,但是 计算量相比对称加密大很多 ,加密和解密都很慢。常见的非对称算法有 RSA 和 DSA 。