网络之数据链路层
OSI七层模型
应用层:网络进程访问应用。1.为应用进程(例如,电子邮件、文件传输和终端仿真)提供网络服务;2。提供身份验证。
表示层:数据表示。1.确保接收系统能读出该数据;2.格式化数据;3.构建数据;4.协商用户应用层的数据传输语法;5.提供加密。
会话层:主机间通信。建立、管理和终止在应用程序之间的会话。
传输层:传输问题(端到端连接)。1.确保数据传输可靠性;2.建立、维护和终止虚拟电路;3.通过错误检测和恢复;4.信息流控制来保障可靠性。
网络层:数据传输。1.路由数据包;2.选择传输数据的最佳路径;3.支持逻辑寻址和路径选择。
数据链路层:访问介质。定义如何格式化数据以便进行传输以及控制对网络的访问;支持错误检测。例如,光纤----光信号,网线-----电信号。
物理层:二进制传输,传输介质。例如网线、光纤、线缆。
数据封装

TCP/IP协议栈
定义了4层。1-3层使用不同的名称,5-7层使用1个应用层
应用层
传输层
网络层
网络接口层(物理层、数据链路层)
双工模式:半双工(对讲机,只允许一方发数据)、全双工(手机通话,允许双方同时发送数据)
网络通信协议
局域网:
IEEE802
以太网:IEEE802.3、ETH 2
广域网
帧中继
PPP
HDLC
帧格式:
Ethernet_II帧格式

D.MAC——目的MAC
S.MAC——源MAC
Type——数值,标识上层协议
Length/Type >= 1536(0x0600) Ethernet_II
Length/Type <= 1500(0x05DC) IEEE802.3
Data——上层数据包
FCS——校验
IEEE802.3帧格式

MAC地址
48位:前24位为QUI代码,后24位由厂商决定
单播:第8位为0
广播:第8位为1,48个比特位全为1
组播:第8位为1,48个比特位不全为1
网络层数据包
IP报文头部

IP编址
IP地址分为网络部分和主机部分;由32个二进制位组成,通常用点分十进制表示。
二进制:0-1
十进制:0-9
十六进制:0-9、A-F
2进制转16进制:8位二进制划分为2个4位二进制,分别把2个4位二进制转为10进制数,再分别把两个10进制数转化为2个16进制数。
16进制转2进制:方法同上
网络地址:
找ip中的主机位,将主机位将二进制位全置为0,再将二进制转为十进制,则为网络地址
广播地址:
找ip中主机位有几位,将主机位全部置为1,再将二进制转为十进制,则为广播地址
IP地址分类

私有ip地址

变长子网掩码:解决了有类IP资源浪费问题(根据实际ip需求划分子网)
无类域间路由
CIDR增强了网络的可扩展性,减轻路由器的压力。将主机位借给网络位,使其聚合成1个大的网段。

网关:转发来自不同网段之间的数据包
路由器上主机A连接的接口作为主机A的网关;
路由器上主机B连接的接口作为主机B的网关。

ICMP:控制消息协议
用来传递差错、控制、查询
应用:ping、tracert
ARP地址解析协议
数据链路层封装数据时,需要目的MAC地址。
ARP报文不能穿越路由器,不能在其他广播域转发;
查ARP缓存表——————arp -a
TCP端口号:用于区分不同的网络协议
FTP:20/21
HTTP:80
Telnet:23
SMTP:25
TCP头部

TCP建立连接

TCP关闭连接
主机A发送断开连接数据包中有ACK,该ACK是对B上次发送的数据包的确认

UDP头部
- 使用UDP时由应用程序程序根据需要提供报文到达确认、排序、流量控制等功能。
- UDP头部仅占8个字节,传输数据时没有确认机制。
- UDP不提供重传机制、占用资源小、处理效率高。
- 一些时延敏感的流量,如语音、视频等,通常使用UDP作为传输层协议。

数据包转发过程
场景:主机A向服务器A发送数据

