3.OSI/RM及数据的封装和解封

OSI/RM--开放式系统互联参考模型

OSI模型是由国际标准化组织(ISO)制定的一个通信系统的标准框架,它将计算机网络通信分解为七个层次,分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每个层次负责特定的功能,上层通过下层提供的服务来实现通信。每个层次都有特定的功能和责任。

作用:1.方便学习;2.方便标准化 -- 分治;3.解耦

应用层:应用层(Application Layer)是OSI模型(或TCP/IP参考模型)中的最顶层,负责为用户提供网络服务和应用程序的接口。在这一层次上,用户可以通过各种应用程序进行数据交换和通信。

表示层:表示层(Presentation Layer)是OSI模型中的第六层,负责处理数据的表示和转换,以确保在不同系统之间的数据交换时能够正确地解释和理解数据。

会话层:会话层(Session Layer)是OSI模型中的第五层,建立、维护网络应用与服务器之间的联系

传输层:传输层(Transport Layer)是OSI模型中的第四层,利用端口号实现端到端的即应用到应用的传输

端口号 :16位二进制位。范围:1-65535,其中1-1023为知名端口号

  • HTTP -- 超文本传输协议 -- 80
  • HTTPS -- http+ssl/TSL安全传输协议 -- 443
  • DHCP -- 动态主机配置协议 -- 67 68
  • DNS -- 域名解析系统 -- 53
  • FTP -- 文件传输协议 -- 20 21
  • TFTP -- 简单文件传输协议 -- 69
  • Telnet -- 远程控制协议 -- 23
  • Ssh -- telnet+ssl/tls -- 22

网络层:网络层(Network Layer)是OSNI模型中的第三层基于IP地址进行逻辑寻址

数据链路层:数据链路层(Data Link Layer)是OSI模型中的第二层,负责在相邻节点之间传输数据,通过物理介质进行直接的通信。其中包括介质访问控制层(MAC)和逻辑链路控制层(LLC)

物理层:物理层(Physical Layer)是OSI模型中的第一层,它负责传输原始比特流,并确保设备之间的数据通信

TCP/IP

TCP/IP是一种通信协议族,包括TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol,网际协议)。它们是互联网和许多私有网络的基础。

  1. IP协议(Internet Protocol):负责在网络中传输数据包。它定义了数据包的格式和路由规则,使数据能够在网络中传输并找到正确的目标。

  2. TCP协议(Transmission Control Protocol):建立在IP之上,负责在通信的两端之间建立可靠的连接。TCP提供数据包的顺序传送、错误检测和重发机制,确保数据的可靠性和完整性。

TCP/IP协议族是互联网的核心协议,它们提供了一种可靠的、分层的通信体系结构,使不同类型的计算机和网络设备能够互相通信。TCP/IP协议被广泛应用于各种网络环境中,包括互联网、局域网和广域网等。

OSI模型和TCP/IP模型对比图:

各层数据单位:

应用层 -- 报文

传输层 -- 段

网络层 -- 包

数据链路层 -- 帧

物理层 -- 比特率

封装与解封装

应用层:

传输层:TCP和UDP协议

网络层:IP协议

数据链路层:以太网协议

物理层:

TCP和UDP的区别

1.TCP协议是面向连接的协议,而UDP协议是无连接的协议

2.TCP协议传输是可靠的,UDP协议传输 -- “尽力而为”

3.TCP可以实现流控,UDP不行

4.TCP可以分段,UDP不行

5.TCP的传输速率慢,占用资源大;UDP传输速率快,占用资源少

TCP 为保证可靠的四个机制:确认、重传、排序、流控

流控机制:反应窗口值大小 -- 滑动窗口机制,这个机制就能调节流量流速,同时发送的报文,只用确认最后那个包,减小 TCP 确认机制对链路的资源消耗

TCP和UDP的使用场景

        1.TCP适用于效率要求较低,但可靠性要求较高的场景

        2.UDP适用于效率要求较高,但可靠性要求较低的场景

面向连接:在正式传输数据之前,使用预备的协议(TCP)建立点到点的连接

TCP协议头部 --- 传输控制协议

URG:紧急指针标记位,当TCP数据包中的URG标志位被设置时,它表示数据包中包含了紧急数据,需要优先处理。紧急数据通常用于TCP连接中的紧急情况,如中断正在进行的数据传输,执行紧急操作等。当接收方收到带有URG标志位的数据包时,会立即通知应用程序处理紧急数据。

ACK:确认标记位,接收方使用ACK标志位来确认已经成功接收到发送方发送的数据。当接收方收到数据包后,会发送一个带有ACK标志位的确认数据包,告知发送方已经收到了数据。这样,发送方就知道数据已经安全到达目的地,可以继续发送下一批数据。

