协议分析复习

来源:互联网 发布:乐乎pt被关了 编辑:程序博客网 时间:2024/06/07 04:07

TCP连接建立和终止

建立连接协议

三次握手

1.建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认
2.服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

标志 字符编码 描述 S SYN 同步序号 F FIN 发送完成数据发送 R RST 复位连接 P PSH 尽可能尽快将数据送往接收进程以上4个标志比特均置为0

终止协议连接

四次挥手

1.某个应用进程首先调用close执行主动关闭,于是这一端的TCP会发送一个FIN分节,表示数据发送完毕
2.接收到FIN的另一端执行被动关闭,着个FIN由TCP确认。
3.一段时间后接收到文件结束符的应用进程将调用close关闭他的套接口,这导致他的TCP也发送一个FIN
接收这个FIN的原发送端TCP对他进行确认


TCP超时重传

再发送一个数据以后开启一个计时器,在一定时间内如果没有得到发送的数据包的ACK报文,那么就重新发送数据,直到发送成功为止。


2MLS

当TCP执行一个主动关闭,并发回最后一个ACK,该链接必须在TIME_WAIT状态停留的时间为2倍的MLS,这样可以让TCP再次发送最火的ACK以防止这个ACK丢失。


滑动窗口

滑动窗口协议:在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口,同时接收方也维持了一个连续的允许就收的帧的序号,称为接收窗口,发送窗口和接收窗口的上下界不一定要一样,甚至大小也可以不同。


窗口合拢:窗口左边沿向右边沿靠近,窗口张开,窗口右边沿向右移动是允许发送跟多数据
窗口收缩:右边沿向左移动。
滑动窗口作用:1.在不可靠链路上可靠的传输帧。2.用于保持帧的传输顺序。3.它有时支持流量控制,这是一种能够控制发送方的一种反馈机制。


半打开和半关闭的区别

半打开是连接建立之前的一种状态,是一方已主动打开而另一方还未打开的状态、半关闭是数据传输完成之后的一种状态,是一方已关闭而另一方还未关闭的状态。


客户服务器模式:重复型(TCP ),,并发型(UDP)

客户服务器模式:重复型(TCP ),,并发型(UDP)
FTP服务器的TCP端口21(控制链路),20(数据链路)
telnet服务器的TCP端口23
TFTP服务器的UDP端口69


链路层三个目的:
1.为IP模块发送和接收IP数据报
2.为ARP模块发送ARP请求和接收ARP应答
3.为RARP发送RARP请求和接收RARP应答


PPP数据帧协议字段:
0x 0021:信息字段是一个IP数据报
0xc021:信息字段是链路控制数据
0x8021:信息字段是网络控制字段
PPP比SLIP优点:1. PPP支持在在单根穿行线路上运行多种协议,不只是IP协议
2. 每一帧都有循环冗余检验
3. 通信双发可以进行IP地址的动态协商(使用IP网络控制协议)
4. 与CSLIP相似,对于TCP和IP报文首部进行压缩
5. 链路控制协议可以对多个数据链路选项进行设置。


以太网802.3的区别:
1. 以太网类型字段定义了后续数据的类型,802.3类型字段由后续的子网接入协议的首部给出。
2. 以太网中类型字段之后是数据,802.3中跟随后面的是3字节的802.2LLC和5字节的802.2SNAP。
3. 长度都有一个限制,其最大值分别为1500和1492字节,最小值分别为46和28字节。
理论上TCP和UDP的最大报文字段长度:65535
最大UDP数据报长度65507(65535-20-8)
时间戳选项使发送方在每一个报文段中放置一个时间戳值


3.路由表中的每一项都包含了:
1)目的IP地址
2)下一站路由器的IP地址
3)标志
4)为数据报的传输指定一个网络接口


