首页 > 其他 > 详细

网络之数据链路层

时间:2021-05-02 16:51:23      阅读:21      评论:0      收藏:0      [点我收藏+]

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报文学习;

    数据链路层封装后继续转发

  • RTB收到RTA的数据帧后,查看目的MAC;
    • 若目的MAC是自己,重复以上步骤;
  • 服务器A收到RTB发送的数据帧后,查看MAC地址;
    • 若是自己的MAC,则查看TYPE字段交给对应的上层协议处理;
      • 上层IP头部,查看目的IP是否是自己的;
        • 如果是自己的,查看Protocol标识6,交给上层TCP处理
          • TCP查看目的端口标识80,交给上层协议http处理

 

 

 

交换机的转发行为

技术分享图片

 

 

 

泛洪:广播、组播、目的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相同》相同则接收,不相同则丢弃;
  • Hybrid:可允许多个vlan通过,一般用于交换机之间连接。
    • 接收数据帧:是否带Tag;
      • 否:加上端口pvid的Tag》检查pvid是否允许通过?
        • 是:接收;
        • 否:丢弃;
      • 是》检查是否在允许通过的列表中?
        • 不在允许列表则丢弃;
        • 在允许列表》接收;
    • 发送数据:是否配置发送数据时携带Tag?(检查Tag列表、unTag列表)
      • 否:剥离Tag发送;
      • 是:保持原有tag发送;
  • Trunk:允许多个vlan通过,一般用于交换机互连。
    • 接收数据:是否带tag?
      • 否:加上端口pvid的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

 

网络之数据链路层

原文:https://www.cnblogs.com/hxl23633/p/14725631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!