网络编程面试题

一、什么是IP地址

1.IP地址是主机在网路中的唯一标识,,当主机从一个网络切换到另一个网络时,会更改IP地址,同样的IP地址也是路由器进行路由选择的标识

2.IP地址的分类

IPV4:采用4字节无符号整数存储

IPV6:采用16字节无符号整数存储

3.IP地址的划分

IP=网络号+主机号

网络号:确定计算机从属的网络,在同一个网络下的多个主机IP地址网络号都是一样的

主机号:标识设备在该网络重的主机编号

二、IP地址和MAC地址的区别

1.IP地址的设计是出于拓扑设计出来的,只要在不重复IP地址的情况下,它是可以随意更改的;而MAC地址是根据生产厂商烧录好的,它一般不能改动的

2.它们最明显的区别就是长度不同,IP地址的长度为32位,而MAC地址为48位

3.寻址协议层不同。IP地址应用于OSI模型的网络层,而MAC地址应用在OSI模型的数据链路层

三、什么是端口号

1.为了区分同一主机上的多个进程,使用端口号来进行处理

2.端口号是以一个2字节的无符号整数,取值范围[0,65535]

3.端口号分类:
指定端口号:常用的为

TCP 21:FTP文件传输服务

TCP 110:POP3邮局协议版本

TCP 80:HTTP超文本传输协议

UDP 53:DNS域名解析服务

UDP 69:TFTP文件传输服务

用户可用端口号:1024-49151

临时端口号(自动分配端口号):49152-65535

四、TCP通信过程中的服务器端实现流程

通信模型:

1.创建套接字

2.绑定端口号、IP

3.开启监听

4.接收客户端的连接

5.与客户端进行数据传输

6.关闭套接字

五、TCP通信和UDP通信的区别

TCP:稳定

1.提供面向连接,可靠的数据传输传输服务

2.传输过程中,数据无误、数据无丢失、数据无失序、数据无重复

3.TCP会给每个数据包编上编号,称为序列号

4.数据传输效率低,消耗资源多

5.数据收发不同步

        为了提高效率,TCP会将多个较小,并且发送间隔短的数据包,粘成一个包发送,成为粘包现象

6.TCP适用场景:对传输质量比较高以及传输量大量数据的通信,在需要可靠通信的传输场合

UDP:快速

1.面向无连接的,不保证数据可靠,尽最大努力传输的协议

2.数据传输过程中,可能出现数据丢失、重复、失序现象

3.数据传输效率高、实时性高

4.限制每次传输的大小,多出部分直接删除

5.收发同步,不会出现粘包

6.UDP适用场景:发送小尺寸,在接收数据给出应答比较困难的情况下

六、TCP通信中的3次握手

1.客户端像服务器端发送连接请求

2.服务器端应答客户端的连接请求

3.客户端与服务器建立连接

七、TCP通信中的4次挥手

挥手请求可以是客户端发起,可以是服务器端发起

假设是客户端发起:

1.客户端发起断开请求

2.服务器端应答断开请求

3.服务器端请求关闭连接

4.客户端发送确认应答

八、UDP通信中是否可用connect函数

1.UDP通信可以使用connect函数,他将服务器与某个客户端建立一个唯一的通道

2.优点:传输效率高,稳定性高,数据干扰较小

3.当服务器端用connect与某个客户端连接后,服务器端就不能再接收其他客户端的消息

4.如果要断开,就再使用一个connect函数,但是需要将地址信息结构体中的sin_addr改成AF_UNSPEC

5.在UDP中可以多次使用connect与其他客户端建立连接,但是在TCP中只能进行一次连接

6.当UDP用connect与某一客户端建立连接后,使用read/write、send/recv函数完成通信

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

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

相关文章

【JVM】垃圾收集算法,垃圾收集器,调优,如何判断类是无用的类?对象一定分配在堆中吗?了解逃逸分析技术吗?

目录 垃圾收集算法 标记-清除 标记-复制 标记-整理 分代收集算法 垃圾收集器 CMS收集器 G1 收集器 Serial收集器 ParNew收集器 Parallel Scavenge 收集器 Serial Old 收集器 Parallel Old 收集器 引用类型总结 调优 调优命令 调优工具 调优参数 如何判断类是…

PPT好看配色

放几个链接!画图时候可以参考!转自知乎 Color Hunt ColorDrop 中国色 Flat UI Colors Coolors

Stable Diffusion之核心网络结构解析

Stable Diffusion核心网络结构解析 1. SD模型整体架构初识 1. SD模型整体架构初识 Stable Diffusion模型整体上是一个End-to-End模型,主要由以下三个核心组件构成。 VAE(变分自编码器,Variational Auto-Encoder),U-N…

Redis设计原理简介

键值存储模型: Redis是一个基于内存的键值对存储系统,它支持五种基本数据结构(字符串String、哈希Hash、列表List、集合Set、有序集合Sorted Set)以及几种高级数据结构如Bitmaps、HyperLogLogs等。 单线程架构: Redis采…

