计算机网络: 计算机网络是指将地理位置不同的计算机及其外部部件,通过通信线路连接起来,在网络编程协议下,实现不同计算机之间的信息共享以及信息交流的计算机系统。
IP地址: inetAddress
:唯一定义一台网络上计算机 :127.0.0.1 本机IP地址 localhost :唯一定位一台网络上的计算机
127.0.0.1 (ipv4 / ipv6) ipv4 127.0.0.1 4个字节组成。每个字节长度0~255 ipv6 fe80::f0e0:7383:ad8e:f32f%3 128位 8无符号整数
公网(互联网)------私网(局域网)
public class TestInetAddress {
public static void main(String[] args) {
try {
InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
InetAddress inetAddress3 = InetAddress.getByName("localhost");
System.out.println(inetAddress3);
InetAddress inetAddress4 = InetAddress.getLocalHost();
System.out.println(inetAddress4);
InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress2);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
端口:
- 不同的进程有不同的端口号!用软件来区分
- 被规定为0-65536之间
- TCP, UDP: 65536 *2
tcp:80, udp:80可以吗? 单个协议下,端口号不能冲突
端口的分类:
- 公有端口 0-1023
- http:80
- https:443
- FTP: 21
- TELENT: 23
程序注册端口:1024-49151
- Tomact:8080
- Mysql : 3306
- Oracle: 1521
通信协议: 协议:约定,就好比中国人交流说的是普通话 网络通信协议:速度、传输码率、代码结构、传输控制… 问题:非常的复杂 大事化小 :分层
TCP/IP协议簇:实际上是一组协议 重要重要重要~说三遍
出名的协议
TCP与UDP对比
TCP:打电话
最少需要三次,保证稳定连接!
A:你瞅啥? #第一次握手:客户端向服务端申请连接
B:瞅你咋地? #第二次握手:服务端向客户端返回确认同意连接
A:干一场 #第三次握手:客户端发送确认报文段,完成连接
四次挥手,确保断开
A:我要走了
B:我知道你要走了
B:你真的要走了吗?
A:我真的要走了
UDP:发短信
- 不连接,不稳定
- 客户端、服务端:没有明确的界限
- 不管有没有准备好,都可以发给你
- DDOS:洪水攻击!发送垃圾信息 堵塞线路(饱和攻击)
|