热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

网络下层-数据包--解释

网络下层-数据包--解释--Linux企业应用-Linux服务器应用信息,下面是详情阅读。
  应用层实体(例如client或server process)间交换的PDU成为应用数据(application data),其中在TCP应用进程之间交换的是没有长度限制的单个双向字节流,在UDP应用进程之间交换的是其长度不超过UDP发送buffer大小的单个记录record,在SCTP(stream control transmission protocal)应用进程之间见换的是没有总长度限制的单个或多个双向记录流。传输层实体(例如对应某个port的传输层协议代码的一次运行)间见换的PDU成为消息message,其中TCP的PDU称为分节segment。消息(或分节)的长度是有限的。

  在TCP传输层中,发送端TCP把来自应用进程的字节流数据(即由应用进程通过一次次输出操作写出到发送端TCP socket中的数据)按顺序经过分割后封装在各个字节中传送给接收端tcp,其中每个字节所封装的数据既可能是发送端应用进程单次输出操作的结果,也可能是连续数次输出操作的记过,而且单个分节既可能对应完整的这些输出结果,也可能对应部分的输出结果,具体取决于可在连接建立阶段由对端通告的最大分节大小(maximum segment size,MSS)以及外出借口的最大传输单元(maximum transimission unit,MTU)或外出路径的路径MTU(如果网络层具有路径MTU发现功能,如IPv6)。分节除了用于承载应用数据外,也用于建立连接(SYN分节)、终止连接(FIN分节)、夭折连接(RST分节)、确认数据接收(ACK分节)、推送待发数据(PSH分节)和携带紧急数据指针(URG分节),而且这些功能(包括承载数据)可以灵活组合。UDP传输层相当简单,发送端UDP就把来自应用进程的单个记录整个封装在UDP消息中传送给接收端UDP。

  SCTP引入了称为块(chunk)的数据单元,ACTP消息就由一个公共头部加上一个或多个块构成:公共头部类似UDP消息的头部,仅仅给出源宿端口号和整个SCTP消息的校验和;块则既可以承载数据(成为DATA块),也可以承载控制信息(计有SACK块,INIT,INIT ACK,COOKIE ECHO,COOKIE ACK,SHUTDOWN,SHUTDOWNACK,SHUTDOWNCOMPLETE,ABORT,ERROR,HEARTBEAT和HEARTBEAT ACK,总称为控制块)。发送端SCTP把来自应用进程的(一个或多个)记录流数据按照流内顺序和记录边界封装在各个DATA块中,并DATA块头部记上各自的流ID。一个记录通常对应一个DATA块;对于过长的记录,发送端SCTP既可以像UDP那样拒绝发送,也可以把它们拆分到多个DATA块中以便发送,接收端SCTP收取后把它们组合成单个记录上传。作为传输层PDU的SCTP消息既可以只单个块(DATA块和控制块),也可以在接口MTU的限制下包含多个块(称为块的捆绑,控制块在前,DATA块在后),不过INIT,INITACK和SHUTDOWNCOMPLETE块不能跟任何其他块捆绑。SCTP收发两端均独立处理捆绑在同一个消息中的各个块,鉴于此,我们可以直接把块作为传输层PDU看待。

  网络层实体间交换的PDU称为IP数据报(IP datagram),其长度有限:IPv4数据报最大65535字节,IPv6数据报最大65575字节。发送端IP把来自传输层的消息(或TCP分节)整个封装在IP头部和所承载的传输层数据(即网络交换的PDU称为桢frame)其长度取决于具体的接口。IP数据报由IP头部和所承载的传输层数据(即网络层的SDU)构成。过长的IP数据报无法封装在单个帧中,需要先对其SDU进行分片(fragmentation),再把分成的各个片段冠以新的IP头部封装到多个帧中。在一个IP数据报从source到destination的传送过程中,分片操作既可能发生在source,也可能发生在途中,而其逆操作即重组(reassembly)一般只发生在destination端;SCTP为了传送过长的记录采取了类似的分片和重组措施。

  TCP/IP协议族为了提高效率会尽可能避免IP的分片/重组操作;TCP根据MSS和MTU限定每个分节的大小以及SCTP根据MTU分片重组过长记录都是这个目的(SCTP的块捆绑则是为了在避免IP分片/重组操作的前提下提高块传输效率);另外,IPv6禁止途中的分片操作(基于其路径MTU发现功能),IPv4也尽量避免这种操作。不论是否分片,由IP作为链路层的SDU传入链路层,并由链路层封装在帧中的数据称为分组(packet,俗称包)。可见一个分组既可能是一个完整的IP 数据报,也可能是某个IP数据报的SDU的一个片段被冠以新的IP头部后的结果。MSS是应用层TCP与传输层之间的接口属性,MTU则是网络层和链路层之间的接口属性。
推荐阅读
  • 介绍一款好用的内网穿透工具FRP
    本文介绍了一款好用的内网穿透工具FRP,它是一个使用Go语言开发的高性能的反向代理应用。FRP支持多种协议类型,并且可以根据域名进行路由转发。 ... [详细]
  • 1、Ipv4只能用于内网,外网只能用2、DNS:把域名解析成ip地址3、MAC地址就是物理地址(网卡序列号)   IP地址:电脑序列号4、不同电脑,微信之间互相通信,靠的是端口;  ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
  • Ansem 最新雄文:软着陆后,加密市场下阶段趋势与核心叙事
    市场最糟糕的时候已经过去,以太坊合并前不太会看到新的低点;但仍需来自关注宏观市场的不确定风险。撰文:Ansem ... [详细]
  • IP、ARP、TCP、UDP、ICMP、DNS、路由协议、DHCP协议的缺陷,容易受到的攻击,以及防御措施1、IP协议1.1、介绍: ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • NFS文件共享系统
    1、概述:NFS(NetworkFileSystem)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享 ... [详细]
  • HTTP协议相关的网络经典五层模型
    网络通信相关概念的讲解–网络协议分层(经典五层模型)在我们了解HTTP相关内容之前我们先来了解一下“网络协议分层”相关内容,因为这个是我们了解HTTP相关内容的前提条件;大家有一 ... [详细]
  • 定义#definePCAP_OPENFLAG_PROMISCUOUS1    定义适配器是否必须进入混杂模式。#definePCAP_OPENFLAG_DATATX_UDP2    ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • IP双栈环境下网络应用迁移
    IPv4向IPv6迁移有多种途径,在选择具体的迁移方式时,当前环境中运行的应用是否支持IPv6是重要的考量因素之一,同时在编写新的应用时,需要考虑新编写的应用不仅可以适应当前主流的IPv4环境, ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
  • 实验2:Open vSwitch虚拟交换机实践   实验3:OpenFlow协议分析实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通 ... [详细]
author-avatar
hadley朱_469
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有