VMware部署银河麒麟遇到的问题记录

1. 解决VMware Workstation安装VMware Tools显示灰色的办法 1.关闭虚拟机; 2.在虚拟机设置分别设置CD/DVD、CD/DVD2和软盘为自动检测三个步骤; 3.再重启虚拟机,灰色字即点亮。 2.Linux安装vmTool

【兆易创新GD32H759I-EVAL开发板】Keil 工程警告 Multiply defined Global Symbol 原因排查

在测试【兆易创新GD32H759I-EVAL开发板】过程中 遇到许多小坎坷 今天遇到的是 .\Objects\Project.axf: Warning: L6439W: Multiply defined Global Symbol OS_Tick_Enable defined in .text.OS_Tick_Enable(os_systick_1.o) rejected in favor of Symbol defined in .text.O…

最尴尬的论文!ChatGPT 抄来的忘记删掉提示词,211高校教授发表在一区SCI期刊

张同学,你的ChatGPT指令提示词忘记删除了?!!!! 近期,一篇题目为“The three-dimensional porous mesh structure of Cu-based metal-organic-framework - aramid cellulose separator enhances …

面试算法-68-将有序数组转换为二叉搜索树

题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也将被视…

【计算机】——51单片机

单片机是一种内部包含CPU、存储器和输入/输出接口等电路的集成电路(IC芯片) 单片机是单片微型计算机(Single Chip Microcomputer)的简称,用于控制领域,所以又称为微型控制器(Microcontroller U…

TikTok小店运营经验分享,美国本土小店怎么做?

作为资深跨境老玩家,虽不说是经验丰富,至少也是摸清了基本的玩法思路。TikTok作为近来的跨境新蓝海,他的玩法其实并不难,作为第一批试错玩家,今天也诚心给大家分享一些美国本土小店运营经验,感兴趣的话就看…

Linux系统Docker安装Drupal并配置数据库实现公网远程访问本地站点

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习…

网速监控,实时网络速度监控

带宽与网速 现在,对高带宽的需求空前高涨,而且网络(包括标准的内部部署)以及公共、私有和混合环境都变得更加复杂。 虽然带宽和网速经常互换使用,但它们并不总是相同的。网速更多的是与延迟有关,而不是与…

ai制图常用的软件有哪些?这5款ai生图工具值得推荐!

过去提起制图,它是一项具备高度专业化的创作活动,需要由熟练掌握制图技能的人完成,且制图通常包含的步骤繁多,很容易劝退想学习或者入门制图的新手,但随着 ai 人工智能技术在各个领域的落地,我们有机会用上…

MYSQL索引、事务、存储引擎(一)

目录 一、索引 1、索引的概念 2、索引的作用 3、索引的副作用 4、创建索引的原则依据 二、索引的分类 1、普通索引 1.直接创建索引 2.修改方式创建索引 3.创建表的时候指定索引 2、唯一索引 1.直接创建唯一索引 2.修改表方式创建索引 3.创建表的时候指定索引 3、…

以题为例浅谈双指针算法

什么是双指针算法 双指针是指在遍历元素时,不是使用单个指针进行遍历而是使用两个指针进行访问,从而达到相应目的;注意这个指针不是c语言中那个指向地址的指针; 双指针分类 双指针分为对撞指针和快慢指针; 对撞指针…

JetBrains全家桶激活,分享 IntelliJ IDEA 2024 激活的方案

大家好,欢迎来到金榜探云手! IDEA 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具被…

Vulnhub靶机:Kioptrix_2014

一、介绍 运行环境:Virtualbox和vmware 攻击机:kali(192.168.56.101) 靶机:Kioptrix: 2014(192.168.56.108) 目标:获取靶机root权限和flag 靶机下载地址:https://ww…

mac硬盘拷贝到另外硬盘 苹果电脑怎么拷贝到移动硬盘

在当今的信息时代,数据的存储和传输是我们日常生活和工作中不可或缺的一部分。我们经常需要使用各种硬盘来保存和备份我们的数据,比如内置硬盘、移动硬盘、U盘等。但是,不同的硬盘可能使用不同的文件系统,这给我们的数据拷贝带来了…

【SpringSecurity】十七、OAuth2授权服务器 + 资源服务器Demo

文章目录 0、库表准备1、项目结构2、基于数据库的认证3、授权服务器配置4、授权服务器效果测试5、资源服务器配置6、其他授权模式测试6.1 密码模式6.2 简化模式6.3 客户端模式6.4 refresh_token模式 相关📕:【Spring Security Oauth2 配置理论部分】 0、…

《InfMAE: A Foundation Model in Infrared Modality》CVPR2024

基础模型vs大模型:大模型,也称基础模型,是指具有大规模参数和复杂计算结构的机器学习模型 以后的研究中必须把大模型和基础模型耦合进来 总结:占坑 1. AB 多光谱的基础模型 红外的基础模型 可见光的基础模型 整体架构差不多…