4.ARP过程:
1)主机发送一份称作ARP请求的以太网数据帧给以太网上的每一个主机,请求帧中包含目的主机IP地址。
2)目的的主机收到这份广播报文后,识别出这是发送端在询问他的IP地址,于是发送一个ARP应答。
3)收到ARP应答后,系统的ARP缓存便会记录MAC-IP对应信息。
ARP功能:在32位的IP地址和采用不同网络技术的硬件地址之间提供动态映射。
ARP高速缓存:每个主机上都有一个ARP高速缓存,存放着最近INTERNET地址到硬件之间 的映射记录,保证ARP高效运行。
ARP代理:如果ARP请求是从网络的一个主机发往另一个网络上的主机,那么连续着网络的 路由器就可以回答该请求,这个过程称作委托ARP或者ARP代理。可以欺骗发起 ARP请求的发送端,使他误以为路由器就是目的主机,把分组从其他主机转发给他。
免费ARP:主机发送ARP查找自己的IP地址。
(免费ARP)作用:1.一个主机可以通过它确定另一个主机是否设置了相同的IP。
2.如果发送免费ARP的主机正好改变了硬件地址,那么这个分组就可以 使其他主机高速缓存中旧的硬件地址进行相应的更新。
5.RARP实现过程:从接口上读取唯一的硬件地址,然后发送一份RARP请求,请求某个主机 响应该无盘系统的IP地址。
ARP(单播)、RARP(广播——


6.ICMP两大类:查询报文,差错报文
不会导致产生ICMP差错报文:
1) ICMP差错报文
2) 目的地址是广播地址或多播地址的IP数据报
3) 作为链路层广播的数据报
4) 不是IP分片的那一片
5) 源地址不是单个主机的数据报


7.Ping程序:改程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。
IP记录路由选项:
大多ping都提供R选项,已提供记录路由的功能。发送的IP数据报中设置RR选项,每个处理该数据报的路由器都把IP地址放入选项字段中。返回途中的路由器地址也被放入其中。当路由器在清单中记录IP地址时,应该记录出口路由。


8.Traceroute程序原理:traceroute测试通过IP TTL特性,实现对源和目标中的数据报传送中路径的探测,通过不同协议类型的数据包在该过程中被路由器目的主机不同的处理结果,实现不同的协议测试。


9.IP源站选路两种形式:严格的源路由选择,宽松的源路由选择。
对于源站选路,必须在发送IP数据报前填充IP地址清单。


IP搜索路由表步骤:1.搜索匹配的主机地址2.搜索匹配的网络地址3.搜索默认表项
IP路由选择主要完成以下这些功能:1.搜索路由表,寻找能与目的IP地址完全匹配的表目2.搜索路由表,寻找能与目的网络号相匹配的表目3.搜索路由表,寻找标为“默认”的表目

路由器标志:U:开路由可使用 G:该路由是到一个网关 H:该路由是到一个主机 D:该路由是由重定向报文创建的 M:该路由已被重定向报文修改


ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。
发生ICMP重定向通常两种情况:
1.当路由器从某个接口收到数据还需要从相同接口转发该数据时。
2.当路由器从某个接口到发往远程网络的数据时发现源IP地址与下一跳属于同一网段时。


10.动态选路协议:内部网关协议IGP:每个自治系统可以选择该自治系统中各个路由器之间的选路协议。最常用的IGP是选路信息协议RIP,一种新的IGP是开放最短路径优先OSPF协议;外部网关协议EPG:分隔选路协议用于不同自治系统之间的路由器。边界网管协议BGP意在取代EGP。


11.UDP首部四个字段:16位源端口号,16位目的端口号,16位UDP长度,16位UDP检验和。IP分片:可以发生在原始发送端主机上,也可以发送在中间路由器上。UDP和ARP之间的交互:请求6个ARP,丢弃前五个,只将最后一个报文发送给特定主机。(先进后出,后进先出)。UDP产生源站抑制差错:当一个系统(路由器或主机)接收数据报的速度比其处理速度快时,可能产生。


12.四种广播地址:受限的广播:255.255.255.255;指向网络的广播:地址是主机号全为1的地址;指向子网的广播:地址为主机号全为1且有特定子网号的地址;指向所有子网的广播:子网号及主机号全为1.


IP多播提供两类服务:1.向多个目的地址传送数据;2.客户对服务器的请求


多播组地址到以太网的映射:将以太网多播地址中的23bit与IP地址组号对应,通常将多播组号中的低位23bit映射到以太网地址的低位23bit实现,多播组号中最高5bit在映射中被忽略,32个不同的多播组号被映射为一个以太网地址。
问题:映射地址不唯一
解决:设备驱动程序或IP层对数据报进行过滤


