Linux——网络(数据链路层)&ARP&DNS

数据链路层:负责相邻设备之间的数据传输

以太网

以太网协议:描述相邻设备

以太帧格式

MAC地址网卡设备的物理硬件地址,用于标识相邻的主机,通常在出厂时就会设定,无符号6字节的整数

MAC地址和IP地址的不同:

  • MAC地址描述的是路途上的每一个区间的起点和终点
  • IP地址描述的是路途总体的起点和终点

48位对端MAC地址 + 48位源端MAC地址:标识哪两个相邻设备在进行数据传输

16位上层协议类型:记录网络层使用的协议类型,用于数据分用时上层解析协议的选择

32位校验和帧尾:CRC校验和

认识MTU

MTU:最大传输单元,链路层限制的最大的数据帧大小限制

MTU对编程的影响:

TCP协议:三次握手会协商MSS(最大数据段大小),往后通信的时候都会从缓冲区中取出不大于MSS大小的数据进行传输,然而MSS就是根据MTU计算得到的,MSS = MTU-40,因此,我们说TCP在传输层会自动进行数据分段,因此TCP传输在网络层不会进行数据分片

UDP协议:不会协商MSS,只要数据小于64k-28就可以进行传输,但是大于MTU的话会在网络层进行数据分片,但是分片越多传输越危险,因为一个分片出问题则原始报文重组失败所有分片都会被丢弃,因此要尽可能减少数据分片的几率

其他协议

ARP协议——地址解析协议

作用:根据IP地址获取指定相邻设备的MAC地址

ARP数据报格式

硬件类型指链路层网络类型,1为以太网

协议类型指要转换的地址类型,0x0800为IP地址

op字段为1表示ARP请求,op字段为2表示ARP应答

广播ARP请求

源端MAC地址、IP地址、对端MAC地址(留空)、IP地址

与自己相邻的设备都能收到对应的ARP请求,相邻设备收到请求后,检测对端IP与自己是否相符合,如果符合则组织ARP响应,如果不符合,则丢弃请求

ARP局域网欺骗攻击

ARP是一个广播请求,局域网中可能就会有恶意主机伪装IP地址进行ARP响应

解决方案:防火墙中的MAC地址白名单

DNS协议——域名解析协议

域名:服务器的别名,由便于记忆的字符串组成

使用TCP协议进行传输可以进行从域名到IP地址的解析,默认端口53

域名服务器的划分

根域名服务器,一级域名服务器,二级域名服务器

域名的划分

一级域名:

地域域名:.cn, .jp...

性质划分:.edu, .gov, .com...

二级域名:

.baidu.com, .qq.com...

三级域名:

.zhidao.baidu.com...

域名解析流程

  1. 查看缓存
  2. 查看本机hosts文件
  3. 请求本地域名解析服务器
  4. 根域名服务器
  5. 一级域名服务器
  6. 二级域名服务器...

你可能感兴趣的:(Linux)