计算机网络学习笔记整理

tcp,ip,分别是网络层和传输层,第23层,底下是物理层和数据链路层,最顶是应用层(会话,表示)分组交换是指将大数据分割为一个个叫做包(Packet)的较小单位进行传输的方法;
这一模型将通讯协议中必要的功能分成了7层;
每个分层都接收由它下一层所提供的特定服务,并且负责为自己上一层提供特定的服务,上下层之间进行交互时所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做协议;
应用层写入数据,经由表示层格式化编码,再由会话层标记发送顺序后才被发送出去;会话层只对何时建立连接,何时发送数据等问题进行管理,并不具有实际传输数据的功能,真正负责在网络上传输具体数据的是会话层以下;
传输层为确保所传输数据到达目标地址,会在通讯两端的计算机之间进行确认,如果数据没有到达,它会负责进行重发;
进行建立连接或断开连接的处理,在两个主机之间创建逻辑上的通信连接即是传输层的主要作用;此外,传输层为确保所传输的数据到达目标地址,会在通信两端的计算机之间进行确认,如果数据没有到达,它会负责重发。保证数据传输的可靠性是传输层的一个重要作用;为了确保可靠性,
在tcp/ip中,网络层与传输层相互协作以确保数据包能够传送到世界各地,实现可靠传输;
网络层与数据链路层都是基于目标地址将数据发送给接收端的,但是网络层负责将整个数据发送给最终目标地址,而数据链路层只负责发送一个分段内的数据。
传输方式的分类:面向无连接型包括以太网,IP,UDP,面向有连接型包括ATM,帧中继,TCP等协议;由于在分组的过程中,己经在每个分组首部写入了发送端和接收端的地址,所以即使在同一条线路同时为多个用户提供服务,也可以明确区分分组数据发往的目的地,以及它是与哪台计算机的通信;
在分组交换中,由分组交换机(路由器)连接通信线路,分组交换的大致处理过程是:发送端计算机将数据分组发送给路由器,路由器收到这些分组数据以后,缓存到自己的缓冲区,然后再转发给目标计算机,分组交换也有另一个名字:蓄积交换;
IP地址分层:由网络号和主机号两部分组成,若主机号不同,网络号相同,说明处于同一网段;
网络传输中,每个节点会根据分组数据的地址信息,来判断报文应该由哪个网卡发送出去。mac寻址中所参考的这张表叫地址转发表,IP寻址叫做路由控制表;mac地址转发表中所记录的是实际的mac地址本身,路由表记录的IP地址则是集中了之后的网络号(与子网掩码);
FDDI:100M 光纤
bps(Bits per second 每秒比特数)
数据链路的数据帧中有一个数据位叫做FCS,用以检验数据是否正确送达目的地,网桥通过检查这个域中的值,将损坏数据丢弃,网桥还能通过地址自学机制和过滤功能控制网络流量;
路由器是连接网络与网络的设备;
可以将分组报文发送给另一个目标路由器地址;路由器是OSI模型的第3层,网络层面上连接两个网络,并对分组报文进行转发的设备。
4-7层交换机负责处理OSI模型中从传输层至应用层的数据,以TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理;网关负责协议的转换与数据的转发;在同一种类型的协议之间转发数据叫做应用网关;
网关是OSI参数模型中负责从传输层到应用层的数据进行转换和转发的设备;与47层交换机一样都是处理传输层及以上的数据,不仅转发数据还负责对数据进行转换;通常在一个表示层或应用层网关,在两个不能进行直接通信的协议之间进行翻译,最终实现两者之间在的通信;
判断网络路径,转发至目标地址,4-7层交换机网关,负责传输层以上的数据转发及其协议的转换;
利用虚拟化技术,根据使用者的情况动态调整必要资源的机制被人们称作云;而且,将虚拟化的系统根据需要自动地进行动态管理的部分被称作“智能协调层”;
IP还隐含着数据链路层的功能,通过IP,相互通信的主机之间不论经过怎样的底层数据链路都能够实现通信。虽然IP也是分组交换的一种协议,但它不具有重发机制;非可靠传输协议;
IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发一个异常通知,ICMP就是为这一功能而制定的;有时也被用来诊断网络的健康状态;
ARP:从分组数据包的IP地址中解析出物理地址MAC的一种协议  IP-〉Mac;
tcp是一种面向连接的传输层协议,TCP能够正确处理传输过程中丢包,乱序的情况;
http属于osi应用层的协议,而HTML属于表示层协议。TCP、IP应用层与表示层由应用程序实现;
在FTP中进行文件传输时会建立两个TCP连接,分别是发出传输请求时所要用到的控制连接与实现传输数据时所要用到的数据连接;
SNMP:网络管理协议;
为协议提供的信息为包首部,所要发送的内容为数据。
帧用于表示数据链路层中包的单位,而数据报是IP和UDP等网络层以上的分层中包的单位,段则表示TCP数据流中的信息,消息是指应用协议中数据的单位;
紧随IP首部的还有用来判断其后面数据是TCP还是UDP的信息;
每个包首中至少都会包含两个信息,一个是发送端和接收端地址,另一个是上一层的协议类型;
经过每个协议分层时,都必须有识别包发送端和接收端的信息,以太网会用mac地址,IP会用IP地址,而TCP、UDP则会用端口号识别两端主机的地址;每个分层的包首部中还包含一个识别位,它是用来标识上一层协议的种类信息。
主机收到以太网包以后,首先从以太网的包首部找到mac地址,判断是否为发给自己的包,如果不是,则丢弃;
如果恰好是发给自己的,就查找以太网包首部中的类型域从而确定以太网协议所传送过来的数据类型;如果是IP包,就将数据传给处理IP的子程序,如果这时不是IP而是其他诸如ARP的协议,就把数据传给ARP处理。如协议无法识别,丢弃;
IP模块接收到也先判断是否与自己的IP地址匹配,从可接收数据找上层协议,如果是TCP,给TCP处理,如果是UDP,则给UDP处理。对于有路由器的情况,接收端地址往往不是自己的地址,此时,需要借助路由器控制表,在调查应该送达的主机或路由器以后再转发数据。
TCP首先计算校验和,判断数据是否被破坏,然后检查是否在按照序号接收数据,最后检查端口号,确定具体的应用程序;数据接收完毕后,接收端则发送一个“确认回执”给发送端,如果这个回执信息未能达到发送端,那么发送端会认为接收端没有接收到数据而一直反复发送。数据被完整接收后,会传给由端口号识别的应用程序;
MAC地址长48比特(位);第一位:单播或多播,第二位:全局/本机;
共享介质型网络:设备之间使用同一个载波信道进行发送和接收。
争用方式 contention是指争夺获取数据传输的权力,也叫CSMA(载波监听多路访问)。这种方法通常令网络中的各个站采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象;
非共享介质网络:通过以太网交换机构建网络,从而使计算机与交换机端口之间形成一对一的连接,即可实现全双工通信;
半双工是指:只发送或只接收的通信方式;全双工指同一时间即可以发送数据也可以接收数据。
交换机转发方式有两种,一种叫存储转发,另一种叫直通转发;存储转发检查FCS,除错;直通转发只需要得知地址即可转发,延迟短。
802.3以太网(Ether:介质)
以太帧前端有一个叫前导码preamble,末尾是11SFD,后面是以太网帧本体;64位;
以太网首:6个字节源MAC,6个字节目标MAC,加2个字节上层协议类型;共14个字节;
数据(4-1500字节)尾部FCS(4字节)
协议类型:IP0800,arp0806,ipv686dd;
主机:配置有IP,但是不进行路由控制;
既配置有IP,又具备路由控制能力的设备叫路由器;
数据链路层的作用是在互联同一种数据链路的节点之间进行包传递,而一旦跨越多种数据链路,就需要借助网络层,网络层可以跨越不同的数据链路,即使在不同的数据链路上也能实现两端节点之间的数据包传输;而节点则是主机和路由器的统称;
数据链路层提供两个设备之间的通信功能,与之相比,作为网络层的IP则负责在没有直连的两个网络之间进行通信传输,

