概述
1.找到对方IP
2.数据要发送到对方指定的应用程序上,对其用数字进行标识,称为(逻辑)端口
3.定义通信规则,称为协议,国际组织定义了通用协议TCP/IP
网络模型
OSI参考模型
应用层-表示层-会话层-传输层-网络层-数据链路层-物理层
TCP/IP参考模型
应用层-传输层-网际层-主机至网络层
IP地址
网络中设备的标识
不易记忆,可用主机名
本地回环地址 127.0.0.1 主机名 localhost
import java.net.*;
class IPDemo{
public static void main(String[] args) throws Exception{
InetAddress i=InetAddress.getLocalHost();
// 获取本机信息
/* System.out.println(i.toString());
System.out.println("address:"+i.getHostAddress());
System.out.println("name:"+i.getHostName());
*/
// 获取指定主机信息
InetAddress ia=InetAddress.getByName("www.baidu.com");
System.out.println("address:"+ia.getHostAddress());
System.out.println("name:"+ia.getHostName());
}
}
端口号
用于表示进程的逻辑地址,不同进程的标识
有效端口 0~65535,其中0~1024系统使用或保留端口
传输协议
通讯的规则
常见协议
TCP
建立连接,形成传输数据通道
在连接中进行大数据量传输
通过三次握手完成连接,是可靠协议
必须建立连接,效率会稍低
UDP
将数据源和目的封装成数据包中,不需要建立连接
每个数据包的大小限制在64k内
因无连接,是不可靠协议
不需要建立连接,速度快
Socket
为网络服务提供的一种机制
通信的两端都有Socket
网络通信其实就是Socket间的通信
数据在两个Socket间通过IO传输