首页 > 其他分享 >【面试突击】计算级网络面试实战(上)

【面试突击】计算级网络面试实战(上)

时间:2024-01-28 11:02:10浏览次数:95  
标签:实战 IP 模型 网络层 面试 地址 突击 数据包 应用层

欢迎关注公众号【11来了】,及时收到 AI 前沿项目工具及新技术的推送!

在我后台回复 「资料」 可领取编程高频电子书

在我后台回复「面试」可领取硬核面试笔记


网络面试实战

为什么要学习网络相关知识?

对于好一些的公司,计算机基础的内容是肯定要面的,尤其是 30k 以内的工程师,因为目前处于的这个级别肯定是要去写项目的,还没上升到去设计架构的高度,因此不可避免地要和机器、网络、cpu、磁盘、内存打交道,就比如线上机器 cpu 负载 100% 了怎么办呢?内存使用率过高怎么办?

对于这些问题,必须依靠计算机基础才可以去解决,并且如果不了解这些,以后如果去带头做一个项目,在生产环境稍微碰到一些相关问题,根本也就不知道怎么去解决,所以对于计算机基础的内容一定要好好掌握!


计算级网络的模型

计算级网络的模型有 OSI 七层模型和 TCP/IP 四层模型,而 OSI 七层模型是先出现的理论模型,再进行实践,而 TCP/IP 是参考 OSI 七层模型,先有了协议和应用再提出了四层模型,目前 TCP/IP 四层模型被广泛使用就是因为 OSI 七层模型实践之前,TCP/IP 四层模型就已经广泛使用了,已经成为了流行的网络模型,当 OSI 七层模型的具体协议及应用出来的时候,市场已经被 TCP/IP 所霸占了


OSI 七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

TCP/IP 四层模型:应用层、传输层、网络层、链路层、物理层

我之前也写了一篇文章,详细写了每一层具体是做什么的,以及每一层的协议,TCP 和 UDP 等等:网络相关面试题

这里也简单写一下每一层到底是做什么的,了解一下有个大概的感觉即可:

  • 物理层:通过物理介质,光缆等介质传输 电路信号,二进制 0 和 1 在物理层被转换为电路信号进行传输
  • 数据链路层:通过物理层传输了电路信号,但是并不知道电路信号的含义,数据链路层 将电路信号翻译为 0 和 1,并且将电路信号分组,知道哪些 0 和哪些 1 是同一组的,网络交换机 工作在数据链路层,主要是 用在局域网的通信,在传输数据包时是通过 mac 地址进行接收的,如果一个电脑发个数据包出去,会广播给局域网内的所有机器设备的网卡,每台机器都从数据包中取出 mac 地址和自己的 mac 地址比较,如果一样,表示是给自己发送的数据包
  • 网络层:在数据链路层是 通过广播给局域网的机器来发送数据包的 ,那么如何区分局域网呢?就是通过网络层中 IP 协议的 IP 地址来区分的,也就是通过子网掩码来判断哪些 IP 属于同一个子网,路由器 工作在网络层,通过路由器就可以连入 英特网,也就是常说的“你的电脑可以上网了”,你如果要和另一个局域网上的电脑进行通信,那么就是通过路由器转发数据包的,先是通过交换机将数据转发送给路由器,路由器收到数据包之后,再次通过交换机将数据包发送给另一个局域网上的路由器,之后再转发给目标电脑
  • 传输层:在一台机器上是同时有多个进程使用一个网卡进行通信的,比如 QQ、微信,但是这些进程的端口号不同,网络层是基于 ip 协议进行主机间的寻址和通信的,那么传输从就是基于 端口号 来进行两个主机的端口之间的连接和通信,其中 udp 和 tcp 就是传输层的协议
  • 会话层:会话层用于建立连接、管理连接、发送和接收数据,在客户端和服务器建立会话之前,服务端会对客户端进行身份验证并且授权
  • 表示层:表示层从应用层接收数据,这些数据以字符和数字的形式出现,表示层 将这些字符和数据转成二进制,在传输数据之前,表示层将原始数据进行压缩,可以加快传输,并且保证完整性数据传输前的数据加密,在发送端,数据在表示层会被加密,在接收端,数据在表示层会进行解密操作
  • 应用层:应用层是 由网络应用程序使用的,是离用户最近的一层,应用层通过各种协议,为网络应用提供服务,常见协议如下:
  • FTP - 文件传输协议
  • HTTP/S - 超文本传输(安全)协议
  • SMTP - 邮件发送协议:用于与邮件服务器建立通信,并处理电子邮件的发送操作
  • POP3 - 邮件接收协议:用于与邮件服务器建立通信,并且从服务器中检索邮件
  • Telnet : 与虚拟段之间的通信协议


浏览器请求 www.baidu.com 的流程

首先,假设我们电脑配置如下:

  • ip 地址:192.168.30.30
  • 子网掩码:255.255.255.0
  • 网关地址:192.168.30.1
  • DNS 地址:8.8.8.8

当我们通过域名 www.baidu.com 进行访问时,首先会找到 DNS 服务器 解析域名得到对应的 ip 地址,这里假设为 172.194.17.109

