TCP报文格式+UDP报文格式+MAC帧格式

TCP和UDP的区别:

1)TCP是面向连接的,而UDP是无连接的

2)TCP提供可靠服务,而UDP不提供可靠服务,只是尽最大努力交付报文

3)TCP面向字节流,TCP把数据看成一串无结构的字节流,而UDP是面向报文的(UDP数据报+IP头部=IP数据报)

4)TCP有拥塞控制,UDP没有拥塞控制

5)TCP只提供点对点通信,而UDP提供点对点,点对多点,多点对多点的通信

6)TCP提供的是全双工的可靠信道,而UDP提供的是不可靠信道

7)TCP的首部开销有20个字节,而UDP的首部开销只有8个字节

TCP报文格式

序号:该报文段在整个报文中的序号,为本报文段发送的第一个字节的序号,比如该报文段第一个字节的序号为100,则该报文段的序号为100

确认序号:指明下一个期待收到的字节序号,比如当前报文段的序号为100,报文段的数据部分共有200个字节,则确认序号为100+200=300

首部长度:TCP报文首部长度,也是TCP报文数据部分的偏移量,以为存在选项部分

保留位:目前没有被使用,设置为0

标志位

URG=1:紧急比特,报文中有紧急数据,应该尽快传递

ACK=1:确认比特,说明该报文是一个发送方返回的确认报文

PSH=1:推送比特,指示接收方在接收到报文后应该尽快交给应用进程,而不是等到整个缓存填满才发送给应用进程

RST=1:复位比特,TCP连接中出现严重差错,必须释放连接,然后重新建立连接

SYN=1:同步比特,表示TCP连接正在建立中,该报文是一个协商报文

FIN=1:终止比特,发送端已完成数据传输,请求释放连接

窗口大小:接收窗口的大小,表示接收端希望接受的字节数

校验和:反码求和,发送端计算,结果存入校验和字段,接收端校验,校验结果和校验和字段结果不同则丢弃报文,相同也不代表该报文没有出错,所以TCP的校验机制不能检查出所有等到错误,所以我们需要在应用层建立一套新的数据校验机制:MD5加密,在发送数据前使用MD5加密,并且将MD5摘要一起发送,接收端接收数据后再次进行MD5加密,加密结果等于发送的加密密钥则数据没有出错,不等于在数据出错了,抛弃该报文

紧急指针:仅在紧急比特URG=1时才有效,指明该TCP报文中紧急数据的字节数,同时也指明了紧急数据的末尾位置,因为紧急数据后面就是普通数据,即使窗口为0,也可以发送紧急数据

选项:(TCP报文除开选项和数据部分,总共20个字节)

UDP报文格式:(UDP报文首部8个字节)

MAC帧格式:

以太网的帧格式:

Preamble:前导同步码7个字节+帧开始定界符1个字节=8个字节

Destination MAC adress:目的MAC地址

Source MAC adress:源MAC地址

Type/Length:帧类型

User date :数据信息

Frame Check Sequence:帧校验序列

因此以太网帧的范围是72-1526字节

posted @ 2019-06-10 11:25 Y先森0.0 阅读(...) 评论(...) 编辑 收藏

