- 下层为上层提供服务
- 每一层都有属于自己的包体结构
tcp/ip协议族
| 名词 | 业务 | 描述 |
|---|---|---|
| 应用层 | DNS、HTTP、FTP、PING | 软件程序 |
| 传输层 | TCP、UDP | 操作系统 |
| 网络层 | ICMP、IP、ARP | 操作系统 |
| 物理层 | 物理网络 双绞线、无线网、光纤 | 硬件设备 |
网络字节序ARP:协议的主要功能是将IP地址解析为物理地址 ARP欺骗攻击
ICMP:报文协议 用于确认消息是否可达
IP协议:IP提供不可靠的,无连接的数据传送服务。
TCP协议:提供可靠的连接服务 基于IP
UDP协议:提供可靠的连接服务 基于IP
PING协议:基于ICMP协议
- 大端是 高字节在左边
- 小端是 低字节在左边
- 网络字节序是大端
套接字/句柄/SOCKETTIPS:网络字节序转化为主机字节序时,一定要注意是否需要转换。网络字节序采用大端(big-endian)排序方式。字节序是指大于一个字节类型的数据在内存中的存放顺序。是在跨平台和网络编程中时常要考虑的问题。大端:高位字节排放在内存中的低地址端,低位字节排放在内存中的高地址端。小端:低位字节排放在内存中的低地址端,高位字节排放在内存中的高地址端。
套接字类似于指针,绑定了对端的IP和端口的一个暴露的值
三次握手四次挥手流套接字(SOCK_STREAM): TCP的控制协议
数据报套接字(SOCK_DGRAM): 报文协议 UDP
**原始套接字(SOCK_RAW): ** 最原始的底层协议 可以手动实现TCP和UDP的底层实现
| ACK | 确认是否有效 值为1 |
| seq | 序列号标记位 |
| SYN | 请求建立连接 值为1 |
| FIN | 希望断开连接 |



