计算机网络(二):传输层

传输层基本概念

传输层的作用

根本目的:在网络层提供的数据通信服务基础上,实现主机的进程间通信的可靠服务

三大要点:

  • 为位于两个主机内部的两个应用进程之间提供通信服务
  • 传输层协议软件属于OS操作系统内核软件而非用户软件
  • 提供可靠的通信服务

套接字

“套接字”表示一个IP地址与对应的一个进程标识(端口号)。例如,一个IP地址为202.1.2.5客户端使用3022端口号,那么标识客户端的套接字为“202.1.2.5:3022”。

端口号的分配

端口号为0-65535之间的整数,有3种类型:熟知端口号、注册端口号、临时端口号。

熟知端口号:给每种服务器分配确定的全局端口号。每个用户进程都知道相应的服务器进程的熟知端口号,范围为0-1023,它是统一分配和控制的。

注册端口号:在IANA注册的端口号,数值范围为1024-49151。

临时端口号:客户端程序使用临时端口号,它是运行在客户端上的TCP/IP软件随机选取的,范围为49152-65535。

传输层通信连接的标识方法

一个完整的进程通信标识需要一个五元组标识:(协议、本地地址、本地端口、远程地址、远程端口号)

如:( 协议=tcp, 本地地址=192.168.0.7, 本地端口=54470, 远程地址=172.217.6.127, 远程端口=443 )

传输层的多路复用与多路分解

意指:运行TCP/IP协议主机中,可以同时运行不同应用层协议和不同的应用程序。

由传输层根据不同的TPDU(传输协议数据单元)的端口号,区分出不同属性,分别传给对应的几个应用进程。

用户数据报协议UDP

主要特点

  • 无连接的:发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。

  • 尽最大努力交付:即不保证可靠交付,因此主机不需要维持复杂的连接状态表。

  • 面向报文的:UDP 对应用层传递下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 对于应用程序提交的报文,添加头部构成TPDU后就向下提交给IP层。

  • 没有拥塞控制:网络出现的拥塞时,UDP不会使源主机的发送速率降低。这对某些实时应用是很重要的,很适合多媒体通信的要求。

  • 支持多对多的交互通信

  • 首部开销小:只有 8 个字节,比 TCP 的 20 个字节的首部要短

适用场景

  • 适用于少量(几百个字节)的数据
  • 对性能的要求高于对数据完整性的要求,如视频播放、P2P、DNS等
  • 需要“简短快捷”的数据交换 简单的请求与应答报文交互,如在线游戏
  • 需要多播和广播的应用,源主机以恒定速率发送报文,拥塞发生时允许丢弃部分报文,如本地广播、隧道VPN

UDP数据报格式

在这里插入图片描述

  1. UDP总长度(单位为字节) = 8 (UDP报头长度) + 数据字段的字节长度 (长度必须为2字节的倍数,即为偶数);

  2. 数据字段的字节长度必须为2字节的倍数原因是:校验和的计算是以2字节为单位的;

检验和的计算

UDP的检验和是可选的,根据自己对效率、可靠性的要求来决定是否使用。

在这里插入图片描述
伪报头来自于IP报头,只在计算检验和时起作用,既不向低层传输,也不向高层传送。

计算检验和的方法:初始设置“检验和”字段为全0,对蓝色框起的内容,以2字节(16位)为单位进行累加,如果最高位发生进位,则最后的结果加1,最后的累加和再取反码就是检验和,计算出检验和之后将其插入“检验和”字段。

接收方判断数据传输是否正确的方法:同样对接收到的蓝色框内的内容计算检验和,并取反码,如果取反码为0,说明数据传输正确。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值