工业控制,商业,公共场所,家电,农业控制,医疗远程控制也使用ZigBee,短距离,低功耗;
PPP点对点,1对1连接计算机的协议,相当于位于OSI第2层的数据链路层。ADSL,PPOE是在以太网数据中加入PPP帧进行传输的一种方式;
以太网中一个帧最大可传1500个字节,FDDI可以最大传输4352字节;ATM的一个信元只能发送固定48字节数据;这48个字节个字节中若IP首和TCP首部,基本上无法存放上层的数据,为此,一般不单独使用ATM,而是使用上层的AAL。
IP是实现多个数据链路之间通信的协议,MTU在以太网中是1500字节,在FDDI中是4352;ATM9180字节;
IP进行分片,将较大的IP包分成较小的IP包;
如果说IP只负责将数据发送给目标主机,那么TCP则负责保证对端主机确实接收到数据;
最初以分类进行区别,而现在基本以子网掩码(网络前缀)区分;
多播用于将包发送给特定组内的所有主机,直接使用IP协议;
10.0.0.0 -- 10.255.255.255.255 A类
172.16.0.0~172.31.255.255 B类
192.168.0.0~192.168.255.255 C类 包含在这个范围内的IP地址都属于私有IP,否则就是全局IP,公网IP
当一种能够互换私有IP与全局IP的NAT技术诞生以后,配置有私有地址的主机与配有全局地址的互联网主机实现了通信;IP本身没有定义制作路由控制表的协议,即IP没有制作路由控制表的机制,该表由一个叫做“路由协议”的协议制作而成;
如果路由表中有多条相同网络地址记录,就选择一个最为吻合的网络地址(相同位数最多的意思);
如172.120/16-172.20.100/24两项都匹配,则应该选择匹配最长的/24;
如果路由表中下一个路由器的位置记录着某个主机或路由器网卡的IP地址;那就意味着发送目标地址属于同一个链路;
主机路由:ip/32 就是一种主机路由,意思是整个IP地址所有位都将参与路由;
环回地址是在同一台计算机的程序之间进行网络通信时所使用的一个默认地址,计算机使用一个特殊的IP地址127.0.0.1作为环回地址;同意义的一个叫(localhost)的主机名,使用这个IP或主机名时,数据包不会流向网络;
IP最大的MTU:65535.
主机有必要对IP分片进行相应的处理,分片往往在网络上遇到比较大的报文无法一下子处理;只要路由器认为有必要,会周而复始地进行;经过分片之后的IP数据报在被重组的时候,只能由目标主机进行,路由器虽然分片,但不会进行重组;
IPV6一般人们将128比特IP地址以每16比特为一组,每组用冒号分隔,如果出现连续0时还可以省,以二个::隔开,但一个IP地址只能出现一次两个连续的冒号;
环回地址: ::1/128; 
唯一本地地址: FC00::/7
链路本地单播地址: FE80::/10
多播地址: FF00::/8
IPv6中最小MTU为1280字节;
当没有可选项时,IP首部的长度为20字节;
标识ID: 16位,用于分片重组,同一分片的标识值相同,不同分片标识不同,通常,每发送一个IP包,它的值也会递增;
flag:3位,0位0,1位代表是否分片;0分1不分;
2:是否最后一个包;1分片中段的包;
片偏移:13位,用来标识被分片的每一个分段相对于原始数据的位置;
TTL:由8位构成;可以中转多少个路由器的意思,每经过1个减1,直到变成0后丢弃该包;
协议:表示IP首部的下一个首部隶属于哪个协议:
1:ICMP,2:IGMP,6TCP,17:UDP 41:IPV6

