发送信息三步走
- 找到对方的IP
- 数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些应用程序都进行了数字标识.为了方便称呼这些数字,称其为端口(也称逻辑端口)
- 定义通信规则.这个规则称作协议.国际组织定义了通用协议
TCP/IP
IP地址
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异
- 格式:是一个32位的二进制数,通常被分割为4个“8位二进制数"
- 可以被分成A,B,C,D类
- 本地回环地址:127.0.0.1 主机名:
localhost
网络模型
OSI参考模型
分为7层:应用层,表示层,会话层,传输层,网络层,数据链接层,物理层
- 数据传输原理:数据传输过程中数据被逐层封装,直到网络层对数据封装IP地址,再到数据链接层(选择传出的方式),直到最后通过物理层传输到目的地,然后数据被逐层拆包后传给对应端口的应用程序
TCP/IP参考模型
- 分为4层:应用层,传输层,网际层,主机至网络层,较为简单.
- 每层都有自己的协议,例如传输层最常见的协议就是
TCP
和UDP
,网际层最常见的就是IP
(Internet Protocol 互联网协议),应用层协议常见的有HTTP
和FTP
协议 - Java网络编程在哪一层?:网际层和传输层
java.net.InetAddress
用来描述IP的类
public static void main(String [] args)throws UnknownHostException{
//拿到自己主机的IP
InetAddress i = InetAddress.getLocalHost();
sop(i.getHostAddress());
sop(i.getHostName());
//拿到任意主机的IP
byte [] p={(byte)14,(byte)215,(byte)177,(byte)39};
InetAddress ia=InetAddress.getByAddress(p);
sop(ia.getHostAddress());
sop(ia.getHostName());
//还可以获取百度主机地址(返回的对象可能不唯一)
InetAddress baidu =InetAddress.getByName("www.baidu.com");
sop(baidu);
}
传输协议TCP和UDP
UDP特点
- 将数据以及源和目的封装成数据包,不需要建立连接
- 每个数据包的大小控制在64K内
- 因为无连接,是不可靠协议
- 不需要连接,速度快
TCP特点
- 建立连接,形成传输数据的通道
- 在连接中进行大数据量传输
- 通过三次握手完成连接,是可靠协议
- 必须建立连接,效率会稍低