一. 协议 --- "协议" 是一种约定
1. 协议分层
是一种协议封装, 便于使用
对服务, 接口, 协议 进行明确的划分; 形成标准实现起来就简单
2.OSI七层参考模型 (了解)
物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
3.TCP/IP五层(或四层)模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇
物理层: 负责光/电信号的传递方式; 以太网协议; 集线器
数据链路层: 负责设备之间的数据帧的传送和识别; Ethernet; 交换机
网络层: 负责地址管理和路由选择; IP; 路由器
传输层: 负责两台主机之间的数据传输; TCP, UDP
应用层: 负责应用程序间沟通 HTTP FTP DNS
二. 网络传输基本流程
1.数据包封装和分用
数据分用和封装相反
三. 网络中的地址管理
IPV4: uint32_t --- 43亿左右 --- 在网络上唯一标识一台主机
IPV6: uchar ip[16] --- 不兼容IPV4
解决Ipv4 不够用的方法:
DHCP: 动态IP分配
NAT: 地址替换 多人使用一个IP
port: uint16_t --- 0 ~ 65535
网络程序分为客户端和服务端, 主动发起请求的是客户端, 被动接受连接的是服务端(服务端的地址不变)
端口用来标识主机中的一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理
四. 网络字节序
字节序: CPU在内存中对数据进行存取的顺序
大端字节序: 低地址存高位
小端字节序: 低地址存低位
标准 --- 网络字节序 (大端字节序)