网络编程
OSI七层模型
数据链路层
电信号分组方式—以太网协议(Ethernet)
一组电信号—一个数据包—帧—包含表头和数据
标头18字节,数据46—1500字节=一帧64到1518字节
每一块网卡都有全世界独一无二的MAC地址
长度48个二进制位,用12个16进制位表示,
前六个厂商编号,后六个网卡流水号
发送方式—广播
向网络内所有计算机都发送,让每台计算机都读取包的标头,找到接收方的MAC,与自身MAC地址比较,两者相同就接受这个包,否则就丢弃
网络层
引进一套新的地址,区分不同的计算机是否属于同一个子网络,“网络地址”简称“网址”
MAC地址在网卡,网址由网络管理员分配
网址协议—IP协议,目前是IPv6
传输层
用来确定这个数据包给那个程序使用,例如qq还是浏览器,这个参数叫做端口
这样每一个数据包就可以发送到主机的特定端口,给对应的程序需要的数据
端口是0—65535的一个整数,在数据包加入端口信息,新的协议—UDP协议
特点:简单容易实现,但是可靠性差,不知道对方是否收到
TCP协议,确保数据不丢失,但是过程复杂,实现困难,消耗资源多,没有长度限制
应用层
例如HTTP协议等,组成应用层,规定了应用程序的数据格式
目前只能听懂个理论,后续继续补充