主机A:10.1.1.1/24 服务器A:172.16.10.1/24
- 数据段封装(传输层):主机A封装应用层的数据段TCP header+Data,源端口、目的端口(标识上层协议http 80)
- IP封装(网络层):IP header+TCP header+Data,目的ip(172.16.10.1/24)、源ip(10.1.1.1/24)、Protocol(标识上层协议TCP 0X06)
- 判断:源ip和目的ip是否在同一网段,
- 如果是,直接进行数据链路层的封装(查ARP缓存表获取目的ip的MAC地址);
- 若不是同一网段,主机A先查找本地路由表;是否有到目的ip网段的路由;
- 若无,直接丢弃数据包; 若有,获取下一跳RTA(网关)的ip;主机A检查ARP缓存表,是否有下一跳ip对应的MAC地址;
- 若无,先发ARP报文(目的ip为下一跳的ip),获取下一跳RTA的MAC;进行链路层封装;
- 若有,直接进行数据链路层的封装。
数据链路层的封装:Ethernet header+IP header+TP目的MAC(下一跳RTA的MAC)、源MAC、Type(标识上层协议IP 0x0800)
- RTA收到主机A发送的数据帧后,查看目的MAC;
- 若目的MAC不是自己,则丢弃;
- 若目的MAC是自己,再看TYPE字段标识的上层协议为0x0800,剥离帧头帧尾后交给上层IP协议处理;
- IP层查看IP头部,目的IP为(172.16.10.1/24)---不是发给自己的,此时路由器RTA查看自己的路由表,是否有对应目的ip网段的路由;
- 若无,则直接丢弃;
- 若有,获取对应下一跳(网关RTB)的ip;然后RTA继续查ARP缓存表是否下一跳RTB的MAC地址;
- 若有,直接进行数据链路层封装(目的MAC为下一跳RTB的MAC、源MAC地址为RTA出接口的地址)
- 若无,发送ARP报文学习;
- IP层查看IP头部,目的IP为(172.16.10.1/24)---不是发给自己的,此时路由器RTA查看自己的路由表,是否有对应目的ip网段的路由;
数据链路层封装后继续转发
- RTB收到RTA的数据帧后,查看目的MAC;
- 若目的MAC是自己,重复以上步骤;
- 服务器A收到RTB发送的数据帧后,查看MAC地址;
- 若是自己的MAC,则查看TYPE字段交给对应的上层协议处理;
- 上层IP头部,查看目的IP是否是自己的;
- 如果是自己的,查看Protocol标识6,交给上层TCP处理
- TCP查看目的端口标识80,交给上层协议http处理
- 如果是自己的,查看Protocol标识6,交给上层TCP处理
- 上层IP头部,查看目的IP是否是自己的;
- 若是自己的MAC,则查看TYPE字段交给对应的上层协议处理;
交换机的转发行为

泛洪:广播、组播、目的MAC未知;交换机接口A收到数据帧后,复制多分数据帧后从其他接口(除了自己接收的接口)转发出去
转发:单播、目的MAC已知;交换机接口A收到数据帧后,根据目的MAC从指定的接口转发出去
丢弃:交换机接口A收到数据帧后,1.FCS校验未通过会丢弃;2.从接口A收到,然后从接口A转发;
二层交换机:有效地隔离了广播冲突域
链路聚合
作用:能够提高链路带宽,增强网络可用性,支持负载分担。

链路聚合模式:

-
- 手工负载分担模式下,所有活动接口都参与数据的转发,分担负载流量。
- LACP模式支持链路备份backup。
数据流控制

-
- Eth-Trunk链路两端相连的物理接口的数量(最多连接8个接口)、速率、双工方式、流控方式必须一致。
vlan帧格式
通过tag区分不同的vlan

交换机链路端口类型
- access:只属于1个vlan,一般用于连接主机。
- 收数据帧:是否带Tag,
- 不带Tag》加上端口pvid的vlan tag》接收;
- 带Tag》检查是否与端口pvid相同》相同则接收,不相同则丢弃;
- 收数据帧:是否带Tag,
- Hybrid:可允许多个vlan通过,一般用于交换机之间连接。
- 接收数据帧:是否带Tag;
- 否:加上端口pvid的Tag》检查pvid是否允许通过?
- 是:接收;
- 否:丢弃;
- 是》检查是否在允许通过的列表中?
- 不在允许列表则丢弃;
-
- 在允许列表》接收;
发送数据:是否配置发送数据时携带Tag?(检查Tag列表、unTag列表)
- 否:加上端口pvid的Tag》检查pvid是否允许通过?
- 否:剥离Tag发送;
- 是:保持原有tag发送;
- 接收数据帧:是否带Tag;
- Trunk:允许多个vlan通过,一般用于交换机互连。
- 接收数据:是否带tag?
- 否:加上端口pvid的tag》检查是否允许通过?
- 是:接收;
- 否:丢弃;
- 是:检查是否在允许通过的列表中?
- 是:接收;
- 否:丢弃
- 否:加上端口pvid的tag》检查是否允许通过?
- 接收数据:是否带tag?
pvid和VLANid的区别
pvid是指交换机的端口默认VLANid,是一个局部名称,一般交换机的默认vlan是vlan 1,即端口的pvid为1;
vlan id是一个全局名称,可划分范围为:0~4095,0和4095均不可用,故范围为1~4094.
vlan的划分方法
基于Mac、接口、IP子网、协议、策略;
路由
路由器的作用
为数据包选择一条最优路径,并进行转发。
IP路由表
路由表项中包含的信息:目的网段、掩码、协议、优先级、开销、标识位、下一跳、出接口。

Proto:协议,定义该条路由通过什么方式得到的,例如static——静态配置。
Pre:优先级,于Proto一一对应,每种协议方式对应一种优先值,值越小优先级越高。
Cost:路由度量,即开销,使用该条路由的开销,值越小越好。
路由选路匹配顺序:destination/Mask》Proto》Pre》Cost
| 路由协议类型 | Direct | OSPF | Static | RIP |
| 优先级 | 0 | 10 | 60 | 100 |

浙公网安备 33010602011771号