主机名与IP地址的对应信息叫做A记录,反之,从IP地址检索主机的名称的信息叫做PTR,此外,上层或下层域名服务器IP地址的映射叫做NS记录;MX注册了邮件与邮件接收服务器主机名;
CNAME:主机别名对应的规范名称;
AAAA 主机的IPV6地址;
* 所有缓存记录;
ARP以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址,如果目标主机不在同一链路上时,可以通过ARP查找下一跳路由器的MAC地址,ARP只用于IPV4,V6可以用ICMPV6代替ARP发送邻居探索消息;
ARP是借助ARP请求与ARP响应两种类型的包确定MAC地址的;
在IP通信中如果某个IP包因为某种原因,未能达到目标地址,那么这个具体的原因将由ICMP负责通知;
ICMP的这种通知消息会使用IP进行发送;ICMP的消息大体分为两大类:通知出错原因消息,另一类诊断查询消息;
ICMP: 类型3:目标不可达;IP路由器无法将数据包送给目标地址时,发送;
类型5;重定向消息;发现发送端使用了次优的路径发送数据,那么它会返回一个ICMP重定向消息给这个主机;在这个消息中包含了最合适的路由信息和源数据;
ICMP回送消息(类型0,8)用于进行通信的主机或路由器之间,判断所发送的数据包是否己经成功到达对端的一种消息;ping;
NAT是用于在本地网络中使用私有地址,在连接互联网时转换而使用全局IP地址的技术。TCP,UDP端口号NAPT用于转换端口;IPv6中为了提高网络安全也在使用NAT,在IPv4,ipv6之间相互通信当中常常使用NAT-PT。
NAT-PT是将IPV6的首部转换为IPV4的首部的一种技术,IPv4和ipv6可互通;
IP隧道中可以将那些从网络A发过来的IPV6的包统一为一个数据,再为之追加一个IPV4的首部转发;
一般情况下,IP首部是TCP或UDP首部,而IP首部后面还是IP首部或者IP首部后面的IPv6的首部。这种在网络层首部后面继续追加网络层首部的通信方法就叫做IP隧道;
多播与广播通信中也使用UDP,RIP ,DHCP等基于广播的协议也要依赖于UDP;
TCP通过检验和,序列号,确认应答,重发控制,连接管理以及窗口控制实现可靠性传输;
TCP中,当发送端的数据到达接收主机时,接收端主机会返回一个己收到消息的通知,这个消息叫做确认应答。
TCP在数据通信之前,通过TCP首部发送一个SYN包作为建立连接的请求等待确认应答,如果对端发来确认应答,则认为可以进行数据通信,此外,在通信结束时会进行断开连接的处理(FIN包)。
TCP以段为单位发送数据:
在建立TCP连接的同时,也可以确定发送数据包的单位,我们可以称其为最大消息长度(MSS:Maximum Segment Size);最理想的情况是,最大消息长度正好是IP中不会被分片处理的最大数据长度;
TCP在传递大量数据时,是以MSS的大小将数据进行分割发送,重发也是以MSS为单位;
MSS是在三次握手两端主机计算得出的;发请求时,会在TCP首部中写入MSS选项,告诉对方自己的接口能够适应的MSS的大小;然后会在两者之间选择一个较小的值投入使用;
滑动窗口:每发一个包进行确认会影响性能,TCP引入了窗口这个概念,即使在往返时间较长的情况下,确认应答不再以每个分段,而是以更大的单位进行确认;缩短转发时间;发送端主机,在发送了一个段以后不必要一直等待确认应答,而是继续发送;
窗口大小就是指无需确认可以继续发送数据的最大值。
TCP提供一种机制可以让发送端根据接收端的实际接收能力控制发送的数据量,这就是所谓的流控制,接收端向发送端主机通知自己可以接收数据的大小,于是发送端会发送不超过这个限度的数据,该大小限度就被称作窗口大小。
SCTP:多宿主,多网卡只要有一个网卡工作,通信不断;
标记交换技术,MPLS:多协议标记交换技术;对每个IP包都设定一个叫做“标记”的值,然后根据这个标记再进行转发;
-------------------------------------------------------------------
应用程序将协议携带的数据写入消息,消息边界是两次写入之间的位置或字节偏移量,保留消息边界的协议由接收方给出发送方的消息边界,不保留消息边界的协议(如TCP)忽略这类信息;
路由器和主机都能进行转发:单播,广播,组播;
traceroute (Windows 系统下是tracert) 命令利用ICMP 协议定位您的计算机和目标计算机之间的所有路由器。TTL 值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP 呼叫报文的TTL 值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
UDP允许应用发送数据报并提供可靠的数据流传输,TCP涉及很多工作,
UDP应用发送数据报并保留消息边界,但不强制实现速率控制或差错控制;

