前言:
网络中传输数据时需要定义并遵循一些标准,以太网是根据(EEE 802.3标准来售理和控制数据帧的。了解EEE802.3标准是充分理解以太网中链路层通信的基础。为了将降低通信的复杂性,需要将协议进行分层处理。
1.网络协议
不同的协议栈用于定义和管理不同网络的数据转发规则。
2.什么叫协议
决定数据的格式和传输的一组规则或者一组惯例。
3.协议为什么要分层
为了降低网络设计的复杂性,将协议进行了分层设计。
分层设计的意义
。通信服务层的模块设计可相对独立于具体的通信线路和通信硬件接口的差别
。而通信服务层的模块设计又可相对独立于具体用户应用要求的不同
。简化了相关的网络探作:提供了不同广商之间的兼容性:促进工标准化工作。
结构上进行了分层;易手学习和操作。
4.分层模型-OSI
物理层:在设备之间传输比特流,规定了电平,速度和电缆针脚。
数据链路层:将比特组合成字节,再将字节组合成帧,使用链路展地址(以太网使用MAC地址)来访问介质,并进行差错检测。
网络层:提供逻辑地址,供路由器确定路径。(例如IP地址)
传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。(可靠传输TCP/不可靠传输UDP)
会话层:负责建立、管理和终上表示层头体之用的通信会活。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。(通信设备可能存在多个会话)。
表示层:提供各种用于应用层数据的编码的和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。(数据表示、加密、图片、文档、文字)
应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。
5.OSI层次设计的理念
。建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题
。它的最大优点是将服务、接口和协议这三个概念明确地区分开来
服务:下一层为上一层提供一些什么功能
接口:上一层如何使用下层的服务
协议:如何实现本层的服务
。这样各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了
分层模型-TCP/IP
数据封装
数据传输过程
6.终端之间的通信
数据链路层控制数据帧在链路上传输
Ethernet-II帧格式
Ethernet-II帧类型值大于1536(0x0600)
以太网数据帧长度在64-1518字节之间
IEEE802.3帧格式
IEEE802.3帧长度字段值小于等于1500(0x05DC)
图-Ethernet II 帧格式
IEEE802.3帧格式
7.数据帧传输
数据链路层基于MAC地址进行帧的传输。
图
8.以太网的MAC地址
前24位:OUI由IEEE管理和分配,代表该供应商代码。
后24位:由供应商自行分配。
9.单播
目的MAC帧结构:第8位都是0。
10.组播
目的MAC帧结构:第八个比特是1。
11.广播
目的MAC帧结构:全部为FF 。
12.数据帧的发送和接收
当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉送往上层协议。
总结:
- 网络设备如何确定以太网数据帧的上层协议?
- 终端设备接收到数据帧时,会如何处理?
答案:
- 通过type类型确定上层协议:0x0800为IP;0x0806为ARP。
- 会查看DMAC是否是自己的MAC,若是则会核对IP,IP也是自己的话,将会剥掉封装送往上层协议。