JAVA之网络编程基础

网络编程基础知识


网络基础知识

计算机网络通畅是按照规模大小和延伸范围来分类的,常见的划分为:局域网(LAN)、城域网(MAN)、广域网(WAN)。Internet可以视为世界最大的广域网。

如果按网络的拓扑结构来划分,可以分为星型网络、总线型网络、环型网络、树型网络、星型环型网络
如果按网络的传输介质来划分,可以分为双绞线网、同轴电缆网、光纤网和卫星网。

计算机网络中实现通信必须有一些约定,这些约定被称为通信协议。通信协议负责对传输速率、传输代码、代码结构、传输控制步骤、出错控制等制定处理标准。
为了让两个节点可以通话,必须在它们之间建立通信工具,是彼此之间能进行信息交换。


通信协议一般由三部分组成——语义部分,用于决定双方的通话类型;语法部分,用于决定双方对话的格式;变换规则,用于决定通信双方的应答关系

OSI(开放系统互连参考模型)力求网络简化,并以模块化的方式来设计网络。
OSI把计算机网络分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层,目前已成为各种计算机网络结构的参考结构。


通信协议是网络通信的基础,而IP协议则是一种非常重要的通信协议。IP协议又称为互联网协议,是支持网间互联的数据报协议。
TCP协议(传输控制协议)规定一种可靠的数据信息传递服务。
虽然TCP协议和IP协议的功能不尽相同,也可以分开单独使用,但它们是在同一个时期作为一个协议来设计的,其功能也是互补的。因此在实际使用中常常把其称为TCP/IP协议。
TCP/IP协议是Internet中最常用的基础协议。

TCP/IP协议模型与OSI模型的对应关系——应用层(应用层、表示层、会话层)、传输层(传输层)、网络层(网络层)、物理+数据链路(数据链路层、物理层)

TCP/IP协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。

IP协议负责将消息从一个主机传送到另一个主机,消息在传送的过程中被分割成一个个小包。
但IP协议还不能解决数据分组在传输过程中可能出现的问题,如要解决这些为题,连接Internet的计算机还需要安装TCP协议来提供可靠并且无差错的通信服务。

TCP协议被称作一种端对端协议,当两台计算机需要连接时,TCP协议会让它们建议一个连接——用于发送和接受数据的虚拟链路。
TCP协议负责收集这些信息报,并将其按适当的次序放好传送,接收端收到后再将其正确地还原,TCP协议保证了数据包在传送中准确无误。TCP协议使用重发机制——当一个通信实体发送一个消息给另一个通信实体,需要收到另一个通信实体的确认信息;如果没有收到通信信息,则会再次重发刚才发送的信息。



IP地址和端口号


IP地址用于唯一地表示网络中一个通信实体,这个通信实体既可以是一个主机,也可以是一台打印机,还是可以是路由器的某一端口。在基于IP协议网络中传输的数据包,都必须使用IP地址来进行标识。

每个被传输的数据包要包含一个源IP地址和一个目的IP地址,当该数据包在网络中进行传输时,这两个地址要保持不变,以确保网络设备总能根据确定的IP地址,将数据包从源通信实体送往指定目的通信实体。

IP地址是数字型的,为一个32位(32bit)的整数,为便于记忆,通常将其分为4个8位二进制数,每8个数可以转换为0~255的十进制整数。

IP地址被分成了A、B、C、D、E五类,每类的网络标识和主机标识都各有规则。
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255


IP地址用于唯一地标识网络上的通信实体,但一个通信实体可以有多个通信程序同时提供网络服务,此时还需要使用端口。
端口是一个16位整数,用于表示数据交给哪个通信程序处理,是应用程序和外界交流的出入口。

不同的应用程序处理不同端口上的数据,同一台机器上不能有两个程序使用同一个端口,端口号可以从0到65535,通常可以分为以下三类:
公认端口:从0到1023,它们紧密绑定某些特定的服务
注册端口:从1024到49151,它们松散地绑定以下舒服,应用程序通常应该使用这个范围的接口
动态或私有端口:从49152到65535,这些端口是应用程序使用的动态端口,应用程序一般不会主动使用这些端口。


URL和URI

URL对象代表统一资源定位器,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂对象的引用。在通常情况下,URL可以有协议名、主机、端口和资源组成,即为以下格式:
protoco;://host:port/resourceName

JDK中还提供了一个URL类,其实例代表一个统一资源标识符,Java的URI不能用于定位任何资源,其唯一作用就是解析。与此对应的类URL则包含一个可打开到达该资源的输入流,可以将URL理解成URI的实例。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值