第十一章 网络编程
1、什么是计算机网络?网络的主要类型有哪些;
2、常见的网络分层模型有哪两个?哪个更流行?为什么?
OSI七层模型
TCP/IP四层模型
3、TCP的全称是?
TCP/IP全称:Transmission Control Protocol / Internet Protocol 中文翻译:传输控制协议 / 互联网协议
TCP :Transmission Control Protocol
4、UDP的全称是?
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议
5、请说出TCP和UDP的联系和区别?
TCP -- 传输控制协议,提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP -- 用户数据报协议,是一个简单的面向数据报的运输层协议。它不提供可靠性,只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地。由于UDP在传输数据报前不用再客户和服务器之间建立一个连接,且没有超时重发等机制,所以传输速度很快。
· TCP与UDP差别小结:
1.是否连接面向连接面向非连接;
2.传输可靠性不可靠性;
3.应用场合传输大量数据少量数据。
6、通过类比打电话,详细描述三次握手机制。
TCP (Transmission Control Protocol, 传输控制协议)基于连接的协议,所以在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”或者“握手”,才能建立起来。三次“对话”过程如下:
1.主机A向主机B发出连接请求数据包;
2.主机B向主机A发送同意连接和要求同步的数据包;(同步就是两台主机一个在发送,一个在接收,协调工作)
3.主机A再发出一个数据包确认主机B的要求同步。
三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”后,主机A才向主机B正式发送数据
7、IP的全称是? IP的作用是?
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给用户上网使用的网际协议(英语:Internet Protocol, IP)的设备的数字标签。常见的IP地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类。
8、IPV4为什么会发生资源枯竭的问题?
ipv4用32位表示ip,理论最多只有2的32次方个ip地址(大约43亿),现实中,可利用的ip还要少(比如保留的地址,比如因为ip划分和保留缘故造成某段ip更紧张)
现在全球上网的设备已经远远超过这个数目。比如你可能就有几台电脑、手机、平板等等都要联网,都要ip,地球上上网的人口按照总人口50%算,也有将近40亿人了。
当然不够用。
8、为什么需要端口?端口是真实存在的还是虚拟的概念?
IP地址用来标志一台计算机,但是一台计算机上可能提供多种网络应用程序,使用端口来区分这些应用程序。
端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。
端口范围0---65535,16位整数。
9、Java中,端口使用两个字节表示,可以表示多少个端口? UDP和TCP端口是各自
独立的吗?
端口范围0---65535,16位整数。
由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。
10、InetAddress和InetSocketAddress都封装了哪些信息? 他们两的区别是?
在Java中InetAddress和InetSocketAddress看起来很相似,用来描述IP地址和主机名称。当然,它们也支持使用常规方法来检查地址:回环地址、本地地址、组播地址;基本的返回方法:获得IP,获得主机名称等。
重要的是InetSocketAddress包含InetAddress。这意味着,如果我们想对InetSocketAddress中的InetAddress做任何操作,只需要通过getInetAddress()方法获得即可。
11、URL类有什么作用?
URL:Uniform Resource Locator,统一资源定位器;俗称“网址”,如:
"http://www.baidu.com:80/index.html#aa?cansu=bjsxt“
由4部分组成:
l 协议: http;
l 存放资源的主机域名:www.baidu.com;
l 端口号:80;
l 资源文件名: index.html#aa?cansu=bjsxt;
URL是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。
12、【上机】将网络上一张图片或一个mp3或一个视频的信息保存到本地。
13、查资料了解,SNS是什么?
NS,专指社交网络服务,包括了社交软件和社交网站。也指社交现有已成熟普及的信息载体,如短信SMS服务。SNS的另一种常用解释:全称Social Networking Services,即“社交网站”或“社交网”。SNS也指Social Network Software,社交网络软件,是一个采用分布式技术,通俗地说是采用P2P(Peer to Peer)技术,构建的下一代基于个人的网络基础软件
14、如何理解Socket的含义?
Socket即套接字,是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,是对TCP/IP的封装和应用。TCP/IP主要解决数据如何在网络中传输,而HTTP主要解决如何包装数据。Socket本身不是协议而是调用接口,通过Socket我们才能使用TCP/IP协议,即TCP/IP要为程序员提供网络开发的接口,这就是Socket编程接口。
15、基于TCP的Socket网络编程的主要步骤是什么?
16、【上机】写出建立TCP服务器ServerSocket的代码。并说明accept方法有什么
特点?
17、【上机】写出建立TCP客户端Socket的代码。并说明建立Socket后,通过什么
方法Socket获得流对象?
18、【上机】完成老师课堂上的代码(最简单的服务器客户端代码。可双向交流的服务
器客户端代码。本作业可课后完成)
19、基于UDP的Socket网络编程的主要步骤是什么?
21、【上机】使用UDP的方式,完成对象的传递。