• TCP报文格式

  源端口:数据发送方的端口号

  目的端口:数据接收方的端口号

  序号:本数据报文中的第一个字节的序号(在数据流中每个字节都对应一个序号)

  确认号:希望收到的下一个数据报文中的第一个字节的序号

  数据偏移:表示本报文数据段距离报文段有多远

  保留:顾名思义,用来保留给以后用的

  紧急比特URG:当值为1时表示次报文段中有需要紧急处理

  确认比特ACK:值为1时确认号有效,值为0时确认号无效。

  复位比特RST:值为1时表示TCP连接存在严重的错误,需要重新进行连接

  同步比特SYN:值为1时表示这是一个连接请求或连接接收报文。

  终止比特FIN:值为1时表示要发送的数据报已经发送完毕,需要释放传送连接

  窗口字段:TCP连接的一端根据缓存空间的大小来确定自己接收窗口的大小,限制发送方的窗口上限

  校验和:用来校验首部和数据两部分的正确性

  紧急指针字段:本报文紧急数据的最后一个字节的序号

  • UDP报文格式

  源端口号:数据发送方的端口号

  目的端口号:数据接收方的端口号

  UDP长度:UDP报文的字节长度(包括首部和数据)  

  UDP校验和:校验UDP首部和数据部分的正确性

  • IP头部报文格式

  

  版本:指IP协议的版本

  服务类型:可见下图

  

  其中优先级用来区别优先级不同的IP报文

  D表示要求有更低的时延

  T表示要求有更高的吞吐量

  R表示要求有更高的可靠性

  总长度:报文的长度

  标识:由于数据报长度超过传输网络的MTU(最大传输单元)而必须分片,这个标识字段的值被复制到所有数据报分片的标识字段中,使得这些分片在达到最终的目的地时可以依照标识字段的内容重新组成原先的数据报。 

  标志:最低位是MF,MF=1时,表示后面还有分片。

  中间位的DF,DF=1时,表示不能分片。

  片偏移: 和前面的数据分片相关,是本分片在原先数据报文中相对首位的偏移位。

  生存时间:数据报在网络中存活的时间,所允许通过的路由器的最大数量,没通过一个路由器,该值自动减一,如果数值为0,路由器就可以把该数据报丢弃。

  协议: 指出数据报携带的数据是使用何种协议,以便目的主机的IP层能知道次数据报上交到哪一个进程(不同协议有一个专门不同的进程处理)。

  首部校验位和:对首部进行校验运算。

  校验方法 : 在发送端,将IP数据报首部划分为多个16位的二进制序列,并将首部校验和字段置为0,用反码运算将所有16位序列对位相加后,将得到多的和的反码写入首部校验和字段。接收端接收到数据报后,将数据报首部的所有字段组织成多个16位的二进制序列,再使用反码运算相加一次,将得到的结果取反。如果结果为0代表没出错,否则出错。

  源地址:发送数据报的节点地址。

  目的地址:接受数据报的节点地址。

  

最新文章

  1. bootstrap源码分析----栅格系统
  2. 对于Access数据库查询遇到空值的解决办法
  3. 转载:C/C++源代码到可执行程序的过程详解
  4. 【Pro ASP.NET MVC 3 Framework】.学习笔记.3.MVC的主要工具-单元测试
  5. Winform 打开下载的文件
  6. 用crontab、crond在嵌入式系统中添加定时任务
  7. Excel数据导入到oracle
  8. 自动文档摘要评价方法:Edmundson,ROUGE
  9. HLJOJ1015(多源最短路径失真)
  10. React和Angular
  11. java中取得上下文路径的方法
  12. jwt (JSON Web Token)官方说明
  13. php上传zip文件在线解压文件在指定目录下,CI框架版本
  14. Java 8 新特性1-函数式接口
  15. ssi服务器端指令详解(shtml)
  16. ES6的Map如何遍历
  17. 用Python开发小学二年级口算自动出题程序
  18. 待解决ava.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method)
  19. 100个常用的Linux命令——转载
  20. django -admin 源码解析

热门文章

  1. 关键字——this,super,static,final
  2. 设计模式-策略模式前端应用校验vue写法
  3. 不存在的!python说不给数据的浏览器是不存在的!
  4. Host–Parasite(主从关系): Graph LSTM-in-LSTM for Group Activity Recognition
  5. labview从入门到出家4--用事件结构实现运算功能
  6. JavaScript进阶内容——BOM详解
  7. BufferedInputStream字节缓冲输入流
  8. Bika LIMS 开源LIMS集—— SENAITE的使用(分析/测试、方法)
  9. 手动注入bean到spring容器
  10. linux 常用操作搜集