第二章-链路层-TCP/IP协议详解笔记

本文详细解析了TCP/IP协议中的链路层,包括链路层的三大目的,以太网与IEEE802封装的区别,ARP与RARP的作用,以及SLIP与PPP的优缺点和改进。

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

第二章-链路层-TCP/IP协议详解笔记

2015.4.11

链路层三个目的

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

以太网和IEEE 802封装

802:

目的地址 源地址 长度 DSAP SSAP cntl org_code 类型            数据       CRC  
   6      6    2  AA/1  AA/1 03/1  00/1     2           38~1492       4
                                          类型          IP数据报
                                          0800          38~1492
                                          类型     ARP请求/应答 PAD
                                          0806          28     10
                                          类型    RARP请求/应答 PAD
                                          8035          28     10

以太网:

目的地址 源地址 类型            数据                              CRC
   6      6    2            46~1500                             4
              类型           IP数据报 
              0800          46~1500
              类型          ARP请求/应答
              0806             28
              类型         RARP请求/应答
              8035             28

两种帧格式都采用48bit的目的地址和源地址(硬件地址),802定义的帧格式中长度是指后续长度,不包括CRC,以太网的类型字段规定了后续数据的类型。以太网帧格式中,类型字段之后就是数据,802帧格式中不是。

ARP和RARP对32bit的IP地址和48bit的硬件地址进行映射

802.3标准定义的帧和以太网的帧都有最小长度要求。802.3规定数据部分至少为38字节,以太网要求最少46字节,不足的补插入填充(pad)字节。

尾部封装遭到反对(注:因为链路层传输中几乎不会出现错误,CRC浪费空间和效率)

SLIP

Serial Line IP,串行线路IP,是一种在串行线路上对IP数据报进行封装的简单形式。

SLIP报文的封装:

END      END                 ESC            END
c0      db|dc               db|dd            c0

缺陷: 1. 每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。 2. 数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。 3. SLIP没有在数据帧上加上检验和(CRC)

压缩的SLIP

由于串行线路的速率通常较低(19200b/s或者更低),而且通信经常是交互的,因此在SLIP线路上有许多小的TCP分组进行交换。为了传送1Byte的数据需要20个字节的IP首部和20字节的TCP首部,利用率太低。

CSLIP能把上面的40个字节压缩成3或5个字节,它能在CSLIP的每一端维持多大16个TCP链接,而且知道其中每个链接的首部中的某些字段一般不会发生变化。

PPP

Point-to-Point,点对点协议修改了SLIP协议中的所有缺陷。PPP包括以下三个部分: 1. 在串行线路上封装IP数据报的方法。 2. 建立、配置及测试数据链路的链路控制协议(LCP) 3. 针对不同的网络层协议的网络控制协议(NCP)

PPP数据帧的格式:

标志   地址   控制    协议              信息              CRC   标志
7E/1  FF/1   03/1     2             ->1500B             4    7E/1
                    协议              IP数据报
                    0021
                    协议              链路控制数据
                    C021
                    协议              网络控制数据
                    B021

利用链路控制协议,大多数的产品通过协商合一省略标识符和地址字段,并且把协议字段由2B减少到1B.这样的话PPP只增加了3个额外的字节:1个给协议字段,另外两个给CRC。另外,使用网络控制协议,大多数的产品可以通过协商采用类似于CSLIP压缩的方法减小IP和TCP首部长度。

PPP比SLIP的有点: 1. PPP支持在单根串行线路上运行多种协议 2. 每一针都有CRC 3. 通信双方可以进行IP地址的动态协商 4. TCP/IP首部压缩(与CSLIP类似) 5. 链路控制协议可以对多个数据链路选项进行设置

环回接口(Loopback Interface)

大多数的产品都支持环回接口,以允许在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。根据惯例,127.0.0.1被分配给这个接口,命名为Localhost.

实际上大多数的产品还是照样完成运输层和网络层的过程之后传给自己。

关键点: 1. 传给环回地址的任何数据均作为IP输入 2. 传给广播地址或者多播地址的数据复制一份传给环回接口,然后送到以太网上。(因为广播传送和多播传送的定义包含主机本身) 3. 任何传给该主机IP地址的数据均送到环回接口。

最大传输单元MTU

以太网和802.3对数据帧的长度都有一个限制,分别是1500和1492。这个特性称作MTU.

IP数据报长度过长要进行IP分片(fragmentation)

路径MTU

两台主机通信时要通过多个网络,每个网络的链路层可能有不同的MTU,其中最小的成为路径MTU.

内容概要:本文档详细介绍了基于MATLAB实现多目标差分进化(MODE)算法进行无人机三维路径规划的项目实例。项目旨在提升无人机在复杂三维环境中路径规划的精度、实时性、多目标协调处理能力、障碍物避让能力和路径平滑性。通过引入多目标差分进化算法,项目解决了传统路径规划算法在动态环境和多目标优化中的不足,实现了路径长度、飞行安全距离、能耗等多个目标的协调优化。文档涵盖了环境建模、路径编码、多目标优化策略、障碍物检测与避让、路径平滑处理等关键技术模块,并提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,对无人机路径规划和多目标优化算法感兴趣的科研人员、工程师和研究生。 使用场景及目标:①适用于无人机在军事侦察、环境监测、灾害救援、物流运输、城市管理等领域的三维路径规划;②通过多目标差分进化算法,优化路径长度、飞行安全距离、能耗等多目标,提升无人机任务执行效率和安全性;③解决动态环境变化、实时路径调整和复杂障碍物避让等问题。 其他说明:项目采用模块化设计,便于集成不同的优化目标和动态环境因素,支持后续算法升级与功能扩展。通过系统实现和仿真实验验证,项目不仅提升了理论研究的实用价值,还为无人机智能自主飞行提供了技术基础。文档提供了详细的代码示例,有助于读者深入理解和实践该项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值