(一)OSI模型和TCP_IP协议族
(1)unix网络编程是什么?要做什么?
(2)首先看看网络模型:OSI模型和TCP/IP协议族。
OSI模型:共七层: TCP/IP协议族:共五层:
7 应用层 5 应用层
6 表示层
5 会话层
4 传输层 4 传输层
3 网络层 3 网络层
2 数据链路层 2 数据链路层
1 物理层 1 物理层
可以看出TCP/IP协议族与OSI模型的差别就在应用层。那么每个层是什么意思呢?
物理层:就是硬件电路。
数据链路层:就是局域网、广域网等协议抽象出来的层。
网络层:由IP、ARP、ICMP等协议抽象出来的层
传输层:由TCP、UDP和SCTP等抽象出来的层。
应用层:由TFP、SSH等协议抽象出来的层。
(3)套接字编程沟通应用层和其余层
套接字socket等函数定义在unix中,可以实现应用层到传输层、应用层到网络层、应用层到数据链路层的沟通。
所以我们的unix网络编程,就是了解各层协议的实现原理和软件包,并以此为基础,利用套接字函数沟通各层,实现不同需求。