计网基础面试题

浏览器输入网址之后发生什么

1,DNS解析过程

2,三次握手

3,TLS通信

4,发送数据

5,四次挥手

TCP三次握手和四次挥手

两台计算机通信的过程
局域网通信———交换机——MAC地址
广域网通信———路由器——IP地址
网关是什么

OSI七层模型
详细介绍各层作用

表示层和会话层

数据链路层
网卡(网络适配器)
网卡中用于信号转换的两个设备
调制器和解调器
传输的信号在计算机内部是什么信号在

数据链路层
三个基本功能及实现过程

MAC地址(硬件地址)
一台计算机的MAC地址出厂时就被固定在网卡中了,除非网卡换了,MAC地址才换。
MAC地址有几个字节
MAC地址作用
获取MAC地址
ARP协议利用IP地址获取MAC地址的过程
1、ARP协议先在ARP高速缓存表中找有没有目的IP对应的MAC地址,没有的话就会发送ARP请求报文,ARP协议以广播的形式发送ARP请求报文,以单播形式发送ARP响应报文

ARP是局域网协议,只适用一个网络内

单播,多播,广播
广播:MAC6个字节全为1

交换机
交换机中的转发表映射的是什么
交换机属于那一层
交换机通过缓存帧防止帧碰撞的问题

当计算机获取一个帧时,数据链路层解析完成后,怎么知道需要把数据包传给网络层的哪一个协议
帧首部几个字段,保存什么
帧尾部几个字段,保存什么。

网络层
A,B,C类IP地址网络号以及主机号划分,固定的前几位。
0
10
110
各类可以支持的网络数
每一个网络可以支持的主机数
全零的网络号和主机号不可以分配,除了不改变位,全1的网络号和全1的主机号不可以分配
最大网络号作为本地环回测试地址
网络地址=网络号+子网号+全0主机号
广播地址=网络号+子网号+全1主机号
广播地址用于广播
每一个网络都有一个网络地址,用于路由器寻址这个网络
B 128~191
C 192~223
191233

路由器的作用
主机怎么知道负责自己的数据包传输的路由器的IP地址———默认
路由器和交换机
内部交换机,外部路由器
在传输过程中源IP地址和目的IP地址会改变吗,如果不会,那改变的是什么。
IP,MAC

子网是怎么划分的
如同多级页表
从主机号中拿出固定的一些位来表示子网号

计算机怎么知道一个IP地址的子网号是哪几位
什么是子网掩码
子网掩码=全1网络号+全1子网号
什么是网络地址
网络地址不是网络号
网络地址=网络号+子网号
网络地址=IP地址&子网掩码

192.168.13.11/24
这个24表示什么--子网掩码占据24位,有24个1。
一个路由器是不是只有一个IP地址

如果说一个网络地址分给一个地方,那么世界上那么多的地方需要各自的网络地址,那么网络地址够不够分,怎么办?
(无分类IP地址
无分类IP地址=网络前缀+主机号
一个IP地址后加/,/后面加上网络前缀所占位数。
192.168.17.43/20)
内网和外网区分

VPN和NET技术
外网不可以通过因特网访问内网
哪些可以作为内网使用
10
172.16
192.168
使用内网IP的网络叫专用网

同一个公司的两个不同内网怎么通过因特网通信
网络地址转换———NET
通过路由器进行私网IP和公网IP转换,然后进行数据加密从因特网传输。
将原来的源私有IP地址转换为公网IP,以这个公网IP作为源IP地址发送数据。
多个主机怎么使用同一个公网IP
IP:端口号
内网通信不需要因特网

IP首部
IPv4或者IPv6
哪个字段标识

为什么要分片

因为帧的MTU=1500字节
数据链路层处理完可以根据帧首的协议字段将数据包发给网络层的哪个协议。
网络层处理完数据包后发给TCP还是UDP协议处理呢。
IP首部TTL之后有一个协议字段

ICMP
ICMP可以单独发送数据吗
ICMP报文分哪两种
询问报文又分哪两种
ICMP协议属于哪个层

