以太网协议

以太网(Ethernet)

以太网是一种局域网技术,其规定了访问控制方法、传输控制协议、网络拓扑结构、传输速率等,完成数据链路层和物理层的一些内容,它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection),另外的一些局域网技术有令牌环网,无线LAN等。

以太网协议

早期的时候各个公司都有自己的分组方式,后来形成了同意的标准,即以太网协议ethernet。
ethernet规定,一组电信号构成一个数据包,叫做帧。每一数据帧分成,报头head和数据data两部分。以太网协议采用RFC894格式。

结构

head包括(固定18个字节)
发送者/源地址,6个字节
接收者/目标地址,6个字节
数据类型,2个字节 + 4CRC
data包括(最短46字节,最长1500字节)
数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

协议类型

以太网帧中的类型指的是,其内部数据的协议类型,如果中间是IP数据报则协议类型为0800, 如果是ARP请求或者应答,则为0806,类型占两个字节,其最后面是CRC循环冗余码,用于差错控制,即检验帧的正确性。

head中包括的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。
mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)。

定义地址只是第一步,后面还有更多步骤——首先,一块网卡怎么只带另一块网卡的MAC地址?回答是有一种ARP协议,可以解决这个问题。这个留到后面介绍,这里只需要知道,以太网数据包必须知道接收方的MAC地址,然后才能发送。

当在同一个局域网中,主机A需要给主机B发送消息时,主机A将以太网帧发出,此时局域网中所有主机均可收到这个帧,主机中的网卡接收到以太网帧后,会将目的MAC地址和自己的MAC地址进行比较,如果不相同就会丢弃,如果相同则会接收,此时则B主机就收到了A的消息。

最后就是以太网帧为了提供足够快的响应速度具有长度限制,其数据部分的最大长度受到MTU控制, 最小长度不能小于46字节,如ARP请求为28位,为了满足最小长度需要填充到46位(PAD)。

MTU(最大传输单元)

MTU是根据不同类型的网络给出的最大传输单元的限制,如以太网的MTU为1500字节,16MB/s的令牌环(IBM)的MTU 为17914字节,其作用是为了保证网络有足够快的响应速度,另外MTU 指的是以太网帧数据部分的长度,并非以太网帧的长度。假设需要发送的UDP数据报长度大于MTU减去IP首部长度,此时数据报在IP层就会进行分片。

单播 多播 广播

在以太网协议中,目的地址分为三种单播地址、广播地址、多播地址,其中单播地址如上面A给B主机发送,其接收者为一个,并且其目的地址的最高字节的低位为0,
以太网多播地址48位中的最高字节的低位为1,如 01:00:00:00:00:00 ,只要这一位为1均为多播地址,以太网广播地址可以看作特殊的多播地址其48位全为1 11:11:11:11:11:11,
当网卡收到一个帧后查看帧检验和,如果帧检验和出错则丢弃,然后进行帧过滤,检验其帧是否具有合法的帧类型,其目的地址是否和自己的物理地址相同,或者是否是多播地址,然后根据帧类型进行分用。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