目标:OSI七层模型、TCP/IP四层模型、以太网帧结构、MAC地址作用、数据转发方式

一、OSI七层模型

1、物理层:在设备之间进行比特流传输。

2、数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(MAC地址)来访问介质,并进行差错检测。

3、网络层:IP寻址,路由选择。

4、传输层:进行端到端的可靠或者不可靠的连接来传递数据,并进行重传前的差错检测。

可靠的连接:TCP面向连接(A要向B发送数据之前,A会先告诉B建立连接,连接建立成功后再发送数据)

不可靠的连接:UDP不面向连接(A要向B发送数据,A不会事先通知B,而是直接发送数据,不管B是否会收到数据)

5、会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。

当我们使用QQ聊天时,同时和A、B、C三个人聊天,当我接收到一条数据时,怎么区分是A还是BC发来的?-------通过会话层来进行判断。

6、表示层:数据格式化、加密、解密

7、应用层:OSI七层模型中最靠近用户的一层,为应用程序(如QQ、微信)提供网络服务(通过端口号来区分不同的应用程序)

二、TCP/IP四层模型

1、应用层(合并OSI中的应用层、表示层、会话层)

2、传输层

3、网络层

4、网络接口层(合并OSI中的数据链路层、物理层)

三、PDU:协议数据单元

应用层:message

传输层:段(segment)

网络层:数据包(packet)

数据链路层:帧(frame)

物理层:比特(bit)

四、以太网帧结构

1、以太网帧格式:Ethernet_II格式和IEEE802.3格式

(1)在数据通信过程中,传输数据一般使用Ethernet_II格式;

(2)IEEE802.3格式一般使用在各个协议当中。

(3)通过Type和Length字段来判断使用哪种帧格式:

当Type/Length<1500====>使用Ethernet_II格式

当Type/Length>=1536====>使用IEEE802.3格式

2、Ethernet_II格式

Ethernet_II格式

(1)Type字段:

作用1:当Type<1500时可以用来确定是使用Ethernet_II格式;

作用2:可以判断上层网络层使用的什么协议(0x0800:要交给上层IP协议进行处理,0x0806:要交给上层ARP协议处理)

(2)Data数据的长度是46B-1500B;

(3)以太网数据帧的长度是64B-1518B。

(4)FCS:帧校验,校验数据帧是否完整。

3、IEEE802.3格式

IEEE802.3格式

(1)多了LLC、SNAP字段,所以Data数据长度变小,是38B-1492B。

五、MAC地址

MAC地址

(1)OUI-供应商代码:组织唯一标识符,由IEEE统一分配给供应商

(2)后24bit:由供应商自己分配

(3)MAC地址:具有全球唯一性,可以作为每一个设备的身份标识

六、数据转发方式

1、单播:一对一(数据帧的第一个自己的第八位为0代表单播帧)

单播帧

2、广播:同一局域网内的设备都能收到数据(每个bit全为1代表广播)

广播帧

3、组播:同组内的设备才能收到(数据帧的第一个自己的第八位为1代表组播帧)

组播帧

补充:终端设备接收到数据帧时,会如何处理?

(1)主机检查帧头里的目的MAC地址是否和自己的MAC相同,如果不相同则丢弃;

(2)如果匹配则接收帧,检验帧校验序列(FCS)字段,查看帧在传输过程中是否保持完整。

(3)如果检查通过就会剥离帧头和帧尾,然后根据帧头中的Type字段来决定把数据交给哪个上层协议进行处理。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