附加在地址结尾的%2在windows中称为区域ID,表示主机中对应于IPV6地址的接口索引号;
以太网帧包含一个48位的目的地址(MAC地址)和一个16位的以太网类型字段,0x0800表示这个帧包含IPv4数据报,0x0806和0x86dd,分别表示ARP和IPV6,假设目的地址与接收方的一个地址匹配,这个帧将被接收并校验差错,以太网类型字段用于选择处理它的网络层协议;假设目的地址与接收方的一个地址匹配,这个帧被接收并校验差错,以太网类型字段用于选择处理它的网络层协议;
如果收到的帧包含一个IP数据报,以太网头部和尾部信息将被清除,并将剩余字段(包含帧的有效载荷)交给IP处理,IP检测一系列的字段,目的IP地址,如果目的地址与自己的一个IP匹配,并且数据报头部没有错误,IP不测有效载荷,则检测8位的IPV4协议字段,以决定接下来调用哪个协议来处理常见的值,包括1(ICMP),2IGMP,IPV4(4),TCP(6);UDP(17)数值4和41(IPV6,隧道);
如果网络层认为传入的数据报有效,并且己确定正确的传输层协议,则将数据报(必要明由分片重组而成)交给传输层处理,在传输层中,大部分协议(包括TCP和UDP)通过端口号将复用分解到适当的应用;
IPV6地址的前导0必须压缩:0db8::0022 -> db8::22 ; 压缩最多的0,顺序最前的0被替换为::
v6中16进制字母应该小写;
ABC类用于Internet单播地址中的接口分配地址,以及其他一些特殊情况下使用;
D类地址为于组播;E类保留;
NAT必须重写每个数据包的寻址信息;修改IP层地址也需要同时修改传输层的校验码;
NAT的工作原理就是重写通过路由器的数据包的识别信息,这种情况常发生在数据传输的两个方向上,在这种最基本的形式中,NAT需要重写往一个方向传输的数据包的源IP地址,NAT包括NAT,基本NAT和NAPT(网络地址端口转换)
NAPT使用传输层标识符(TCP,UDP端口,ICMP查询标识符)来确定一个特定的数据包到底和NAT内部的哪台私有主机关联。
NAPT有时必须重写端口号,以避免冲突;NAT还创建一个内部状态记住当前正在处理一个新连接,称为NAT会话(NAT session),这种状态至少包括一个由客户端的源端口号和IP地址组成的条目(称为NAT映射NAT mapping).
UDP是一种保留消息边界的简单的面向数据报的传输层协议,它不提供差错纠正,队列管理,重复消除,流量控制和拥塞控制,它提供差错检测,包含我们在传输层中碰到的第一个真实的端到端校验和.
这种协议提供最小功能,因此使用它的应用程序要做许多关于数据包如何发送和处理控制工作,
数据链路层叫帧,IP网络层叫分组;TCP、UDP传输层叫段;帧格式通常支持可变的帧长度,范围从几字节到几千字节,这个范围的上限称为最大传输单元(MTU)。
分片仅用于目的地址为单播(非广播或组播)的帧,为了具备这种能力,顺序控制字段包含一个4位的分片号,和一个12位的序列号;同一帧最多可能有15个分片;最后一个分片将帧控制字置0;
接收方将收到的同一序号的分片根据分片号重组成原始帧,当所有包含同一序列号的分片被接收,并且最后一个分片将更多标志字段设为0时,这个帧被重组并交给高层协议来处理;
隧道是在高层(或同等层)分组中携带低层数据,例如在一个IPV4或IPV6分组中携带IPV4数据,如在一个UDP,IPV4,6分组中携带以太网数据;隧道转变了在头部中协议严格分层的思路,并允许形成覆盖网络;ARP仅用于V4,V6使用邻居发现协议,合并入ICMPV6;IPV4头默认20字节;很少有选项;
IHL,IPV4头限制为最多15个32位字,即60字节,默认5,IPV6无,固定40字节;
总长度是IPV4数据报的总长度,以字节为单位;通过这个字段和IHL字段,我们知道数据报的数据部分从哪里开始,以及它的长度。16,所以最大为64K;总长减IHL首部长,得到数据从哪开始;
IPV6头部不支持分片,其长度可由负载长度字段获得,这个字段提供IPV6数据报长度;
生存期TTL字段用于设置一个数据报可经过的路由器数量的上限,每台路由在转发数据报时将该值减1;当这个字段达到0时,该数据报被丢弃;并使用一个ICMP消息通知发送方。
IPv4头部的协议字段包含一个数字,表示数据报有效部分的的数据类型,常17(UDP),6(TCP);
4(IPV4 IN IPV4);
当同一网络中两台主机之间通信时,本地链路MTU在会话期间对数据报大小有直接影响,当两台主机之间跨越多个网络通信时,每条链路可能有不同大小的MTU,在包含所有链路的整个网络路径上,最小的MTU称为路径MTU。
主机与路由器处理IP数据报的区别在于:主机不转发那些不是由它生成的数据报,路由器会;
在windows中,我们可以指定一个范围ID或一个源地址;范围ID是%6扩展目的的接口号;当发送一个ping流量时,通知系统使用接口号6作为正确的接口;
防火墙:一种能够限制所转发的流量类型的路由器;
NAT需要跟踪每个关联或每个连接的连接状态,操作贯穿多个协议层,修改IP层也需要同时修改传输层校验码;NAT的工作原理就是重写通过路由器的数据包的识别信息,发生在数据传输的两个方向,NAT需要重写往一个方向传输的数据包的源IP地址,重写往另一个方向传输的数据包的目的IP地址;.
NAT有时必须重写端口号,以便区分同一网内相同端口号不同的主机流量;
NAT几乎阻断了所有传入的新连接请求;
ICMP负责传递可能需要注意的差错和控制报文,ICMP报文通常是由IP层本身,上层TCP,UDP甚至某些情况下是用户应用触发执行的。
ICMP报文是在IP数据报内被封装传输的,在IPV4中,协议字段值为1表示该报文携带了ICMPV4,
当IP层收到一个要发送的IP数据报时,它会判断该数据报应该从哪个本地接口发送(通过查找一个转发表),以及要求的MTU是多少;IP比较外出接品MTU和数据大小,如果数据报太大则进行分片,IPV4中的分片可以在原始发送方主机和端到端路径上的任何中间路由器上进行。IPV6只允许源主机进行分片;
在接收方跟不上时会强迫发送方慢下来,这称为流量控制,一种方式称为基于速率流量控制,它是给发送方指定某个速率,同时确保数据永远不能超过这个速率发送。这种类型的流量控制最适合流应用程序,可被用于广播组播发现。另一种叫基于窗口流控制,是使用滑动窗口时最流行的方法;窗口大小不是固定的,而是允许随时间而变动,称为窗口通告,窗口更新,发送方使用该值调整窗口大小,
TCP的半关闭操作是指仅关闭数据流的一个传输方向;我己经完成了数据的发送工作,并发送一个FIN给对方,但是我仍然希望接收来自对方的数据直到它发送一个FIN给我;
TCP选项:MSS(Max Segment size): 最大段大小;
通信的每一方都要在SYN报文段的MSS选项中说明自己允许的最大段大小,这16位的选项能够说明最大段大小的数值;默认536;
SACK信息保存于SACK选项中,包含了接收方己经成功接收的数据块的序列号范围;
Time_wait状态也称为2MSL等待状态:Maximum Segment Lifetime MSL : TCP将会等待两倍于最大段生存期Maximum Segment Life MSL的时间;
TCP必须把一个发送应用程序的字节流换成一组IP可以携带的分组,这被称为组包,这些分组包含序列号,该序列号在TCP中实际代表了每个分组的第一个字节在整个数据流中的字节偏移,而不是分组号;这允许分组在传送中是可变大小;并允许它们组合,称重新组包;由TCP传给IP的块称为报文段(segment);TCP维持了一个强制的校验和,涉及头部,任何相关应用程序的数据和IP头部的所有字段,端到端伪头部;TCP流量控制由每个端点使用窗口大小字段来通告一个窗口大小来完成,这个窗口大小是字节数,从ACK号指定的,也是接收方想要接收的那个字节开始。
紧急指针:字段只有在URG字段设置时才有效,这个指针是一个必须要加到报文段的序列号字段上的正偏移;以产生紧急数据的最后一个字节的序列号,TCP的紧急机制是一种让发送方给另一端提供特殊标志数据的方法;
TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此建立一条连接;
TCP服务模型是一个字节流,TCP必须检测并修补所有在IP层(或下面的层)产生的数据传输问题;
当TCP使用NAT时,伪头部的校验和通常需要调整,其他协议也使用伪头部校验和;
TCP选项:MMS最大段大小只记录TCP数据的字节数而不包括其他相关的TCP与IP头部,当建立一条TCP连接时,通信的每一方都要在SYN报文段的MSS选项中说明自己允许的最大段大小。
当建立一条TCP连接时,通信的每一方都要在SYN报文段的MSS选项中说明自己允许的最大段大小,16位,默认为536;
IPV4的典型值:1460;IP头20,TCP头20;共1500MTU;
处于ESTABLISHED状态的节点不能接收SYN报文段,而处于LISTEN状态的节点则不能接收数据段;
http协议:
head:和get基本相同,不过它只返回head的消息头;而不返回数据的内容,用于获取文件的最后更新时间和属性相关;主要用于更新(属性,服务器相关信息);
option:用于通知或旬选项:http1.1支持;
put替换URI指定的服务器上的文件,如果URI指定的文件不存在,则创建该文件;
delete: 删除URI指定的服务器上的文件;
trace:将服务器收到的请求和头直接返回给客户端,用于在使用代理的环境中检查请求的情况;
connect:使用代理传输加密消息时使用的方法;
http中主要头字段:Date:表示请求和响应生成的日期:Pragma:是否允许缓存;
DNS系统: A记录的A是address的缩写;MX: mail exchange:邮件交换;
报头像一串1010这样的序列,长为56比特;作用是确定包的读取时机;
末尾的FCS(帧校验序列)用来检查包传输过程中,因噪声导致的波形紊乱,数据错误;如果受到干扰而导致其中数据发生了变化,那么接收方计算出的FCS和发送方计算出的FCS就会不同;

分片的包会在 IP 头部的标志字段中进行标记,当收到分片的包时, IP 模块会将其暂存在内部的内存空间中, 然后等待 IP头部中具有相同 ID 的包全部到达, 这是因为同一个包的所有分片都具有
相同的 ID。 此外, IP 头部还有一个分片偏移量(fragment offset)字段, 它表示当前分片在整个包中所处的位置。 根据这些信息, 在所有分片全部收到之后, 就可以将它们还原成原始的包, 这个操作叫作分片重组。
负载均衡器可以定期采集Web服务器的CPU,内存使用率,并根据这些数据判断服务器的负载状态,也可以向WEB服务器发送测试包,根据响应所需要的时间来判断负载状态。
过于密集查询服务器的负载,也会增加服务器负担,因此也有一种方案是不去查询服务器的负载,而是根据事先设置的服务器性能指数,按比例来分配请求;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章