计算机网络小问题

ISO/OSI七层网络模型都有哪几层?每层分别是什么功能?每层有哪些协议或者设备?

答:有应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

应用层:靠近用户的一层,是为计算机用户提供应用接口,也为用户提供各种网络服务,协议有http,https,ftp,smtp,dns,dhcp,ssh,telnet等等。

表示层:提供各种应用层数据的编码和转换功能,数据的压缩和加密也是表示层提供的转换功能之一,数据加解密,数据解压缩,图片/视频编码

会话层:负责建立,管理和终止表示层实体之间的通信会话。

传输层:提供端到端的通信控制,负责数据的可靠传输和错误恢复。主要功能包括分段和重组数据流,流量控制,拥塞控制和错误检测等。典型的传输层协议有面向连接的基于字节流的可靠传输协议TCP,和无连接的高效不可靠传输UDP。

网络层:负责在多个网络传输数据时,选择最佳路径并转发数据包。网络层的主要协议包括IP协议(Ipv4,Ipv6),定义了计算机在互联网上的地址分配和路由选择。ARP协议:地址解析协议,防火墙:通过白名单和黑名单来限制访问,路由器:数据转发,路由寻址

数据链路层:负责将物理层传输的比特流组织成逻辑的帧,检测和纠正在物理层传输中可能出现的错误,交换机: 数据转发,网卡: 出厂会有mac地址。

物理层:负责连接计算机的物理媒介,例如:电缆,光纤,无线电频谱等。

socket作为通信基石,其中包含通信必须的五种信息都是什么?

连接使用的协议,本地主机IP,本地主机端口,远地主机IP,远地主机端口

什么是 CS 模型?什么是 BS模型?分别有什么特点

CS模型是一种网络架构指的是客户端服务端模型客户端指定,协议任意,特点是双向通信:客户端发送请求,服务端处理并返回结果,专用服务器:服务器通常是专门的硬件设备或网络服务,分布式:支持在不同的物理位置上部署服务器和客户端,通过网络进行通信。

BS模型也是一种网络架构,其中客户端使用浏览器作为用户界面,通过http或https连接到服务器获取和提交信息,客户端任意,协议限制必须使用http/https,特点是单向请求:通常是客户端通过浏览器向服务器发送请求,服务器响应并返回HTML页面或其他资源,统一接口:Web浏览器作为客户端的界面,服务器端处理业务逻辑和数据存储,无需安装客户端软件。

分别写出基于 UDP 和 TCP 协议的服务端和客户端收发数据的步骤

UDP:

服务端:加载库,创建套接字,绑定,接受数据,发送数据,关闭套接字,卸载库。

客户端:加载库,创建套接字,发送数据,接受数据,关闭套接字,卸载库。

TCP:

服务端:加载库,创建套接字,绑定,监听,接收连接,接受数据,发送数据,关闭套接字,卸载库。

客户端:加载库,创建套接字,连接,发送数据,接受数据,关闭套接字,卸载库。

直接广播地址是多少?有限广播地址是多少?直接广播和有限广播的区别。

直接广播地址255.255.255.255有限广播地址192.168.2.255(192.168.2是子网的网络号)

一个只能向当前的子网发送广播,一个可以向指定的子网发送广播

IP地址分为哪几类?范围都是多少?默认子网掩码分别是多少? 

A        1.0.0.0~127.255.255.255            255.0.0.0

B        128.0.0.0~191.255.255.255        255.255.0.0

C        192.0.0.0~223.255.255.255        255.255.255.0

D        224.0.0.0~239.255.255.255

E        240.0.0.0~255.255.255.255

某公司申请到一个b类网络地址 150.134.0.0,该公司需要分配15 个子网,每个子网不超过 2000 台主机则需要(4)位子网号,也就是使用(255.255.240.0)作为子网掩码

2^4=16>15,所以子网号要占4位,子网掩码就是在默认的子网掩码255.255.0.0的基础上变成255.255.240(11110000).0。

ARP 协议的作用。在什么时候使用 ARP 协议?描述 ARP 协议的过程。

地址解析协议是用于解析网络层地址(ip)和数据链路层地址(mac)之间对应关系的协议,当A主机不知道B主机的mac地址但知道B的ip地址,A在本地网络广播一个arp请求其中包含源ip,源mac,目的ip,目的mac其中目的mac为0,表示一个请求,B主机收到arp请求后,回复一个包含自己ip和mac的arp回应,A收到会议更新自己的arp缓存。

发送 ARP广播时,如果目标主机在外网,怎么办?

如果目标主机在外网,A向其所在子网的ARP代理发送一个ARP请求,而不是广播整个子网,ARP代理收到ARP请求后会代表A向目标子网内的B发送ARP请求,并将B返回的Mac地址作为响应返回给主机A。

什么是免费ARP?免费ARP有什么作用?

一种特殊形式的ARP请求,源ip和目的ip都是自己的ip源mac为自己的mac目的mac为0,通知局域网其他主机自己的mac和ip对应关系发送变化,作用是确认网络中是否有与自己ip相同的主机有的话会返回一个错误的报文,告诉整个网络目前某个ip和mac的对应关系     ,别的主机收到后缓存中没有就会缓存ip和mac的对应关系,如果有就更新。

HTTP 和 HTTPS 协议的区别。FTP是什么协议。DNS 是什么协议。DHCP 是什么协议。  