ICMP:用于支持主机和路由器进行多播的Internet组管理协议,让一个物理网络上的所有系统知道主机当前躲在的多播组。
ICMP记录规则:
1. 当一个进程加入一个组时,主机发送一个IGMP报告
2. 进程离开一个组时,主机不发送IGMP报告
3. 多播路由器定时发送IGMP查询来了解是否还有任何主机包含属于多播组的进程
4. 主机通过发送IGMP报告来相应一个IGMP查询
DNS功能:提供主机名字和IP地址之间的转换及有关电子邮件的选路信息
DNS结构:主机名,三级域名,二级域名,顶级域名。
DNS报文格式:12字节长的首部和4个长度可变的字段组成。
DNS压缩方式:当一个域名中的标识符是压缩的,他的单计数字节中的最高的两位被置为11,剩下的14bit说明实际域名所在位置相对DNS起始表示字段的偏移。


Gethostbyname(3):接收主机名字返回IP地址。
Gethostbyaddr(3):接收IP地址寻找主机名字。
主机名到IP地址的映射有两种方式:
1. 静态映射:每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用。
2. 动态映射:建立一套域名解析系统,只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先要到DNS服务器查询主机对应的IP地址。


DNS使用TCP或UDP的53端口。
DNS一般情况下使用UDP通信,但是有两种情况例外:
1. 当客户端发出DNS查询请求,从服务器收到的响应报文中的比特被置为1时,此时以为着有服务器响应长度超过512字节,而仅返回前512字节,在遇到这种情况下,客户端会使用TCP重新发起原来的DNS查询请求,它将运行返回响应超过512字节。
2. DNS的主辅名字服务器在同步时使用TCP协议,辅名字服务器一般每3小时向主名字服务器发起查询,看主服务器是否有新的纪录变化,如有变动,将执行一次区域传送,区域传送使用TCP协议。


TCP确保可靠性:
1. 应用数据被分割成TCP认为最适合发送的数据块。
2. 当TCP发出一个段后,它启动一个定时器,等待母的确认收到这个报文段。
3. 当TCP收到发自TCP链接另一端的数据,他将发送给一个确认。
4. TCP将保持它首部和数据的校验和。
5. 如果必要,TCP将对收到的数据进行重新排序,以正确的顺序交给应用层。
6. TCP接收端丢弃重复的数据
7. TCP还能提供流量控制
TCP首部6个标志比特:
LRG:紧急指针有效
ACK:确认序号有效
:接收方应该尽快将这个报文段交给应用层
RST:重新连接
SYN:同步序号用来发起一个链接
FIN:发送端完成发送任务


TCP和UDP的不同
1. UDP是一种无连接的传输协议,TCP协议是一种有链接的传输协议
2. TCP保证传输的正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证
3. 对系统资源的要求TCP较多,UDP少
4. TCP传输存在一定的掩饰,UDP响应速度稍微快一些。


慢启动方法:当TCP开始在一个网络中传输数据或发现数据丢失并开始重发时,首先慢慢的对网路实际容量进行试探,避免由于发送了过量的数据而导致阻塞。
TCP管理四个不同的定时器:
1) 重传定时器:希望接受另一端的确认
2) 坚持定时器:使窗口大小信息保持不断流动
3) 保活定时器:可检测到一个空闲连接的另一端何时崩溃或启动
4) 2MSL定时器:测量一个连接处于TIME_WAIT状态的时间


拥塞避免算法:该算法假定由于分组受到损坏引起的丢失是非常少的(远小于1 %),因此 分组丢失就意味着在源主机和目的主机之间的某处网络上发生了拥塞。有两种分组丢 失的指示:发生超时和接收到重复的确认


ICMP差错:源站抑制、主机不可达、网络不可达
ICMP差错处理:
• 一个接收到的源站抑制引起拥塞窗口cwnd被置为1个报文段大小来发起慢启动,但是慢
启动门限ssthrest没有变化,所以窗口将打开直至它或者开放了所有的通路(受窗口大
小和往返时间的限制)或者发生了拥塞。
• 一个接收到的主机不可达或网络不可达实际上都被忽略,因为这两个差错都被认为是短暂现象。


糊涂窗口综合征:发送端应用端产生数据很慢、或接收端应用进程处理接收缓冲区数据很 慢,或者两者兼而有之,就会使应用进程间传送的报文段很小,特别是 有效载荷很小。
窗口扩大:(看书)
时间戳选项:使发送方在每个报文段中放置一个时间戳值,接收方在确认中返回这个数 值,从而允许发送方为每一个收到ACK计算RTT


0 0
原创粉丝点击