之后判断本机 ip 与目的地址的 ip 是否处于同一子网,显然不在一个子网,一个 192 开头,另一个 172 开头(根据子网掩码判断),那么就将数据包发送给 网关

那么浏览器要访问一个网站,是基于应用层的 http 协议 的,并且要将浏览器发出的请求封装成应用层数据包,如下

【面试突击】计算级网络面试实战(上)_网络层

那么这个数据包就会由应用层向下传输,到表示层、会话层、传输层,到达 传输层 之后,传输层的 TCP 协议需要去 设置数据包的端口号,发送方的端口号随机算一个,接收方的端口号一般默认是 80

之后数据包由到了网络层,通过 IP 协议,将数据包进一步封装,添加上 IP 协议所需的本机 IP 地址和目的 IP 地址,之后判断如果两台机器不在同一个子网内的话,就将数据包先广播到网关中去,通过网关发送给目的地址

接下来到了数据链路层,将网络层的数据包进一步封装,并加上本机 mac 地址和网关的 mac 地址,这里封装好的就是 以太网数据包,大小限制为 1500 字节,如果超过网络层传输下来的数据包超过 1500 个字节,需要切分为多个数据包传输

之后你发送的请求就可以发送到目标电脑了


标签:实战,IP,模型,网络层,面试,地址,突击,数据包,应用层
From: https://blog.51cto.com/u_16186397/9452123

相关文章

  • 面试经典 150 题 (七)
    从右往左遍历classSolution{publicintmaxProfit(int[]prices){Map<Integer,Integer>priceMap=newHashMap<Integer,Integer>();IntegerleftMaxNum=null;for(inti=prices.length-1;i>=0;i--){......
  • c++实现一门计算机语言到手撸虚拟机实战200节
    1对于编程语言实现原理提供了实战。2学习之后对于JAVA,PHP,PY等语言的实现原理提供了经验平移参考3对JAVA等语言的虚拟机实现原理提供了实战参考。4加深对编程语言的驾驭和深度认知。5虚拟机是计算机系统中非常重要的组成部分,理解了虚拟机的原理和实现方式,从而更好地理解计算......
  • RC4加密技术探究:优缺点与实战应用
    引言在网络安全领域,加密技术一直是保障数据安全的重要手段。RivestCipher4(简称RC4)作为一种对称加密算法,自20世纪80年代以来广泛应用于各种网络安全协议中。本文将详细分析RC4加密算法的优缺点以及其在实际应用中解决的问题,并给出一个Java完整demo示例。RC4加密解密|一个......
  • 面试经典 150 题 (六)
    classSolution{publicvoidrotate(int[]nums,intk){if(k>nums.length){k=k%nums.length;}reverse(nums,nums.length-k,nums.length-1);reverse(nums,0,nums.length-k-1);reverse(......
  • ABP-VNext 用户权限管理系统实战03---动态api调用并传递token
    一、使用动态api的目的ABP可以自动创建C#API客户端代理来调用远程HTTP服务(RESTAPIS).通过这种方式,你不需要通过 HttpClient 或者其他低级的HTTP功能调用远程服务并获取数据.现在有两个服务:BackgroundJob服务要调用IdentityManagement服务,并在调用时传递token二、集成步......
  • [职场] 互联网行业的技术面试题以及解析
    互联网行业是这几年的热门行业,很多小伙伴都想要进入互联网行业,今天小编给大家分享一些渝新欧额关于互联网行业的技术面试题以及解析。1、什么是服务注册服务提供者在启动时,会向EurekaServer发送一次情求,将自己注册到Eureka注册中心中去。2、什么是服务续约在注册服务完成以后,服务提......
  • [职场] 跨境电商面试自我介绍
    跨境电商英文面试自我介绍1MynameisXXX.Imfrom02E1class,whichisane-commercemajor.Hereismybriefintroduction:IamagraduateofGuangdongForeignTradeSchoolandwillgraduatefromXXXXinJune.Icherishtheopportunitytostudyatschool......
  • [职场] 教师招考结构化面试题及答案
    教师招考结构化面试是选拔优秀教师的重要环节,通过对面试者的专业知识、教育教学能力、沟通协作能力等方面的考查,选拔出具备优秀潜质的教师。本文将针对教师招考结构化面试中的常见问题进行梳理,并提供参考答案,以帮助您更好地应对面试。一、专业知识类问题1.请简述我国教育的基本任......
  • 面试经典 150 题 (五)
    快排classSolution{publicintmajorityElement(int[]nums){QuickSort(nums,0,nums.length-1);returnnums[nums.length/2];}intpartition(int[]nums,intleft,intright){intl=left;intr=right;......
  • Unity面试题:热更新篇(一)
    请简要介绍Unity热更新的原理和实现方式。答:Unity热更新的原理是通过将游戏的资源和代码分离,将代码部分放置在服务器端,游戏启动时通过网络下载更新的代码并动态加载,以达到实现热更新的目的。实现方式包括AssetBundle、ILRuntime等。对啦!这里有个游戏开发交流小组里面聚集了一帮热......