文章目录
全文约 5388 字,预计阅读时长: 15分钟
“数据链路层” 和 “网络层”
- 网络层:提供数据转发依据。让我们找到目标主机。
- 数据链路层:负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。
- Mac解决相邻主机的通信问题,将数据帧交付给它的下一跳设备,相邻的主机一定属于同一个网段。
认识以太网
“以太网” 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式, 传输速率等;
- 例如以太网中的网线必须使用双绞线;传输速率有10M, 100M, 1000M等;
- 以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN等。
- Linux之所以能移植到手机,是将内核的以太网协议模组换成无线电相关的。
以太网帧格式
- 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。
- 帧协议类型字段有三种值,分别对应IP、ARP、RARP;
- 帧末尾是CRC校验码。校验数据有没有出错。
- TCP数据段、IP数据包、MAC数据帧;有各自的校验码,层层过滤。某一层出错了,就不许在往上传了。
MAC帧如何解包分用
固定长度的定长报头。2字节的帧协议类型字段。
认识MAC地址
MAC英语:Media Access Control Address,直译为媒体存取控制位址,也称为局域网地址(LANAddress),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address)。
- MAC地址用来识别数据链路层中相连的节点。
- 长度为48位, 及6个字节, 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
- 在网卡出厂时就确定了, 不能修改。 mac地址通常是唯一的。虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址。
MAC地址和IP地址
- IP地址描述的是路途总体的 起点 和 终点;
- MAC地址描述的是路途上的每一个区间的起点和终点。
局域网中存在数据碰撞,每台主机会进行碰撞检测,实行碰撞避免算法。一台主机发送的数据,每台主机都收到了,检测到不是给自己便选择丢弃。对网卡设置,启用混杂模式和抓包工具,可以实现对特定主机的mac帧不丢弃,进行监听。
局域网可以看作是一个临界资源,每台主机的碰撞检测则是主机间的“互斥”功能;同时又碰撞避免算法,实现了主机间的“同步”功能。交换机划分碰撞域,提交网络传输效率。