前言
从本篇内容我们将开始学习新的知识,关于网络编程的一些知识,这一个专栏内容不多但也希望各位同学们能够仔细的学习,因为这将是我们之后学习javaweb的一些基础。
一、TCP/IP协议
- 首先我们要了解网络编程的一个重要知识TCP/IP协议:
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。 - OSI七层模型
二、IP与端口号
简单的了解过协议之后我们将重点看一下IP与端口。
1.IP
ip地址:InetAddress
- 唯一定位一台网络上的计算机
- 127.0.0.1:本机的localhost
- ip地址的分类
- IPV4/IPV6
- IPV4 127.0.0.1,4个字节组成,0~ 255,42亿~;30亿都在北美,亚洲4亿,2011年就已经用尽。
- IPV6:128位,8个无符号整数
- 公网(互联网)-私网(局域网)
- ABCD类地址
- 192.168.XXX.XXX专门给组织内部使用。
- IPV4/IPV6
- 域名:记忆IP问题
- IP:www.vip.com
代码示例:
public class TestInetAddress {
public static void main(String[] args) {
try {
//查询本地主机的ip地址
InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
InetAddress inetAddress2 = InetAddress.getByName("localhost");
System.out.println(inetAddress2);
//查询百度的ip地址
InetAddress inetAddress3 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress3);
}catch (UnknownHostException e){
e.printStackTrace();
}
}
}
2.端口
端口表示计算机上一个程序的进程
- 不同的进程有不同的端口号,用区分不同的软件!
- 被规定端口号由0~65535
- TCP,UDP:65535*2,tcp:80,udp:80,单个协议下不可以一样,不同协议可以一样。
- 端口分类
- 公有端口:0~1023
- HTTP:80
- HTTPS:443
- FTP:
- Telent:23
- 程序注册端口:1024~49151
- Tomcat:8080
- MySQL:3306
- Oracle:1521
- 动态,私有:49152~65535
- 公有端口:0~1023