如果一个数据包在发送的过程中丢失了,会发生什么
1、在过程中
2、当接收端在规定时间内接受不到一个数据包的全部分片时,就会……
相同点:都要向发送端发送一个报文,提示数据包没有被正常接收。

ping
直接跳过TCP层
利用ICMP报文的回送请求(8)和回送回答(13)报文测试两台主机之间网络的连通性。
ping没有通过运输层
我们在应用层输入ping命令,回车,操作系统直接启动哪一层协议。
如果ping之后网络不通呢
四个字:请求超时

协议栈解析完成一个报文段之后,是在哪一层知道这个报文段要给哪个程序,给哪个程序由什么决定。
HTTP使用的端口号

TCP首部
每发送一个报文段都有一个表示报文段顺序的序列号和对上一个报文进行确认的确认号,这两个号在什么位置。
发送端发送一个报文段,都会要告诉对端,本端还可以接收多少字节的数据,这个用于告诉对端的数据叫什么,在哪里---用于做流量控制的字段。


UDP和TCP的区别


TCP怎么实现流量控制

滑动窗口=发送窗口+接收窗口

TCP怎么实现可靠传输
协议+确认号+序列号
TCP实现可靠传输使用哪个协议
停止-等待协议:
回退N帧协议:
选择重传协议:

序号值是多少
确认号是不是接收到的序列号+1
不是,那是什么

本端的发送窗口可以根据对端的接收窗口调整大小,对端表明可以接收多少,那本端就发送多少

什么是流量控制
发送端通过控制发送窗口大小控制对端发送数据的大小的过程
当接收端的窗口满了之后,告诉发送端停止发送数据。那么通过什么机制又可以再次发送数据?
发送端:计时器+零窗口探测报文

什么是拥塞控制
漏斗原理
拥塞窗口的本质是什么?
拥塞窗口是不是滑动窗口
拥塞窗口是不是发送窗口
网络出现拥塞的根据
拥塞窗口的大小是什么时候建立的
初始值为多少

数据包丢失就一定是网络拥塞吗?

TCP的拥塞控制
有哪些拥塞控制算法
5个

快速重传和快速回复算法解决了什么问题
描述整个拥塞控制的流程

拥塞窗口和一个变量,发送窗口和接收窗口是两个缓冲区。

swnd = min(cwnd, rwnd)

怎么设置UDP可靠传输———QUIC协议
TCP和UDP的网络编程流程
TCP和UDP可以绑定同一个端口号吗,为什么?
四元组

粘包的第三中解决方案--自定义消息结构=固定包头+数据


应用层
网络层通过协议字段知道把解析出来的报文发给运输层的哪个协议处理,那么运输层又怎么知道吧解析出来的数据交给哪个应用层的进程处理呢。
dkh

网址(URL)最基本的三个部分
URL和URI的区别
DNS域名解析过程
1、hosts文件
2、DNS解析器缓存
3、DNS协议+UDP协议—>最近的DNS服务器
4、根域NS服务器
从根域查询就需要解析域名,从不同级别域名的DNS服务器往下查询,指定查找到目的域名IP地址。

域名在因特网中以什么数据结构存储
DNS属于那一层协议

一台计算机进入一个网络之后,它是怎么配置自己的默认网关,私有IP地址,子网掩码,DNS服务器的?
计算机的DHCP协议想本网络的DHCP服务器发送信息配置请求报文

再说几个应用层的协议:
FTP

HTTP
HTTP属于哪一层协议

http方法
http头部字段 
connection什么作用
close,keep-alive
http状态码
post和get

cookie和session
cookie和session的本质是什么
cookie是谁给谁做的标记
当客户端再次访问服务器时,怎么带上自己的cookie值
有cookie为什么还要session。
cookie只是一个变量,无法存储大量信息,而session是一个数据结构,可以存储用户更多信息,通过cookie ID值找到session数据就可以获取用户很多数据。
cookie和session都有生存时间

