网络现在是一个非常普遍的概念。
以下是维基百科上的解释:
网络一词有多种意义,可解作:
java网络编程关系的是以IP地址为基础的编程。
IP,TCP,UDP
IP是Internet Protocol的缩写,也就是网络间互联的协议。
IP的设计相较于其他的类似协议有一些优点。
首先,IP最初是用于开发军事网络的,所以必须保证协议的健壮。
所以IP之间可以包含多个路由。这样一旦某个路由被毁掉,它们间还可以保持通讯。
为了保证IP间传递的顺序是有序,以及数据的可靠性,于是在IP上层有了TCP协议。
Transmission Control Protocol 传输控制协议,TCP是一套精确的保证传输有效性,和正确性的协议。
当然这些都是需要代价的,因此,如果数据的顺序不是很重要,单个包的丢失也不要紧,那么可以使用UDP协议。
User Datagram Protocol的简称, 中文名是用户数据报协议。在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。
TCP & UDP比较:
确切的理解应该是TCP/IP 协议 & UDP/IP协议 的区别:
小结TCP与UDP的区别:
1.基于连接与无连接;TCP连接需要三次握手,断开需要4次握手。
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.流模式与数据报模式 ;TCP是流模式传递,而UDP是包模式。
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
IP地址和域名:
IP协议同时支持这2中地址方式:192.0.1.2 或者www.abc.com.cn, 后一种是域名的方式。
域名 是的发明是应为人类对数字的记忆和区分不如文字来的方便。
端口:
每台计算机,往往是服务器,可以运行很多服务。这个时候我们需要区分这些业务,当IP地址是一样的,于是就
有了端口这个东西。
端口是抽象的概念,理论上最多可以有65535个端口。
1-1023是计算机保留给已知的一些功能的,比如默认的web连接端口是80.
Internet:
Internet是世界上最大的基于IP协议的网络,互联网。
互联网并不等同万维网(WWW),万维网只是一个基于超文本相互链接而成的全球性系统,且是互联网所能提供的服务其中之一。互联网带有范围广泛的信息资源和服务,例如相互关系的超文本文件,还有万维网的应用,支持电子邮件的基础设施,点对点网络,文件共享,以及IP电话服务。
内部网络和外部网络:
当我去电信安装宽带的时候,电信会给我的路由器分配一个地址:216.254.86.72
这个地址就是我在跟外部其他设备通讯的地址。
但是我本生家里有很多设备,几台电脑,手机,以及机顶盒等等。这些都通过路由器来连接网络。
这样路由器作为DNS给每个设备分配一个地址192.168.0.3等。 这些地址是不固定的。
从我的电脑和百度连接的时候,百度看到的地址是路由器转换后的地址216.254.86.72。
但是从百度返回的数据,怎么就回到了192.168.0.3这台设备呢,这个是路由器解决的,java编程的时候,不需要关心。
防火墙:
为了组织某些有害的数据到我们的设备。有一个东西可以更具域名和端口来挡住这些东西,这就是防火墙。
Java和防火墙关系不大。
代理服务器:
代理服务器可以理解为中间人。外部服务器只能看到代理服务器在向他发送请求,而不知道内部的情况。
Internet标准:
现在定义internet的标准是2大组织:
IETF 和W3C。
IETF:TCP/IP MIME SMTP
W3C:HTTP HTML XML