网络级数据链路层重点协议

网络层重点协议

在网络环境中确定一个合适的路径

IP协议

协议头格式

20

4位版本

4位首部长度

8位服务类型(TOS)

16位总长度

16位标识

3位标志

13位片偏移

8位生存时间(TTL)

16位首部检验和

32位源地址IP地址

32位目的IP地址

选项(若存在)

数据

  • 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4。
  • 4位头部长度(header length):IP头部的长度是多少个32bit,也就是 length * 4 的字节 数。4bit表示最大的数字是15,因此IP头部最大长度是60字节。
  • 8位服务类型(Type Of Service):3位优先权字段(已经弃用),4位TOS字段,和1位保留 字段(必须置为0)。
    • 4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。 这四者相互冲突,只能选择一个。
      • 对于ssh/telnet这样的应用程序,最小延时比较重要;
      • 对于 ftp这样的程序,最大吞吐量比较重要。
  • 16位总长度(total length):IP数据报整体占多少个字节。
  • 16位标识(id):唯一的标识主机发送的报文。如果IP报文在数据链路层被分片了,那么每 一个片里面的这个id都是相同的。
  • 3位标志字段:
    • 第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。
    • 第 二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。
    • 第三位表 示"更多分片",如果分片了的话,最后一个分片置为1(类似于一个结束标记),其他是0。
  • 13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移。

其实就是 在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。

因此, 除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。

  • 8位生存时间(Time To Live,TTL):数据报到达目的地的最大报文跳数。
    • 一般是64。每次 经过一个路由,TTL -= 1,一直减到0还没到达,那么就丢弃了。这个字段主要是用来防止出 现路由循环。
  • 8位协议:表示上层协议的类型。
  • 16位头部校验和:使用CRC进行校验,来鉴别头部是否损坏。
  • 32位源地址和32位目标地址:表示发送端和接收端。
  • 选项字段(不定长,最多40字节):略

数据链路层重点协议

以太网

局域网的一种技术标准(规定,规范)

以太网帧

6字节

6字节

2字节

46~1500字节

4字节

目的MAC地址

源MAC地址

类型

数据

CRC

类型

(0800)

IP数据报

类型

(0806)

ARP请求/应答(28字节)

PAD(18字节)

类型

(8035)

RARP请求/应答(28字节)

PAD(18字节)

  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP
  • 帧末尾是CRC校验码

MTU

以太网的最大传输单元

  • 对数据传输的大小限制,这个限制是不同的数据链路对应的物理层,产生的限制。
  • 超过大小就会分片。

以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要 在后面补填充位

最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU

不同的数据链路层标准的MTU是不同的;

数据包长度大于拨号链路的MTU了,则需要对 数据包进行分片(fragmentation);

MTU对IP协议的影响

由于数据链路层MTU的限制,对于较大的IP数据包要进行分包。

  • 将较大的IP包拆分为多个小包(IP协议头格式,16位标识id,3位标志,13位片偏移)
    • 多个小包的标识id相同
    • 3位标志:
      • 第二位为0,标识允许分片;
      • 第三位,结束标识
    • 13位片偏移:标识小包顺序,IP数据方便重组
  • 小包丢失,接收端重组失败
    • 网络层不负责重新传输数据;

MTU对UDP协议的影响

  • 一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)),那么就会在网络 层分成多个IP数据报。
  • IP数据报有任意一个丢失,接收端网络重组失败,若UDP数据报,在网络层被分层,整个数据丢失概率大大增加

MTU对TCP协议的影响

TCP的一个数据报不能无限大,受制于MTU;

了解:

TCP的单个数据报的最大消息长度,称 为MSS(Max Segment Size);

TCP在建立连接的过程中,通信双方会进行MSS协商。

最理想的情况下,MSS的值正好是在IP不会被分片处理的最大长度(这个长度仍然是受制于 数据链路层的MTU)。

双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值

然后双方得知对方的MSS值之后,选择较小的作为最终MSS。

MSS的值就是在TCP首部的40字节变长选项中(kind=2);

  • 小包丢失,得益于TCP可靠连接,保证数据重发

ARP协议

ARP:一个介于数据链路层和网络层之间的协议;

ARP协议建立了IP地址与MAC地址的映射关 系

IP:网络传输的起点和终点

MAC:下一跳的起点和终点

在数据链路层,寻找目标网路设备(下一跳)MAC地址的过程,称为ARP寻址:

(1)主机和路由器中都保存了一张ARP缓存表:通过IP地址可以找到对应的MAC地址。

(2)根据下一跳设备的IP地址,在ARP缓存表中能找到对应的MAC地址,则可以设置目的MAC并发送 数据报。

(3)如果找不到,则发送ARP广播数据报:广播(FF:FF:FF:FF:FF:FF)的目的MAC为寻找MAC,询问下一跳设备的MAC地址;

(4)目标设备,会返回ARP应答数据报,包括自己的MAC地址;

总结:

数据链路层

  • 数据链路层的作用:两个设备(同一种数据链路节点)之间进行传递数据
  • 以太网是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:
  • 规定了网络拓扑结构,访问控制方式,传输速率等;
  • 以太网帧格式
  • 理解mac地址
  • 理解arp协议
  • 理解MTU

网络层

  • 网络层的作用:在复杂的网络环境中确定一个合适的路径。
  • 理解IP地址,理解IP地址和MAC地址的区别。
  • 理解IP协议格式。
  • 了解网段划分方法
  • 理解如何解决IP数目不足的问题,掌握网段划分的两种方案。理解私有IP和公网IP
  • 理解网络层的IP地址路由过程。理解一个数据包如何跨越网段到达最终目的地。
  • 理解IP数据包分包的原因。
  • 了解NAT设备的工作原理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值