是的,TCP和UDP是在第三层传输层。而IP在第二层网际层。数据从上层封装到下层。所以TCP和UDP被封装在IP包里。
相关介绍:
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
UDP它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事情。
扩展资料
UDP协议与TCP协议一样用于处理数据包,在OSI模型中,两者都位于传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但即使在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。
参考资料来源:百度百科-tcp
参考资料来源:百度百科-UDP
我们在租用服务器的时候会看到一些封UDP的字眼,有人说UDP协议不靠谱,那为什么还有人使用呢?
首先我们要先了解UDP是什么~
UDP中文名:用户数据报协议(User Datagram Protocol),是 OSI参考模型中的传输层协议,它与TCP协议一样用于处理数据包,是一种无连接的传输层协议。UDP有不断提供数据包分组、组装和不能对数据包进行排序,也就是说,当报文发送之后无法得知是否安全到达,是一种提供面向事务简单不可靠信息传送服务。
由于UDP的不可靠,因此欺骗UDP包相对容易,与UDP相关的服务面临着更大的危险。DDoS攻击的目的只有一个,但实现的方式有两种,一种是将你的带宽塞满,一种是让你的服务器资源耗尽。而使用UDP协议的业务较为容易受到UDP流量攻击。
UDP协议适用于对网络质量要求不高,对高速传输和对实时性有较高要求的通行或者广播通信。比如日常生活中的:QQ语音,视频电话,现场直播,游戏等场景。
通过对UDP协议的了解,大家应该知道,大部分攻击都来源于海外,因为海外流量的成本相对于国内会低一点,一旦发起攻击,并不容易找到源头,因此封掉UDP是一个不错的选择,前提是不需要用到UDP协议。
UDP服务器,就是首发数据,进行数据处理的。与TCP不同的是不用建立连接,直接调用recvfrom来收包。开始就是基本的socket初始化地址什么的。
要求多个线程处理客户端命令,那recvfrom收包后,考虑把客户端的地址信息保存,便于sendto,对接收的数据包,交给线程进行处理,每个线程可以向一块共享内存、队列里写入收到的数据和对应的客户端信息,每次写的时候对这块共享资源加锁,多个线程对共享资源读是加锁,读完解锁,并开始处理数据。
处理完,用sendto发回去。
不是什么大项目。小程序而已。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)