本章要点
- 计算机网络基础
- IP地址和端口
- 使用InetAddress包装IP地址
- 使用URLEncode和URLDecoder工具类
- 使用URLConnection访问远程资源
- TCP协议基础
- 使用ServerSocket和Socket
- 为网络通信增加多线程
- 使用NIO实现非阻塞式网络通信
- UDP协议基础
- 使用DatagramSocket发送接收数据报
- 使用MulticastSocket实现多点广播
- 使用Proxy使用代理服务器
- 通过ProxySelector使用代理服务器
17.1 网络编程的基础知识
时至今日,计算机网络缩短了人们之间的距离,把“地球村”变成现实。网络应用已经成为计算机领域最广泛的应用。
17.1.1 网络基础知识
所谓计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件,软件,数据信息等资源。
计算机网络是现代信息技术与计算机相结合的产物,计算机网络可以提供以下一些主要功能。
- 资源共享
- 信息传输与集中处理
- 均衡负荷与分布处理
- 综合信息服务
通过计算机网络可以向全社会提供各种经济信息,科研情报和咨询服务。其中,国际互联网Internet上的全球信息网服务就是一个最典型也是最成功的例子。实际上,今天的网络承载绝大部分大型企业的运转,一个大型的,全球性的企业或组织的日常工作流程都是建立在互联网基础之上的。
计算机网络的品种很多,根据各种不同的分类原则,可以得到各种不同类型的计算机网络。计算机网络是按照规模大小和延伸范围来分类的,常见的划分为:局域网(LAN),城域网(MAN),广域网(WAN)。INTERnet可以视为世界上最大的广域网。
如果按照网络的拓扑机构来划分,可以分为星域网络,总线网络,环线网络,树型网络,星型网络,星型环线网络等;如果按照网络的传输介质来划分,可以分为双绞线网,同轴电缆网,光纤网和卫星网等。
下面简单介绍按规模来分类
- 局域网(LAN):指在一个较小地理范围内的各种计算机网络设备互连在一起的通信网络,可以包含一个或多个子网,通常局限在几千米的范围之内。
- 城域网(MAN):主要是由城域范围内的各局域网之间互连而构成的。
- 广域网(WAN):是由相距较远的局域网或城域网互联而成,通常是除了计算机设备以外,还要涉及一些电信通信方式。
计算机网络中实现通信必须有一些约定,即通信协议。对速率,传输代码,代码结构,传输控制步骤,出错控制等制定标准。为了使两个结点之间能进行对话,必须在他们之间建立通信工具,使彼此之间能进行信息交换。
接口包括两部分,一是硬件装置,功能是实现结点之间的信息传送;二是软件装置,功能是规定双方进行通信的约定协议。
计算机网络协议通常由三部分组成:一是语义部分,用于决定双方对话的类型;二是语法部分,用于决定双方对话的形式;三是变换规则,用于决定通信双方的应答关系。
OSI
开放系统互连参考模型把计算机网络分成物理层,数据链路层,网络层,传输层,会话层,表示层,应用层等七层,受到计算机界和通信业的极大关注。通过十多年的发展和推进,OSI模式已成为各种计算机网络结构的参考标准。
TCP/IP
17.1.2 IP地址和端口号
IP地址用于标志网络中的一个通信实体,这个通信实体可以是一台主机,也可以是一台打印机,或者是路由器的某一个端口。而在基于IP协议网络中传输的数据包,都必须使用IP地址来进行标识。