Linux网络编程
1、网络体系结构:即指网络的层次结构和每层所使用协议的集合
2、
1)协议:一组控制数据通信的规则。
2)三要素:
语法(包括数据格式、编码及信号电平等)、
语义(包括用于协议和差错处理的控制信息)、
时序(包括速度匹配和排序)。
3)标准:一致同意的规则。
4)分类:
事实上的标准:实际情况或者习惯
合法标准:法律或者规章制度
5)标准化组织
a、缓慢发展:
ISO:国际标准化组织
ITU-T:国际电联-电信标准部
ANSI:美国国家标准化局
IEEE:电气电子工程师协会(主要是以太网、局域网方面的)
EIA:电子工业协会(物理传输标准、光钎传输)
b、快速发展:
论坛:帧中继论坛、ATM论坛
c、管理机构:FCC 联邦通信委员会
d、Internet标准:RFC
3、OSI开放系统的互联模型
|
|
解析:
ISO(国际标准化组织)制定了一个国际标准OSI(开放式通信系统互联参考模型),对通信系统进行了标准化。
OSI模型将通信协议中必要的功能分成了7层,每个分层都接收有它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做 “接口”。同一层之间的交互所遵循的约定叫做“协议”。
7层通信:
|
|
4、TCP/IP协议族:传输控制/网际协议(Transfer Control Protocol/Internet Protocol) 又称作网络通讯协议;TCP/IP协议是Internet事实上的工业标准。
5、各层使用的协议
|
|
常用的协议
|
|
6、UDP和TCP
1)异同点:
相同点:同为传输层的协议
不同点:
|
|
2)TCP(即传输控制协议)是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)
适用情况:
适合于对传输质量要求较高,以及传输大量数据的通信。
在需要可靠数据传输的场合,通常使用TCP协议
QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议
3)UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。
适用情况:
发送小尺寸数据(如对DNS服务器进行IP地址查询时) 在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络) 适合于广播/组播式通信中。
MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议。
流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输。