2、协议层

TCP/IP套件中的协议是以层次的方式设计的,其中每个协议层解决了通信问题的单独部分。这种分层可以用作设计协议实现的指南,因为每个协议可以与另一个分开实现。然而,以严格分层的方式实现协议可能导致协议层之间的通信降低总体性能的情况。为了克服这些问题,协议的某些内部方面可以被其他协议所了解。 必须注意,层次之间只共享重要的信息。大多数的TCP/IP协议的实现在应用层和较低协议层之间保持严格的划分,而较低层可以或多或少交错。在大多数操作系统中,较低层协议被实现为操作系统内核作为与应用层处理通信的入口点的一部分。应用程序呈现TCP/IP实现的抽象视图,使得网络通信与进程间通信或文件I/O差异很小。这意味着由于应用程序不知道下层使用的缓冲机制,所以它不能利用这个信息来例如重用具有频繁使用的数据的缓冲器。此外,当应用程序发送数据时,这些数据必须由应用程序内存空间拷贝到内部缓冲区然后被网络层协议代码处理。在最小系统中使用的操作系统,例如lwIP的目标系统通常不会在内核和应用程序之间保持严格的保护障碍。这就允许使用共享内存这种更轻松的方式让应用程序和较低级的协议层之间进行通信。特别地,可以使应用层知道下层使用的缓冲器处理机制。因此,应用程序可以更有效的重复使用缓冲区。此外,由于应用程序可以使用像网络代码使用的内存。因此应用程序可以直接地读写内部缓冲区,从而节省了执行副本的操作。

2、LwIP协议栈规范翻译——协议层的更多相关文章

  1. LwIP协议栈规范翻译——摘要目录

    摘要 LwIP是一种TCP/IP协议栈的实现.LwIP协议栈专注于减少内存的使用和代码的大小,使LwIP适用于嵌入式系统中在有限的资源下能够使用小型的客户机.为了减少处理和内存的需求,LwIP使用裁剪 ...

  2. 1、 LwIP协议栈规范翻译——简介

    1.简介 在过去几年中,计算机和计算机支持设备接之间的互联到无线网络日趋增加.计算机已经越来越无缝的集成在了日常的设备且价格也在下降.同时,无线网络技术例如蓝牙[HNI+98]和IEEE802.11b ...

  3. 3、LwIP协议栈规范翻译——概述

    3.概述 像许多其他TCP/IP实现一样,分层协议设计已经成为设计lwIP实现的指南.每个协议实现为自己的模块,其中几个功能充当每个协议的入口点.尽管协议层是单独实现的,一些层却不全是,正如前面所叙述 ...

  4. 4、 LwIP协议栈规范翻译——流程模型

    4.流程模型 协议实现的流程模型描述了系统被划分为不同的流程的方式.用于实现通信协议的一个流程模型是让每个协议作为一个独立的进程运行.有了这个模型,严格的协议分层被强制执行,并且协议之间的通信点必须严 ...

  5. 5、 LwIP协议栈规范翻译——操作系统仿真层

    为了使lwIP可移植,操作系统特定的函数调用和数据结构不直接在协议的代码中使用.相反,当需要这样的函数调用和数据结构时,直接使用操作系统仿真层. 操作系统仿真层为操作系统服务提供统一的接口,如定时器, ...

  6. USB 3.0规范中译本 第8章 协议层

    本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 协议层管理设备及其主机之间端到端的数据流.这一层建立在链路层提供对某些类型的包的保证传输(guarantee ...

  7. BLE 5协议栈-属性协议层(ATT)

    文章转载自:http://www.sunyouqun.com/2017/04/page/2/ 属性协议(Attribute Protocol)简称ATT. ATT层定义了属性实体的概念,包括UUID. ...

  8. BLE 5协议栈-逻辑链路控制与适配协议层(L2CAP)

    文章转载自:http://www.sunyouqun.com/2017/04/page/2/ 逻辑链路控制与适配协议通常简称为L2CAP(Logical Link Control and Adapta ...

  9. lwip协议栈学习---udp

    书籍:<嵌入式网络那些事-lwip协议> udp协议的优点: 1)基于IP协议,无连接的用户数据报协议,适用于传送大批量数据, 2)实时性比较高,适用于嵌入式网络 发送函数:udp_sen ...

随机推荐

  1. HDU 5095--Linearization of the kernel functions in SVM【模拟】

    Linearization of the kernel functions in SVM Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: ...

  2. 使用DotfuscatorPro_4.9对软件dll库进行加密

    点击settings选项,Disable String Encryption改成NO,具体里面的设置如下图. 再点击Rename选项下的options,左边的选项勾上,再把Renaming Schem ...

  3. c 时间转移函数

    /*                 @param       date                 @param       formart  of date                 @ ...

  4. 加速Windows 2003关机速度的设置方法

    indows 2003是目前版本最高的Windows操作系统,虽然其功能比历史上任何一个版都要强,但是其关机操作却给大家带来了一些小麻烦.其实我们完全可以解除这些麻烦,让关机加速   一.关闭关机事件 ...

  5. php文件夾的複製,刪除等操作

    ====================查看文件夹大小===================== 由于文件夹是没有大小的,平常所说的文件夹尺寸准确的说应该是文件夹中所有文件的总大小. 所以只需要将文件 ...

  6. SpringBoot------ActiveMQ安装

    1.官网下载地址 http://activemq.apache.org/activemq-5156-release.html springboot文档 https://docs.spring.io/s ...

  7. Vivado Design Suite用户指南之约束的使用第一部分(介绍部分)

    首先来看目录部分: 首先是介绍部分:这部分讲述的是Migrating From UCF Constraints to XDC Constraints(从UCF约束迁移到XDC约束)和About XDC ...

  8. 《转》循环神经网络(RNN, Recurrent Neural Networks)学习笔记:基础理论

    转自 http://blog.csdn.net/xingzhedai/article/details/53144126 更多参考:http://blog.csdn.net/mafeiyu80/arti ...

  9. [EMSE'17] A Correlation Study between Automated Program Repair and Test-Suite Metrics

    Basic Information Authors: Jooyong Yi, Shin Hwei Tan, Sergey Mechtaev, Marcel Böhme, Abhik Roychoudh ...

  10. 为IONIC开发的安卓apk签名

    首先进入\platforms\android目录生成一个keystore文件: keytool -genkey -alias mykey -keyalg RSA -validity 40000 -ke ...