TCP报文格式+UDP报文格式+MAC帧格式相关推荐

  1. IP头,TCP头,UDP头,MAC帧头定义(转)

    源:IP头,TCP头,UDP头,MAC帧头定义 一.MAC帧头定义 /*数据帧定义,头14个字节,尾4个字节*/ typedef struct _MAC_FRAME_HEADER {char m_cD ...

  2. tcp报文格式udp报文格式详解

    http://blog.csdn.net/a19881029/article/details/29557837 TCP(Transmission Control Protocol)传输控制协议是一种面 ...

  3. linux内核丢弃udp报文,内核udp报文截取、修改和发送

    近来做一个产品需要在网关上获取特定UDP端口(假设是1000端口)的报文,并将其转发给其它设备的1000端口.虽然此类文章网上已经有很多了,但我还是贴上来,这样自己也做下记录,大家也多一份参考. 下面 ...

  4. TCP/IP:TCP/UDP报文格式

    目录 TCP报文格式 UDP报文格式 TCP报文格式 报文格式 图1 TCP首部格式 字段 长度 含义 Source Port 16比特 源端口,标识哪个应用程序发送. Destination Por ...

  5. TCP/UDP报文格式

    TCP/UDP报文格式 TCP 协议为终端设备提供了面向连接的.可靠的网络服务,UDP 协议为终端设备提供了无连接的.不可靠的数据报服务.从上图我们可以看出,TCP 协议为了保证数据传输的可靠性,相对 ...

  6. TCP/IP:SCTP报文格式

    目录 SCTP通用报文格式 SCTP ABORT报文格式 SCTP COOKIE ACK格式 SCTP COOKIE ECHO数据块格式 SCTP DATA数据块格式 SCTP ERROR数据块格式 ...

  7. 网络编程培训之一 编程实现IP/TCP/UDP报文

    系列博客参考:http://blog.csdn.net/zy416548283/article/category/1108400 代码以编号对应放在Github上:https://github.com ...

  8. 网络编程(四) ———— UDP首部格式

    接上一篇博客 Java Socket(UDP/TCP 套接字) 文章目录 UDP的特点 1. 无连接 2. 不可靠 3.面向数据报 4.全双工 UDP首部格式 源端口号 (Source Port) 目 ...

  9. 计算机网络数据链路层之使用广播信道的数据链路层(含MAC帧格式)

    计算机网络数据链路层之使用广播信道的数据链路层(含MAC帧格式) 局域网的数据链路层 局域网最主要的特点是: 网络为一个单位所拥有: 地理范围和站点数目均有限. 局域网具有如下主要优点: 具有广播功能 ...

最新文章

  1. [C++] 牛客网:合并两个有序的数组
  2. 24.指针和引用的区别
  3. Net与Flex入门
  4. IPv6名称到地址的转换函数getaddrinfo()详解
  5. Bootstrap 表格行的样式
  6. 【BZOJ3884】上帝与集合的正确用法
  7. Redis学习总结(18)——Redis 常见的使用场景汇总
  8. 高中电子技术——电子元器件的识别
  9. 操作系统复习之OS的运行环境
  10. 收藏:学做美食--欢乐年夜饭之神七年糕火焰虾
  11. 数据结构---尾部插入法
  12. php中美元符号是什么意思,js程序中美元符号$是什么
  13. 2022危险化学品生产单位安全生产管理人员考试题库及模拟考试
  14. maven surefire的executions配置
  15. 使用opencv进行USB摄像头参数配置
  16. 斗战神服务器正在维护6,17173《斗战神》专区——3月15日维护公告:疲劳刷新改为每天6点...
  17. 详解智能制造中的计算机视觉应用瓶颈问题
  18. c语言qq密码程序设计,【转】C语言实现QQ密码大盗
  19. 人工智能的未来:机器学习和深度学习的发展趋势
  20. Edexcel A-Level数学P2知识点总结

热门文章

  1. 发现Office系列中还有款财务管理软件Accounting
  2. MATLAB/simulink 独立运行光伏混储微电网 光伏MPPT控制 混储:蓄电池,超级电容
  3. 年度账单刷屏的背后,隐藏了哪些不为人知的秘密?
  4. java英语 -- 那些必知必会的单词
  5. 金融培训直播的优势有哪些?
  6. 窃密恶意软件通过仿冒盗版软件下载网站进行传播
  7. iOS项目中引入pod管理工具
  8. A股月份效应 | Python量化A股市场魔咒,5穷6绝7翻身准确吗?| 邢不行
  9. 松下Android 坚固型平板,松下发布全新坚固型安卓平板Toughbook FZ-L1
  10. htons和htonl