数据链路层解决相连主机之间,进行数据交付的问题。如电脑和路由器
mac地址区分同一局域网的不同的主机
以太网帧
mac帧的数据就是ip报文/ARP/RAPR请求
mac帧发生的数据不能太大,在46~1500字节,有效载荷最大长度(mtu)
mtu的约束也影响到tcp的mss大小,控制每次发送数据大小
类型区别数据内容,决定向上交付的协议
目的地址:局域网中下一个主机的mac地址
源地址:当前主机在局域网的mac地址
局域网通信原理
局域网通信是使用mac地址
当局域网发送信息时,所有主机都收到信息,根据目的地址确定是否丢弃不相关报文
数据碰撞:同时发送数据到同一个主机
局域网看成多台主机的临界资源
主机A发送的mac帧到达路由器一再解包交给网络层,网络层根据路由表找到下个主机,封装好mac帧再交付到下一个主机,最后到目标主机B中,主机B网络层再向上交付
再这个过程中源ip和目的ip是不变的,但是源mac和目的mac是一直变化的。
跨网络传送本质是在多个局域网中跳转
交换机
工作在链路层,对局域网进行划分,将报文控制在某个区域中,而不是全局,避免全局报文太多发生碰撞,划分碰撞域。
ARP协议:ip地址转换为mac地址
ARP报文
arp协议,属于mac帧的上层,但归属到数据链路层
源mac地址,目的mac地址在以太网首部和ARP中各出现一次。
(在非以太网情况下,有必要性)
硬件协议类型指的是链路网络类型, 一般为1 表示以太网
下面的值都在以太网的情况下
协议类型指要转换的地址类型, 值为0x0800 表示IPv4
硬件地址长度 6 表示mac地址的长度
协议地址长度 4 表示ip地址的长度
op字段为1表示ARP请求
op字段为2 表示ARP回复
当请求时 目标mac地址为0
回复时,目标地址为 不为0
抓包数据
request
request以太网报头的目的地址是FF::FF::FF::FF
表示广播
reply
ARP报文工作原理
跳转时,路由先广播发送ARP报文,所有主机都收到ARP报文,有效载荷分离,在数据链路层ARP软件层比较ip地址,匹配成功的返回ARP应答报文,路由获得目的主机/下一跳路由的mac地址,再发送mac帧
ARP周边问题
主机的mac地址和ip地址,会被主机缓存起来,只有失效时才会进行ARP报文
可以通过ping,获得该网络的mac地址
多次收到ARP报文,最新的为主
ARP欺骗:多次发送ARP报文,让主机接收到假mac地址,主机发送mac地址的报文被丢弃,达到断网
DNS:域名解析
域名解析将网站这串字符串转为ip地址,再访问服务器
实际上只有ip地址才能访问主机
访问网站,发送请求到域名到DNS服务器,服务器返回ip地址,主机再访问该ip地址
域名简介
www.baidu.com
com:一级域名 com(企业域名) net(网络提供商) org(非盈利组织)
baidu: 二级域名
www: 习惯用法,表示主机支持的协议,可省略
ping命令不关心端口号
ping命令基于ICMP是在网络层(ip),而端口号是在传输层(udp,tcp)的内容。
NAT技术:将私有ip转为公有ip
当主机的私有ip被wan口ip替换时,路由器会保留一张转换表记录源ip和新的源ip
当信息从服务器发回内网时,根据目的ip确定路由转发路径
当端口号重复时,nat不仅会替换ip地址也会替换替换号,来保证唯一性
如转换表第二组数据从1025替换成1026
内网穿透
公网的服务器和局域网的主机建立一个常链接
我们可以通过访问服务器实现访问另一个局域网的主机
正向代理/反向代理
正向代理:对客户端代理,所有请求先经过代理服务器再转发出去
如:校园网
反向代理:对服务器端进行代理,对用户的大量请求分发到不同服务器上
如:对大量请求进行负载均衡