网络基础TCP/UDP和跨层封装

UDP:用户数据报文协议——非面向链接的不可靠传输协议
仅完成传输的标准工作——分段 ,端口号
网络基础TCP/UDP和跨层封装_第1张图片
data:应用层表示层会话层封好的字段
source port:源端口号
destination port:目标端口号
checksum:校验(保障完整性)校验成功则接收

TCP:传输控制协议——面向连接的可靠传输协议
在完成传输层的基本工作外,还需要保障传输的可靠性
换句话说TCP提供了一个类似于点到点的连接
面向连接——三次握手建立端到端的虚链路
四种可靠传输机制——确认,排序,流控(滑动窗口),重传
网络基础TCP/UDP和跨层封装_第2张图片
网络基础TCP/UDP和跨层封装_第3张图片
源端口和目的端口:字段长度各位十六位,他们为封装数据指定了源和目的程序。应用程序的端口号加上应用程序所在主机的IP地址统称为套接字(socket)。在网络上套接字惟一的标识了每一个应用程序。
序列号:字段长度为32位,序列号确定了发送方发送的数据流中被封装的数据所在的位置。例,如果本段数据的序列号为1343,且数据段长512个八位组,那么下一数据段的序列号应该为1343+512+1=1856。
确认号:字段长度为32位,确认号确认了源点下一次希望从目标接收的序列号。如果主机收到的确认号与他下一次打算发送(或已发送)的序列号不符,那么主机将获悉丢失的数据包。
报头长度:又叫数据偏移量,长度为四位,报头长度指定了以32位字为单位的报头长度。由于选项字段的长度可变,所以这一字段标识出数据的起点是很有必要的。
保留:字段长度为六位,通常设置为0。
标记:包括8个1位的标记,用于流和连接控制。他们从左到右分别是:拥塞窗口减少,ECN-Echo(ECE),紧急(URG),确认(ACK),弹出(PSⅡ),复位(RST),同步(SYN)和结束(FIN)。
窗口大小:字段长度为16位,主要用于流控制。窗口大小指明了自确认号指定的八位组开始,接收方在必须停止传输并等待确认之前发送方可以接收的数据段和八位组长度。
校验和:字段长度为16位,它包括报头和被封装的数据,校验和允许错误检测。
紧急指针:字段仅当URG标记位置是才被使用。这个十六位数被添加到序列号上用于指明紧急数据的结束。
可选项:用于指明TCP的发送进程要求的选项。最常用的可选项是最大段的长度,最大段长度通知接受者发送者愿意接受的最大段长度。为了保证报头的长度是32个八位组的倍数,所以使用0填充该字段的剩余部分。

面向连接体现在三次握手和四次断开

网络基础TCP/UDP和跨层封装_第4张图片
四次断开
网络基础TCP/UDP和跨层封装_第5张图片

常见的端口选择的服务
网络基础TCP/UDP和跨层封装_第6张图片
TCP/IP模型—4层或5层模型
TCP/IP模型与OSI的区别:

1、 层数不同
2、 3层TCP/IP仅支持Internet协议,网络层支持所有协议;
3、 TCP/IP支持跨层封装;OSI不支持(顺序封装)
跨层封装用于直连设备间的协议通讯;
路由器的OSPF 交换机 STP 只有 ICMP—ping 远距离传输

当跨层封装到3层报头时,IP报头将使用分片技术来取代4层的分段;
使用协议号来对应4层的端口号;
协议号—0-255,一个协议号对应一个协议
网络层使用协议号来对应4层的协议—TCP 6 UDP 17
其他号码用于跨层封装 1号ICMP OSPF89

若跨层封装到2层;以以太网举例:
非跨层封装时,以太网使用二代封装规则;
跨层封装时使用一代:MAC+LLC 介质访问控制子层+逻辑链路控制子层
MAC-802.3 LLC—802.2 MAC负责物理寻址和控制物理层
LLC负责分配和类型号;

网络基础TCP/UDP和跨层封装_第7张图片

你可能感兴趣的:(网络,TCP/UDP和跨层封装,网络,网络协议)