【精品】各协议报文格式介绍(可编辑.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《【精品】各协议报文格式介绍(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】各协议报文格式介绍(可编辑.ppt(117页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、各协议报文格式介绍以太网的两个标准以太网的两个标准lDIXEthernetV2是世界上第一个局域网产品(以太网)的规约。lIEEE的802.3标准。lDIXEthernetV2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”。l严格说来,“以太网”应当是指符合DIXEthernetV2标准的局域网1.MAC 帧的格式l常用的以太网MAC帧格式有两种标准:DIXEthernetV2标准IEEE的802.3标准l最常用的MAC帧是以太网V2的格式。以太网MAC帧物理层MAC层10101010101010 10101010101010101011前同步码帧开始
2、定界符7字节1字节8字节插入IP层目的地址 源地址类型数据FCS6624字节461500IP数据报MACMAC帧帧以太网的MAC 帧格式MAC 帧物理层MAC 层IP 层目的地址源地址类型数 据FCS6624字节46 1500IP 数据报以太网V2的MAC帧格式目的地址字段6字节MAC 帧物理层MAC 层IP 层目的地址源地址类型数 据FCS6624字节46 1500IP 数据报以太网V2的MAC帧格式数据字段461500字节数据字段的正式名称是 MAC 客户数据字段最小长度 64 字节 18 字节的首部和尾部=数据字段的最小长度 MAC 帧物理层MAC 层IP 层目的地址源地址类型数 据FC
3、S6624字节46 1500IP 数据报以太网V2的MAC帧格式FCS字段4字节当传输媒体的误码率为1108时,MAC子层可使未检测到的差错小于11014。当数据字段的长度小于46字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。MAC 帧物理层MAC 层IP 层目的地址源地址类型数 据FCS6624字节46 1500IP 数据报以太网V2的MAC帧格式10101010101010 10101010101010101011前同步码帧开始定界符7 字节1 字节8 字节插入在帧的前面插入的8字节中的第一个字段共7个字节,是前同步码,用来迅速实现MAC帧的比特
4、同步。第二个字段是帧开始定界符,表示后面的信息就是MAC帧。为了达到比特同步,在传输媒体上实际传送的要比MAC帧还多8个字节l数据字段的长度与长度字段的值不一致;l帧的长度不是整数个字节;l用收到的帧检验序列FCS查出有差错;l数据字段的长度不在461500字节之间。l有效的MAC帧长度为641518字节之间。l对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧。无效的MAC帧2.IP地址与硬件地址TCP报文IP数据报MAC帧应用层数据首部首部尾部首部链路层及以下使用硬件地址硬件地址网络层及以上使用IP地址IP地址IP数据报的格式l一个IP数据报由首部和数据两部分组成。l首部的前一
5、部分是固定长度,共20字节,是所有IP数据报必须具有的。l在首部的固定部分的后面是一些可选字段,其长度是可变的。固定部分可变部分04816192431版本标志生存时间协议标识区分服务总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分数据部分首部IP数据报首部发送在前可变部分首部04816192431版本标志生存时间协议标识区分服务总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分数据部分首部IP数据报固定部分发送在前首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据
6、部分数据部分首部IP数据报固定部分可变部分区分服务发送在前首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分版本占4位,指IP协议的版本目前的IP协议版本号为4(即IPv4)区分服务1.IP数据报首部的固定部分中的各字段首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分首部长度占4位,可表示的最大数值是15个单位(一个单位为4字节)因此IP的首部长度的最大值是60字节。区分服务首部04816192431版本标
7、志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分区分服务占8位,用来获得更好的服务在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段 区分服务首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分总长度占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。总长度必须不超过最大传送单元MTU。
8、区分服务首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分标识(identification)占16位,它是一个计数器,用来产生数据报的标识。区分服务首部04816192431版本标志生存时间协议标识区分服务总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分标志(flag)占3位,目前只有前两位有意义。标志字段的最低位是MF(MoreFragment)。MF1表示后面“还有分片”。MF0表示最后一个分片。标志字段中间的一位是DF(DontFragment)。
9、只有当DF0时才允许分片。首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分片偏移(12位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。区分服务偏移=0/8=0偏移=0/8=0偏移=1400/8=175偏移=2800/8=350140028003799279913993799需分片的数据报数据报片1首部数据部分共3800字节首部1首部2首部3字节0数据报片2数据报片314002800字节0【例4-1】IP数据报分片首部04816192431版本标志生存时间协议标识总长
10、度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分生存时间(8位)记为TTL(TimeToLive)数据报在网络中可通过的路由器数的最大值。区分服务首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分协议(8位)字段指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程区分服务运输层网络层首部TCPUDPICMPIGMPOSPF数据部分IP数据报协议字段指出应将数据部分交给哪一个进程首部04816192431版本标志生存时间协议标识总长
11、度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分首部检验和(16位)字段只检验数据报的首部不检验数据部分。这里不采用CRC检验码而采用简单的计算方法。区分服务首部04816192431版本标志生存时间协议标识总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)位首部长度数据部分固定部分可变部分源地址和目的地址都各占4字节区分服务5.1运输层协议概述5.1.1进程之间的通信l从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。l当网络的边缘部分中的两个主机使用网络的核心部分的功能进
12、行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。运输层为相互通信的应用进程提供了逻辑通信54321运输层提供应用进程间的逻辑通信主机A主机B应用进程应用进程路由器1路由器2AP1LAN2WANAP2AP3AP4IP层LAN1AP1AP2AP4端口端口54321IP协议的作用范围运输层协议TCP和UDP的作用范围AP3应用进程之间的通信l两个主机进行通信实际上就是两个主机中的应用进程互相通信。l应用进程之间的通信又称为端到端的通信。l运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,
13、再往下就共用网络层提供的服务。l“运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。运输层协议和网络层协议的主要区别应用进程应用进程IP协议的作用范围(提供主机之间的逻辑通信)TCP和UDP协议的作用范围(提供进程之间的逻辑通信)因特网运输层的主要功能l运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。l运输层还要对收到的报文进行差错检测。l运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP。两种不同的运输协议l运输层向高层用户屏蔽了下面网络核心的细
14、节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。l当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。l当运输层采用无连接的UDP 协议时,这种逻辑通信信道是一条不可靠信道。TCP/IP的运输层有两个不同的协议:(1)用户数据报协议UDP(UserDatagramProtocol)(2)传输控制协议TCP(TransmissionControlProtocol)5.1.2运输层的两个主要协议l两个对等运输实体在通信时传送的数据单位叫作运输协议数据
15、单元TPDU(TransportProtocolDataUnit)。lTCP传送的数据单位协议是TCP报文段(segment)lUDP传送的数据单位协议是UDP报文或用户数据报。TCP与UDPTCP/IP体系中的运输层协议TCPUDPIP应用层与各种网络接口运输层TCP与UDPlUDP在传送数据之前不需要先建立连接。对方的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP是一种最有效的工作方式。lTCP则提供面向连接的服务。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部
16、增大很多,还要占用许多的处理机资源。还要强调两点l运输层的UDP用户数据报与网际层的IP数据报有很大区别。IP数据报要经过互连网中许多路由器的存储转发,但UDP用户数据报是在运输层的端到端抽象的逻辑信道中传送的。lTCP报文段是在运输层抽象的端到端逻辑信道中传送,这种信道是可靠的全双工信道。但这样的信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面的运输层是否建立了TCP连接。5.1.3运输层的端口l运行在计算机中的进程是用进程标识符来标志的。l运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符。这是因为在因特网上使用的计算机的操作系统种类很多,而不同的操作系统又
17、使用不同格式的进程标识符。l为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对TCP/IP体系的应用进程进行标志。需要解决的问题l由于进程的创建和撤销都是动态的,发送方几乎无法识别其他机器上的进程。l有时我们会改换接收报文的进程,但并不需要通知所有发送方。l我们往往需要利用目的主机提供的功能来识别终点,而不需要知道实现这个功能的进程。端口号(protocolportnumber)简称为端口(port)l解决这个问题的方法就是在运输层使用协议端口号(protocolportnumber),或通常简称为端口(port)。l虽然通信的终点是应用进程,但我们可以把端口想象是通信
18、的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由TCP来完成。软件端口与硬件端口l在协议栈层间的抽象的协议端口是软件端口。l路由器或交换机上的端口是硬件端口。l硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。TCP的端口l端口用一个16位端口号进行标志。l端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。三类端口l熟知端口,数值一般为01023。l登记端口号,数值为102449151,为没有熟知端口号的应用程序使用的。
19、使用这个范围的端口号必须在IANA登记,以防止重复。l客户端口号或短暂端口号,数值为4915265535,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。5.2用户数据报协议UDP5.2.1UDP概述lUDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。l虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点。UDP的主要特点lUDP是无连接的,即发送数据之前不需要建立连接。lUDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。lUDP
20、是面向报文的。UDP没有拥塞控制,很适合多媒体通信的要求。lUDP支持一对一、一对多、多对一和多对多的交互通信。lUDP的首部开销小,只有8个字节。面向报文的UDPl发送方UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。l应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。l接收方UDP对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。l应用程序必须选择合适大小的报文。UDP是面向报文的IP数据报的数据部分IP首部IP层UDP首部UDP用户数据报
21、的数据部分运输层应用层报文应用层5.2.2UDP的首部格式伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报UDP基于端口的分用IP层UDP数据报到达端口2端口3端口1UDP分用5.3传输控制协议TCP概述5.3.1TCP最主要的特点lTCP是面向连接的运输层协议。l每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)。lTCP提供可靠交付的服务。lTCP提供全双工通信。l面向字节流。7 68HTCP面向流的概念发送 TCP 报文段发送方接收方把字节写入发送
22、缓存从接收缓存读取字节应用进程应用进程1230181716151419202145131211H109 H加上 TCP 首部构成 TCP 报文段TCPTCP字节流字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接应当注意lTCP连接是一条虚连接而不是一条真正的物理连接。lTCP对应用进程一次把多长的报文发送到TCP的缓存中是不关心的。lTCP根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP发送的报文长度是应用进程给出的)。lTCP可把太长的数据块划分短一些再传送。TCP也可等待积累有足够多的字节后再构成报文段发送出去。5.3.2TCP的连
23、接lTCP把连接作为最基本的抽象。l每一条TCP连接有两个端点。lTCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口。TCP连接的端点叫做套接字(socket)或插口。l端口号拼接到(contatenatedwith)IP地址即构成了套接字。TCP可靠通信的具体实现lTCP连接的每一端都必须设有两个窗口一个发送窗口和一个接收窗口。lTCP的可靠传输机制用字节的序号进行控制。TCP所有的确认都是基于序号而不是基于报文段。lTCP两端的四个窗口经常处于动态变化之中。lTCP连接的往返时间RTT也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。TCP首部20
24、字节的固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FIN32位SYNRSTPSHACKURG位08162431填充TCP数据部分TCP首部TCP报文段IP数据部分IP首部发送在前5.5TCP报文段的首部格式TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG位08162431填充源端口和目的端口字段各占2字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留F
25、INSYNRSTPSHACKURG位08162431填充序号字段占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG位08162431填充确认号字段占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。TCP首部20字节固定首部目的端口数据偏移检验和选项(长度可变)源端口序号紧急指针窗口确认号保留FINSYNRSTPSHACKURG位08162431填充数据偏移(即首部长度)占4位,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 协议 报文 格式 介绍 编辑
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内