一、定义
在网络通讯协议下,不同计算机上运行的程序,进行数据传输称为网络编程。
二、OSI和tcp/ip模型数据发送原理
OSI参考模型:从发送端的最高层逐层往下发送,到物理层变成二进制数据,发送到接收端的物理层后,将二进制数据逐层发送到最高层,转为明文。
发送端----(明文)---->应用层->表示层->会话层->传输层->网络层->数据链路层->物理层 ------(二进制数据)----> 接收端物理层
接收端----(二进制数据)---->物理层->数据链路层->网络层->传输层->会话层->表示层->应用层------>(明文)
tcp/ip参考模型:OSI太过于繁琐和理想化,所以出来了tcp/ip模型,该模型简化了OSI模型,能够大大提高性能。
应用层(应用层、表示层、会话层)->传输层->网络层->物理链路层(数据链路层、物理层)
tcp/ip模型各层常见的协议:
应用层(应用层、表示层、会话层):http、https、DNS等
传输层:tcp、udp等
网络层:ip等
物理链路层:硬件设备01010101
三、tcp和udp协议的区别
tcp协议:面向有连接通信协议,需要和接收端进行握手通信,发送数据速度慢,但是不易丢失,无大小限制。
udp协议:面向无连接通信协议,不需要指定接收端,谁都可以接收,该协议发送数据速度快,但是不安全,数据容易丢失,有大小限制(64k)
java实现udp发送数据:
java实现udp接收数据:
四、三次握手四次挥手
三次握手四次挥手就是发生在tcp协议的连接上,tcp协议发送数据,是面向有连接的协议,也就是目标是存在的,而且必须连接的。
三次握手
1、客户端发送连接请求
2、服务端接收到请求后,向客户端发送同意连接信息
3、客户端连接服务端
四次挥手
1、客户端发送断开请求
2、服务端接收到请求后,向客户端发送信息,表示等传输通道的数据发送完成
3、服务端向客户端发送信息传输完毕,可以断开连接
4、客户端断开连接