HTTP和HTTPS的区别是HTTPS是HTTP的安全版本HTTPS采用SSL加密通信内容,HTTP的端口是80,HTTPS的端口是443。

FTP是文件传输协议,DNS是域名解析协议,DHCP是动态获取网络配置协议。

TCP和UDP分别是什么协议?有什么优缺点?分别适用于哪些场景?

TCP是传输控制协议,优点是可靠安全因为有流量控制和拥塞控制和确认机制,三次握手,四次挥手,合理的分段,校验机制,重传机制,缺点是首部开销大,传输需要确认和流量控制,拥塞控制,效率慢,适合于对数据准确性完整性要求高的场景,比如文件传输,电子邮件传输,网页访问。

UDP是用户数据报协议,优点是首部开销小仅8字节,没有确认,流量控制和拥塞控制所以效率高速度快,缺点是不可靠,可能会产生丢包,重复,适用于对传输速率要求较高实时性强的场景比如游戏,视频会议,视频通话。

为什么说TCP协议是可靠稳定的?如果开发一个视频会议的软件,选择什么协议?为什么?

因为TCP协议面向连接,有流量控制,拥塞控制,重传和确认机制,三次握手,四次挥手,合理的分段,校验重新排序,选择UDP,因为UDP的效率高,视频会议对实时性要求较高,对数据的准确性并没有较高的要求。

某主机的网络地址(对外的ip地址)怎么计算?

用主机的ip与子网掩码位与。

什么是 MSS和MTU?RTT和 RTO 分别是什么意思?

MSS指的是去除掉IP头和tcp头后一个网络包所能容纳tcp数据的最大长度最大大小是1500-20-20=1460字节。

MTU指的是一个网络包的最大长度,在以太网中一般为1500字节,范围46~1500。

RTT指的是往返时延,即一个数据包发送到收到数据包的确认(ack)的时间。

RTO指的是超时重传时间,即数据包多久没有收到回复触发重传的时间,一般RTO = 2RTT。

画出三次握手和四次挥手的交互流程,写清每个包是什么包,seq和ack的值分别是多少,每个状态。

为什么被动断开方在接收到 FIN报文后,没有立刻回复 FIN 报文?为什么要立刻回复 ACK 报文?

因为要处理完数据,立刻回复ACK是为了防止主动方以为发送的FIN丢失了超时重传。

为什么主动断开方要等待 2MSL再关闭?

2MSL是两倍的数据包的最大存活时间,等待2MSL是因为如果回复的ack丢失了,被动方会以为他发的FIN包丢失了,会重传,如果此时主动方已经关闭,被动方就会一直重传,导致被动方无法断开连接。

什么是心跳机制?什么场景下使用心跳机制?

每间隔一段时间向服务端发送一个固定的信息,服务端收到回复一个固定的信息给客户端。

在客户端和服务端需要长时间连接且并不频繁收发数据,为了防止运行商或防火墙把连接中断,也可以用来测试是否能连接,客户端是否还在线。

为什么TCP协议会产生粘包问题?粘包问题有哪几种解决方法?每种解决方法分别有什么缺点?

TCP是基于字节流的传输控制协议,操作系统接受和发送数据不是立即接受或发送,而是先存到缓冲区中,临时存储数据,这些数据存在一起就分不清边界了。

解决方法:

1.使用应用层协议封装(http,https):需要额外的协议,变得复杂,应用层处理也需要花费时间

2.特殊标志位:效率低下,需要寻找标志位,遍历寻找标志位消耗大

3.短连接,链接一次发一次数据就断开:效率低,开销大,连接消耗的时间和资源增多

4.固定长度:会造成资源浪费

5.先发包大小,再发内容:增加了传输的开销,因为多了一个长度的信息

TCP 的流量控制是怎么实现的?介绍一下原理。

滑动窗口,TCP连接每一端都有一个接收窗口,一个发送窗口,窗口的大小首次是在三次握手的第二次和第三次时交换的,接收方维护一个接收窗口代表收到多少数据不会溢出,发送方维护一个发送窗口表示不需要等待确认可以连续发送多少数据的最大值,发送方窗口会随着接受方窗口的大小动态调整,如果接收方窗口大小为0,发送方不能发送数据,需要等待接收方扩大窗口,发送方每发送一个报文段都会有一个定时器跟踪,超时会发生重传。

拥塞控制和流量控制有什么区别?收发双方第一次交换滑动窗口的大小在什么时候?

拥塞控制是控制数据在网络中的传输,流量控制是控制发送方接收方两端收发数据,窗口的大小首次是在三次握手的第二次和第三次时交换的。

TCP 的拥塞控制算法有哪几种?说一下这几种算法在发送数据的时候怎么使用,什么场景下切换算法

慢开始,拥塞控制,快恢复,快重传。

慢开始在连接开始时使用,指数型增长,当达到慢开始门限时,切换拥塞控制算法,线性增长窗口大小,当发送超时重传时,慢开始门限降低为发生超时重传时窗口大小的一半,窗口大小变为1,再开始慢开始算法。快重传:当接收方发现乱序的时候,会连续发送三个重复的上次的确认信息,接收方收到连续的三个重复的ACK时,会立即重传ACK标记的下一个数据包。快恢复:触发快重传机制时,慢开始门限会变为触发快重传时窗口的一半,拥塞窗口变为原来窗口大小的一半+3。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值