传输层的一些重要概念

什么是传输层?

传输层在tcp/ip分层模型中的第二层,OSI七层模型中的第四层。

主要协议为TCP和UDP,TCP可靠传输,UDP不可靠传输

传输层和网络层的区别:
传输层负责将数据可靠地传送到相应的端口(端到端)
网络层根据网络地址将源结点发出的数据包传送到目的结点(点到点)

套接字和端口号

什么是套接字?

套接字是传输层与应用层之间传递数据的门户
传输层实际上并没有直接将数据交付给上层进程,而是将数据交给了一个中间的套接字,由套接字将数据转交给进程

什么是端口号

端口号是套接字的唯一标识
为了区分每个套接字,为每个套接字设置一个端口号作为唯一标识
比如TCP将数据给到端口号为80的套接字,然后给到http手里。

在这里插入图片描述
注意,端口号只具有本地意义,不同计算机的相同端口号没有联系。

TCP和UDP对比

  1. 连接

TCP 是面向连接的传输层协议,传输数据前要先建立连接。

UDP 是不需要连接,立刻传输数据。

  1. 可靠性

TCP 是可靠交付数据的,提供拥塞控制、流量控制,数据可以无差错、不丢失、不重复、按需到达。

UDP 是尽最大努力交付,不保证可靠交付数据。

  1. 服务对象

TCP 是一对一的两点服务,即一条连接只有两个端点。

UDP 支持一对一、一对多、多对多的交互通信

  1. 应用场景:
  • 由于 TCP 是面向连接,能保证数据的可靠性交付,用于对画质要求高但是可以缓存所以对实时性要求不高的场景,例如视频播放等大多数网站

  • 由于 UDP 面向无连接,它可以随时发送数据,再加上UDP本身的处理既简单又高效
    因此经常用于:游戏、直播等对实时性要求高的场景

分别使用TCP和UDP的应用层协议:
在这里插入图片描述

UDP的报文结构

在这里插入图片描述
UDP首部只有4个字段,每个字段占用两个字节。

  • 报文长度
    表示 UDP 数据报长度,包含 UDP 报文头和数据长度。因为 UDP 报文头长度是 8 个字节,所以这个值最小为 8,最大长度为 65535 字节。
  • 校验和:
    校验和字段用来校验报文段在传输的过程中是否出现了差错

UDP伪首部

在这里插入图片描述
什么是伪首部?
在 TCP或 UDP 的数据报中,在数据报首部前面增加源 IP 地址、目的 IP 地址、IP 分组的协议字段、TCP 或 UDP 数据报的总长度等共12字节,所构成的扩展首部结构就是伪首部。

为什么要有伪首部?
此伪首部是一个临时的结构,它既不向上也不向下传递,仅仅只是为了保证可以校验数据报的正确性
具体怎么校验过程:
将UDP伪首部、首部、数据每16位一组进行二进制反码求和,再将求和结果求反码,填入校验和字段

udp怎么实现可靠传输?

参考
怎么实现可靠传输?

传输层无法保证数据的可靠传输,但是可以通过应用层来实现。实现的方式可以参照tcp可靠性传输的方式,只是实现不在传输层,而是转移到了应用层。

最简单的方式是在应用层模仿传输层TCP的可靠性传输。

可靠UDP的简单设计如下:
1、添加seq/ack机制,确保数据发送到对端
2、添加发送和接收缓冲区
3、添加超时重传机制。
发送端发送数据时,生成一个随机seq=x,然后每一片按照数据大小分配seq。数据到达接收端后接收端放入缓存,并发送一个ack=x的包,表示对方已经收到了数据。发送端收到了ack包后,删除缓冲区对应的数据。时间到后,定时任务检查是否需要重传数据。

MTU和MSS

  • MTU (Max Transmission Unit):一个网络包的最大长度
  • MSS(Max Segment Size):一个网络包所能容纳的 应用层数据的最大长度;

在这里插入图片描述以太网的网络包的数据范围:[46,1500]
所以以太网的 MTU就是1500

为什么需要MTU和MSS
因为数据链路层传输的帧大小是有限制的,不能把一个太大的包直接塞给链路层,所以需要限制ip报文大小。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值