全方面剖析OSI七层模型

电子说

1.3w人已加入

描述

今天是计算机网络总结的最后一节,主要是讲OSI七层模型相关的知识点,还有就是面试过程中会遇到的一些问题进行了汇总,这章内容算是计算机网络的全集了,相信有了这篇文章,大家的复习过程中就一定会提高效率。

大家都知道在面试过程中,不管是校招还是社招,计算机网络肯定是必考项,如果准备的不够充分,后果可想而知,。能看到这篇文章的,我相信不是学弟学妹,就是刚参加工作不久的,一是不知道计算机网络该从哪儿看起,也不知道哪里是重点,二是时间不允许系统的去复习计算机网络,所以我会将面试中遇到的高频考点都罗列出来供大家学习。可以点赞收藏,以免着急使用而找不到。希望大家都能在求职过程中拿到自己满意的offer!

那就开始正文喽~

TCP/IP 与 OSI 都是为了使网络中的两台计算机能够互相连接并实现通信与回应,但他们最大的不同在于,OSI 是一个理论上的网络通信模型,而 TCP/IP 则是实际上的网络通信标准。

计算机

一、OSI七层模型:

1、物理层

实现计算机节点之间比特流的透明传输,规定传输媒体接口的标准,屏蔽掉具体传输介质和物理设备的差异,使数据链路层不必关心网络的具体传输介质,按照物理层规定的标准传输数据就行。

2、数据链路层

通过差错控制、流量控制等方法,使有差错的物理线路变为无差错的数据链路。

数据链路层的几个基本方法:数据封装成帧、透明传输、差错控制、流量控制。

  • 封装成帧:把网络层数据报加头和尾,封装成帧,帧头中包括源MAC地址和目的MAC地址。
  • 透明传输:零比特填充、转义字符。
  • 差错控制:接收者检测错误,如果发现差错,丢弃该帧,差错控制方法有 CRC 循环冗余码。
  • 流量控制:控制发送的传输速度,使得接收方来得及接收。传输层TCP也有流量控制功能,但TCP是端到端的流量控制,链路层是点到点(比如一个路由器到下一个路由器)。

3、网络层

实现网络地址与物理地址的转换,并通过路由选择算法为分组通过通信子网选择最适当的路径。

网络层最重要的一个功能就是:路由选择。路由一般包括路由表和路由算法两个方面。每个路由器都必须建立和维护自身的路由表,一种是静态维护,也就是人工设置,适用于小型网络;另一种就是动态维护,是在运行过程中根据网络情况自动地动态维护路由表。

4、传输层

提供源端与目的端之间提供可靠的透明数据传输,传输层协议为不同主机上运行的进程提供逻辑通信。

  • 网络层协议负责的是提供主机间的逻辑通信;
  • 传输层协议负责的是提供进程间的逻辑通信。

5、会话层

是用户应用程序和网络之间的接口,负责在网络中的两节点之间建立、维持、终止通信。

6、表示层

处理用户数据的表示问题,如数据的编码、格式转换、加密和解密、压缩和解压缩。

7、应用层

为用户的应用进程提供网络通信服务,完成和实现用户请求的各种服务。

二、TCP/IP模型

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。TCP/IP协议族按照层次由上到下,层层包装。

计算机

数据进入协议栈时的封装过程

上图表示了TCP/IP协议中每个层的作用,而TCP/IP协议通信的过程其实就对应着数据入栈与出栈的过程。入栈的过程,数据发送方每层不断地封装首部与尾部,添加一些传输的信息,确保能传输到目的地。出栈的过程,数据接收方每层不断地拆除首部与尾部,得到最终传输的数据。

计算机

1、网络层

实现网络地址与物理地址的转换,并通过路由选择算法为分组通过通信子网选择最适当的路径。

1.1、IP地址与物理地址

物理地址是数据链路层和物理层使用的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址,其中ARP协议将IP地址转换成物理地址。

1.2、ARP地址解析协议的工作原理

ARP 是根据 IP 地址获取 MAC 地址的一种协议,核心原理就是广播发送ARP请求,单播发送ARP响应。

  1. 每个主机都在自己的ARP缓冲区中建立一个ARP列表,以表示 IP 地址和 MAC 地址之间的对应关系。
  2. 当源主机要发送数据时,先检查ARP列表中是否有该 IP 地址对应的 MAC 地址,如果有,则直接发送数据;如果没有,就向本网段的所有主机发送ARP数据包,用于查询目的主机的MAC地址,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP。
  3. 当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
  4. 源主机收到 ARP 响应包后,将目的主机的 IP 和 MAC 地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

1.3、RARP逆地址解析协议

RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着 MAC 地址和 IP 地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。

1.4、DHCP协议

动态主机配置协议,对 IP地址进行集中管理和分配,提升地址的使用率,通过DHCP协议,可以使客户机自动获得服务器分配的lP地址和子网掩码。

计算机

DHCP数据发送过程

1.5、ICMP协议

