1、MAC帧格式

类型:2字节,指出数据域中携带的数据应交给哪些协议实体处理

校验码:校验数据段(采用32位CRC冗余校验方式进行校验)

2、IPV4数据报

版本:IP协议版本,这里为4

首部长度:占4位

总长度:占16位,指首部和数据之和的长度

标识:占16位,它是一个计数器,每产生一个数据报就加1

标志:占3位,标志字段的最低位为MF,MF=1表示后面还有分片;MF=0表示最后一个分片。标识字段中间的一位是DF,只有DF=0时才允许分片

片偏移:占13位,它指出较长的分组在分片后,某片在原分组中的相对位置,片偏移一8个字节为偏移单位

首部校验和:占16位,只校验分组的首部,而不校验数据部分

生存时间TTL:占8位,及数据报在网络中通过的路由器数的最大值

协议:占8位,指出使用何种协议,其中6表示TCP,17表示UDP

固定部分20个字节,可变部分40字节,首部最长60字节。

3、TCP报文格式

序号字段:占4个字节,TCP是面向字节流的

确认号字段:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。确认号=N,则表明到序号N-1为止的所有数据都已经收到

数据偏移:占4位,指出TCP报文段的数据起始处距离TCP报文段的起始处有多远

保留字段:占6位

标志位:

    URG:URG=1时,表明紧急指针有效

    ACK:ACK=1时,确认号字段(TCP三次握手里面的ack)才有效

    PSH:就收到PSH=1的报文时,就尽快地交付接收应用进程,不用等到整个缓存都填满了后再向上交付

    RST:当RST=1时,表明TCP连接中出了很严重的差错,必须释放连接,然后在重新建立连接

    SYN:SYN=1、ACK=0,表明这是一个连接请求报文,对方若同意建立连接,则在响应报文中使用SYN=1、ACK=1

    FIN:用来释放一个连接,FIN=1表明此报文段的发送方数据已经传送完毕

窗口字段:占2字节,它指出了现在允许对方发送的数据量

检验和:占2字节,检验范围包括首部和数据这两部分

紧急指针字段:占16位,指出文本中紧急数据共有多少字节

选项字段:长度可变

填充字段:为了使整个首部长度4字节的整数倍

4、UDP报文格式

长度:UDP数据报长度,其最小值是8

校验和:检测UDP数据报在传输中是否出错,有错就丢弃,如果字段全为0,表明不校验。

MAC帧格式、IPV4数据报格式、TCP报文格式、UDP数据报格式的更多相关文章

  1. IP数据报、TCP报文、UDP报文格式

    总是记不得TCP/IP协议的各个协议格式,特在此做个记录,好方便回顾. 信息来自众多网络大神们的总结,我再结合自己的理解整理所得. ================================== ...

  2. 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 网络层协议 MAC帧、IP数据报、TCP报文 关系 IP地址与硬件地址 链路层与网络层

    小结: 1. 网络层两种服务 虚电路服务 virtual circuit  电信网 网络层负责可靠交付 数据报服务  网络层不负责可靠交付 提供灵活的.无连接的.尽最大努力交付的数据报服务 不提供服务 ...

  3. 运输层5——TCP报文段的首部格式

    写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户数据报协议UDP 运输层3--传输控制协议TCP概述 运输层4--TCP可靠运输的工作原理 ...

  4. 计算机网络(8)-----TCP报文段的首部格式

    TCP报文段的首部格式 概述 TCP报文段首部的前20个字节是固定的,因此TCP首部的最小长度是20字节. 源端口和目标端口 各占2个字节,分别写入源端口号和目的端口号. 序列号 占4个字节,表示本报 ...

  5. [转载]MAC、IP头、TCP头、UDP头帧格式、详解

    原文地址:MAC.IP头.TCP头.UDP头帧格式.详解作者:iTudu 转自:http://zoufengfu168.blog.163.com/blog/static/546105520099133 ...

  6. [TCP/IP] TCP流和UDP数据报之间的区别

    TCP流和UDP数据报之间的区别 1.TCP本身是面向连接的协议,S和C之间要使用TCP,必须先建立连接,数据就在该连接上流动,可以是双向的,没有边界.所以叫数据流 ,占系统资源多 2.UDP不是面向 ...

  7. TCP报文段的首部格式 20字节的固定首部

    <----  IP首部 TCP首部 TCP报文段的数据部分  <---- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  8. 浅析TCP字节流与UDP数据报的区别

    转自http://www.linuxidc.com/Linux/2014-11/109545.htm “TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但 ...

  9. TCP字节流与UDP数据报(转)

    关于TCP和UDP的分次发送和接收的问题,困惑了两天,看到这篇文章豁然开朗. 原文链接:http://network.51cto.com/art/201310/413326.htm “TCP是一种流模 ...

  10. TCP报文段的首部格式

    首部20个字节的的固定部分,40个字节的可选部分 (1)源端口和目的端口 (2)序号(是字节流的编号,0-2^32-1),如果超过了mod2^32 (3)确认号:目的主机希望源主机收到的下一个字节序号 ...

随机推荐

  1. javascript 字符数组转换成以逗号隔开的字符串

    var ids = [];angular.forEach(pulsarServers,function (server) { ids.push(server.id);});ids = ids.join ...

  2. java.sql.SQLException: null, message from server: "Host 'xxx' is not allowed to connect to this MySQL server"

    java.sql.SQLException: null,  message from server: "Host 'xxx' is not allowed to connect to thi ...

  3. 201709025工作日记--更新UI方法

    1.handler+Thread 和 runOnUIThread 和 handler.post 方法 区别: 从实现原理上,两者别无二致,runOnUiThread也是借助Handler实现的.  对 ...

  4. struts2从浅至深(六)contextMap(存取数据)

    A:存数据 1.利用ActionContext存数据 这种方式最简便 这是一个购物车案例 把查询来的数据放入到Session中存储起来 2.利用valuestack值栈存数据 把查询出来的数据放入到值 ...

  5. SSH整合 第三篇 Spring的加入

    1.思路和想法. 目前理解到的,觉得是的,可能的,应该这样的……………… Spring的两大核心是IoC和AOP Ioc:帮助实例化对象,加载到容器中,在注入到需要用到的地方.这样就可以减少在不同的方 ...

  6. (KMP扩展 利用循环节来计算) Cyclic Nacklace -- hdu -- 3746

    http://acm.hdu.edu.cn/showproblem.php?pid=3746 Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others ...

  7. 转:解决windows下eclipse中android项目关联android library project失败问题

    近日,在做一个人人的第三方小项目.打算直接使用renren 的sdk 进行开发.因为renren的sdk是以android library project 形式发布的(关于这种project的内容可以 ...

  8. listview 异步加载

    http://www.iteye.com/topic/685986 ListView异步加载图片是非常实用的方法,凡是是要通过网络获取图片资源一般使用这种方法比较好,用户体验好,下面就说实现方法,先贴 ...

  9. Andfix热修复原理

    一.前言 最近腾讯弄出一个Tinker热修复框架,那么本文先不介绍这个框架,先来介绍一下阿里的一个热修复框架AndFix,这个框架出来已经很长时间了,但是看网上没有太多非常详细的讲解,这里就来做一次分 ...

  10. fastreport字体加粗

    procedure MasterData1OnBeforePrint(Sender: TfrxComponent); begin IF (<frxDB_cdsresult."res_C ...