Java网络编程:初识网络编程
Java网络编程:初识网络编程
什么是计算机网络
- 两台或更多的计算机组成的网络
- 同一网络内的任意两台计算机可以直接通信
- 所有计算机必须遵循同一种网络协议
什么是互联网
- 互联网是网络的网络
- 互联网采取TCP/IP协议
- 其中最重要的两个协议是TCP协议和IP协议
IP地址和网关
-
IP地址用于唯一标识一个网络接口
- IPv4采用32位地址
IPv4地址实际是一个二进制32位的整数,为了便于识别,用十六进制表示后可以分为4组数字,每组数字转换成十进制后用“.”隔开就是我们见到的IP地址:
- IPv6采用128位地址
- IPv4采用32位地址
-
公网IP地址可以直接被访问
-
内网IP地址只能在内网访问
-
本机地址使用127.0.0.1
-
通常路由器或交换机有两个网卡(两个IP地址),分别连接两个不同的网络:
-
同一网络下的计算机可以直接通信,他们的网络号相同,网络号由IP地址和子掩码按组对齐做与运算得到:
-
不同网络下的计算机需要通过路由器或交换机网络设备间接通信,这样的网络设备叫做网关:
-
网关的作用是连接多个网络,负责把一个网络的数据包发送到另一个网络,过程叫做路由:
-
一台计算机的网络拥有IP地址,子网掩码和网关(路由器)三个关键配置:
域名
由于IP地址不便于记忆,通常使用域名来访问特定的服务,域名解析服务器DNS负责将域名翻译成对应的IP地址,客户端再根据IP地址访问服务器:
TCP/IP协议
- IP协议是一个分组交换协议,不保证可靠传输,一个数据包通过IP协议传输会自动分成若干小的数据包然后通过网络进行传输
- TCP(Transmission Control Protocol)协议是一个传输控制协议,建立再IP协议之上,IP协议负责传输数据包,TCP协议负责控制传输数据包;TCP协议传输之前需要先建立连接,然后才能传输数据,传输完成后断开连接;TCP协议是一个可靠传输协议,他通过接受确认,超时重传实现;TCP协议支持双向通信,双方可以同时传输和接受数据
UDP协议
UDP(User Datagram Protocol)协议是数据报文协议,不面向连接,不保证可靠传输,由于UDP协议传输效率高,通常用来传输视频等能容忍丢失部分数据的文件。