1.什么是网络?
概念:由点和线构成,表示多个对象之间互相联系
1.1计算机网络:
互联网:Interner
万维网:www
物联网:Iot
1,.2网络模型:
OSI参考模型:
应用层:http协议,SMTP协议
表示层:将数据格式进行转换与加密
会话层:维持通讯
传输层:回复通讯,数据流重用等事情,UDP,TCP
网络层:ip,计算机在网络的位置
数据链路层:对其数据进行格式化的要求
物理层:硬件设备,如网线,网线接口等
因为OSI过于理想化,所以没有被实现
1.3TCP/IP模型
应用层
对应OSI模型的应用层,表示层,会话层
对应的协议:HTTP,SMTP,HTTPS
传输层
对应OSI模型的传输层
对应的协议:TCP,UDP协议
网络层
对应OSI模型的网络层
对应的协议:IP
网络接口层
对应OSI模型的数据链路层与物理层
对应的协议:以太网协议,ADSL协议等
2.IP
概念:计算机在互联网中的地址
IPV4
4段,每段由8位组成,所以每段的值0~255
0000 0000~1111 1111
192.168.72.1
IPV6
16个字节,每个字节8位组成,每段32位,每段取值范围0~65535
IP地址的分类:
A类地址:大型网络,主要服务于国家与政府企业
B类地址:中型网络,主要服务于大型实验室等
C类地址:个人网络,普通人与普通企业用的网络
特殊IP:
127.0.0.1表示本机(localhost)
专业名称:回路地址
相关地址:
Ipconfig
作用:查看当前计算机的IP信息
Ping
作用:尝试链接对方
InetAddress
作用:表示计算机在网络中的地址
方法:
InetAddress.getLocalHost();
获取本机的网络地址信息
InetAddress.getByName();
通过主机名词获取别人的地址信息
通过指定的IP
3.端口
概念:程序在计算机中的地址
范围:0~65535
注意:
0~1023一般被系统占用
1024~49151:注册端口
49151~65535:动态端口
常见的端口:
Mysql端口号:3306
Tomat端口号:8080
http协议端口号:80
oracle端口号:1521
4.通讯协议
4.1TCP
中文名:传输控制协议
特点:面向链接,安全可靠,效率低,基于字节流进行通讯,传输数据大小无限制
三次握手,四次挥手
第一次握手第一次挥手:客户端向服务器发起请求
第二次握手第二次挥手:判断是否链接成功
第三次握手第三次挥手:客户端上传数据或服务器反馈数据
第四次挥手:客户端断开链接
如:去朋友假做客
- 打电话,询问是否方便
对方接听电话(一次握手),打完电话后挂断电话(一次挥手)
- 去朋友家,敲门
开门(一次握手),朋友倒茶(一次挥手)
- 开始聚会
聊天(一次握手,一次挥手)
- 说拜拜
一次挥手
Java中对应的类:
Socket:客户端
serverSocket:服务器
4.2UDP
中文名:数据包协议
特点:面向无连接,不安全,效率高,基于数据包格式进行传输,一个数据包最多64kb
俗称:对讲机
如:用对讲机通知同事有小偷
1.直接对着对讲机说有小偷
5.基于TCP协议的通讯
技术
服务器
创建ServerSocket
等待客户端链接
关闭资源
客户端
创建客户端socket
关闭资源
6.基于UDP协议的通讯
技术
接收端
DatagramSocket(端口号)
接收端对象.receive(数据包):接受数据
发送端
DatagramSocket()
发送端对象.send(数据包):用于发送数据包
数据包
DatagramPacket