因特网控制报文协议,用于在IP主机、路由器之间传递控制消息(控制消息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息),确认 IP 包是否成功到达目标地址。因为 IP 协议并不是一个可靠的协议,它不保证数据被送达,当传送IP数据包发生错误,比如主机不可达、路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机,给主机一个处理错误的机会。

ICMP报文有两种:差错报告报文和询问报文。

以下是4种常见的ICMP差错报告报文:

  1. 终点不可达
  • 路由器不知道如何转发某数据报,丢弃该数据报,并向源站发送“终点不可达”报文。
  • 主机收到无法交付给应用进程的数据报,将其丢弃,向源站发送“终点不可达”报文。
  1. 时间超过
  • 路由器丢弃生存时间TTL为0的数据报,并向源站发送“时间超过”报文。
  • 当终点在预先规定的时间内不能收到一个数据报的全部分片时,就把已收到的分片都丢弃,并向源站发送“时间超过”报文。
  1. 参数问题

当路由器或目的主机收到的数据报的首部中有些字段的值不正确时,就丢弃该数据报,并向源站发送“参数问题”报文。

  1. 改变路由(重定向)

路由器把“改变路由”报文发送给主机,让主机知道下次应将数据报发送给另一个路由器,这样可以通过更好的路由。

1.6、交换机与路由器的区别

  1. 工作所处的OSI层次不一样,交换机工作在OSI第二层数据链路层,路由器工作在OSI第三层网络层。
  2. 寻址方式不同:交换机根据MAC地址寻址,路由器根据IP地址寻址。
  3. 转发速率不同:交换机的转发速度快,路由器转发速度相对较慢。

1.7、路由选择协议

  1. 内部网关协议IGP:
  • RIP(Routing Information Protocol):是一种动态路由选择协议,基于距离矢量算法,使用“跳数”来衡量到达目标地址的路由距离,并且只与自己相邻的路由器交换信息,范围限制在15跳之内。
  • OSPF:开放最短路径优先协议,使用Dijskra算法计算出到达每一网络的最短路径,并在检测到 链路的情况发生变化时(如链路失效),就执行该算法快速收敛到新的无环路拓扑。
  1. 外部网关协议:

BGP:边界网关协议,BGP 是力求寻找一条能够到达目的网络 且 较好的路由,而并非要寻找一条最佳路由。BGP采用路径向量路由选择协议。

2、传输层:

传输层主要提供不同主机上进程间“逻辑通信+可靠传输”或者“不可靠传输”的功能。

2.1、传输控制协议TCP与用户数据报协议UDP的区别

  1. TCP是面向字节流的,基本传输单位是TCP报文段;UDP是面向报文的,基本传输单位是用户数据报。
  • 面向字节流:应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序看成是一连串的无结构的字节流。TCP有一个缓冲,当应用程序传送的数据块太长,TCP就可以把它划分短一些再传送。
  • 面向报文:面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送。因此,应用程序必须选择合适大小的报文。
  1. TCP 注重安全可靠性,连接双方在进行通信前,需进行三次握手建立连接。UDP 是无连接的,使用最大努力交付,即不保证可靠交付。
  2. UDP 不需要连接等待,所以数据传输快,而 TCP 传输效率相对较低。
  3. TCP首部开销是20个字节;UDP的首部开销是8个字节,这也是减少网络传输开销的一方面。
  4. TCP有拥塞控制和流量控制,而UDP没有拥塞控制和流量控制。
  5. TCP支持点对点通信,提供全双工通信,不提供广播或多播服务;UDP支持一对一、一对多、多对一、多对多的通信模式。

2.2、TCP和UDP的使用场景

  1. 当对网络通讯质量要求不高时,并且要求网络通讯速度能尽量的快,这时就可以使用UDP。比如及时通信:语音、 视频 、直播等。
  2. 当对网络通讯质量有要求时,要求整个数据准确无误可靠的传递给对方,这时就适用使用 TCP 协议,一般用于文件传输、发送和接收邮件等场景。比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议都是使用 TCP 协议。
  • TCP对应的协议:

FTP:文件传输协议,使用21端口

Telnet:远程终端接入,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。

SMTP:邮件传送协议,用于发送邮件,使用25端口

POP3:邮件传送协议,P用于接收邮件。使用110端口

HTTP:万维网超文本传输协议,是从Web服务器传输超文本到本地浏览器的传送协议

  • UDP对应的协议:

DNS:域名解析服务,将域名地址转换为IP地址,使用53号端口;

SNMP:网络管理协议,用来管理网络设备,使用161号端口;

TFTP:简单文件传输协议,提供不复杂、开销不大的文件传输服务,使用 69 端口;

NFS:远程文件服务器

RIP:路由信息协议

DHCP:动态主机配置协议

IGMP:网际组管理协议

2.3、TCP相关知识点

前面一节已经非常清楚的分析,欢迎查看:

计算机网络-TCP/UDP详解(最全)

3、应用层

应用成主要提供应用进程间的网络通信服务,完成用户请求的各种服务。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分