在前面的文章《TCP/IP简介》,我们主要介绍了TCP数据段格式及IP数据 文格式。本节我们详细介绍一下TCP/IP模型的各层协议及其工作流程。
1. TCP/IP模型
TCP/IP协议是在OSI参考模型出现之间就被开发的,并广泛部署在计算机 络中。但是,后来由于概念混淆,TCP/IP模型的层次和名称往往与OSI模型的层次名称相互借用。在此我们不做深入的讨论,以该书中的模型为例进行介绍。如图1.所示,该模型可能和之前介绍的TCP/IP模型相一致,但是并不妨碍我们对于协议的理解。
图1. OSI模型与TCP/IP模型对比
2. TCP/IP协议族
TCP/IP是一个由许多单独协议组成的开放的协议栈,TCP/IP四层协议分别是指:应用层、传输层(也称,主机到主机层)、 际层和 络接入层,各层的协议如图2.所示。
图2. TCP/IP协议栈包含的协议
3. 传输层协议
传输层的两个主要的协议是TCP和UDP,其中TCP是面向连接的协议,而UDP是一个面向无连接的协议(参考《TCP,UDP通信使用场景及区别比较》)。
TCP通信协议
UDP通信协议
TCP和UDP都有2的16次方个端口,即65536个。端口 就是通信链路两端所在传输数据时候使用的地址 ,端口 允许单个IP地址支持多个同时发生的通信。
TCP是面向连接的,这是因为他在两个系统之间使用握手过程建立一个通信会话。当握手过程完成时,就会建立能够在客户端和服务器之间支持数据传输的通信会话。
图3. TCP三次握手
三次握手的内容分别是:
TCP的三次握手确保客户端和服务器能够正常接收彼此的信息。这个和LTE中的随机接入过程很像,如图4。
图4.LTE基于竞争的随机接入信令流程
不同的是LTE的接入过程要求要更加严格,它不仅要确保信道的畅通,同时还要考虑到无限资源的竞争与分配问题。言归正传,我们继续说TCP/IP协议。
用户数据 (UDP)也是在OSI模型的传输层上运作的,它是一种无连接的、“尽力而为”的通信协议。UDP不提供错误检测或纠正,不适用序列,不适用流量控制机制,不适用预先建立的会话,并且被认为是不可靠的。UDP具有极低的系统开销,因此能够快速传输数据。
4. 络层协议
运行在 际层协议是IP,IP为数据包提供了路由寻址。路由寻址是全球性互联 通信的基础。这是因为它提供了身份标识手段并规定了传输路径。IP是无连接的、不可靠的数据 服务。IP不保证传输数据包或以正确顺序传送数据包,并且不保证只进行一次传送。因此,在IP上使用TCP协议,从而获取可靠的和受控制的通信会话。
IP地址等于 络地址加上主机地址,IP被分为五个等级,如表所示。其中D类子 被用于多播,E类子 被保留将来使用。
图5. IP地址分级
其中A类地址可以支持16777214台主机,B类地址支持65534台主机,C类地址支持254太主机。
5. 常见的应用层协议
在TCP/IP模型的应用层上,驻留着许多特定应用或服务的协议。比如:
相关的历史文章还有:
《TCP/IP简介》
《基于java的TCP通信》
《TCP,UDP通信使用场景及区别比较》
《Arduino基于UDP协议的远程通信》
《OSI七层模型(详细介绍)》
《LTE下行物理信道与物理信 》
《LTE接入层协议架构》
《LTE的组 架构与接口协议》
《LTE核心 EPC介绍》
《LTE核心 拾遗》
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!