首页 > 编程知识 正文

以太网的通信协议,以太网和tcpip区别

时间:2023-05-05 18:17:02 阅读:162639 作者:2138

正文: https://blog.csdn.net/jj diaries/article/details/48096295

在阅读“TCP-IP协议详细信息”系列文章之前,我们建议您先阅读以下两篇文章,以便快速从全局范围内了解和掌握互联网协议。

互联网协议入门(一)

互联网协议初探(二)

“小喇叭开始播放了”。 如果你知道这个,你一定是老一辈的人。 《小号》是50年代至80年代儿童广播节目。 节目一开始,他说:“孩子,小号开始广播了! ”的广播。 听到这里,收音机前的孩子们很兴奋,准备了好节目。 这次的内容是以太网协议和WiFi。

在网络协议概述中,以太网和WiFi是连接层的两种协议。 在连接层,信息以帧为单位进行传输。 帧像信封一样包数据(payload ),并注明目的地和发送目的地。 连接层实现了“本地社区”的通信。 让我们先看看以太网的帧。

以太网帧格式帧本身是有限的0/1序列。 可以分为头部、数据、尾部三个部分:

帧按照从上到下的顺序从最初到最后依次被发送接收。 这里详细说明各地区。

头部框架的前七个byte被称为序言。 其每个byte为0xAA (这里为十六进制,即二进制的10101010 )。 通常,我们计划以一定的频率发送0/1序列(例如每秒10bit )。 如果接收设备以其他频率(例如,每秒5bit )接收,则接收设备将错误地错过应该接收的信息0/1。 但是,根据网卡的不同,即使发送方和接收方的预约频率相同,两者也有可能因为物理上的理由产生偏差。 这就像两个人约好的10点见面,结果一个人表快,一个人表慢。 前言用于使接收设备调整接收频率,以与发送设备的频率一致,并且该过程被称为时钟恢复。

就像在听收音机之前,调整旋转按钮直到声音清晰。 网卡在接收序言的过程中,会持续微调自己的接收频率,直到自己“听到”…1010…)

调整时钟后,等待帧开始信号(SFD,start frame delimiter )。 SFD为固定值0xAB。 这个0xAB提醒我们会有好节目上演,就像“小喇叭开始播放了”一样。

Preamble和SFD

紧接着SFD的是6 byte的目的地(DST,destination )和6 byte的发行地) SRC,source。 这和在邮递员和邮局的介绍一样,在信封上写下目的地和发送地。 请注意,信封上的内容是地址的“本地描述”,即MAC地址。 MAC地址是物理设备附带的序列号,仅在同一以太网内可见(就像邮递员只熟悉自己的社区一样)。

的最后一个区域为Type,说明数据部分的类型。 (例如,00800为IP v4,00800为ARP )

数据通常包含符合更高层协议的数据,如IP数据包。 连接层协议本身不在乎数据是什么,只负责传输。 请注意,数据的末尾有一系列0(pad区域)。 因为数据需要超过一定的最小长度。

末尾跟在数据之后的是校验序列(FCS,Frame Check Sequence )。 检查序列是为了检查数据的传输中是否发生了错误。 在物理层,高压/低压、高频/低频等几个物理信号表示0/1序列,但这些物理信号在传输过程中可能会受到影响并出现错误。 我们怎么发现我们的数据是正确的呢?

一种方法是发送两次数据,比较是否相同。 但是,这将大大降低网络的效率。 FCS采用了循环冗馀校验(CRC )算法。 这简直就像酒店老板雇了收银员,但他又担心收银员的黑钱。 但是每天的销售额都很大,上司坐在旁边看也记不住收到的总数。 所以,他采取了只记住最后一个收钱的人的聪明方法(例如,收了19元,老板记得9 ) 当有新账簿(例如13,尾数为3 )时,他把新尾数和旧尾数相加,记住和尾数)也就是2 )。 收银员给上司钱的时候,上司只能通过总额的最后一位数是否和自己记住的最后一位数来知道收银员是否诚实。 如果我们的数据是收银台的总额,那么我们的FCS就是上司记录的零头。 如果两者不一致,则说明数据在传输过程中会出现错误,无法使用。

