zoukankan      html  css  js  c++  java
  • 面试鹅厂游戏部差点因为网络被干掉,爆肝为你梳理明白

    关注公众号:Java架构师联盟,每日更新技术好文

    部分资料已经上传到我的git仓库中:有需要的可以下载

    计算机网络,作为我们从进入大学之后必修的四门专业课之一的技术,相信绝大多数同学应该跟我一样,压线飘过吧,因为后期的工作中用到的真的不是特别多,所以长时间没有在涉及过,但是,今年,大学舍友A换工作的时候,把面试的过程和问题跟我说了一下,我听完,这**什么玩意啊,(ps:他面试的是鹅厂和菊花厂),在大学舍友群中和他们进行交流之后,我发现,面试问网络不仅仅是因为A面试的公司对于网络的要求相对较高一些,更是因为现在互联网编程的兴起,以及互联网流量的爆发性增长,所以在生产过程中要对这些问题进行考虑,导致的结果就是在面试的过程中对于网络的考核比重也会随之提升。

    那我们来看一下,我们在面试的过程中被常问到的技术点都有哪些?

    对于这些知识点,我整理形成一张知识导图,不一定全,但是应付基础的面试应该问题不大,毕竟我在网络这一方面也不是很精通

    内容涵盖

    详细图解

    那对于网络,都需要学习哪些知识呢?其实,网络自己本身的架构特性已经讲我们要学习的相关内容是哪些,我相信哪怕你不用网络应该也听说过网络的七层/四层协议吧,忘了?没关系,我带你回顾一下

    OSI 参考模型

    OSI 从上到下分为 7 层:

    应用层:应用层协议定义的是应用进程间的通信和交互的规则,不同的网络应用需要不同的应用层协议

    表示层:把数据转换为能与接收者的系统格式兼容并适合传输的格式

    会话层:在数据传输中设置和维护电脑网络中两台电脑之间的通信连接

    传输层:向两台主机进程之间的通信提供通用的数据传输服务

    网络层:基于网络层地址(IP地址)进行不同网络系统间的路径选择

    数据链路层:在不可靠的物理介质上提供可靠的传输

    物理层:在局域网上透明地传送比特,尽可能屏蔽掉具体传输介质和物理设备的差异

    TCP/IP 参考模型

    从上到下分为 4 层,对应于 OSI 中的 5 层:

    应用层:对应于 OSI 参考模型的应用层,为用户提供所需要的各种服务。定义的是应用进程间的通信和交互的规则,不同的网络应用需要不同的应用层协议。协议包括 SMTP、HTTP、FTP 等

    传输层:对应于 OSI 参考模型的传输层,为应用层实体提供端到端的、通用的通信功能,保证了数据包的顺序传送及数据的完整性。“通用的”是指不同的应用可以使用同一个运输层服务。协议包括 TCP、UDP 等

    网络层(或网际互联层):对应于 OSI 参考模型的网络层,主要解决主机到主机的路由问题。协议包括 IP、ICMP 等

    网络接入层:对应于 OSI 参考模型的物理层和数据链路层,负责相邻的物理节点间的可靠数据传输。协议包括 ARP、IEEE 802.2 等

    那些两种不同的网络架构协议有什么异同点?

    1. OSI 是一个在协议开发前设计的、有清晰概念的模型;TCP/IP 是先有协议集然后建立的、事实上得到广泛应用的弱模型,功能描述和实现细节混在一起
    2. OSI 的网络层既提供面向连接的服务,又提供无连接的服务;TCP/IP 的网络层只提供无连接的网络服务
    3. OSI 的传输层只提供面向连接的服务;TCP/IP 的传输层即提供面向连接的服务 TCP,也提供无连接的服务 UDP

    MSL、TTL、RTT 是什么?

    MSL(Maximum segment lifetime):报文最大生存时间。它是任何 TCP 报文在网络上存在的最长时间,超过这个时间报文将被丢弃。实际应用中常用的设置是 30 秒,1 分钟和 2 分钟。

    • 应用场景:TCP 四次挥手时,需要在 TIME-WAIT 状态等待 2MSL 的时间,可以保证本次连接产生的所有报文段都从网络中消失。

    TTL(Time to live):IP 数据报在网络中可以存活的总跳数,称为“生存时间”,但并不是一个真正的时间。该域由源主机设置初始值,每经过一个路由器,跳数减 1,如果减至 0,则丢弃该数据包,同时发送 ICMP 报文通知源主机。取值范围 1-255,如果设置的 TTL 值小于传输过程中需要经过的路由器数量,则该数据包在传输中就会被丢弃。

    RTT(Round trip time):客户端到服务端往返所花时间。RTT 受网络传输拥塞的变化而变化,由 TCP 动态地估算


    但是,网络相关的内容真的是有点难受的,太多了,毕竟当年是最头疼的科目之一,这里也就不详细展开讲解了,给大家推荐两份学习资料

    路由与交换技术

    交换技术与路由技术是网络互连时的主要支撑技术,对于学生和网络专业从业人员来说,不仅要学习计算机网络方面的理论知识,更重要的是学习交换机、路由器等网络设备的.配置以及这些技术在网络中的实际应用。

    第1章。路由基础介绍。

    介绍有关路由协议的重要基础知识。介绍子网划分、VLSM、CIDR和路由汇总。对直连网络、静态路由和动态路由协议进行了概述。还回顾了路由表的查找过程。

    第2章。距离矢量路由协议。

    介绍距离矢量路由协议。讨论了协议所使用的算法,网络发现过程和路由表的维护。讨论了距离矢量路由协议RIPv1,RIPv2和RIPng,包括配置、验证和排错。

    第3章。EIGRP 路由协议。

    详细介绍Cisco公司专有的、高级距离矢量路由协议EIGRP。讨论了DUAL(扩散更新算法)并描述DUAL如何确定最佳路径和无环的备用路径。包括配置、验证和排错。对EIGRPv6协议进行了简介。

    第4章。OSPF路由协议。

    介绍链路状态路由协议的概念和工作原理。讨论使用链路状态路由协议的优点。描述链路状态路由协议OSPF,讨论单区域OSPF运行过程,包括链路状态更新、邻接、DR/BDR选择过程。包括配置、验证和排错。

    第5章。虚拟局域网。

    介绍VLAN的定义、类型和特点,还讨论了VLAN的配置、验证。

    第6章。虚拟局域网中继。

    介绍VLAN中继协议。描述了VTP协议的概念和结构。详细讨论了VLAN中继协议和VTP协议的配置、验证和排错。

    第7章。生成树协议。

    详细分析了IEEE802.1d生成树协议。如何选择根桥、根端口、指定端口、非指定端口,端口状态的转换。介绍了快速生成树协议、多生成树协议和Cisco生成树协议。

    第8章。单臂路由以及VLAN间路由。

    介绍路由重分布和VLAN间路由。描述VLAN间路由的3种方法,传统VLAN间路由、单臂路由和三层交换。


    而对于基础的一些概念,因为篇幅原因,这里就不一一展示了,

    需要这份优化思维导图以及上面的知识图的老铁,添加小助手:msbxq2020免费获取,同步的还有相关的视频讲解以及学习文档,还不快点行动

    关注公众号:Java架构师联盟,每日更新技术好文

    部分资料已经上传到我的git仓库中:有需要的可以下载

  • 相关阅读:
    LeetCode题解(14)--Longest Common Prefix
    LeetCode题解(12)--Integer to Roman
    LeetCode题解(13)--Roman to Integer
    LeetCode题解(9)--Palindrome Number
    LeetCode题解(8)--String to Integer (atoi)
    LeetCode题解(7)--Reverse Integer
    LeetCode题解(6)--ZigZag Conversion
    从并发和索引说说innodb和myisam的区别
    thrift基本概念和实例
    fastcgi+lighttpd+c语言 实现搜索输入提示
  • 原文地址:https://www.cnblogs.com/bwscode/p/13387902.html
Copyright © 2011-2022 走看看