数据报

TCP/IP协议栈 头部参数

与世无争的帅哥 提交于 2019-12-09 11:22:01
IP头部:20个字节 TCP头部:20字节 UDP头部:8字节 ICMP头部:4字节 TTL:经过一个路由器就减1,当TTL值为0时,路由器就丢弃这个包,然后发送ICMP包给源主机。 默认情况下, Linux 系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。 以太网EthernetII最大的数据帧是1518字节, 刨去以太网帧的帧头(DMAC 目的地址MAC48bit =6Bytes+ SMAC源MAC地址48bit =6Bytes+ Type域 2bytes)14Bytes和帧尾CRC校验部分4Bytes(有时候大家也把它叫做 FCS ),那么剩下承载上层协议的地方也就是Data域最大就只能有 1500Bytes. 这个值我们就把它称之为MTU。 以太网数据包长度:(64~1518) MTU: Maxitum Transmission Unit 最大传输单元 (46~1500) MSS: Maxitum Segment Size 最大分段大小 (MTU-IP header size-TCP header size) (1460=1500-20-20) MSS解释: MSS最大传输大小的缩写,是TCP协议里面的一个概念。MSS就是TCP数据包每次能够传输的最大数据分段

PHP 正则匹配h1的数据报错 preg_match(): Unknown modifier 'h' in

落花浮王杯 提交于 2019-12-06 12:53:55
问题: $str = "<h1>this is test msg</h1>"; $ruler = "/^<h1>(.*?)</h1>$/"; $res = preg_match($ruler,$str,$v); var_dump($v); 报错: Warning: preg_match(): Unknown modifier 'h' in /usr/local/var/www/test.php on line 36 NULL 为什么会报错呢?原因就在于我的定界符。 在正则规则中用的是/做的定界符,而在</h1>中也有/,所以会报这样的错误。 解决方法: 1.将</h1>中的/转义一下,改成<\/h1>就OK了, $ruler = "/^<h1>(.*?)<\/h1>$/"; 2.换别的定界符。 来源: https://www.cnblogs.com/pawn-i/p/11985273.html

IP协议

自古美人都是妖i 提交于 2019-12-06 10:19:36
一、IP地址分类及其表示   IP地址 ::={<网络号>,<主机号>}   IP地址分类: IP地址类别  网络号  网络范围 主机号 IP地址范围 A类   8bit,第一位固定为0   0-127   24bit   1.0.0.0 - 127.255.255.255   B类 16bit,前两位固定为0 128.0-191.255   16bit   128.0.0.0 - 191.255.255.255 C类 24bit,前三位固定为0    192.0.0 - 223.255.255   8bit 192.0.0.0 - 223.255.255.255 D类 E类 二、IP数据报格式      IP数据报报头固定长度为20个字节,可变部分长度从1字节到40个字节不等,但需用全0补齐为4字节的整数倍。   重要字段解释:      总长度 :16位,指的是首部和数据之和的长度。在IP层的下面的每一种数据链路层协议都规定了数据帧的数据字段的最大长度,称为最大传送单元MTU。当一个IP数据报封装成链路层的帧时,此数据包的总长度一定不能超过下面的数据链路层所规定的值。如果超过,则需把过长的数据包进行分片处理。      标识 :16位,IP软件维持一个计数器,每产生一个数据报,计数器加1。当数据报由于超过MTL而分片时,这个数据字段就被复制到每一个的数据报片的标识字段中

1、计算机网络结构

↘锁芯ラ 提交于 2019-12-06 09:16:38
计算机网络宏观把握 参考书籍:《图解HTTP》 1、 五层协议的体系结构 折中了OSI的7层结构,TCP/IP的4层结构,采用了只有5层的体系结构来深入讲解计算机结构 每一层用到的协议 2、在浏览器中输入网址,显示主页的过程以及使用到的协议 一个有趣的解释: https://www.zhihu.com/question/34873227 3、每一次的数据类型 应用层 -- 报文 运输层 -- TCP报文段、UDP用户数据报 网络层 -- IP数据报(也称数据报) 链路层 -- 帧 物理层 -- 比特流 来源: https://www.cnblogs.com/Stephanie-boke/p/11974431.html

