网络基础
课程
网络编程三要素:IP,端口,协议。
1.IP:在Internet上,每一台通信实体(这个通信实体可以是路由器的某一端口,计算机和服务器等设备)都有唯一表示的IP地址,之前都是IPv4的但在2011年已经用尽,现在正向IPv6时代迈进
2.端口:在设备上的唯一标识,范围在0–65535之间,编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。
3.协议:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
协议的概念
协议:一组规则,是数据传输和数据的解释的规则
假设,A,B双方想要传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方
第二次,发送文件的尺寸,接受方收到数据再次应答一个OK
第三次,传输文件内容,同样,还是上述操作表示文件内容接受成功
TCP协议注重数据的传输,http协议着重于数据的解释
常见的协议:
传输层:TCP/UDP协议
应用层:HTTP,FTP
网络层:IP,ICMP,IGMP
网络接口层:以太网帧协议,ARP,RARP
分层模型
分层模型结构:
OSI七层模型:物,数,网,传,会,表,应
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
TCP/IP 4层:网,网,传,应
前两个是网络接口层(链路层),网络层,传输层,后三个是应用层
通信过程
网络传输流程:数据没有封装之前,是不能在网络中传递的
数据->应用层->传输层->网络层->链路层 -----网络环境
协议格式
1.数据包封装
2.以太网帧协议:
APR协议:根据IP地址获取mac地址
以太网帧协议:根据mac地址,完成数据包传输
3.IP协议:
版本:IPv4 IPv6
TTL: time to live 。 设置数据包在路由节点中的跳转上限。每经过一个路由节点,该值-1, 减为0的路由,有义务将该数据包丢弃
源IP:32位 — 4字节 192.168.1.108 一个字节.一个字节.一个字节.一个字节 ---- 点分十进制 IP地址—二进制
目的IP:32位 —4字节
4.端口号和UDP协议
UDP:
16位:源端口号。2^16=65536
16位:目的端口号
IP地址:可以在网络中,唯一标识一台主机
端口号:可以在网络的一台主机上,唯一标识一个进程
IP地址+端口号:可以在网络环境中,唯一标识一个进程
5.TCP协议
16位:源端口号。 2^16 = 65536
16位:目的端口号。
32位序号
32位确认序号
6个标志位
16位窗口大小 2^16 = 65536
C/S模型和B/S模型对比
client-server客户端服务器模型
browser-server浏览器服务器模型
C/S
优点: 缓存大量数据、协议选择灵活,速度快,应用程序迭代和更新更方便
例如王者荣耀里面有大量的图片和特效等,这种东西在程序启动前加载到内存到中
缺点:安全性、跨平台、开发工作量较大
B/S
**优点:**安全性、跨平台、开发工作量较小
**缺点:**并不能缓存大量数据,严格遵守 http协议