http头部字段中控制缓存的字段
客户端获取服务端的数据会暂时缓存在自己的磁盘中
http头部字段中控制缓存的字段服务端,客户端都有,服务端表示客户端可以缓存,而客户端的这个字段表示自己要不要直接使用缓存的数据。cache-control:max-age=0表示不使用缓存
前进后退才使用缓存

HTTPS
HTTPS=HTTP+TLS
HTTPS和http的区别

http有哪些版本,什么区别?

中间人(此网站的安全证书存在问题)和抓包工具的原理

TLS握手过程

socket
套接字接收缓冲区和发送缓冲区属于套接字属性,可以用getsocketopt和setsocketopt进行设置。

查看TCP报文的命令
查看网卡的命令
本地环回网卡

netstat
netstat -a
netstat -p 
netstat -n
查看指定端口进程
netstat -anp | grip 端口号
这个命令也可以查看当前连接的状态
服务端可以发起关闭连接请求吗
setsocketopt设置端口重用解决TIME_WAIT问题。

客户端进程挂了会发生什么
FIN+RST
客户端机器挂了会发生什么

服务端进程挂了会发生什么
FIN+RST
服务端机器挂了会发生什么
超时重传多次结束连接
保活计时器

粘包和半包问题以及解决方案
粘包——多个数据的字节流粘合发送,没有指定消息边界,无法正确解析一个消息;
半包——一个数据分为多个包发送,没有指定消息边界,无法正确解析一个消息;
定义
原因  3
解决方案 3
加分割符同透明传输

多路IO复用
为什么需要多路IO复用
select,poll,epoll原理
什么区别
1、拷贝
2、数量
3、监测方式

服务端的连接数上限由什么决定

TCP的应用层到底什么功能?
应用层是工作在用户态的,我们的电脑和手机的软件就是应用层的功能软件,直接和用户进行交互的一层。
说几个应用的协议:

UDP实现可靠传输是在哪一层实现的?
说一说键入网址到显示网页的整个过程发生了什么?
发送端:
生成HTTP请求消息
DNS解析
启动协议栈
TCP三次握手建立连接
生成报文段
生成数据包
数据链路层三步作用
网卡信号转换发送

接收端:
网卡中断通知操作系统解析包
层层解析
将解析出来的http数据放入接收缓冲区,通过端口号通知对应的http进程处理这个http请求
获取文件生成http响应报文
再次发送数据包

发送端解析响应数据包,渲染页面
发送端发起连接断开请求,TCP四次挥手

网卡通知操作系统解析包的过程:
网卡接收到数据包,将数据包放入自己的缓存中,产生一个中断通知操作系统,操作系统收到这个中断之后会然CPU记录当前进程的上下文到这个进程的PCB中,然后CPU更具这个中断号在中断表中找到对应的中断处理程序,中断处理程序会去读取网卡缓存中的数据包,然后让协议栈层层解析,最后将解析出来的HTTP数据放入接收缓冲区,通过端口号通知对应的HTTP进程处理。

TCP从发送缓冲区获取的是什么数据———http消息
传输层一定会拆分http数据吗,数据超过了多少才会拆分———mss一个报文段数据部分的大小。
TCP窗口大小字段实际标识的是什么的大小,用来做什么?
arp一定会发送请求吗———arp缓存
交换机使用IP地址发送数据包还是使用MAC地址发送数据———arp协议利用默认网关的IP地址,向默认网关请求默认网关的MAC地址,交换机高速缓存表中记录的是MAC地址和对应的出口,而不是目的IP和对应出口,如果高速缓存表有记录MAC地址和这个地址对应的出口,那么就直接将数据发送给这个出口,如果没有这个MAC地址的记录,就把这个数据发送给除了数据包进入的接口的其他接口。
如果数据包没有指定目的MAC地址,也会发送给除了数据包进入接口的其他接口,比如arp请求。
交换机和路由器的区别:
作用;
路由器有自己的MAC和IP地址,因为它要进行数据包的转发。

linux系统查看系统IP,系统网卡,系统路由?

get和post的安全性和可缓存性