IP协议

梦想的初衷 提交于 2019-12-06 02:12:43
IP协议 IPv4首部 版本: 包含IP数据报的版本号:ipv4为4,ipv6为6 首部长度: 其中保存的是整个首部中的“32位字”的数量。 这个字段正常的值为:5(假设“可选字段长度为0”) 该字段最大值为:15(可选字段长度全满加上原有字段) 区分服务: 优先级(3位)和数据链路层的QoS机制有关,定义了8个服务级别。当Qos选择了某种服务模型后,优先级越高,字段越优先传输。 D、T、R分别表示延时、吞吐量、可靠性。当这些值都为1时,分别表示低延时、高吞吐量、高可靠性。 ECN: 用于为数据报标记“拥塞标识符”。 当一个带有ECN标记的分组发送后,如果接收端“持续拥塞”且“具有感知ECN的能力”(如TCP),那么接收端会通知发送端降低发送速度。 总长度: 该字段指的是IPv4数据报的总长度(以字节为单位)。 通过该字段和“首部长度”字段,我们可以推测出ip数据报中“数据部分”从哪开始以及长度。 标识、标志、分偏移: 该字段帮助标识由IPv4主机发送的数据报。 这个字段对实现分片很重要,大多数数据链路层不支持过长的ip数据报,所以要把ip数据报分片,每一片都是一个独立的ipv4数据报。 发送主机每次发送数据报都讲一个“内部计数器”加1,然后将数值复制“标识”字段中。 生存时间: 该字段用于设置一个“数据报可经过的路由器数量”的上限。 发送方在初始发送时设定某个值(建议为64,

IP数据报格式

和自甴很熟 提交于 2019-12-06 02:11:21
IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。IP数据报的格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加的各种控制信息,数据区包括高层协议需要传输的数据。 IP数据报的格式如下: 注意,上图表示的数据,最高位在左边,记为0位;最低位在右边,记为31位。在网络中传输数据时,先传输0~7位,其次是8~15位,然后传输16~23位,最后传输24~31位。由于TCP/IP协议头部中所有的二进制数在网络中传输时都要求以这种顺序进行,因此把它称为网络字节顺序。在实际编程中,以其他形式存储的二进制数必须在传输数据前使用网络编程API相应的函数把头部转换成网络字节顺序。 IP数据报各字段功能如下: 1)版本号:占用4位二进制数,表示该IP数据报使用的IP协议版本。目前Internet中使用的主要是TCP/IP协议族中版本号为4的IP协议。 2)头长度:占用4位二进制位,此域指出整个报头的长度(包括选项),该长度是以32位二进制数为一个计数单位的,接收端通过此域可以计算出报头在何处结束及从何处开始读数据。普通IP数据报(没有任何选项)该字段的值是5(即20个字节的长度)。 3)服务类型(TOS、type of service):占用8位二进制位,用于规定本数据报的处理方式。服务类型字段的8位分成了5个子域: (1)—优先权

ip的协议版本

