网络采用分层的思想:
1、每一层实现不同的功能
2、每一层向上层提供服务,同时使用下层提供的服务
各层典型的协议:
1、网络接口与物理层
MAC地址:48位全球唯一,网络设备的身份标识
ARP/RARP:
ARP: IP地址---->MAC地址
RARP:MAC地址---->IP地址
PPP协议:拨号协议(GPS/3G/4G)
网络层
IP地址
传输层
应用层
网络的封包和拆包:
(补充)
网络编程的预备知识
1、SOCKET
socket是一个编程的接口,它是一种特殊的文件描述符
(对它执行IO的操作函数,比如,read(),write(),close()等操作函数)
socket代表着网络编程的一种资源
IP地址
1、IP地址分为IPV4和IPV6
IPV4:采用32位的整数来表示
IPV6:采用了128位整数来表示
mobileIPV6:local IP(本地注册的IP),roam IP(漫游IP)
IPV4地址:
点分形式:192.168.7.246
32位整数
特殊IP地址:
局域网IP: 192.XXX.XXX.XXX 10.XXX.XXX.XXX
广播IP:xxx.xxx.xxx.255, 255.255.255.255(全网广播)
组播IP: 224.XXX.XXX.XXX~239.xxx.xxx.xxx
2、端口号
网络里面的通信是由 IP地址+端口号 来决定
3、字节序
字节序是指不同的CPU访问内存中的多字节数据
时候,存在大小端问 题
一般来说:
X86/ARM: 小端
powerpc/mips,ARM作为路由器时,大端模式
网络传输的时候采用大端模式
=======
本地字节序、网络字节序
IP地址转换函数:
特点: 1、适用于IPV4和IPV6
2、能正确的处理255.255.255.255的转换问题
参数:
1、af:地址协议族(AF_INET或AF_INET6)
2、src:是一个指针(填写点分形式的IP地址【主要指IPV4】)
3、dst:转换的结果给到dst