网络通信的要素:
网络编程中有俩个主要的问题
如何准确的定位到网络上的一台或者多台主机
找到主机之后如何进行通信
网络编程中的要素
ip和端口号
网络通信协议 udp,tcp
java中也有类来表示(java.lang.object.net)
唯一定义一台网络上的计算机
特殊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:网络互联协议