TCP/IP协议的理解
TCP/IP(Transmission Control Protocol/Internet Protocol的简写)。
中文译名为传输控制协议/因特网互联协议;又叫网络通讯协议;这个协议是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 标准定制法人七层参考模型,它 采取了四层的层级结构, 每一层都呼叫他的下一层所提供的网络来完成自己的需求这四层分别为一下几个方面:
应用层:
应用程序间沟通单层,如万维网(W W W)、简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:
在此层中,它提供了节点的数据传送,应用程序之间的通信服务,主要是数据格式化,数据确认和丢失重传等。主要协议包括TCP和UDP。
网际层IP:
负责提供基本的数据封包传送功能,让每一块数据包都能打到目的主机,但不检查是否被正确接收,主要表现为IP协议。
网络接口层:
接收IP数据包并进行传输,从网络上接收物理帧,抽取IP 转交给下一层,对实际网络的网络媒体的管理,定义如何使用物理网络 ,如以太网。对于网络开发者来说,关心最多的应该是最高的应用层,也就是开发出能给用户直接使用的网络应用程序。开发者使用传输层所提供的接口进行开发,常见的两种通信模型为TCP和UDP。
对于Java开发者来说,JDK已经提供了充分的开发接口,Java.net包下的接口和类就是网络编程人员经常会光顾的地方,Java关于网络开发的API的设计依然是遵循TCP/IP协议的基本思想,常用的接口包括:serverSocket、Socket、URl等