http的缓存
http请求的数据缓存在哪———浏览器的缓存
缓存的两种类型,区别和实现过程。
强制缓存实现过程
协商缓存实现过程:
第一次请求服务器会为这份数据设置缓存时间,第二次请求时带上缓存时间,服务器会根据缓存时间决定发送回新数据还是304重定位让客户端直接使用本地缓存。

缓存时间是哪一端规定的
http有哪些版本
各个版本的区别
是TLS还是TSL
http的缺点
1、什么是无状态,无状态的好处和坏处
2、明文传输
3、不安全
4、不能保持长链接
http1.0和http1.1的区别,也就是1.1在1.0上做了什么改变?
http1.1的队头阻塞问题?

解决了请求的对头阻塞,但是存在响应的对头阻塞。
http和https的四个区别:
一来就先说无状态不能保持长链接
然后再说其他两个
简单描述TLS握手过程
你知道抓包工具为什么可以看到明文吗,简单说一下———从安装抓包工具到回去明文
访问一些网站时提示危险,是否要继续访问,如果继续访问会发生什么?
说几个http1.1的缺点
队头阻塞会导致什么
服务器只能响应不发送
消息头不压缩就发送———重复消息头会重复发送
http2.0怎么解决1.1的问题:
并发传输解决响应的队头阻塞。

但是又存在接收的数据在接收缓冲区的对头阻塞。
使用压缩算法压缩消息头,提高发送速度;
服务器使用http2.0可以发送数据了;
http2丢包为什么会产生
http3.0不使用TCP,而是使用QUIC和UDP传输数据

连接断开的问题:
如果建立连接的通信双方长时间没有通信,会发生什么?———小林http

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/64469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flutter plugins插件【二】【FlutterAssetsGenerator】

2、FlutterAssetsGenerator 介绍地址:https://juejin.cn/post/6898542896274735117 配置assets目录 ​ 插件会从pubspec.yaml文件下读取assets目录,因此要使用本插件,你需要在pubspec.yaml下配置资源目录 flutter:# The following line ens…

YOLOV8模型使用-检测-物体追踪

这个最新的物体检测模型,很厉害的样子,还有物体追踪的功能。 有官方的Python代码,直接上手试试就好,至于理论,有想研究在看论文了╮(╯_╰)╭ 简单介绍 YOLOv8 中可用的模型 YOLOv8 模型的每个类别中有五个模型用于检…

Bert和LSTM:情绪分类中的表现

一、说明 这篇文章的目的是评估和比较 2 种深度学习算法(BERT 和 LSTM)在情感分析中进行二元分类的性能。评估将侧重于两个关键指标:准确性(衡量整体分类性能)和训练时间(评估每种算法的效率)。…

Mac不想用iTerm2了怎么办

这东西真是让人又爱又恨,爱的是它的UI还真不错,恨的是它把我的环境给破坏啦!让我每次启动终端之后都要重新source激活我的python环境,而且虚拟环境前面没有括号啦!这怎么能忍!在UI和实用性面前我断然选择实…

React笔记(三)类组件(1)

一、组件的概念 使用组件方式进行编程,可以提高开发效率,提高组件的复用性、提高代码的可维护性和可扩展性 React定义组件的方式有两种 类组件:React16.8版本之前几乎React使用都是类组件 函数组件:React16.8之后,函数式组件使…

ebay测评,物理环境与IP环境:解决平台风控问题的关键

近期eBay平台出现了大量风控问题,导致许多买家账号受到影响。实际上,这主要是由于环境搭建方面存在主要问题。时至2023年,许多人的技术方案仍停留在几年前,要么使用一键新机工具配合国外IP,要么使用指纹浏览器配合国外…

C语言暑假刷题冲刺篇——day6

目录 一、选择题 二、编程题 🎈个人主页:库库的里昂🎐CSDN新晋作者🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练✨相关专栏:代码小游戏、C语言初阶、C语言进阶🤝希望作者的…

Kotlin inline、noinline、crossinline 深入解析