FCS凝视着

上面的比喻,实际上是把营业总额除以10,得到最终的尾数。 CRC算法也很相似。 n位CRC算法采用n位因子,诸如1011 : 在数据序列的末尾增加n-1个0。 继续进行因子和数据序列的XOR运算,直到得到n-1位的馀数,也就是100为止。 该馀数的各位取反(011 ),存储在FCS的位置。

11010011101100 000 —在数据序列末尾增加三位数01011 —因子01100011101100 000 — XOR结果1011 —因子00111011101100 000 10

1100010111101100 000 101100000001101100 000 101100000000110100 000 101100000000011000 000 101100000000001110 000 101100000000000101 000 101 1

00000000000000 100 <— 3位余数

上面例子用的是4位CRC。在Ethernet中使用的因子为32位的,以达到更好的检测效果。

集线器(Hub) vs. 交换器(Switch)

以太网使用集线器或者交换器将帧从发出地传送到目的地。一台集线器或交换器上有多个端口,每个端口都可以连接一台计算机(或其他设备)。

集线器像一个广播电台。一台电脑将帧发送到集线器,集线器会将帧转发到所有其他的端口。每台计算机检查自己的MAC地址是不是符合DST。如果不是,则保持沉默。集线器是比较早期的以太网设备。它有明显的缺陷:

1) 任意两台电脑的通信在同一个以太网上是公开的。所有连接在同一个集线器上的设备都能收听到别人在传输什么,这样很不安全。可以通过对信息加密提高安全性。

2) 不允许多路同时通信。如果两台电脑同时向集线器发信,集线器会向所有设备发出“冲突”信息,提醒发生冲突。可以在设备上增加冲突检测算法(collision detection):一旦设备发现有冲突,则随机等待一段时间再重新发送。

交换器克服集线器的缺陷。交换器记录有各个设备的MAC地址。当帧发送到交换器时,交换器会检查DST,然后将帧只发送到对应端口。交换器允许多路同时通信。由于交换器的优越性,交换器基本上取代了集线器。但比较老的以太网还有可能在使用集线器。

WiFi

WiFi的工作方式与集线器连接下的以太网类似。一个WiFi设备会向所有的WiFi设备发送帧,其它的WiFi设备检查自己是否符合DST。由于WiFi采取无线电信号,所以很难像交换器一样定向发送,所以WiFi的安全性很值得关注。WiFi采用加密的方法来实现信息的安全性。

(早期的WEP加密方法非常脆弱,建议使用WPA或者WPA2加密方法。隐藏WiFi设备ID的方法不是很有用。)


总结

我们深入了连接层协议的一些细节。连接层是物理与逻辑的接口,它的设计兼顾了物理需求(比如时钟复原,CRC)和逻辑需求(比如地址、数据)。由于连接层处于网络逻辑的底层,有许多基于连接层的攻击手法,这需要我们对连接层的工作方式有一定的了解,以设计出更好的网络安全策略。

【TCP/IP详解】系列教程

互联网协议入门 1互联网协议入门 2TCP-IP协议详解(1)网络协议概观TCP-IP协议详解(2) 以太网与WiFi协议TCP-IP协议详解(3) IP/ARP/RIP/BGP协议TCP-IP协议详解(4)IPv4与IPv6地址TCP-IP协议详解(5)IP协议详解TCP-IP协议详解(6) ICMP协议TCP-IP协议详解(7) UDP协议TCP-IP协议详解(8) TCP协议与流通信TCP-IP协议详解(9) TCP连接TCP-IP协议详解(10) TCP滑窗管理TCP-IP协议详解(11) TCP重传TCP-IP协议详解(12) TCP堵塞控制



文/ Vamei TODO…

</div> </div>

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。