29.TCP/IP协议的理解
TCP/IP(Transmission Control Protocol/Internet Protocol的简写),中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议。这个协议是Internet最基本的协议,也是Internet的基础。简单地说,它的名字是由网络层的IP协议和传输层的TCP协议组成的。但是确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。
TCP/IP定义了电子设备(如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。它是互联网中的基本通信语言或协议,在私网中,它也被用作通信协议。当用户直接网络连接时,计算机应提供一个TCP/IP程序的标准实现,而且接收所发送的信息的计算机也应有一个TCP/IP程序的标准实现。
TCP/IP协议并不完全符合OSI标准定制的七层参考模型,它采用了四层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这四层分别为以下几个方面:
- 应用层:应用程序间沟通的层,如万维网(WWW)、简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
- 传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。主要协议包括TCP和UDP。
- 网际层IP:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机,但不检查是否被正确接收,主要体现为IP协议。
- 网络接口层:接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用物理网络,如以太网。
对于网络开发者来说,关心最多的应该是最高的应用层,也就是开发出能给用户直接使用的网络应用程序。开发者使用传输层所提供的接口进行开发,常见的两种通信模型为TCP和UDP。
对于Java开发者来说,JDK已经提供了充分的开发接口,java.net包下的接口和类就是网络编程人员经常会光顾的地方。Java关于网络开发的API的设计依然是遵循TCP/IP协议的基本思想。常用的接口和类包括:ServerSocket、Socket、URL等。
30.TCP协议的通信特点是什么
TCP协议主要拥有如下的通信特点:
- 面向连接的传输
- 端到端的通信
- 可靠性,确保传输数据的正确性,不出现丢失或乱序
- 采用字节流方式,即以字节为单位传输字节序列
31.UDP协议的通信特点是什么
UDP协议主要拥有如下的通信特点:
- UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上
- 不需要维护连接状态,包括收发状态等
- 字节开销很小
- 吞吐量主要受应用软件生成数据的速率、传输带宽、源端和终端主机性能等因素的限制。
网友评论