主要内容: inline 高价函数的原理分析Non-local returns noinlinecrossinline inline 如果有C语言基础的,inline 修饰一个函数表示该函数是一个内联函数。编译时,编译器会将内联函数的函数体拷贝到调用的地方。我们先看下在一个普通的 kot…

shell脚本学习-1

文章目录 一、定义变量二、使用变量三、将命令的结果赋值给变量四、变量操作 在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。 这意味着,Bash shell 在默认情况下不会区…

mac idea启动没反应 无法启动

遇到的问题如下: 启动idea,没反应 无法启动,不论破解还是别的原因,总之无法启动了 应用程序–找到idea–右击显示包内容–Contents–MacOS–打开idea 弹出框提示如下: 双击这个idea可执行文件 1)先查看日志…

Mac安装brew、mysql、redis

mac安装brew mac安装brewmac安装mysql并配置开机启动mac安装redis并配置开机启动 mac安装brew 第一步:执行. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"第二步:输入开机密码 第三…

ElementUI浅尝辄止14:Carousel 走马灯

在有限空间内,循环播放同一类型的图片、文字等内容 1.如何使用? 结合使用el-carousel和el-carousel-item标签就得到了一个走马灯。幻灯片的内容是任意的,需要放在el-carousel-item标签中。默认情况下,在鼠标 hover 时底部的指示器…

正规黄金代理的三大要素

对于现货黄金投资来说,寻找一个正规的黄金代理是十分重要的问题。在目前的现货黄金投资市场中,现货黄金代理的数量很多,他们都致力于耕耘现货黄金投资市场。当越来越多的专业人士加入到现货黄金投资的市场中当中时,这个市场将会越…

mybatis源码学习-2-项目结构

写在前面,这里会有很多借鉴的内容,有以下三个原因 本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误…

ZMTP协议

ZoreMQ Transport Protocol是一个传输层协议,用于ZMQ的连接的信息交互,本文档描述的是3.0协议,主要分析基于NULL Security Mechanism 协议语法 ZMTP由三部分组成,分别是 greeting、handshake、traffic 部分描述构成greeting描述…

从零开始,探索C语言中的字符串

字符串 1. 前言2. 预备知识2.1 字符2.2 字符数组 3. 什么是字符串4. \04.1 \0是什么4.2 \0的作用4.2.1 打印字符串4.2.2 求字符串长度 1. 前言 大家好,我是努力学习游泳的鱼。你已经学会了如何使用变量和常量,也知道了字符的概念。但是你可能还不了解由…

BuhoCleaner for mac:让你的Mac重获新生

你是否曾经因为电脑运行缓慢而感到困扰?是否曾经因为大量的垃圾文件和无效的临时文件而感到头疼?如果你有这样的烦恼,那么BuhoCleaner for mac就是你的救星! BuhoCleaner for mac是一款专门为Mac用户设计的系统清理工具&#xff…

Linux中Tomcat发布war包后无法正常访问非静态资源

事故现象 在CentOS8中安装完WEB环境,首次部署WEB项目DEMO案例,发现可以静态的网页内容, 但是无法向后台发送异步请求,全部出现404问题,导致数据库数据无法渲染到界面上。 原因分析 CentOS请求中提示用来获取资源的连…

跨模态可信感知

文章目录 跨模态可信感知综述摘要引言跨协议通信模式PCP网络架构 跨模态可信感知跨模态可信感知的概念跨模态可信感知的热点研究场景目前存在的挑战可能改进的方案 参考文献 跨模态可信感知综述 摘要 随着人工智能相关理论和技术的崛起,通信和感知领域的研究引入了…

URL重定向漏洞

URL重定向漏洞 1. URL重定向1.1. 漏洞位置 2. URL重定向基础演示2.1. 查找漏洞2.1.1. 测试漏洞2.1.2. 加载完情况2.1.3. 验证漏洞2.1.4. 成功验证 2.2. 代码修改2.2.1. 用户端代码修改2.2.2. 攻击端代码修改 2.3. 利用思路2.3.1. 用户端2.3.1.1. 验证跳转 2.3.2. 攻击端2.3.2.1…