网络原理:
OSI模型
Tcp/Ip模型
OSI七层模型:
7.应用层:程序这一层(HTTP协议,SSH协议,DNS协议,FTP协议)
6.表示层:设置固有数据格式和网络标准数据格式的转换,将网络数据包转换成应用程序需要的包。
5.会话层:管理会话,管理连接和断开连接
4.传输层:管理两个节点间的数据传输,用来填写源地址和目标地址 (TCP/UDP)
3.网络层:管理选择路由地址(用来决定交通工具类型)
2.数据链路层:用来进行相邻结点的数据传输,用来规划最近传输路段 接收和解析相邻结点数据的
1.物理层:网线,基站,光信号,电信号
传输层五个关键的要素:
1.目标IP
2.目标端口号
3. 源地址IP
4. 源端口号
5. 协议类型
TCP/IP五层(或四层)模型:
- 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等
2. 传输层: 负责两台主机之间的数据传输.
UDP:无连接,不稳定(不可靠),面向数据报Datagram。
TCP:有连接(面向连接),稳定,面向数据流。
3. 网络层: 负责地址管理和路由选择. 路由器工作在网路层.
4. 数据链路层: 负责设备之间的数据帧的传送和识别. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
5. 物理层: 负责光/电信号的传递方式.四层时无物理层。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
数据传输过程:封装/分用
封装:就是从应用层到物理层的过程。
分用:就是从物理层到应用层的过程。
网络中的地址管理
认识IP地址
IP协议有两个版本, IPv4和IPv6.
1.IP地址是在IP协议中, 用来标识网络中不同主机的地址;
2.对于IPv4来说, IP地址是一个4字节, 32位的整数;
3.我们通常也使用 “点分十进制” 的字符串表示IP地址, 例192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255
MAC:物理地址/网卡地址
MAC地址是出厂就生成的全球唯一地址。
Linux MAC格式是以 “:” 分隔的
windows是以 “-” 分隔的
UDP网络编程:
DgramSocket->客户端/服务器端
服务器端:一经启动就会对外提供服务,不知道客户端什么时候发送链接,被动接受的一方。服务器要有一个固定端口号。
客户端:在需要的时候才发起链接,他是主动性发送请求的一方。
UDP服务端的发布
1、点击项目属性
2、配置打包项
3、打包
4.使用命令启动jar
java一jar xxx. jar
DatagramPacket
send()发送消息
receive()接收消息
服务器端创建:ServerSocket
客户端创建:Socket
读取消息:BufferedReader
写入消息:BufferedWriter
缓冲区(Buffered)作用:高效的收发消息
TCP又有发送缓冲区,又有接收缓冲区
UDP没有发送缓冲区,只有接收缓冲区
实现
response:
1.首行(HTTP)版本号 状态码 状态描述符
2.响应头 ContentLength:字节大小
3.空行
4.返回信息
写入:必须有\n
writer. write( str: serMsg+"\n");
读取:按行读取
String msg =reader. readLine() ;