以太网

  1、以太网(Ethernet)是一种计算机局域网技术,由Xerox、Intel公司在1982年联合开发的技术规范。

  2、IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容,以太网是目前应用最普遍的局域网技术。

  3、采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的媒体接入技术。

  4、以太网的标准有100BASE-T、1000BASE-T标准等。

  5、以太网使用的MAC地址为48bit,IP地址为32bit。

  

  IEEE 802封装

  IEEE 802委员会成立于1980年2月,它的任务是制定局域网和城域网标准。IEEE 802中定义的服务和协议限定在OSI网络参考模型的最低两层(即物理层和数据链路层)。事实上,IEEE 802将OSI的数据链路层分为两个子层,分别是逻辑链路控制(Logical Link Control, LLC)和介质访问控制(Media Access Control, MAC)。

  IEEE 802.2 :逻辑链路控制子层(LLC)的定义。

  IEEE 802.3 :以太网介质访问控制协议 (CSMA/CD)及物理层技术规范。

  802的帧定义与以太网的帧定义是不同的,这样比较容易根据不同的帧格式区分802帧和以太网帧。

  1、两者前面都分别用两个6字节来表示目的地址和源地址,这个地址指的是物理地址,也就是MAC地址(48bit)。

  2、后面2个字节两者表示是不同的。IEEE802.2/802.3中这两个字节表示后面跟的数据的长度,也就是表示的从DSAP到CRC之前(不包括CRC),长度的范围是:46-1500。减去后面格式占用的8个字节,也就是IP数据报占用的长度为38-1492;而对于以太网来说,这两个字节就是表示的为后面跟的数据的类型,0800表示后面封装的为IP数据报,0806表示的是ARP请求/应答,8035表示的是RARP请求/应答。

  3、IEEE802.2/802.3后面跟的8个字节中前6个字节需要赋的值都在图中写了,后面两个字节跟以太网中的类型一样,再后面就是跟的IP数据报;以太网这部分就是直接是数据报部分,因此长度为46-1500。

  802帧封装的数据部分长为38 - 1492 字节最小长度为38字节。如:不足38字节则填空字节补足。

  以太网封装的数据部分帧长为46 - 1500 字节最小长度为46字节。如:不足46字节则填空字节补足。

  以太网最小帧长度是64字节,6+6+2+46+4 。

  

  IEEE802.2/802.3的封装格式:

  

  以太网的封装格式:

  

  环回口

  1、环回地址一般是127.0.0.0/8段的任何IP都可以使用。

  2、广播地址和多播地址的数据都要传给环回接口。这是因为广播和多播的定义含主机本身。

  3、任何传给该主机的数据均发送至环回口。

  MTU和路径MTU

  1、以太网和802.3对数据帧的长度都有限制,最大长度分别是1500和1492字节。链路层的这个特性称为MTU,也叫最大传输单元。

  2、如果IP层有一个数据报传输,数据的长度比链路层的MTU大,那么IP层就需要分片(fragmentation),把数据分成若干片,每个一分片都应小于MTU值。

  3、多台网络设备之间的最小MTU,它被称作路径MTU。路径MTU在两个方向上的值不一定是一致的(入接口和出接入),MTU是以出方向的来衡量的(出接口)。

  IEEE802.2包格式与真实的包格式的对应关系(Stp包)

  

    1、802.3包格式与真实的包的对应关系,我已用ABCDEF几个字母标识出来,非常容易看懂。

    2、占用的字节数据怎么看呢?先看我在图中用草绿色横线标识的内容:IEEE802.3 占用[0/14]也就是这是开始位,总占用14字节 = 6 + 6 + 2。

    3、 黑色横线标识的内容:主要看红色的数值[0/]表示当前数据占用的字节数,也是一个字节,但是一个字节还是分bit位来使用的,只用了其中的部分二进制位表示数值。

    4、棕色横线标识的内容:表示当前表示值只是占用了二进制数值的某个位,如:0x02转成二进制是0010 再看数据表示值..0. 对应了数值占用的位置;0x01转成地二进制是0001再看数据表示值...1他们的对应关系是一致的。

  

TCP/IP协议 数据链路层的更多相关文章

  1. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  2. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

  3. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  4. HTTP协议—— 简单认识TCP/IP协议

    大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到.高楼大厦,起于平川.不积跬步,无以至千里,不积小流,无以成江海.我现 ...

  5. TCP/IP协议学习笔记

    计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...

  6. TCP/IP协议基础(转)

    转自 http://www.chinaunix.net 作者:Bernardus160  发表于:2003-12-03 17:33:15 TCP/IP协议基础 -------------------- ...

  7. TCP/IP协议(一)

    TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协 ...

  8. 读书笔记——网络编程与开发技术(3)基于TCP/IP协议的网络编程相关知识

    TCP/IP协议:数据链路层,网络层,传输层,应用层. IP地址分为5类:A类.B类.C类.D类.E类. (A类.B类.C类是基本类,D类多用于多播传送,E类为保留类.) "*"表 ...

  9. TCP/IP协议 HTTP协议

    TCP/IP协议 OSI传统的7层参考模型:物理层,数据链路层,网络层,传输层,话路层,表示层和应用层.而TCP/IP协议并不完全符合这7层参考模型,它只采用了其中的应用层,传输层,网络层和数据链路层 ...

随机推荐

  1. PHP之static静态变量详解

    在看别人项目过程中,看到函数里面很多static修饰的变量,关于static修饰的变量,作用域,用法越看越困惑,所以查了下资料. static用法如下: 1.static 放在函数内部修饰变量 2.s ...

  2. [DIV+CSS] set the screen capture Part 1 (div截取屏幕)

    使用下面的代码来获取屏幕.用DIV加CSS 来控制. 使用mousemove来获取移动的时候DIV的变化, 效果图如下: 使用5个DIV来组成实现截图目的第一部分,现在只是实现了选择的第一部分. HT ...

  3. zoj3781

    zoj3781赛场上堵在了缩点上emmmmm把原始图相同颜色的方块缩成一个点,然后与它周围不同颜色的联通块连双向边,然后枚举每个点然后求最大深度的最小值因为每次翻转都相当于深度+1(可以手动模拟一下 ...

  4. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问 ...

  5. Moonlight Shadow

    歌词 Moonlight Shadow 月光幽灵 -- Dana Winner 1. The last that ever she saw him 那是她今生最后一次见到他 2. carried aw ...

  6. 2017 CCPC Qinhuangdao Site

    A. Balloon Robot 假设机器人$0$时刻位于$0$号位置,那么每个气球所需的时间为$(s_a-b)\bmod m$. 将所有气球按这个时间排序,枚举每个气球的时间作为偏移量,得出最优解即 ...

  7. Linux 安装zookeeper

    分享到:   1.下载zokeeper 1.1 官网下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 1.2 链接:https:/ ...

  8. git删除掉已经保存的用户名密码

    以保存的用户名密码删除,先找到变量存在的位置: git config -l To help track down the setting, I'd try to use: git config --l ...

  9. [LeetCode] Rotate String 旋转字符串

    We are given two strings, A and B. A shift on A consists of taking string A and moving the leftmost ...

  10. maven和glassfish安装和部署及hello1和hello2的部署

    1.安装maven和glassfish及配置环境变 首先搜索并下载maven3.6.0和glassfish4.1.1(版本看按需要选择). 点击安装包进行安装 安装完成后开始配置环境变量 打开系统环境 ...