数据链路层和物理层最主要的协议是以太网协议
只要是通过网线上网设备,使用的就是以太网协议
网线------以太网协议
以太网数据帧格式

目的地址和源地址
这里的地址不是IP地址,而是MAC地址(物理地址)

MAC地址是六个字节的数据可以表示2^48个MAC地址
每个设备的MAC地址都是唯一的,无法修改的,这个是电脑的身份标识
IP地址和MAC地址的区别
IP是给网络层使用的,MAC地址是给数据链路层专门使用的
IP关注的是在整个网络传输的过程
MAC关注的是转发的细节,在两个相邻的设备之间转发
举例子

从西安去到安广
源IP和目的IP:西安,安广
源mac和目的mac:西安,北京 / 北京,长春/ 长春 ,白城 / 白城,安广
源mac和目的mac是会进行改变的,关注的是现在到下一步这个过程
类型
类型不同,载荷的数据格式就不一样
CRC
帧尾,和校验和是一样的
IP数据报

类型是16进制的数据
数据包最大的长度是1500个字节,1kb多一点点
IP数据包的拆包和组包更多是因为数据链路层的问题
ARP请求

并不是用来传输数据的,而是根据IP地址,获取到对应的MAC地址

在数据链路层,我们需要获得MAC地址,才能写以太网数据帧
路由器会通过广播地址,发送ARP数据报,每个设备会收取到一个ARP请求,返回一个ARP响应,这样就能获取到对方的IP地址和MAC地址,路由器就会记录存储下来
DNS
可以认为是一个应用层协议,也可以认为是一套系统
DNS域名解析系统
网络上的每个服务器都是有IP地址的,因为这样不利于人的阅读和记忆,所以我们就把IP包成域名,每个域名对应一个IP,DNS就负责记录这些关系。
举例

最初的DNS是通过用户本地的hosts文件进行映射的

在这里就会存储着域名和IP的对应关系,由于维护很复杂,所以后续就把hosts里面的数据提取出来,单独放到一个服务器上,这样的服务器就叫做DNS服务器
在用户访问一个网站的时候,首先会访问的就是DNS服务器,把域名对应的IP进行访问,然后才能真正去访问服务器
本地的hosts文件的优先级是比DNS高的
面对海量的访问DNS如何处理
- 缓存
每次你访问一次DNS的时候,就会把IP记录下来,下次你访问同样的网址的时候,就不需要重新访问DNS
- DNS的服务器有很多个
原始的DNS根服务器只有11个,大部分都是在美国手里,国内很多的都是DNS的镜像服务器,就相当于把根服务器的数据全部映射出来,隔一段时间就更新,这样被掣肘很大,所以国内抓紧升级ipv6,搭建DNSV6的域名解析系统,就是为了避免被掣肘