RST 标记位:通常是用于在连接出现异常或需要立即终止连接的情况下,所以它的作用是立即终止 TCP 连接,不再遵循四次握手的规则【如企业对员工上网行为管控】

SYN:请求建立连接,在TCP三次握手过程中,SYN标志位用于建立连接。

FIN:请求断开连接,在TCP连接的关闭过程中,FIN标志位用于发起或响应连接的关闭。

校验和:反码相加法 -- 伪头部校验

UDP协议头部 -- 用户数据协议

IP 协议

IP 协议头部

4位版本:标识该IP协议的版本(IPV4或IPV6)

4位首部长度:它用来表示IP头部的长度。这个字段是一个16位的二进制数,因此可以表示的长度范围是0到65535字节。实际上,IP头部长度的单位是32位字(4字节),因此需要将这个值乘以4才能得到实际的字节长度。

IP头部长度字段的取值范围是0到15(因为4位二进制数最大为1111,即15),表示的实际字节长度是0到60字节。这是因为IP头部中固定部分的长度是20字节,而可选部分的长度最大为40字节。

TTL:time to live,即生存时间 ,数据包每经过路由的一次转发,这个值就会减 1,如果路由器收到一个 TTL 值为 0 的数据包,就会不再转发,直接将它丢弃。

IP 的分片:将大数据包划分为小的数据包,作用于网络层,是否分片受制于 MTU 值,超过就要分片。

MTU:最大传输单元。数据链路层可以携带的最大数据的字节数(也就是网络层 的协议报头加数据部分),这个值默认是 1500 字节 为保证分段后不再分片,不再浪费资源,所以分段时数据也应该受限制,受 MSS 的限 制

MSS:最大传输段,指的是传输层的数据部分,不包含协议报头。如果 MTU 是默认的 1500 字节,那 MSS 的最大取值为 1460(1500 字节 - 网络 层最小报头 - 传输层最小报头)。MSS值是通信双方会协商的参数,采用小的那方(三次握手抓包可以看见)

IP 协议头部第二行,三个字段都与 IP 分片有关:

• 16 位标识位:若一个数据包被分片,那每个分片后的数据包这个标识位相同,这是 它们分片后的原始特征

• 三位标志位: 第一位:reserved bit 保留位,不启用。第二位:don’t fragment 不分片:标识这个数据包是否被分片,置 1 表示未分片, 置 0 表示分片。第三位:more fragment 更多片 -- 表示如果分片,这是否是最后一片,置 1 表示后 面还有,置 0 表示这是最后一片。

• 13 位片偏移(fragment offset): 通过前两个标识,只能将一个数据包分出的片集结起来,但是没办法还原成完整的数据包,所以这一位会标识每个分片后的数据包偏移量,比如分片后的第一个数据包,偏移量为 0,第二个偏移量是第一个的字节数···这样就能够根据偏移量拼成完整的数据包

以太网协议:

以太网Ⅱ型帧,

Type:表示是上一层使用的协议

前导符

FCS -- 帧校验序列 -- 检验数据的完整性 -- CRC循环冗余算法

三次握手,四次挥手

三次握手

具体来说,当客户端希望建立与服务器的TCP连接时,会发送一个带有SYN标志位的数据包给服务器,表示请求建立连接。服务器收到这个SYN数据包后,会发送一个带有SYN和ACK标志位的数据包给客户端,表示同意建立连接,并确认收到了客户端的SYN数据包。最后,客户端再发送一个带有ACK标志位的数据包给服务器,表示确认收到了服务器的确认,连接建立完成。

四次挥手

TCP连接的四次断开指的是TCP连接的关闭过程,由四个数据包交换完成。这是因为TCP连接的建立是通过三次握手完成的,而连接的关闭则需要四个步骤。

  1. 第一步(主动关闭):一方(通常是客户端或服务器)发送一个带有FIN标志位的数据包给另一方,表示不再发送数据,但仍然愿意接收数据。

  2. 第二步(被动关闭):二方收到FIN数据包后,发送一个带有ACK标志位的数据包作为确认,表示确认收到了终止请求。

  3. 第三步(被动关闭):二方发送一个带有FIN标志位的数据包给第一方,表示自己也准备关闭连接。

  4. 第四步(主动关闭):第一方收到FIN数据包后,发送一个带有ACK标志位的数据包作为确认,等待一段时间后关闭连接,确保对方收到了确认。二方在收到最后的确认后,关闭连接。

这四个步骤完成后,TCP连接就彻底关闭了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值