转自:http://www.weidianyuedu.com/content/2711824216204.html
数据包是TCP/IP协议通信传输中的数据单位。数据包包含发送者和接收者的地址信息。这些数据包然后沿着不同的路径在一个或多个网络中传输,并且在目的地重新组合。

任意一台主机都能够发送具有任意源地址的数据包。当数据包进行长距离的传输时需要经过许多中继站。每个中继站就是一台主机或路由器,他们基于路由信息,将数据包向下一个中继站传递。在数据传输的路途上,如果路由器遇到大数据流量的情况下,它可能在没有任何提示的情况下丢掉一些数据包。

较高层的协议(如TCP协议)用于处理这些问题,以便为应用程序提供一条可靠的链路。如果对于下一个中继站来说数据包太大,该数据包就会被分片。也就是说,大的数据包会被分成两个或多个小数据包,每个小数据包都有自己的IP头,但其净荷仅仅是大数据包净荷的一部分。

每个小数据包可以经由不同的路径到达目的地。在传输的路途上,每个小数据包还可能会被继续分片。当这些小数据包到达目标机器时,他们会被重新拼装到一起。按照规则规定,在中间节点上,不允许对小数据包进行拼装组合。

数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定,各字段长度固定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。

数据包的结构与我们平常写信非常类似,目的IP地址是说明这个数据包是要发给谁的,相当于收信人地址;源IP地址是说明这个数据包是发自哪里的,相当于发信人地址;而净载数据相当于信件的内容。

正是因为数据包具有这样的结构,安装了TCP/IP协议的计算机之间才能相互通信。我们在使用基于TCP/IP协议的网络时,网络中其实传递的就是数据包。理解数据包,对于网络管理的网络安全具有至关重要的意义。

什么是数据包,数据包是用来干什么的?相关推荐

  1. R语言dplyr包的top_n函数返回dataframe或tibble的前N行数据、dplyr包的top_frac函数返回dataframe或tibble的前百分之N(N%)的数据

    R语言dplyr包的top_n函数返回dataframe或tibble的前N行数据.dplyr包的top_frac函数返回dataframe或tibble的前百分之N(N%)的数据 目录

  2. R删除冗余行数据基于dplyr包

    R删除冗余行数据基于dplyr包 目录 R删除冗余行数据基于dplyr包 删除完全重复的行 删除一列中的重复项

  3. r语言中mpg数据_R语言数据筛选整理包dplyr

    dplyr软件包是R中功能最强大,最受欢迎的软件包之一.该软件包由最受欢迎的R程序员Hadley Wickham编写,他编写了许多有用的R软件包,如ggplot2,tidyr等.本文包括一些示例和如何 ...

  4. TCP/IP 网络数据封包和解包

    这是一个网上的代码:下面列出资料并简略分析代码: TCP/IP 网络数据封包和解包  .   TCP/IP 网络数据以流的方式传输,数据流是由包组成,如何判定接收方收到的包是否是一个完整的包就要在发送 ...

  5. wireshark抓包数据:理解与分析

    wireshark是一个非常好用的抓包工具,本文根据平时抓包经验,对之前wireshark抓包的一些常见知识点进行了整理. 有不当之处,欢迎指正 注明:本文为原创文章,转载请注明出处.参考文章见本文末 ...

  6. netty 客户端断开 异常处理_netty案例,netty4.1基础入门篇八《NettyClient半包粘包处理》发数据方式》...

    小傅哥 | https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获.专注于原创专题案例编写,目前已完成的专题有:Netty4.x实战专题案例.用Java实现JVM.基于Ja ...

  7. 解析ip数据包java_ip包,ip数据包,数据包或者包的理解

    首先看看以下这段话: 路由器把需到达的网络的网络号保存在路由表中,当一个IP数据报被路由器接收到时,路由器先从该IP数据报中取出目的站点的IP地址,根据IP地址计算出目的站点所在网络的网络号,然后用网 ...

  8. R语言survival包的survfit函数拟合生存曲线数据、survminer包的ggsurvplot函数可视化生存曲线、size参数指定曲线粗细、palette参数自定义生存曲线的颜色

    R语言survival包的survfit函数拟合生存曲线数据.survminer包的ggsurvplot函数可视化生存曲线.size参数指定曲线粗细.palette参数自定义生存曲线的颜色 目录

  9. R语言survival包的survfit函数拟合生存曲线数据、survminer包的ggsurvplot函数可视化生存曲线、绘制分面生存曲线(facet_grid)

    R语言survival包的survfit函数拟合生存曲线数据.survminer包的ggsurvplot函数可视化生存曲线.绘制分面生存曲线(facet_grid) 目录

  10. Python数据分析三剑客学习笔记Day3——pandas包的使用:认识series类型,DataFrame类型,读取excel表格数据及数据操作

    本文是视频Python数据分析三剑客 数学建模基础 numpy.pandas.matplotlib的学习笔记. -------------------------------------------- ...

最新文章

  1. 关于前端开发的相关资料及例子
  2. 数学之美系列十七 -- 谈谈搜索引擎作弊问题(Search Engine Anti-SPAM)
  3. mysql试题百度云_BATJ大厂600多道技术面试题及答案解析
  4. hibernate注解实体类(Emp.java)
  5. c语言 waveout用法,用C语言发声
  6. Java-web下使用RSA进行加密解密操作
  7. 线接触和面接触的区别_接触器是啥?跟继电器有啥区别,6大常见故障怎么处理...
  8. 第四课 vi编辑器使用
  9. 【信号处理】音频信号处理平台含Matlab源码
  10. Javascript 8421
  11. 在上海相亲碰到如此势利贪婪的“80后”女孩
  12. 阿里云盘webdev挂载
  13. 手机屏幕坐标获取方法
  14. 初识HTTP中的Referer
  15. STM32 PC13 PC14 PC15用作普通IO口
  16. Oracle Dataguard 介绍
  17. Appinum 自动化测试利器入门
  18. 算法:非负数组中两个数相与的最大结果
  19. 平流式沉淀池计算例题_平流式沉淀池计算例题.doc
  20. 如何让图片分辨率变高?如何将像素低的照片变清晰?

热门文章

  1. [激光原理与应用-58]:激光器 - 光学 - 常见光学镜片的特性
  2. 【UVM源码学习】uvm_spell_chkr
  3. 广告传媒公司那些看得到管不了的事
  4. go语言程序逆向整理
  5. While()和scanf的搭配使用问题
  6. 2021年四大流行Android手机自动化测试工具,全在这里了!
  7. LODOP打印机使用
  8. 解决Form表单提交文件后台获取为null的情况
  9. OVS Conntrack 指南
  10. 买iPhone 12省钱攻略,你可以这么操作!