e-s*_*tis 6 networking udp tcp
我昨天正在配置IPtable.我的同事刚问我这个问题,我无法回答.我意识到我是一个比sysadmin更好的开发者,需要改进它.
那他们是什么?它们适用于什么?缺点/优点(如果相关).
Aru*_*nmu 10
这些就像基本问题.
UDP ::用户数据报协议
1)没有端到端机器之间的连接(可能在本地网络或互联网的某个地方).
2)在接收端接收的数据不像TCP那样在流中,而是作为完整的数据块.
3)在传输层,不执行包顺序检查.即如果接收到的数据包中有任何错误,接收方将不会要求将相同的数据包重新发送给发送方.
4)由于上述行为,发送方端不需要发送缓冲区.
5)因为没有端到端的连接.并且不需要握手,UDP比TCP快得多但不太可靠.因此主要用于游戏和DNS等.
6)收到数据包后无需确认.
TCP ::传输控制协议
1)端到端在机器之间保持连接(可以在本地网络中或在因特网中的某处).
2)在接收器端接收的数据是TCP中的流.因此,当我们对服务器进行网络编程时,我们首先首先解析头部,然后根据头部中提到的大小,我们从缓冲区获得更多的字节数.
3)错误检查和序列号都已完成.因此,如果任何数据包是无序接收的(很少)或者是错误的,那么该数据包将被重新发送.此外,许多其他协议涉及流量控制(端到端流量控制).
4)作为连接建立,握手和确认是TCP操作基本上比UDP慢.(我不相信)
5)许多协议使用TCP作为底层传输协议.HTTP,FTP,TELNET等..
6)沟通程序包括:
Server :: 1)Socket Open 2)Socket Bind 3)Socket Listen 4)Socket Accept 5)Socket Send/Recv Client :: 1)Socket Open 2)Socket Connect 3)Socket Send/Recv还有很多其他的差别..但上面是最常见的.
TCP是一种可靠的协议,可确保您的数据包到达目的地,并用于所有数据必须在各方之间准确传输的应用程序中.TCP要求双方在数据传输开始之前协商连接,并且它是弹性协议,因为它将重复重新发送数据包,直到预期接收者接收到该数据包.
UDP在某种意义上是不可靠的,它允许一些数据包在传输过程中丢失.UDP的一些应用程序可以在电影流中找到,您实际上可以承受丢失帧并且不会危及电影质量.UDP不需要在双方之间进行绑定,并且通常被视为TCP的替代方案.
这里有一个很好的表:TCP vs UDP
| 归档时间: |
|
| 查看次数: |
9185 次 |
| 最近记录: |