理论教育 TCP/IP网络模型-简明Java程序设计

TCP/IP网络模型-简明Java程序设计

时间:2023-10-18 理论教育 版权反馈
【摘要】:TCP/IP协议被组织成四个概念层,如图13.1所示。需要注意的是,TCP/IP四层网络模型中不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。图13.1TCP/IP四层网络模型与OSI七层模型对比TCP/IP四层网络模型分别是网络接口层、网际互联层、传输层和应用层。实际上TCP/IP本身并未定义该层的协议,而是由参与互联的各个网络使用其自己的物理层和数据链路层协议,然后与TCP/IP的网络接口层进行连接。

TCP/IP网络模型-简明Java程序设计

TCP/IP协议,也称TCP/IP协议簇或TCP/IP协议栈,实质上是以TCP和IP为基础的不同层次上多个协议的集合,由于该协议簇中包含TCP和IP两个重要的协议而被命名为TCP/IP协议,该协议是目前世界上应用最为广泛的协议。

TCP/IP协议被组织成四个概念层,如图13.1所示。需要注意的是,TCP/IP四层网络模型中不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。

图13.1 TCP/IP四层网络模型与OSI七层模型对比

TCP/IP四层网络模型分别是网络接口层、网际互联层、传输层和应用层

网络接口层与OSI参考模型中的物理层和数据链路层相对应,主要作用是监视数据在主机和网络之间的交换。实际上TCP/IP本身并未定义该层的协议,而是由参与互联的各个网络使用其自己的物理层和数据链路层协议,然后与TCP/IP的网络接口层进行连接。该层主要包含ARP、RARP等协议,负责将IP地址转译成MAC地址。

网际互联层与OSI参考模型中的网络层相对应,主要负责数据的包装、寻址和路由,解决主机到主机的通信问题。该层主要包含网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP),是整个TCP/IP协议的核心,其中互联网控制报文协议(ICMP)可以用来查看当前计算机是否与某指定IP的计算机实现网络互通。

传输层与OSI参考模型中的传输层相对应,为应用层实体提供端到端的通信功能,保证数据包的顺序传送及数据的完整性。该层主要包含两个重要的传输协议:传输控制协议(TCP)和用户数据报协议(UDP)。其中TCP协议是可靠的、面向连接的协议,提供可靠的数据流运输服务;UDP协议是不可靠的、面向无连接的协议,提供不可靠的用户数据报服务。另外,该层将确定网络通信的端口号。

应用层与OSI参考模型中的高层对应,为用户提供所需要的各种服务,常用协议包含FTP(文件传输协议)、HTTP(超文本传输协议)、Telent(远程终端协议)、SMTP(简单邮件传送协议)、POP3(邮件读取协议)等。

本章所讲述的网络编程主要使用的是网际互联层的IP协议和传输层的TCP、UDP协议,下面将详细介绍这些协议。

1.IP协议

IP(Internet Protocol,网际协议)是整个TCP/IP协议族的核心,是网际互联层中最重要的协议,也是构成互联网的基础。

IP协议能够适应各种各样网络硬件,对底层网络硬件几乎没有任何要求,任何网络只要可以传送二进制数据,就可以使用IP协议加入Internet。该协议可以在相互连接的网络之间传递数据包,其主要功能包含寻址和路由、信息的分段与重组。

IP协议在数据传输过程中,不会交换传输控制信息,也不会重新传输丢失的数据或者数据丢失情况信息,它只负责将数据传输到目的主机。因此,IP协议是一个无连接、不可靠的协议。如果要保障数据传输的可靠性,可以通过TCP来实现。

2.TCP协议

(www.daowen.com)

图13.2 TCP三次握手示意图

由于IP协议不能解决数据在分组传输过程中可能出现的问题,因此若要保证数据传输的可靠性,还需要TCP协议来提供可靠的并且无差错的通信服务。

TCP协议(Transmission Control Protocol,传输控制协议)是一种端到端协议,主要实现端对端连接和可靠的传输功能。该协议是面向连接的通信协议系,即在传输数据前会在发送端和接收端之间建立逻辑连接,然后再进行数据传输,从而保障计算机之间数据传输的可靠和无差错。

TCP协议在数据发送的准备阶段会确认客户端与服务器之间的连接,这个确认过程被称作为“三次握手”,如图13.2所示。

第1次握手:客户端向服务器发出连接请求,等待服务器确认。

第2次握手:服务器接收客户端发送的连接请求后,向客户端发送确认响应信息。

第3次握手:客户端收到确认信息,并向服务器端发送信息来确认连接。

由于TCP协议是面向连接的、可靠的协议,能够保证数据传输的可靠性,因此在一些需要保证数据传输完整性的情况中被广泛使用,如图片的下载、文件的上传等。

3.UDP

UDP(User Datagram Protocol,用户数据报协议)是一种面向无连接的协议,主要用于提供面向事务的、简单的、不可靠信息的传送服务。使用UDP协议进行数据传输时,数据的发送端和接收端不建立逻辑连接。当一台计算机向另一台计算机发送数据时,发送端不会确认接收端是否存在就会发出数据,同样,接收端在接收数据后也不会向发送端反馈是否收到数据。另外,UDP协议不提供数据包分组、组装和数据包排序功能,当发送数据之后,无法得知数据是否安全完整到达目的地。

UDP协议数据传输示意图如图13.3所示。

图13.3 UDP数据传输示意图

UDP协议不属于面向连接的协议,无须确认发送端和接收端之间的连接,因此消耗资源小,通信效率高,处理速度快。因此,UDP协议通常用于音频视频和普通数据的传输,例如视频会议使用UDP协议即使偶尔丢失一两个数据包,也不会对接收结果产生太大的影响。但是如果要传输重要数据,则不建议使用UDP协议。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