2.链路层

简介

设计链路层的目的:网络

  1. 为IP模块发送和接收IP数据报
  2. 为ARP模块发送ARP请求和接收ARP应答
  3. 为RARP模块发送RARP请求和接收RARP应答

TCP/IP支持多种链路层协议,如以太网、令牌环往、FDDI、RS-232串行线路等oop

以太网和IEEE 802封装

image_1cgp1l2jf1313hosn4m1o04spf9.png-109.3kB

其中链路层封装的源地址和目的地址都是48位(6字节)的MAC地址,ARP和RARP负责对MAC地址和32位IP地址进行互相转换性能

其中以太网和802主要区别是:设计

  1. 以太网首部最后2字节是后续数据的类型,0800表明IP数据报,0806表明ARP数据报,8035表明RARP数据报;而802首部最后2字节是后续数据的字节长度
  2. 以太网首部以后就是数据,长度为46~1500字节;802首部以后还有一段其余内容,而后才是数据,长度在38~1492字节

以太网封装格式最多见blog

SLIP:串行线路IP

是一种在串行线路上对IP数据报进行封装的简单形式接口

image_1cgpc8tp61sj5j9tpqjsqo1f1tm.png-24kB

  1. 在IP数据报先后加上END(c0)避免线路噪声被混入数据报,保证报文正确传输
  2. 将IP报文中的END字符转义为两字节0xdb和0xdc
  3. 将IP报文中的ESC字符转义为两字节0xdb和0xdd

经过转义避免IP报文中的数据被当成SLIP的特殊字符处理队列

优势:ip

  1. 简单

缺点:进阶

  1. 每一端必须知道对方IP
  2. 数据帧中没有类型字段,只支持对IP协议封装
  3. 数据帧中没有校验和,须要依赖IP层进行校验

压缩的SLIP

简称CSLIP请求

串行线路速度较低,致使传输的分组一般较小,这种状况下加入20字节的TCP首部和20字节的IP首部会让数据报较大,总共超过40字节。引入CSLIP可将40字节(TCP和IP首部)压缩至3-5字节,提升传输性能

PPP:点对点协议

SLIP协议的进阶版

image_1cgpd27gqibg1bt3p5cuhqv4t13.png-40.1kB

相比SLIP,PPP的改进:

  1. 支持封装多种网络层协议
  2. 数据帧有校验和
  3. 基于IP协议通讯双方能够动态协商IP地址
  4. 与CSLIP相似,支持压缩TCP和IP首部
  5. 链路控制协议能够对多个数据链路选项进行设置

环回接口

简称loopback接口,提供与本机通讯的一种机制,一般使用ip地址127.0.0.1和主机名localhost

image_1cgpdlbev1ucq1k6j1cak1afoju71g.png-91.8kB

  1. 传给127.0.0.1和本机ip的数据都会传到环回接口
  2. 传到环回接口的数据不会进过以太网,而是直接进入IP输入队列,从而被IP层接收处理
  3. 传给广播或多播地址的数据会复制一份到环回接口。由于广播和多播包含了主机自己

最大传输单元MTU

为了提升网络交互的性能,链路层须要给数据帧设置长度上限,这个上限就是MTU(最大传输单元)

若是IP层数据报比MTU要大,则IP层须要进行数据分片

image_1cgpegnou1rrm157i1d2b8pk12fh1t.png-38.2kB

路径MTU

两台主机之间多个网络,每一个网络链路层都有MTU,其中最小MTU就是路径MTU

路径MTU不对称,也就是在两个方向上不一致

相关文章
相关标签/搜索