TCP/IP详解笔记(1)——链路层

本文详细介绍了计算机网络中的链路层协议,包括以太网与IEEE802标准的区别、早期的SLIP协议及其不足之处、PPP协议如何改进这些不足并成为主流、环回接口的工作原理、MTU的概念以及路径MTU的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 链路层简述

下图可以看出链路层主要有三个作用

  • 为IP模块发送和接收数据报
  • 为ARP发送请求和接收应答
  • 为RARP发送请求和接收应答
    ARP和RARP是地址(逆)解析协议,后续会讲到。
    在这里插入图片描述

链路层作为最下层,它的协议也由使用的硬件支持。

2. 以太网&IEEE 802

这是两个最常见的封装标准,它们对应了不同的局域网硬件或者说类型。

  • 以太网(RFC894)——以太网
  • IEEE802——令牌环网

简述一下这两种局域网类型的区别。

  • 以太网:
    1. 每台主机都可以像主干发送信息串
    2. 它们会监听主干上是否有人发言,有就等一会,没有就发言
    3. 如果发言时冲突,则冲突的两台主机会分别随机等待不同的时间
    4. 其他的电脑在读取数据包时会通过IP和端口检查是不是发给自己的。
  • 令牌环网: 主机组成环形,环形中有一令牌,由一号机向下传递,每个主机有令牌时才能向主干发送信息。

  令牌环网的主要缺点在于强依赖令牌,每个局域网都要节点去监控和管理,所以现在我们的局域网类型基本都是以太网。
  这也导致了规定每台Internet主机必须能发送和接收以太网(RFC894)标准封装的帧。

3. SLIP:串行线路IP

这是一种封装很简单的协议,早期的拨号上网就是用的这种协议。

在这里插入图片描述
它具有如下规则

  • 结尾加上END特殊字符,为了防止噪声被当作数据报,在开始也传一个END。
  • 如果IP报文含有END,则连续传0xdb和0xdc来取代,0xdb被称作SLIP的ESC字符,和ASCII码的不同。
  • 如果IP报文含有ESC字符,则连续传0xdb和0xdd取代。

同时它还具有以下缺陷

  • 无法通知本端IP到另一端
  • 帧没有类型字段,如果线路使用SLIP,则不能同时使用其他协议。
  • 没有校验码,如果被噪声影响,只能由上层纠错,

4 PPP:点对点协议

由于PPP改进了缺陷,逐渐取代了SLIP,我们现在上网用的链路层协议就是PPP封装在以太网框架中的PPPoE协议。

PPP修改了SLIP协议的缺点:

  • 支持数据校验
  • 建立链路控制协议(LCP逻辑子层),允许双方协商,确定不同选项。
  • 针对不同网络层协议的网络控制协议(NCP)体系。

在这里插入图片描述

5 环回接口

我们平常写程序,本地调试使用的127.0.0.1以及localhost就是用这个接口。

在这里插入图片描述
图中有三个关键点

  • 传给环回地址的任何数据均作为IP输入
  • 传给广播或多播地址的数据报复制一份传给环回接口,然后送至以太网。
  • 任何传给主机IP地址的数据均送到环回接口。

环回接口可以被当作另一个链路层,所以使用传输层和网络层来处理环回数据可以很大程度简化设计。

6 最大传输单元MTU

以太网对数据帧长度又一个限制,链路层的这个特性称作MTU,不同类型的网路基本都有上限。
在这里插入图片描述

如果IP层的一个数据报比MTU还要大,那么IP层要对数据报分片,保证每一片小于MTU。
我们可以使用netstat -in的命令查看每个接口的MTU,图中eth0就是以太网。
在这里插入图片描述

7 路径MTU

两台主机通信要通过多个网络,而每个网络可能有不同的MTU,所以重要的是它们之间最小的MTU,称作路径MTU。

路径MTU不一定是常数,因为选路不一定对称,A到B和B到A的路由不一定相同,所以路径MTU在两台主机的不同方向上可能会不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值