ITPub博客

首页 > 数据库 > 数据库开发技术 > 过关斩将之路-网络基础篇

过关斩将之路-网络基础篇

原创 数据库开发技术 作者:IT枫斗者 时间:2023-02-03 20:33:44 0 删除 编辑

1问:请简单说一下你了解的端口及对应的服务?

1答:21:FTP、22:SSH、23:Telnet、53:DNS域名服务器、80:HTTP、443:HTTPS

2问:IP地址分为哪几类,请简单说下各个分类?

2答:

3问:请简单说下ARP协议的工作过程

3答:

  • 每个主机都会有自己的ARP缓存区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系

  • 当源主机要发送数据时,首先检测ARP列表中是否对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,内容:我是IP地址,mac地址,谁是目标IP地址,目标mac?

  • 当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和mac地址写入到ARP列表中,如果以存在,则覆盖,然后将自己的mac地址写入arp响应包中,告诉源主机自己是它想要找的mac地址

  • 源主机收到ARP响应包后,将目的主机的IP和mac地址写入arp列表,并利用此信息发送数据,如果源主机一直没有收到arp响应数据包,表示arp查询失败。


4问:OSI七层模型知道吗?

4答:

  • 应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用

  • 表示层(数据):主要解决拥护信息的语法表示问题,如加密解密

  • 会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的

  • 运输层(段):实现网络不同主机上用户进程之间的数据通信,可靠与不可靠的传输,传输层的错误检测,流量控制等

  • 网络层(包):提供逻辑地址(IP)、选路,数据从源端到目的端的传输

  • 数据链路层(帧):也称MAC层,将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正

  • 物理层(比特流):设备之间比特流的传输,物理接口,电气特性等


5问:URL和URI的区别是什么?

5答:

  • URI(Uniform Resource Identifier):统一资源标志符,主要作用是唯一标识一个资源。

  • URL(Uniform Resource Location):统一资源定位符,主要作用是提供资源的路径。


    有个经典的比喻是URI像是身份证,可以唯一标识一个人,而URL更像一个住址,可以通过URL找到这个人。


6问:有了IP地址,为什么还要用MAC地址?

6答:因为mac地址不具有定位功能,确切的说定位范围太小,只能在同网段被定位到,他能标志出唯一的一台物理机,但是想要找到他还需要ip来支持,一旦跨子网,就需要ip来进行通信找到具体子网,然后再根据mac定位到这个子网里的某台机器。

追问:为什么需要IP呢?直接MAC地址不就够了吗?

答:因为对于同一个子网上的设备,IP地址的前缀都是一样的,这样路由器通过IP地址的前缀就知道设备在在哪个子网上了,而只用MAC地址的话,路由器则需要记住每个MAC地址在哪个子网,这需要路由器有极大的存储空间,是无法实现的。

IP地址可以比作为门牌号,MAC地址为收件人的身份证,在一次通信过程中,两者是缺一不可的。

7问:什么是mac地址?

7答:MAC地址是数据链路层和物理层使用的地址是硬件地址,IP地址网络层和以上各层使用的地址,是一种逻辑地址。在发送数据时,数据从高层到低层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给了数据链路层,就被封装成了MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址。

8问:说一下ping的过程

8答:在主机 A 上运行 ping 192.168.1.10 后,

1. ping命令会构建一个ICMP协议的数据包,交到网络层的IP协议中。IP层协议将目的地址和源地址打包后,形成IP数据包。

2. 获取192.168.1.10的MAC地址,如果是跨网段的话那么从源IP网关获取所在网关mac然后又替换为目标IP所在网段网关的mac最后是目标IP的mac地址。

3. 交到数据链路层,添加一些控制信息,构建数据帧。

4. 交到物理层,通过以太网访问。

主机B收到后,

1. 检查目的MAC地址,不相符就丢弃。

2. 将IP数据包提取后送入网络层的IP层协议,IP层检查后将有用的信息提取后送入ICMP协议。

3. ICMP协议马上构建一个ICMP应答包以之前的相同方式发送给主机。

9问:集线器、交换机和路由器的区别?

9答:

  • 集线器:属于物理层,是个傻子,来请求后他会广播全部与他相连的主机,响应的时候也是广播全部。不带记忆功能。

  • 交换机:属于数据链路层,他能识别MAC地址并根据MAC地址转发数据帧,带学习功能。首次广播全部,广播完成后就知道大家的mac地址了,就自己学习到转发表(有过期时间的)里了。下次再来的时候就不用广播全部了。

  • 路由器:属于网络层,识别IP地址并根据IP地址转发数据包,维护数据表并基于数据表进行选择最佳路径。一般上外网都需要走路由器,多个路由器之间进行下一跳的方式寻找。

10问:DHCP动态分配IP原理是怎样的?

10答:当一台新机器加入到一个网络的时候,他被分配IP的过程如下:

  • 新机器会携带自己的MAC地址用IP地址 0.0.0.0 发送一个广播包,目的地址是255.255.255.255 ,广播包封装了UDP,UDP封装了BOOTP(DHCP是BOOTP的增强版)。

  • DHCP收到广播后,会给这个新机器分配一批IP地址(因为MAC地址是唯一的,所以DHCP知道你这个是新机器还是老机器)。

  • 新机器收到DHCP的回复后会选择其中一个IP地址(一般是选最先达到的那个),且会向网络发送一个DHCP Request广播数据包,包含MAC地址、分配的IP地址、DHCP服务器地址等。注意这时候回复DHCP还是用 0.0.0.0 进行回复的,因为在未收到DHCP Server的最后确认前,客户端不能用私自选择的IP进行广播。

  • DHCP收到回复后会将新机器未选中作为IP的那些地址撤销,以便提供给下一个新机器用 。且会给新机器一个ack消息包。

  • 这时候新机器就真正拥有了自己的IP地址,可以和同网段的其他机器进行通信。

  • 以上分配的IP是租的,不是永久的,所以新机器会在租期过去 50% 的时候直接向为其提供 IP 地址的 DHCP Server 发送 DHCP request 消息包。客户机接收到该服务器回应的 DHCP ACK 消息包,会根据包中所提供的新的租期以及其他已经更新的 TCP/IP 参数,更新自己的配置。这样,IP 租用更新就完成了。

  • 如果不租了,那么就会被DHCP回收。以便给其他机器使用。

11问:在跨网段调用中,是如何获取目标IP的mac地址的?

11答:全程通过arp协议来吼。

  • 从源IP网关获取所在网关mac

  • 然后又替换为目标IP所在网段网关的mac

  • 最后是目标IP的mac地址


12问:你了解 MAC 头和 IP 头的细节吗?

12答:

最近在更新过关斩将系列——java面试题,全力帮助小白突破面试大关,感兴趣可以关注公众号IT枫斗者追更!干货满满!

👉 如果本文对你有帮助的话,欢迎 点赞&在看&分享 ,这对我继续分享&创作优质文章非常重要。非常感谢!

原文作者:IT枫斗者;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
大家好,我是枫哥,🌟阿里云技术专家、📝资深面试官、🌹Java跳蚤网课堂创始人。技术交流vx:itfdz666,拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。看面试实战视频可以关注b站号:IT枫斗者–Java面试。需要看技术文章,可以关注CSDN:IT枫斗者。

注册时间:2020-05-13

  • 博文量
    183
  • 访问量
    81352