linux tcp ip协议栈?基于tcp协议的应用程序

大家好,今天小编来为大家解答linux tcp ip协议栈这个问题,基于tcp协议的应用程序很多人还不知道,现在让我们一起来看看吧!

TCP∕IP协议的结构

TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。

而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:

●应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

●传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

●互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

●网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial

Line等)来传送数据。

1、TCP/IP协议栈

四层模型

TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。

网络接口层

模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。

互联层

互联协议将数据包封装成internet数据报,并运行必要的路由算法。

这里有四个互联协议:

网际协议IP:负责在主机和网络之间寻址和路由数据包。

地址解析协议ARP:获得同一物理网络中的硬件主机地址。

网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。

互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。

传输层

传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。

两个传输协议:

传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。

用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。

应用层

应用程序通过这一层访问网络。

网络接口技术

IP使用网络设备接口规范NDIS向网络接口层提交帧。IP支持广域网和本地网接口技术。

串行线路协议

TCP/IPG一般通过internet串行线路协议SLIP或点对点协议PPP在串行线上进行数据传送。(是不是我们平时把它称之为异步通信,对于要拿LINUX提供建立远程连接的朋友应该多研究一下这方面的知识)?

单片机TCP/IP已有的单片机TCP/IP协议栈

在单片机应用中,选择合适的TCP/IP协议栈是至关重要的,因为它们的复杂性和稳定性直接影响到通信的效率和可靠性。这里有几种常见的单片机TCP/IP协议栈供开发者选择:

1. eCos TCP/IP协议栈:与eCos操作系统紧密结合,提供测试版模块,适合与eCos内核协同工作。

2. ZLIP 51单片机TCP/IP协议栈:专为51单片机设计,支持多种协议,如TCP、UDP、ICMP和HTTP,适合无操作系统和有操作系统环境,且代码量适中,运行快速。

3. uC/IP(mew-kip):针对小型应用设计,基于BSD许可协议,简化了功能,支持Linux和DOS目标。

4. BSD单片机TCP/IP协议栈:作为商业栈的起点,许多专业栈源于BSD,其开源许可允许自由修改和使用,无需支付版权费用。

5. lwIP单片机TCP/IP协议栈:轻量级实现,专为嵌入式系统设计,占用资源少,包括IP、ICMP的TCP和UDP,可选的BSD套接字API,注重性能和可移植性。

6. uIP单片机TCP/IP协议栈:针对8位和16位单片机,非常小巧,用C编写,可移植性强,包含HTTP服务器功能。

7. TinyTCP单片机TCP/IP协议栈:简单且小型,包含FTP客户端,最初针对ROM烧录设计,适用于68000芯片,现在扩展到大端结构。

8. WATTCP单片机TCP/IP协议栈:专为基于DOS的嵌入式系统设计,提供Real Mode和32位版本,适用于不同环境。

扩展资料

单片机TCP/IP就是在单片机上运行的TCP/IP协议栈。由于嵌入式联网设备越来越多,需要在嵌入式设备上实现TCP/IP协议栈,但是嵌入式设备不同于PC机,它们一般采用MCU也就是单片机而不是CPU作为核心处理器。这就需要在单片机上实现TCP/IP协议栈。对于高端的32位单片机,由于其性能已经接近于低端PC机CPU(例如奔腾II系列),所以和在PC上实现TCP/IP协议栈没有多大区别;这里主要讲述低端8位(例如51单片机)、16位单片机TCP/IP协议栈。

深入浅出LinuxTCP/IP协议栈图书目录

深入理解LinuxTCP/IP协议栈,这本图书精心编排了丰富的学习内容。首先,第1章以通俗易懂的方式介绍了操作系统、网络环境以及协议栈的基础概念,帮助读者建立起对整个系统结构的初步认识。

第2章深入剖析内核系统初始化过程,详细讲解其启动流程和关键步骤,让读者对内核的核心功能有深入理解。

在第3章中,作者详细讲解了如何配置网络系统,包括网络接口的设置和配置文件的管理,这对于实际网络环境的搭建至关重要。

第4章和第5章则是理论与实践的结合,分别探讨了网络层和传输层的实现原理,通过实例分析,使读者能够更好地理解这两层在数据传输中的关键作用。

第6章特别关注了Select系统调用的实现机制,这对于理解和优化网络程序性能有很大帮助。读者将在这里看到操作系统如何管理和调度网络连接。

数据链路层是协议栈中的重要环节,第7章详尽解析了这一层的协议实现,包括物理层和数据链路层的交互,为网络通信的底层原理提供了深入理解。

最后,书籍的后记部分可能会包含作者的感悟、学习心得,或是对后续章节的预告和总结,为读者的学习旅程画上一个完美的句号。

阅读剩余
THE END