网络通讯模型及其相关协议

本文介绍了OSI七层模型的目的与分层原理,强调了TCP/IP模型在实际应用中的简化。详细讨论了TCP与UDP的区别,包括TCP的可靠传输特性、三次握手过程,并提到了TCP的流控机制。同时,文章还提及了数据链路层的以太网协议及其帧校验序列的作用。
摘要由CSDN通过智能技术生成

一. OSI七层参考模型

目的:制定同一标准,但是实际不使用

在这里插入图片描述
核心是分层
分层优点:位于同一层的协议或者设备具备相同或相似的功能,而不同层次之间的协议或者设备具有明显的差异。
1.更利于标准化
2.降低层次之间关联性。减少某些层次协议对其他层的影响。
每一层提供自身的服务
每一层都在下层的基础上提供一些增值服务

应用层:接受用户的数据,人机交互的接口

表示层:将语言转换为二进制

会话层:
建立维持和断开一次会话,PC和服务之间建立的请求

传输层:
优化传输,实现端对端的传输,为了区分进程和服务
端口号由16位二进制构成,65535个端口
0~1023知名端口号(著名端口号),表明特定服务
例如:HTTP ——80
HTTP——更安全,相当于HTTP+SSL,端口号为443

常见端口号:

  • 域名系统 (DNS)— TCP/UDP 端口 53
  • 超文本传输协议 (HTTP) — TCP 端口 80
  • 简单邮件传输协议 (SMTP)— TCP 端口 25
  • 邮局协议 (POP)— TCP 端口 110
  • Telnet — TCP 端口 23
  • 动态主机配置协议 (DHCP)— UDP 端口 67 和端口 68
  • 文件传输协议 (FTP)— TCP 端口 20 和端口 21
    常见端口号:
    动态端口:大多数服务使用随机的动态端口号迚行区分,特点:动态端口不流量之间存在一一对应关系(但并无绑定

网络层:实现数据从源到目的地的转发

数据链路层(包含介质访问控制层):
在数据链路上实现数据点到点,点到多点方式的直接通信

物理层:在媒介上传输比特流

二. TCP/IP模型

优化osi参考模型,更利于实际使用
区别:
在这里插入图片描述
标准模型:

  1. 上三层都和应用程序有关,则合并为应用层
  2. 下两层密不可分,则合并

应用层——数据报文
传输层——数据段
TCP
UDP

网络层——数据包
IP协议

数据链路层——数据帧
以太网协议

物理层——比特流

DHCP
在这里插入图片描述

2.1 封装与解封装

封装:达到某一层次数据之前封装上对应的功能数据,让它执行对应的功能

解封装:封装过程的逆过程
在这里插入图片描述

2.2 TCP与UDP

两者不同点:

  1. TCP是面向连接协议(询问能否接受,能则转发,不能则不转发),
    而UDP是无连接的协议(直接发)
  2. TCP——排序,确定,超时重传,流控的机制
  3. TCP可以进行流控和分段,而UDP都不能
  4. TCP消耗资源比UDP多,传输效率比UDP更低
  5. TCP传输是可靠的,UDP传输是不可靠的

两者应用场景:

  • TCP一般运用在对数据可靠性要求比较高,对传输效率要求相对较低的情况,例如:传输文件,邮件等等
  • UDP一般运用在对数据可靠性要求比较低,对传输效率要求高的情况,例如:即时通讯,直播等。

2.2.1 TCP的报头

在这里插入图片描述
URG——紧急指针,优先转发

ACK——确认标志位

PSH——紧急推送位

RST——数据因为各种原因无法发送

SYN——三次握手时至1代表数据包是三次握手的数据包

FIN——表示关闭连接,

2.2.2TCP的三次握手

发送:syn置1,seq序号是随机值

回复:ack置1,acknuber序号则是确定的ack序号(在发送的随机序号基础上加一)

  • TCP发送的每一个数据包都带有序号,只有初始值是随机值,以后的序号顺序发送,
    ,确认收到数据——在原有的序号上加一

ACKnuber——确认序号=本地接收到的序号+1

流程:A—>B 发送数据包

  1. SYN=1(表明身份,代表建立连接),SEQ=随机值X

  2. B接收到了A发送的数据包,并回复:
    ack=1(表明身份),acknuber=X+1

  3. A收到B回复,则同样回复B
    SYN=1,SEQ=Y

  4. B收到A回复,则B回复A
    ack=1,acknuber=y+1

  5. A收到B回复,A发送数据给B
    seq=X+1

二次握手:A能发能接收,B只能确定能接收,不确定能发

三次握手:A,B都能确定能接收和发送数据

  • 如果第一次A建立连接失败,超时后A会触发重传,如果延迟,则B回复收到的请求次数
  • 如果第二次建立连接失败,客户端就会触发超时重传机制,重传 SYN 报文。如果第二次握手丢失了,服务端就收不到第三次握手,于是服务端这边会触发超时重传机制,重传 SYN-ACK 报文。
  • 如果第三次建立握手失败,因为这个第三次握手的 ACK 是对第二次握手的 SYN 的确认报文,所以当第三次握手丢失了,如果服务端那一方迟迟收不到这个确认报文,就会触发超时重传机制,重传 SYN-ACK 报文,直到收到第三次握手,或者达到最大重传次数。
    ACK 报文是不会有重传的,当 ACK 丢失了,就由对方重传对应的报文。

2.3 TCP的流控

对发送方发送速率的控制——流量控制

TCP/IP支持全双工传输,因此通信的双方都拥有两个滑动窗口,一个用于接受数据,称之为接收窗口;一个用于发送数据,称之为拥塞窗口(即发送窗口)。指出接受窗口大小的通知我们称之为窗口通告。

目的是解决接收方发了通知报文后,继续等待发送方发送数据,而发送方则在等待接收方的通知报文,此时双方会陷入一种僵局。

3.1 数据链路层——以太网协议

在这里插入图片描述
FSC——帧校验序列,靠CRC算法校验,校验上层数据是否完整,各个字段是否缺失

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值