网络学习-4.以太网基础

1.基本概念

以太网( Ethernet )是现实世界中最普遍的一种计算机网络,是一种计算机局域网技术,同时也是一种协议。以太网协议定义了一系列软件和硬件标准,从而将不同的计算机设备连接在一起。以太网设备组网的基本元素有交换机、路由器、集线器、光纤和普通网线以及以太网协议和通讯规则。以太网中网络数据连接的端口就是以太网接口。

2.以太网帧

在以太网链路上的数据包称作以太帧。以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如IP协议)。以太帧由一个32位冗余校验码结尾,它用于检验数据传输是否出现损坏。以太网帧格式有两种标准,一个是由IEEE802.3定义的,称为802.3格式;另一个是由DEC、Intel、Xerox三家公司联合定义的,称为Ethernet II格式,也称DIX格式。Ethernet II格式的帧与IEEE802.3格式虽然存在一点差别,但是他们都应用于以太网。目前的网络设备都可以兼容这两种格式的帧,但Ethernet II使用得更加广泛。通常承载了某些特殊协议信息的以太网帧才使用IEEE802.3,绝大部分的以太网帧使用的都是Ethernet II格式。
在这里插入图片描述

2.1Ethernet II格式

如上图所示,Ethernet II格式的以太网帧有五个部分组成,D.MAC、S.MAC、Type、Data和FCS。
(1)D.MAC是目的MAC地址,表示该帧的接收者。目的MAC地址可以是单播MAC、组播MAC或者广播MAC。
(2)S.MAC是源MAC地址,表示该帧的发送者。源MAC地址只能是一个单播MAC地址。
(3)Type即类型,表示载荷数据的类型,如果该字段的值是0x0800表示载荷数据是IPv4数据,如果该字段值是0x0806表示载荷数据是ARP数据,如果该字段值是0x86dd表示载荷数据是IPv6数据等等。
(4)Data是载荷数据,最短46字节,最长为1500字节,是该帧的有效载荷。
(5)FCS是帧检验序列,是由循环冗余算法(CRC)算法生成的。数据在传输过程中可能会因为外界的电磁干扰从而使数据产生差错,所以需要采用各种检验差错的措施,而最广泛使用的就是循环冗余检验(CRC)。当网卡接收到一个以太帧,首先要校验帧尾的FCS是否正确。如果正确,缓存到接收队列,通知上层模块前来取走;如果不正确,丢弃处理,错误计数+1。

2.2IEEE802.3格式

IEEE802.3格式的以太网帧中,目的MAC地址、源MAC地址、类型、载荷和FCS的功能和作用与Ethernet II格式是一样的。不一样的就是Length、LLC和SNAP了。
(1)Length长度,指后续数据的字节长度,从LLC头开始但不包括FSC检验序列的长度。
(2)LLC3个字节中包括了D.SAP、S.SAP和Control字段。

	DSAP 目的服务访问字段,指明帧的目的上层协议类型,如IP帧值设为0x06
	ASAP 源服务访问字段,指明帧的源上层协议类型
	Control控制,类型1 表明是无连接的、不可靠的LLC数据,控制字段用0x03指明;类型2 表明是面向连接可靠的LLC会话

(3)SNAP中含有Org Code和Type两个字段。IEEE 802.3扩展产生SNAP来兼容以太网网头部协议,在IEEE 802.2 LLC 头部后插入了SNAP头部。为了标识SNAP帧,DSAP和SSAP在LLC头都被设置成SNAP定义的值0xAA,所有SNAP的封装没有使用可靠的LLC服务,所以LLC的控制设置成0x03。

Org Code机构代码,指明私有协议的机构代码。对IP和 ARP,该字段被将设置为0x000000,如思科的代码是0x00000c
Type和Ethernet II上的类型意义相同,IP 0x0800 ,ARP 0x0806

3.MAC地址

MAC地址是在IEEE 802标准中定义并规范的,凡是符合IEEE 802标准的网卡都必须拥有一个MAC地址。每一个网卡都有一个唯一用来标识自己的号码,就如同人的身份证号码一样,这个标记网卡的号码就是MAC地址,长度48bit。
在这里插入图片描述

2.1分配

网卡制造商在生产网卡之前,需要向IEEE申请注册获取前24bit的组织唯一标识符,这24bit称为OUI(Organizationally Unique Identifie),后24bit由厂商自己分配。分配好之后将MAC地址烧写进网卡中,并且不能被更改。

2.2分类

MAC地址分为三种,单播MAC地址、组播MAC地址和广播MAC地址。

单播MAC地址是指第一个字节的最低位是0的MAC地址,标识了一块特定的网卡
组播MAC地址是指第一个字节的最低位是1的MAC地址,标识了一组网卡
广播MAC地址是指每个比特都是1的MAC地址,是组播地址的一个特例,标识了所有网卡

组播和广播MAC地址前三个字节不是OUI,只有单播的前三个字节才是OUI,并且第一个字节的最低位一定是0。
在这里插入图片描述

4.MTU

MTU(Maximum Transmission Unit)最大传输单元。用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。一般网络中设备的MTU值是1500,这是由Ethernet II格式的帧载荷数据大小决定的,其值是46-1500。

如果网络中计算机的设置MTU值为2000,而路由器的MTU值为1500。计算机发送3000字节的数据包,会根据计算机的MTU值分成2000和500的帧,路由器接收到2000的帧时又会分成1500、500和500的帧,如果计算机MTU是1500,经过路由器就只有两个1500的帧了,所以计算机增大MTU值时,同样的数据给路由器增加了压力。

实际情况计算机的MTU值会比1500小一点,一般是1472左右。比如使用PPOE拨号的路由器,PPP over Ethernet协议会占用8字节的空间,一帧的大小就变成1492字节了。UDP数据包需要减去IP包头20字节和UDP包头8字节,就是1472字节了。

需要注意的是如果IP包DF标志位为1,也就是不允许分包,那么路由器直接就把这个包丢弃了,所以MTU值太大可能导致数据无法发送了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值