网络工程师成长之路——IP网络基础——以太网帧结构分析

分层模型OSI

国 际 标 准 化 组 织 ISO 于 1984 年 提 出 了 OSI RM ( Open System Interconnection Reference Model,开放系统互连参考模型)。OSI 参考模型很快成为了计算机网络通信的基础模型。

OSI参考模型具有以下优点:简化了相关的网络操作;提供了不同厂商之间的兼容性;促进了标准化工作;结构上进行了分层;易于学习和操作。
网络工程师成长之路——IP网络基础——以太网帧结构分析
OSI参考模型各个层次的基本功能如下:
物理层: 在设备之间传输比特流,规定了电平、速度和电缆针脚。
数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。
网络层:提供逻辑地址,供路由器确定路径。
传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。

分层模型TCP/IP

TCP/IP模型同样采用了分层结构,层与层相对独立但是相互之间也具备非常密切的协作关系。
TCP/IP模型将网络分为四层。TCP/IP模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。 TCP/IP模型的核心是网络层和传输层:网络层解决网络之间的逻辑转发问题,传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。

它跟OSI模型区别:
网络工程师成长之路——IP网络基础——以太网帧结构分析
网络工程师成长之路——IP网络基础——以太网帧结构分析

数据封装

应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段 );数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

终端之间的通信

数据链路层控制数据帧在物理链路上传输

帧格式

Ethernet_II 帧格式

IEEE802.3 帧格式

网络工程师成长之路——IP网络基础——以太网帧结构分析
以太网中大多数的数据帧使用的是Ethernet II格式

数据帧传输

数据链路层基于MAC地址进行帧的传输

以太网MAC地址

网络工程师成长之路——IP网络基础——以太网帧结构分析

帧发送方式

单播

指从单一的源端发送到单一目的端。

每个主机接口由一个MAC地址作为唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个比特固定为0,表示目的MAC地址的帧都是发送到某个唯一的目的端。

广播

表示帧从单一的源发送到共享以太网上的所有主机

广播帧的目的MAC为十六进制的FF:FF:FF:FF:FF:FF,所有收到广播帧的主机都必须接受这个消息,就比如某村口的大喇叭,没有村民不敢不听消息。????
所有广播的方式会产生大量的流量,导致宽带利用率低,进而影响整个网络的性能。

组播

组播比广播更加高效。组播转发可以理解为选择性的广播,主机监听特定组播地址,接受并处理目的MAC地址为该组播MAC地址的帧。

组播MAC地址和单播MAC地址都是以第一字节中的第8个比特区分的
当需要网络上的一组主机(而不是全部主机接受相同信息,并且其他的主机不受影响的情况下通常会选择使用组播方式)