TCP/IP-七层模型介绍

一、OSI七层模型

网络被分为七层,由底层向高层依次是:

  1. 物理链路层(比特流)->
  2. 数据传输层(帧)->
  3. 网络层(包,寻址)->
  4. 传输层(tcp/udp 保证端到端的可靠传输)->
  5. 会话层(RPC)->
  6. 表示层(编码,加密协议)->
  7. 应用层(http,ftp)

二、协议

定义:是一种通信双方共同遵守的规范。

三、物理层

物理层处于 OSI 七层模型的第一层,它的主要任务是将比特流与电子信号进行转换。

四、数据链路层

数据链路层处于 OSI 七层模型的第二层,它定义了通过通信介质相互连接的设备之间,数据传输的规范。

在数据链路层中,数据不再以 0、1 序列的形式存在,它们被分割为一个一个的“帧”,然后再进行传输。

数据链路层中有两个重要的概念:MAC 地址和分组交换。

4.1 MAC地址

MAC 地址是被烧录到网卡 ROM 中的一串数字,长度为 48 比特,它在世界范围内唯一(不考虑虚拟机自定义 MAC 地址)。由于 MAC 地址的唯一性,它可以被用来区分不同的节点,一旦指定了 MAC 地址,就不可能出现不知道往哪个设备传输数据的情况。

4.2 分组交换

分组交换是指将较大的数据分割为若干个较小的数据,然后依次发送。使用分组交换的原因是不同的数据链路有各自的最大传输单元(MTU: Maximum Transmission Unit)。

以以太网(一种数据链路)为例,它的MTU是 1500 字节,也就是通过以太网传输的数据,必须分割为若干帧,每个帧的数据长度不超过 1500 字节。如果上层传来的数据超过这个长度,数据链路层需要分割后再发送。

4.2.1 以太网帧

以太网帧的开头是“前导码(Preamble)”,长度为 8 字节,这一段没什么用,重点在于以太网帧的本体。

本体由首部,数据和 FCS 三部分组成:

15146921-ea66239a43808706.png
以太网帧本体

类型部分存储了上层协议的编号,比如上层是 IP 协议,则编号为 0800。

FCS 表示帧校验序列(Frame Check Sequence),用于判断帧是否在传输过程中有损坏(比如电子噪声干扰)。FCS 保存着发送帧除以某个多项式的余数,接收到的帧也做相同计算,如果得到的值与 FCS 相同则表示没有出错。

4.3交换机

交换机是一种在数据链路层工作的网络设备,它有多个端口,可以连接不同的设备。交换机根据每个帧中的目标 MAC 地址决定向哪个端口发送数据,此时它需要参考“转发表”

转发表并非手动设置,而是交换机自动学习得到的。当某个设备向交换机发送帧时,交换机将帧的源 MAC 地址和接口对应起来,作为一条记录添加到转发表中。

15146921-b6286ec73f1697ed.png
交换机自学过程的原理

关于数据链路层,最重要的一点还是它的定义:“通过通信介质相互连接的设备之间,数据传输的规范”。这说明数据链路层的协议适用于处于同一种数据链路两端的节点。如果不能理解这一点,就无法理解网络层和 IP 协议。

数据链路层的意义在于,如果没有数据链路层,数据只能以流的形式存在与通信介质中,不知道该发送往哪里,过长的数据流可能无法在通信介质中传输。

数据链路层

猜你喜欢

转载自blog.csdn.net/weixin_34404393/article/details/87143148