TCP协议与UDP协议支持的应用协议

TCP支持的应用协议主要有:Telnet、FTP、SMTP等;

UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

udp的特点:

  • UDP是一种无连接的、不可靠的传输层协议;
  • 在完成进程到进程的通信中提供了有限的差错检验功能;
  • 设计比较简单的UDP协议的目的是希望以最小的开销来达到网络环境中的进程通信目的;
  • 进程发送的报文较短,同时对报文的可靠性要求不高,那么可以使用UDP协议。

udp使用的熟知端口;

upd的报文格式

wireshark的udp报文

tcp的报文格式;

wireshark的报文:

数据偏移/首部长度:4bits。由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,

报头不包含任何任选字段则长度为20字节,

4位首部长度字段所能表示的最大值为1111,转化为10进制为15,

15*32/8 = 60,故报头最大长度为60字节。

首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。

控制位:URG  ACK  PSH  RST  SYN  FIN,共6个,每一个标志位表示一个控制功能。

1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。

3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。

4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。

6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

最新文章

  1. 总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别
  2. 十天学会DIV+CSS(DIV布局)
  3. 创建一个swift项目
  4. 正确理解静态Static关键字
  5. 输出n行杨辉三角数
  6. openlayers加载地图没有图片时有红叉的解决方法
  7. Count Color
  8. 2013山东省“浪潮杯”省赛 A.Rescue The Princess
  9. ubuntu 基本操作(1)
  10. 为什么很多语言选择在JVM上实现
  11. 动态规划(背包问题):POJ 1742 Coins
  12. ASP.NET-FineUI开发实践-5
  13. HtmlHelper扩展 及 页面编码化
  14. listview 拖动item效果实现
  15. SQL中with(nolock)作用说明
  16. shell脚本进阶之条件测试与条件语句
  17. 聊聊JavaScript-闭包
  18. mobile_基础事件
  19. SD Consultant Year End Activities
  20. 完善版封装canvas分享组件

热门文章

  1. 作为 attribute 和 property 的 value 及 Vue.js 的相关处理
  2. LVS 集群与存储《路由转发》
  3. 创建一个tar备份包
  4. Scratch 第1课 让小猫动起来
  5. 武汉加油!(Python版)
  6. 005-循环结构(上)-C语言笔记
  7. RNN循环神经网络(Recurrent Neural Network)学习
  8. 【Java】手动编写第一个Java程序,HelloWorld!
  9. H - Tempter of the Bone DFS
  10. Rescue BFS+优先队列 杭电1242