计算机网络之传输层笔记

传输层

前提

参考书:谢希仁《计算机网络(第7版)》、王道计网课程、天勤计网课程等。


1 传输层概述

1.1 传输层简介

(1)传输层为应用层提供通信服务,使用网络层的服务。

(2)传输层的功能:

  1. 传输层提供进程和进程之间的逻辑通信。
  2. 复用和分用
  3. 传输层对收到的报文进行差错检测。
  4. 传输层的两种协议

(3)网络层提供主机之间的逻辑通信。只有主机才有层次。

1.2 传输层的两个协议

(1)传输层有两个好兄弟,大哥TCP和小弟UDP,大哥靠谱,小弟不靠谱。

(2)TCP

  • 面向连接的传输控制协议。
  • 传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。
  • 可靠,面向连接,时延大,适用于大文件。

(3)UDP

  • 无连接的用户数据报协议。
  • 传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。
  • 不可靠,无连接,时延小,适用于小文件。
1.3 传输层的寻址与端口

(1)复用:应用层所有的应用进程都可以通过传输层再传输到网络层。

(2)分用:传输层从网络层收到数据后,交付到指明的应用进程。

(3)端口

  • 端口是传输层的SAP(服务访问点),标识主机中的应用进程。该端口为 逻辑端口/软件端口
  • 拓展:端口分硬件端口、软件端口。比如,路由器的端口实实在在存在着,摸得着,是硬件端口。而像这种摸不着的协议端口、进程端口等,则为软件端口。

(4)端口号主要运用于传输层上,用来标识同一台计算机中进行通信的不同应用程序(进程)。因此也被成为应用程序地址。

(5)端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的。也就是说,不同计算机中,相同端口号可以指代不同的进程。

(6)端口号长度为16bit ,能表示65536个不同的端口号。

(7)端口号(按范围分):

在这里插入图片描述

在这里插入图片描述

  • 服务端使用的端口号
    • 熟知端口号(0~1023):给TCP/IP最重要的一些应用进程,让所有用户都知道。
    • 登记端口号(1024~49151):为没有熟知端口号的应用程序使用的。
  • 客户端使用的端口号(49152~65535):仅在客户进程运行时才动态选择。

(8)套接字

在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。

在这里插入图片描述


2 UDP协议

2.1 UDP协议的简介
  • UDP,全称:User Datagram Protccol, 即用户数据报协议。

(1)UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。

(2)UDP的主要特点:

  1. UDP是无连接的,减少了开销和发送数据之前的时延
  2. UDP使用最大努力交付,即不保证可靠交付。
  3. UDP是面向报文的,适合一次性传输少量数据的网络应用。
  4. UDP无拥塞控制,适合很多实时应用。
  5. UDP首部开销小,8个字节。而TCP需要20个字节。

(3)应用层给UDP多长的报文,UDP就照样发送,即一次发一个完整报文。

2.2 UDP首部格式

在这里插入图片描述

分用时,找不到对应的目的端口号,就丢弃报文,并给发送方发送ICMP"端口不可达"差错报告报文。

2.3 UDP报文段

在这里插入图片描述

  • 伪首部只有在计算机检验和时才出现,不向下传送也不向上递交。
  • 17:封装UDP报文的IP数据报首部协议字段是17。
  • UDP长度:UDP首部(8B)+ 数据部分长度(不包括伪首部)。
2.4 UDP检验

在这里插入图片描述

在发送端:

  1. 填上伪首部
  2. 全0填充检验和字段
  3. 全0填充数据部分(UDP数据报要看成许多4B的字串接起来)
  4. 伪首部 + 首部 + 数据部分 采用二进制反码求和
  5. 把和求反码填入检验和字段
  6. 去掉伪首部,发送

在接收端:

  1. 填上伪首部
  2. 伪首部 + 首部 + 数据部分 采用二进制反码求和
  3. 结果全为1,则无差错,否则丢弃数据报 / 交给应用层附上出差错的警告。

3 TCP协议

3.1 TCP协议特点
  1. TCP是面向连接(虚连接)的传输层协议。
  2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
  3. TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。可靠有序
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值