陌路散爱 提交于 2019-12-06 01:06:47
协议版本 IPv4协议 网际协议第4版(Internet Protocol version4,IPv4)是TCP/IP协议使用的数据报传输机制。数据报是一个可变长分组,有两部分组成:头部和数据。头部长度可由20~60个字节组成,该部分包含有与路由选择和传输有关的重要信息。头部各字段意义按顺序如下: (1)版本(4位):该字段定义IP协议版本,负责向处理机所运行的IP软件指明此IP数据报是哪个版本,所有字段都要按照此版本的协议来解释。如果计算机使用其他版本,则丢弃数据报。 [3] (2)头部长度(4位):该字段定义数据报协议头长度,表示协议头部具有32位字长的数量。协议头最小值为5,最大值为15。 (3)服务(8位):该字段定义上层协议对处理当前数据报所期望的服务质量,并对数据报按照重要性级别进行分配。前3位成为优先位,后面4位成为服务类型,最后1位没有定义。这些8位字段用于分配优先级、延迟、吞吐量以及可靠性。 (4)总长度(16位):该字段定义整个IP数据报的字节长度,包括协议头部和数据。其最大值为65535字节。以太网协议对能够封装在一个帧中的数据有最小值和最大值的限制(46~1500个字节)。 (5)标识(16位):该字段包含一个整数,用于识别当前数据报。当数据报分段时,标识字段的值被复制到所有的分段之中。该字段由发送端分配帮助接收端集中数据报分段。 (6)标记(3位)

tcp/ip协议

泄露秘密 提交于 2019-12-06 00:44:09
1.概览(自下而上的分层) 1.1 链路层(网络接口卡、网关):与线路(网线、集线器等)一起处理物理接口细节。 1.2 网络层(IP层):处理数据包的在网络中的活动,比如数据包的路由: IP(网际协议):为每一个网卡分配一个逻辑地址(IPv4或者IPv6版本)。 ICMP(网际控制消息协议):用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,并不包含用户数据。 IGMP(Internet组管理协议):把UDP数据包多播到多个主机; ARP(地址解析协议):ip=>mac, RARP(反向地址解析协议):mac=>ip; 1.3 传输层:为两台主机提供端到端的通信,主要有两个协议: TCP协议:提供高可靠的数据通信,主要进行数据分组、确认收到的分组、设置超时时钟等 UDP协议:只把数据报的分组从一个主机发送到另一个主机,不能保证数据能够达到目的地。 1.4 应用层:处理特定的程序细节,常见应用层协议: Telnet(远程登录协议) FTP(文件传输协议) SMTP(简单邮件传输协议) SNMP(简单网络管理协议) HTTP(超文本传输协议) DNS(域名解析协议) 2 自下而上的学习 2.1链路层 2.1.1 以太网和IEEE802数据帧格式 一些说明: 目的地址和源地址:为48bit的mac地址(16进制表示为:50-bd

IP数据报

*爱你&永不变心* 提交于 2019-12-06 00:14:40
IP数据报格式 1)版本号:占用4位二进制数,表示该IP数据报使用的IP协议版本。目前Internet中使用的主要是TCP/IP协议族中版本号为4的IP协议。 2)头长度:占用4位二进制位,此域指出整个报头的长度(包括选项),该长度是以32位二进制数为一个计数单位的,接收端通过此域可以计算出报头在何处结束及从何处开始读数据。普通IP数据报(没有任何选项)该字段的值是5(即20个字节的长度)。 3)服务类型(TOS、type of service):占用8位二进制位,用于规定本数据报的处理方式。服务类型字段的8位分成了5个子域: (1)—优先权(0-7)数越大,表示该数据报优先权越高。网络中路由器可以使用优先权进行拥塞控制,如当网络发生拥塞时可以根据数据报的优先权来决定数据报的取舍。 (2)—短延迟位D(Delay):该位置1时,数据报请求以短延迟信道传输,0表示正常延时。 (3)—高吞吐量位T(Throughput):该位置1时,数据报请求以高吞吐量信道传输,0表示普通。 (4)—高可靠位R(Reliability):该位置1时,数据报请求以高可靠性信道传输,0表示普通。 (5)—保留位。 目前在Internet中使用的TCP/IP协议大多数情况下网络并未对TOS进行处理,但在实际编程时,有专门的函数来设置该字段的各域。一些重要的网际应用协议中都设置了建议使用的TOS值:

ip数据报格式

▼魔方 西西 提交于 2019-12-05 20:57:13
TCP/IP协议 定义了一个在 因特网 上传输的包,称为IP数据报,由首部和数据两部分 组成 。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。 来源: https://www.cnblogs.com/liufuyang/p/11946580.html