TCP/IP 协议:链路层概述

我们以一个常见的查看IP指令为出发点(ifconfig -a):

 

1、链路层是什么

链路层是指硬件层协议。也即网络所使用的硬件,比如:以太网(后文主要讨论对象),令牌环网,FDDI已经RS-232串行线路。

在上面的命令(ifconfig -a)结果中,硬件地址(MAC)为08:00:27:00:9c:59 (48bit),链路层主要的作用就是连接不同的两个硬件。

 

2、链路层的作用

1.为IP模块发送和接收IP数据报

2.为ARP模块发送和接收ARP应答

3.为RARP发送RARP请求和接收RARP应答

 

注意:

1.TCP/IP支持在不同链路层之间的传输

2.IP、ARP、RARP表示三个协议,后面的三个章节我们将描述这3个协议

 

3、具体链路层

3.1、RFC标准的链路层以及链路层实例以太网的封装格式:

 

3.2、对IP数据包的进一步封装SLIP和PPP协议:

在串行线路上对IP数据报进行简单的封装存在多种方式SLIP就是其中一种简单的形式,SLIP对IP数据报的封装形式

            

由于SLIP只是对IP数据报进行简单的封装,所以依然存在较多的问题:

1.两端都需要对方的IP地址,不能将本端的IP告知另一端

2.封装格式中不存在类型字段,因此该封装具有特殊性

3.封装格式中不存在校验和

 

PPP协议是为解决SLIP的问题而提出的另一种对IP数据包封装格式:

 

3.3、减少逻辑操作的环回接口(Loopback Interface)描述:

环回接口(Loopback Interface)存在原因是为了减少在主机内部的数据传递(省略传输层(TCP,UDP),网络层(IP层))的逻辑操作。其具体的情况见最初命令(ifconfig -a)中的lo。

其判断的逻辑较为简单:

关于lookback interface的几个注意点:

1.传给环回地址(一般是127.0.0.1)的任何数据均作为IP输入

2.传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义包含主机本身

3.任何传给该主机IP地址的数据均送到环回接口

 

3.4、最大传输单元(MTU)和路径MTU描述:

每一种数据链路层协议,都有一个MTU(最大传输单元)定义,在这个定义下面,如果IP数据报过大,则要进行分片(fragmentation),使得每片都小于MTU。需要注意的是MTU只是逻辑限制(程序限制,一般限制为最优解),而不是固定值,使用netstat –i可以查看MTU(ifconfig –a同样可以)。

     

注意此处显示的MTU表示的是最大传输单元。路径MTU则是指两台相互通信的主机中路径最小的那个MTU。

 

 

Reference:

祝:玩得愉快!
原文地址:https://www.cnblogs.com/hejianglin/p/5470706.html