ISO/OSI参考模型
- 应用层(Application Layer)
- 表示层(Presentation Layer)
- 会话层(Session Layer)
- 传输层(Transport Layer)
- 网络层(Internet Layer)
- 数据链路层( Data Link Layer)
- 物理层(Physical Layer)
TCP/IP四层模型
- 应用层(Application Layer)–合并了上面的1,2,3三层
- 传输层(Transport Layer)
- 网络层(Internet Layer)
- 链路层 (LinkLayer) ———–合并了上面的6,7两层
端口
- 众所周知的端口( Well Known Ports):0~1023
- 注册端口(Registered Ports):1024~49151
- 动态或私有端口(Dynamic or Private Ports):49152~65535
MTU
- 以太网和IEEE802.3对数据帧的长度都有限制,其最大值分别为1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Transmission Unit)
- 如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就要进行分片(Fragmentation),将数据报分成若干片,这样每一片都小于MTU。
- 当网络上的两台主机互相进行通信时,两台主机之间要经过多个网络,每个网络的链路层可能有不同的MTU,其中两台通信主机路径中的最小MTU被称作路径MTU。
判断网络字节序
大端
小端
网络字节序转换函数
说明
在上述函数中,h代表host,n代表network,s代表short,l代表long
使用代码
结果:
78 56 34 12 ——小端
12 34 56 78 ——大端(网络字节序)
地址转换函数
地址转换函数
头文件
函数
使用样例
结果
- 流式套接字 SOCK_STREAM
- 提供面向连接的、可靠的数据传输服务,数据无差错,无重复的发送,且按发送顺序接收。
- 数据报式套接字 SOCK_DGRAM
- 提供了无连接服务。不提供无错保证,数据可能丢失或重复,并且接收顺序混乱。
- 原始套接字 SOCK_RAW