00:01
大家好,欢迎大家继续收看上硅谷的Linux视频。我是沈强老师,那这节课呢,我们就开始来录制网络基础类的面试题,我们先录制第一道题。那。这类题呢,哎,它都是相对比较简单的题,让你复述原理和概念的题,硬概念。那简述is SOS塞七层模型的分层与作用,哎,那这样的题我们说啊,它其实就是面试题当中最简单的这种题了,几乎就是最简单了,那呃,你背下来就会,背不下来就不会,那我们说如果出现这种题,大家如果丢分这个东西就有点儿,有时候就会觉得这个什么得不偿失,然后呢,面试你的人也会觉得你连这个最基本的东西都不知道,你说你还会什么更牛逼的什么集群啊,云计算技术,我根本都不信,所以啊,各位像这种硬性概念题,网络基础类当中问的是特别多的,包括网络服务类的,这里面其实也很多。
01:07
大家其实可能都是要花点心思把它背一下的,那这都是非常简,这个简单的题啊,典型的题。那他主要考察的知识点呢,其实我说他就是一个基础知识类的考察,所以呢难度很低,难度不高,如果大家在面试中碰到这样的题,你应该偷偷乐,再一个呢,应该把这个东西,确实应该把它背下来啊。那这里我们来看ISOOSI模型,那首先各位俩单词,ISO国际标准化组织。Osi开放系统互联啊,这两个名字大家背下来。其次呢,我们说他这里的这种面试题啊。他只是在问你这个每一层的作用,而不是像我们在上学的时候,我们在上课的时候,录视频的时候,为了要跟你说明白这是什么,我们还要讲很多注意事项。
02:02
还要给他举很多例子来帮,帮助你来理解这样的东西到底是什么,我们说没有啊,笔试题不需要这样,他就是实打实的干货,就问这是什么?背下来就会,背不下来就不会,就这么简单那。我们从上到下层开始,依次来说一下这七层的作用,那应用层就是给用户提供的一个操作界面。那对于我们的Windows来讲。你打开Windows之后,这个图形界面其实就是Windows的应用层。那如果对Linux来讲,我们Linux的那个命令行,打开之后的那个命令行界面,其实就是用户提供这个系统提提供给我们的这样一个操作界面,那个东西就是一个应用层那。这就是应用层的作用,然后呢。表示层主要来做这样三个事,第一句话叫数据的表示什么意思啊?很简单,我们计算机只能识别零一零一二进制。
03:04
而我们在命令行里输的是ABCDLS对吧?或者呢,我们通过图形界面点击的是鼠标啊,我们是通过鼠标点击来完成的。那这些东西计算机是不能直接识别了,它需要你把它翻译成二进制。然后把执行结果要反翻译成abcd,那这个是由表示层完成的,那我们比如说图片,把这个声音啊,图像啊翻译成二进制,全部都是由表示层完成。其次。我们的表示层还会进行加密和压缩啊,如果你要对你的数据进行加密压缩啊,不是说所有的数据都需要,但是如果你需要加密压缩,那它也是在表示层完成的,OK,各位。这个压缩这个东西很好理解。不论是我们Windows当中的这个压缩包,还是我们linus常常见的点点之Z。
04:02
点点JZ压缩格式对吧,还有点点b z two对吧?这种格式还有其他的一些压缩格式,它都是为了压缩,它的目的呢,是把大数据干嘛打包变成一个一个文件夹,其次呢,把它压缩的更小,便于保存,那加密这个事儿我们在课堂中其实也讲过啊,它分了对称加密和非对称加密,我们现在在专业工程这个工作中,我们用的一般都是非对称要素的加密。比如说我们的SSH远程协议,远程连接,它其实就是非对称钥匙加密演变而来的,对吧?那在表示层我们主要是这样三个事儿。接下来会画成。呃,绘画层它是需要确定的是你是否需要进行网络传递,如果是我们往上看啊。催化层的作用是确定他是不是要进行网络传递,如果是需要传递的,比如说你发的是网络访问啊,什么邮件呀,呃,网网件啊,他就会把数据交替给传输走,后面就开始进行这个网络传传递了。
05:06
那如果你只是一个本地的保存,比如说你保存的是word文档,那会画层就会把它保存在word文档里,那由会话层来进行分流,到底是要进行网络传递还是本地保存,由他来决定。那。我们肯定这里是要进行网络传送的吧,对吧,要不然后面这四层就没作用了,对吧。所以传输层。传输层相对来说就是我们这个功能最多的层。我这里列了四个常见的作用,其实我说传输层还有功能。在这四个功能之外,还有功能,还有比如说像什么滑动窗口,包括流控这样的一些东西,那我们说其实我们最主要的功能就是这四个,我们知道这四个一般来说问题不大。那它的功能第一个进行数据的分组或组装。
06:03
在发的时候把它分组。收的时候组装啥意思啊?嗯。回来看这个界面啊,我们可以看到,诶,你从上面发下来的数据,它的大小是不一定的,对吧,那到了传输层之后,他要做的工作是把它按照我们的规定把它拆开。我们都听说过一个概念,叫做数据包。对吧,那我们说。不是所有的内容都可以叫做数据包的。数据包是有严格的大小规定的,那我们呢,在我们的IPV4协议当中,我们现在目前依然还是IPV4协议啊,我们IPV4协议规定的当中,我们的TC pippv4协议当中规定我们数据包的大小不能超过二的十六次方,也就是65535个字节。我的数据包最大只能这么大。那你可以想象我们在应用层发过来的数据刚好就那么大吗?不可能,那怎么办?到了传输层把它干嘛拆开?
07:07
诶,每一个拆开了都会小于这个数据包,小于这个这个极限大小,这是发的时候,那收的时候呢,那是不是就是把这一个一个数据包干嘛,再按照顺序把它给再组装起来。那这是不是就是传输层的第一个功能,叫做拆分与组装?发送的时候是拆分,接收的时候是组装啊,这是传输层的。第一个功能。第二个功能,传输协议的选择。各位。在传输层,我们回来啊,还是回来。我们必须要选一个发送的方法。你可以理解,我要在这里打入一个包头。这个包头只有两个可选,一个TCP。传输控制协议。另外一个UGP用户数据报行。
08:01
我只有这两个能选,而且必须要选一个,不能说不选。你可以这样理解,相当于什么?你的数据给了传输层,相当于你去去了邮局。这个邮局你需要这个,把这个包裹发出去,你要去邮局发。那邮局会给你俩信封,一个是平邮的。便宜点,但是慢一个是快递它更快,但是呢,有可能不一定安全,诶我们实际生活中快递是很安全的,但是在我们这儿TCP慢一点,但是它可靠,UGP快一点,但是它有可能丢。哎,那你挑一个吧。你必须挑一个信封,不挑你这个信就没法记,所以呢,我们传输层第二个功能就是传输协议的选择,二选一挑一个,那区别在于TCP是这样啊。CP。A给B发,他会问你在吗?我在呀,我要给你发信了,问三次,所以我们叫三次握手,那在下一个面试题当中,我们也会详细来解释这个三次握手的过程。
09:09
好,这个也是面试当中一个经典面试题,接下来再发送,所以它更可靠。数据丢的可能性小。而UGP呢,是A和B发,管你在不在,我直接就发出去。接着了,算你狗屎运接不着,活该他是这样的,那我们说啊。TCP更像什么?更像是打电话?而UGP呢,更像是发短信,哎,你打电话。电话响了,你是不是先得问?你是谁?然后他得问你是谁啊,然后你要说你是谁,互相是才能沟通,对吧,你不能说电花铃一响,你接起来之后,你不分青红皂白,不论谁给你打的,你接起来就喊爹,你不会这么客气吧,对吧?
10:00
那udp呢,就更像于发短信,那管子在不在发出去快,但是有可能丢。那哪个好?我们一般问到这个问题的时候,我们学员就会问,就会回答我老师切CP好,那我说各位不对。这是典型的陷阱题啊,你首先啊,面试的时候也要注意啊,典型的陷阱题。哪个好?如果TCP好,UGP不好,那UGP不就淘汰了吗?我何必还要留着它?正确答案应该是都好。TCP适合这个对数据安全性,不是不能说安全性,这里是叫做这个什么,就是呃,这个数据的这个稳定性,就是说是不要丢。这个要求比较高,爱小心啊,不丢和被偷还是两个概念。安全性指的是不被偷,我们这里可是指的是可靠性,就是说这个数据包不丢啊,TCP不是跟安全没跟安全无关啊。
11:04
那我们说啊,TCP它对它对它适合,对数据包要求更可靠,比如说我们绝大多数网络访问,比如说你的网页。你的这个视频,这些东西都是TCP。而udp呢,适合什么?它访问更快,但是丢一两个包问题不大的情况,比如说你的实时聊天工具,你的QQ、微信采用的默认都是UG。所以啊各位,我们现在啊,网络环境好啊,当年的时候你是不是经常有这种段子啥段子给女朋友发发微信,发微信或者发QQ,亲爱的,你在吗?信息不可拿网,网不好没到。然后问这个亲爱的,我给你送买点什么,我送你个什么礼物,什么都不可达,最后骂了一句奶奶个屁,这句话发出去。我跟你讲,为什么有这样的段子,其实原因就是还是来源于生活,它是udp协议决定的,它是不太可靠的,所以啊,传输层的第二个功能就是什么。
12:07
传输协议的选择,你要从里面挑一个,就是第二个功能。那这两句话我需要你们把它背下来,传输层TCP传输控制协议,它是可靠的面向连接的传输协议,各位这些东西都是经过多次总结了,一个字可能都改不了,所以你熟练的把它背下来。那udp呢?用户数据报协议它是不可靠的,面向无连接的协议,那优点。TCP的是可靠准确。缺点什么?腰进去的优点是快,缺点是不可靠,所以啊,小心啊。在面试中问你哪个好,这个事儿你可都得琢磨琢磨,他真的是想问你哪个好嘛啊,你得琢磨一下哈,好。接下来还有功能叫端口封装,那我们说传输过程中,我们不光需要确定对方的IP和Mac地址,还需要确定原端口。
13:07
和目标端口来,那这个也是在传输层,在这个两个包头当中决定的,来最后一个差错校验,差错校验就是说啥。你发过来的包有可能是错了,错了怎么办?如果是TCP协议的。这个发送A和B之间是三次握手之后,他们是有联系的,所以B如果发现这个包错了,他会告诉A,这个包错了,你重再发一遍。那如果是udp的呢?A和B是没有连接了,那但是B就不叫验了吗?不也叫。如果A给B发个包过来,B1校验发现这个包是错的,但是B没办法告诉A重发,因为他俩之间没有联系。那这个时候必会把这个包给丢了。他会把包给丢弃。但是不论是哪种,他都会进行差错校验,哎。
14:03
这是传输层的功能。传输层是我们这七层当中功能最多的一层啊,可能也是最复杂了。好了,接下来网络走。网络层两个主要功能,一个IP地址编制,也就是说我要在这里写入原IP。和目标IP,我要写入这两个东西了,各位IP你可以理解为是你们家的门牌号。它是所有要想访问互联网的电脑,它必须全球唯一的这样一个地址,它用来通信用的,呃,跟你们家的门牌号就很像。那我说你们家的门牌号是全球唯一的吗?我们的学员就会说不是,我说你们家的门牌号不光是全球唯一的,他还是全宇宙唯一的,你信吗?你们家的IP是。呃,这个银河系。这个这个太阳星系,近三颗近太阳行星,然后欧亚大陆板块这个中国,然后北京这个朝阳区某某栋某某楼,所以我说啊各位,你们的这个家庭门牌号一定是全球唯一的,要不然他怎么来寄信,对吧,那IP也一样,它是全球唯一的。
15:21
那这个才能进行更新,所以在网络层最主要的这个功能就是写入原IP和你要访问的人的目标IP。那第二个功能就是路由选择啥意思。我。要想到你。这是B目标这是A,这是圆,那IP都已经写好了,但是它有可能有多条路径啊。上面有可能仨路由能进来,下面有可能俩路由就能进来,那我走哪一个呢?这也是由网络层来决定的。各位。那网络层的路由选择有两种方法,一种叫静态路由。
16:03
静态路由指的是我到底走哪条路,由管理员来指定我。A指你走上面这条路,走路由一,路由二,路由三到达。那他就会按照这样走。静态路由的优点在于又是这句话哪个好,也不能说动态路由好,不对啊。精彩路由的优点在于。他对路由器的消耗是最小的。它不需要路由器做任何运算,它就直接按照我指定的走就行了,相对来说效率会最高。但是缺点在于配置复杂,哎,它只适合路由协议,路由器比较少的时候,一旦路由器比较多,比如说真正的工网,你要靠人手工来指,这事就要了命了,这事绝不可能。那动态路由是啥意思啊?他不是人来智能,而是啥?路由器根据它的路由协议啊,有各种路由协议啊,啊什么瑞普啊,OSPF啊,这个EP啊啊等等等等,这样路由器路由协议,然后干嘛,我们自己来判断,哎,这现在有两条路,哪条路快呢?哪条路好呢?哎有的路由协议就很笨,他只会看什么路径,最短路径他认为什么。
17:16
下面这个经过的路由器少,所以他快,他走这个。但是呢,有没有可能下面这个是512K的拨号网络,512KBPS的拨号网络。上面这个是百兆的,这个百兆BPS的光线,那那我问你拉个快,那肯定上面这个虽然是这个三个走了三个路由,跳了三个节点,但是它肯定更快,对吧?但有一些动态路由,比如说像瑞普这样的动态路由,他就更简单,它就更笨,他只知道找哪一个路径端,他就选哪个。然后呢,有一些更先进的路由,他除了会计算路径,还会计算带宽,甚至会计算延迟,那他抽出来的这个路径就有可能更准。
18:00
但是我们说啊,动态路由的优点就是它更简单。我的人配起来更简单,我只要配,我采用什么样的路由协议,然后呢,我直连的两个网段是什么,他们互相之间就可以学习,就知道谁谁连谁。然后呢,剩下的所有的事儿都由路由器来决定,但是缺点它需要消耗路由器的CPU来运算,哎,路由器的压力相对会比较大,而且呢,它会取决于你的路由协议,你路由协议选的好,可能这个路径就通,就会更快。你要路由协议选择比较笨,有可能他这个东西就有可能会走的慢,但是这些事啊。这两个功能都是由网络层决定的。那我们说。路由协议的配置,或者说路由器的配置,就是典型的网络工程师要做的功能。那我们说。运维工程师,其实一般来说,我们的培训课程中是不牵扯这个路由器和交换机配置的。呃,但是呢,是这样啊,如果你的公司非常大。
19:01
啊,比如说你的开发部啊,甚至就是什么这个美工啊,前端开发,后端开发运维网络工程师全都分开,那没事你就干你自己的这一点就行。但是呢,有可能是什么?你去了这家公司不一定有专业的网工。那这个时候可能网络配置的活就要交给运维工程师了,因为你交给这个网络编程工程师,那就更不现实了,对不对,交给编程工程师那就更不现实了,那所以啊各位,如果我们是运维工程师啊,哎,我们可能还是要需要学一点网络工程师的这种技术的。啊,你如果去面试啊,你发现他的面试其实有一些交换机路由器的配置,就证明他的工作中肯定还是需要用到这些。那我们这里呢,就简单介绍一下这个概念,大家知道一下就行,那网络层主要就是这两个功能。那数据内容层呢,就是麦克地址编制。Mac地址也就是物理地址,那我们都应该知道,IP地址是进一进行跨网段访问的,你可以理解为是公网访问,不同网段访问,我们通过的是IP。
20:09
而Mac地址是用来进行同网段访问的,也就是说在同一个广播域当中,我们其实是通过Mac地址来确定对方在哪。所以麦克地址也是必须存在的。哎,那换句话说,我们要进行网络访问,我们就有三个数据必须要存在Mac地址,IP地址和端口号。你可以把IP理解为你们家的门牌号。把Mac地址理解为你们家的邮编,这两个都必须有,邮编是邮局内部用的。诶,我们Mac地址是局域网内部用的,访问的IP是不同网段通信的,也就是IP是从这个中国寄到美国,靠的是这个门牌号。而Mac地址是邮局内部使用的。而端口呢,是收件人,诶,比如说我进到某某某大厦某某层,这一层有可能上千人在上班。
21:02
你要不指定收线端口,那这个人这个信是不是肯定就到不了,对吧,那端口是啥就是。每台服务器上有可能开多个服务。呃,对吧,你你通过Mac地址和IP,我是不是找到了这台电脑,对吧?那这台电脑身上有可能既开了邮件服务,又开了文件传输服务,又开了网页服务。你到底访问的是他哪一个服务呢?靠端口来确定,所以常见服务的端口,比如说外部的是八零对吧,文件传输的是20和21FTP了,对吧?这个也是必须要知道,哎,这个题也有啊,我们在面试题当中经常也碰到这个太简单了,我们就不再给大家讲,你自个儿下去查去常见多好,这个其其实也非常常见。那我们通过端口来确定到底访问的是哪个服务,那。互联网访问。这三个数据只要存在,哎,其实是六个,就是每一个都有圆。
22:01
和目标,就你自己的和别人的对吧,原Mac目标Mac,原IP目标IP,原端口目标端口这六个数据,只要确定你的这个数据包就可以访问到达,那在数据链路层最主要的功能就是写入Mac地址。当然也要进行麦克地址寻址,这是找到对方的麦克,对吧?那数据链路层也拥有差错校验的功能,那我们说我们一般情况下,我们的网络访问都采用的是传输层的差错校验,数据链层的这个呢。一般都不介入。好,那最后物理层负责实际数据的传输,哎,最终还有电气特性的定义,什么叫电气特性?网线是八根线。哪根线传递数据,诶,物理层决定了八根线,不是八根线都传数据的啊,第七根,第八根两根棕线,就是白棕线和这个纯色的棕线,它都是不传递数据的,这都是由物理层决定,好,这就是七层的作用,这玩意儿没什么好说的,背下来。
23:09
然后呢,我们来看看类似的面试题,还有比如说。尝试描述一下TCP4层模型作用。哎,各位。O可是理论模型。我们真正工作的其实使用的是TCP模型,所以他问osi模型也有可能,问TCP模型也有可能。还会问你这两个协议工作在哪一层,作用是什么,其实刚刚也都其实都是变种,对吧。那我们也看看。TCP4层协议其实就是这样四层。应用层、传输层、网络层和网络接口层,那这四层协议有一个巨大的问题,就是这网络接口层。他把我们数据链路层和物理层合并成了一个网络接口层。这个其实是有问题的,为什么?我们在实际工作中,我们数据链路层和物理层都是有实际的协议和数据这个设备的,比如说数据链路层常见标准的典型设备就是交换机Switch。
24:10
而物理层典型的设备就是网线,那我问你,这两个设备存在吗?交换机和网线有吗?设备有吧,但是你分层里面没有这两层。你想这个设备放哪去?所以各位,我们近些年九几年的开始啊,90年代末期的时候,就有人提出我们应该采用的是TCP5层模型。区别就是把数据链路层和物理层给分开了。哎,各位,其实我们说协议本身依然还是四层,为啥这个协议是上世纪60年代开发的,一九六十年开发的。这个协议开发完之后就再没动过。那这个事儿就是你想改很困难,底层协议,所以我们现在只是建议把它改成五层,这样更合理,更符合我们真正的实际工作需求。
25:00
那这种情况下,你就可以看到。啊,T四面模型的应用层对应osi的上层层。传输层、网络层、数据链路层、物理层都是一一对应的。所以。我们讲了osi模型呢,这个每一层的作用,那TCP模型每一层的功能是不是也都不言而喻,都知道对吧?所以问TCP模型的作用跟问OS模型作用没什么区别。再一个问,TCP这个协议工作的哪一层作用,是什么作用,我们是不是讲过了?工作在哪一层呢?这里有一个真正的协议分层。我们的底层协议。常见的就是这些来。传输层是tcpudp,网络层是ICGP和IP协议,这个就是用来确定IP地址的。还有ARP地址解析协议,Rarp反向地址解析协议,这个也都工作在网络上。而数据链层工作的主要是PPPP点对点。PPPOE点对点拨号协议,你们加了这个,上网用的都是这个。
26:05
而物理层协议更更接近于什么这种通信协议,什么叉二五叉点二五这种协议,这个跟我们一般无关,我们不用去管它啊,所以各位这是协议分层。那这个呢,我们说啊,我们网络基础课主要讲的是这下面这些。而应用层协议,这其实都是在我们Linux的网络服务中,我们Linux要讲服务课,我们会一个一个来讲,然后重点协议,就每个协议几乎都要配,除非有明显淘汰的协议啊,比如说像TFTP这样的协议,我们可能就不会讲了,这个就明显淘汰,剩下的这个我们都会每个都要讲,而且还要配。那所以网络基础课,我们其实讨论的只是。这个下几层的这种协议好,那这样的题呢,其实总体来说都是这个难度都不高,碰到这样的题,大家都应该觉得就说你这个分是必须要拿的,要不然这个事儿其实还是。
27:04
就是这个分,如果丢了,面试官也要想,你连这些东西都不知道,我,我敢要你吗?你想想。对吧,所以这个啊,如果我们真的要去面试,都是需要要好好背一下。好,那我们这节课的内容就到这儿,我们下节课再见。
我来说两句