博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络之路--【第三章】——分层模型介绍及以太帧结构
阅读量:6613 次
发布时间:2019-06-24

本文共 1803 字,大约阅读时间需要 6 分钟。

  学习目标

  •    理解分层模型的作用
  •    掌握以太网中数据帧的结构
  •    掌握MAC地址的作用
  •    掌握以太网中数据帧转发的过程  

 网络通信协议

  

  不同的协议用于定义和管理不同网络的数据转发规则。

   什么叫协议

    为了使数据可以在网络上从源传递到目的地,网络上所有的设备需要 “讲” 相同的 “语言”。

   数据通信协议的定义

    决定数据的格式和传输的一组规则或者一组惯例。

 为什么协议分层

    网络通信过程很复杂

  •  数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接受者能够阅读
  •  为了降低网络设计的复杂性,将协议进行了分层设计

     分层设计的意义

  •     通信服务层的模块设计可相对独立于具体的通信线路和通信硬件接口的差别。
  •   而通信服务层的模块设计又可相对独立于具体用户应用要求的不同。

 

  •      简化了相关的网络操作;提供了不同厂商之间的兼容性;促进了标准化工作;结构上进行了分层;易于学习和操作。
  •   各个层次独立,一层的变化不会影响到邻层。

 

 分层模型-OSI

  

   OSI参考模型的优点

    简化了相关的网络操作;提供了不同厂商之间的兼容性;促进了标准化工作;结构上进行了分层;易于学习和操作。

     OSI参考模型各个层次的基本功能如下:

    物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚。

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

      网络层:提供逻辑地址,供路由器确定路径。

      传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。

      会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信有不同设备中的应用程序之间的服务请求和响应组成。(通信设备可能存在多个会话)

      表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。(数据表示、加密;图片、文档、文字)

      应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。

 OSI层次设计理念

  

   

 

   

   

 

   

 分层模型-TCP/IP

  

 

 

     

 

  数据封装

    

 

  

  数据传输过程

    

  

 

  终端之间的通信

   

   

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

 

  帧格式

    

 

   Ethernet_II 帧格式

    

    

  •    Ethernet_II 帧类型值大于等于1535(0x0600)。
  •   以太网数据帧的长度在64-1518字节之间。

  

   IEEE802.3 帧格式

    

    

    IEEE802.3 帧长度字段值小于等于1500(0x05DC)。

 

    数据帧传输

    

      

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

 

 以太网的MAC地址

    

    MAC地址由两部分组成,分别是供应商代码和序列号。其中前24为代表该供应商代码,由IEEE管理和分配。剩下的24位序列号由厂商自己分配。

 单播

    

   单播: 就是相当于在QQ中你们两个人的聊天,其他人访问不了。

   为“0”就是单播

 

 广播

  

 

      

     广播:就是类似老师讲课,你们都能听到。

     MAC地址全是FF ,即为广播。

  

 组播

  

    

    组播:类型于一个小组,只有这个小组里的人才能收到。

    MAC为“1”时 ,即为组播。

 

 数据帧的发送和接受

   

 

    当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。

 

 总结:

  网络设备如何确定以太网数据帧的上层协议?

      通过type类型:一个是0x0800 指的是IP;一个是0x0806 指的是ARP。

   终端设备接收的数据帧时,会如何处理?

      在二层看MAC地址是否是给我的如果是则解封装,然后再在三层看IP地址是否是我的,如果是再往上给另一个层,然后通过应用层得到消息。

转载于:https://www.cnblogs.com/zrkk/p/9640260.html

你可能感兴趣的文章
[Spring Boot 系列] 集成maven和Spring boot的profile 专题
查看>>
【云图】如何设置微信里的全国实体店地图?
查看>>
ZOJ(ZJU) 1002 Fire Net(深搜)
查看>>
专访三桐:阿里人工智能搜索应用的交互式未来
查看>>
Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
查看>>
京东众筹上线仅2天完成目标 可编程机器人HEXA降低机器人开发门槛
查看>>
db file async I/O submit 等待事件优化
查看>>
前端需要了解的 SSO 与 CAS 知识
查看>>
李开复谈未来工作:虽然会被AI取代,但谁说人类非得工作不可?
查看>>
2015.08.21结构体指针
查看>>
PostgreSQL 空间切割(st_split)功能扩展 - 空间对象网格化
查看>>
Intercom的持续部署实践:一天部署100次,1次10分钟
查看>>
做好数据分析必备的5种典型可视化图表
查看>>
Windows I/O模型、同步/异步、阻塞/非阻塞
查看>>
SpringBoot权限控制
查看>>
网络遭受APTs攻击的五个信号
查看>>
C语言算法--统计字符串中单词的个数
查看>>
30万奖金!还带你奔赴加拿大相约KDD!?阿里聚安全算法挑战赛带你飞起!
查看>>
英特尔凌琦:大数据带来的机遇和挑战
查看>>
2017——Linux崛起的时代
查看>>