网络通信的要素:
-
网络编程中有俩个主要的问题
-
如何准确的定位到网络上的一台或者多台主机
-
找到主机之后如何进行通信
-
-
-
ip和端口号
-
网络通信协议 udp,tcp
-
-
java中也有类来表示(java.lang.object.net)
IP
唯一定义一台网络上的计算机
特殊IP:127.0.0.1 本机ip,localhost
IP分类:
-
ipv4、ipv6
-
IPV4: 127.0.0.1 4个字节组成,0~255
-
IPV6: 128位,8个无符号整数组成的(0~9和a~e组成) 号称能为地球上每一粒分配
-
-
公网、私网(局域网)
ABCD四类地址
1.0.0.1----------126.255.255.254 是A类地址
128.1.0.1------192.254.255.254 是B类地址
192.0.1.1------223.255.254.254 是C类地址(常用地址)
224.0.0.1-------239.255.255.254 是D类地址
240.0.0.0-------255.255.255.254 是E类地址
端口
端口对应的是一个程序的入口
端口被规定0~65535
TCP,UDP : 0~65535
公有端口0~1023 内置端口,一般会被占用
http:80 https:443 ftp:21 telent:23
程序注册端口:1024~49151 分配给用户或者程序
tomcat:8080 mysql:3306 Oracle:1521
动态端口、私有端口:49152~65535
netstat -ano(可以查看tcp和udp占用的端口)
通信协议
TCP/IP协议簇
TCP:用户传输协议
-
会链接,稳定
-
三次握手
,四次挥手
-
A: 发送请求
B: 回应请求
A: 发送请求 -
A: 发送断开请求
B: 回应断开请求
B: 确认断开请求
A: 确认回应断开请求
-
-
客户端,服务端
-
传输完成,释放链接,效率低
UDP:用户数据报协议
-
不链接,不稳定
-
客户端,服务端,没有明确的界限
-
不管有没有准备好,都可以发送
DDOS:洪水攻击(饱和攻击)
IP:网络互联协议