1.网络基础知识

两台计算机通过网络进行通信

1.两台主机需要唯一的标识,标识所处的身份、位置,即IP地址
2.两台主机需要有共同的语言,即协议
3.每个主机需要有相应的端口号,一台主机上可以运行多个应用程序,辨别不同应用程序的通信需要使用端口号来进行区分。

10186693-bcfdda48c48a8f1c.png
两台计算机通过网络进行通信

TCP/IP协议

  • TCP/IP是目前世界上应用最为广泛的协议,它是以TCP和IP为基础的不同层次上多个协议的集合,它也称为TCP/IP协议族 或TCP/IP协议栈。
  • TCP:Transmission Control Protocol 传输控制协议
  • IP:Internet Protocol 互联网协议

在实际应用中,我们将网络分为5层。


10186693-84b13fb859647829.png
image.png

物理层:网线、双绞线、网卡
传输层:TCP/IP协议
应用层:
HTTP超文件传输协议
FTP文件传输协议
SMTP简单邮件传送协议
Telnet远程登陆协议

IP地址

为实现网络中不同计算机之间的通信,每天机器都必须有一个唯一的标识——IP地址
IP地址格式: 数字型,如:192.168.0.1

10186693-9885abada6a489c9.png
image.png

端口

1.用于区分不同应用程序
2.端口号范围065535,其中01023为系统所保留
3.IP地址和端口号成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础。
4.http:80 ftp:21 telnet:23

10186693-cfb65c1389c24669.png
image.png

Java中的网络支持

针对网络通信的不同层次,Java提供的网络功能有四个大类 1.InetAddress:用于标识网络上的硬件资源。 2.URL:统一的资源定位符 通过URL可以直接读取或写入网络上的数据。 3.Sockets:使用TCP协议实现网络通信的Socket相关的类。 4.Datagram:使用UDP协议,将数据保存在数据包中,通过网络进行通信。