您的位置:首页 > 其它

MAC帧

2016-05-13 16:00 169 查看
点对点信道的数据链路层的协议数据单元——帧。
数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。
点对点信道的数据链路层在进行通信时的主要步骤:假设结点A要向结点B发送数据
结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。

结点A把封装好的帧发送给结点B的数据链路层。

若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报上交给上面的网络层,否则丢弃这个帧。
三个基本问题:
1.封装成帧:帧长等于数据部分的长度加上帧首部和尾部的长度,而首部和尾部的一个重要作用是进行帧定界(确定帧的界限),此外,首部和尾部还包括许多必要控制信息。
2.透明传输:由于帧的开始和结束的标记是使用专门指明的控制字符。不管从键盘上传输什么字符都可以放在这样的帧中传输过去。如果所传字符为ASCII,就是不透明传输,须加转义字符ESC(1B),
用字节填充法解决透明传输的问题。
3.差错检测:为了进行差错而添加的冗余码称为帧检测序列FCS.

在局域网中,硬件地址又称为物理地址或MAC地址。






主机发送一个ARP请求获得目的主机的硬件地址



ARP报文:



硬件类型1表示以太网,除此之外还有令牌环网
协议类型:要转换的地址类型,为0x0800为IP地址,硬件类型长度6个字节,用一个字节描述。
协议地址长度4个字节:IPv4:4个字节;
IPv6:16个字节。
op:1表示请求,2表示应答。
注:Linux下MAC得知是虚拟的。



eg:



使用如下脚本语言获取局域网MAC地址与IP地址映射关系
#!/bin/bash
i=1
while [ $i -lt 255 ]
do
ping -c 1 192.168.136.$i
let i++
done





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据链 路层