1.网络通信协议分几层?各层解决的问题是什么? 网络协议分为7层,分别为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 应用层:直接为用户的应用程序提供服务。示例:TELNET,HTTP,FTP,NFS,SMTP等。 表示层:提供网络传输的标准格式。示例:加密,ASCII等。 会话层:提供网络中两主机之间会话的建立、维持、终止等。示例:RPC,SQL等。 传输层:为两主机间的进程通信提供可靠服务。示例:TCP,UDP,SPX。 网络层:为分组交换网上的不同主机提供通信服务,包括路由、地址解析等。示例:IP,IPX等。 数据链路层:两个相邻点间的点到点的帧传输。示例:ATM,FDDI等。 物理层:比特流传输。示例:Rj45,802.3等。
2.TCP和UPD协议有什么不同,为什么称TCP是面向连接的可靠的协议? TCP协议面向连接,UDP协议面向非连接 (有无链接) TCP协议传输速度慢,UDP协议传输速度快(传输速度) TCP协议保证数据顺序,UDP协议不保证(数据的有序性,在IP层时,数据包会变得无序) TCP协议保证数据正确性,UDP协议可能丢包(TCP保证数据的可靠性) TCP协议对系统资源要求多,UDP协议要求少(TCP和UDP占用的资源)
3.在Java语言中,网络编程是从协议的什么层次开始的? 从传输层开始,低层次网络编程是TCP和UDP,高层次网络编程是基于URL的,根据编程使用的协议的层次分为高层次(基于应用层)与低层次网络编程(基于传输层)。
4.Socket编程时,目的地址和端口号需要在什么地方指出?使用数据报时,又在什么地方指出? Socket编程时,目的地址和端口号要在创建的时候指出。 数据报是在创建DatagramPacket的时候指出。创建服务器端的Datesocket时也要指出端口号。
|