嵌入式linux TCP/IP协议栈概述及相关知识
- 概述
TCP/IP协议栈可以实现不同型号、不同操作系统的计算机之间的通信,它并不是某个具体的协议,而是一组协议。我们都知道OSI七层模型中有物理层、数据链路层、网络层、传输层、会话层、表示层、应用层共七层,每一层都对应多个相关的协议。同样,TCP/IP网络协议也进行了层次的划分,分为四层,分别规定了每层的作用以及它们的协议。
网络接口层:通常包括操作系统中的设备驱动程序和计算机中对应的网卡,它们一起处理与电缆的物理接口细节。
网络层:有时也称作网际层或互联网层,处理分组在网络中的活动,例如分组的选路。在
T C P / I P协议族中,网络层协议包括I P协议(网际协议),ICMP协议(I n t e r n e t互联网控制报文协议),以及IGMP协议(I n t e r n e t组管理协议)。
运输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
应用层&