数据链路层与物理层

数据链路层和物理层最主要的协议是以太网协议

只要是通过网线上网设备,使用的就是以太网协议

网线------以太网协议

以太网数据帧格式

目的地址和源地址

这里的地址不是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如何处理

  1. 缓存

每次你访问一次DNS的时候,就会把IP记录下来,下次你访问同样的网址的时候,就不需要重新访问DNS

  1. DNS的服务器有很多个

原始的DNS根服务器只有11个,大部分都是在美国手里,国内很多的都是DNS的镜像服务器,就相当于把根服务器的数据全部映射出来,隔一段时间就更新,这样被掣肘很大,所以国内抓紧升级ipv6,搭建DNSV6的域名解析系统,就是为了避免被掣肘

相关推荐
小羊没烦恼!4 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里4 天前
java中的继承和多态的区别
java
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕4 天前
JSONObject与JSONArray封装数据格式区别
java·json
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖4 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时4 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang4 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi4 天前
mysql 查询所有表名并授权
java