专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

TCP UDP IP 等协议基础

作者:佚名   来源:本站原创   点击数:  更新时间:2014年08月18日   【字体:
应用层协议的具体应用:
NTP:做网络时钟(时间来源于互联网,本地不用RTC) 
DNS:
RTP、RTSP:视频监控常用的协议
SNMP:简单网络管理协议(集中式管理)
FTP:
HTTP:
.......
 
先理解一下网络的模型(linux、国嵌的PPT):



 

目的地址与源地址都是MAC(物理地址);
数据字段长度: 数据的类型(比如0x0800:表示帧里面的“数据”字段是一个IP包)
数据:这里面存放具体的数据包。
 
IP协议层:IP协议主要目的是为数据的输入、输出网络提供基本算法,为高层协议提供无连接的传送服务。
IP协议层的功能:数据传送、寻址、路由选择、数据报文的分段。
IP协议包格式:

TCP协议:TCP协议是重要的传输层协议,它的目的是为网络上的各节点提供可靠的数据交换。它提供数据端口编号的译码,以识别主机的应用程序,完成数据的可靠传送。
TCP包格式:
UDP协议:传送层协议,它是无连接不可靠的传送。当接收数据时它并不向发送方提供确认信息,它不提供输入包的顺序,如果出现丢失包或重份包的情况,也不会向发送方发出差错报文,它的执行速度比TCP快,执行时具有较低的开销。
UDP协议包格式:
 
 
基于TCP的网络编程,基于UDP的网络编程;【服务器、客户端】
创建TCP服务器/客服端:

创建UDP服务器/客服端:

在实际的网络设计中,服务器必须要实现1对多的功能模型;这里就可分为两种服务器:循环服务器与并发服务器。
循环服务器:
上面介绍的TCP、UDP通信模型都是循环服务器,TCP的循环服务器与UDP的循环服务器又不同;TCP循环服务器一次只能处理一个客户端的请求。所以一个客户端占住服务器不放,其他的客户端就没法访问服务器,所以在服务器端TCP服务器很少使用循环模式。但是UDP的循环服务器与TCP循环服务器不一样,因为UDP不需要建立连接(TCP建立连接后完全占用服务器),所以UDP的循环服务器直接可以服务多个客户端。
并发服务器:TCP需要使用并发服务器模型才能服务多个客户端。
并发服务器的设计思路是每个客户端的请求并不由服务器直接处理,而是由服务器创建一个子进程来处理。
关闭窗口