计算机网络笔记5 传输层
创始人
2024-02-17 05:45:14

文章目录

  • 前言
  • 一、运输层概述
  • 二、运输层的端口与复用、分用的概念
  • 三、UDP协议 和 TCP协议 对比
    • 用户数据报协议 UDP💦(User Datagram Protocol)
    • 传输控制协议 TCP💦(Transmission Control Protocol)
  • 四、TCP协议
    • 1、TCP的三次握手和四次挥手
    • 2、TCP的流量控制(flow control)💦
    • 3、TCP的拥塞控制💦
    • 4、TCP的超时重传
    • 5、TCP的可靠传输
  • 本章思维导图

前言

站在巨人的肩膀上,让知识的获得更加容易!本文为学习计算机网络后,自顶向下的学习笔记;

  • 学习视频来源: 计算机网络微课堂(有字幕无背景音乐版)
  • 课件pdf来源:评论区up bili_68567544整理目录分享
  • 思维导图来源:https://blog.csdn.net/weixin_45067603/article/details/107053479
  • 参考文章:百度百科、知乎、掘金等文具体位置具体标注
    课程相关资源(课件、PDF文档、网络仿真实验软件)稍后有时间整理分享链接到评论区自行下载(网盘或者上传csdn)

系列目录:

  • 计算机网络笔记6 应用层

一、运输层概述

运输层为运行在不同主机上的应用进程提供直接的通信服务,向上层屏蔽下面的网络核心细节如(网络拓扑、路由器选择协议等),使应用进程仿佛是存在一条端到端的逻辑通信信道。

计算机网络体系中物理层、数据链路层、网络层共同实现了主机到主机之间的通信,但是真正在网络中进行通信的实体是位于通信主机中的进程,运输层就是为运行在不同主机上的应用进程提供直接的通信服务,所以,运输层协议又称为端到端协议
在这里插入图片描述
根据应用需求的不同,运输层为应用层提供了两种不同的运输协议,即面向连接的TCP无连接的UDP,这是本章的主要内容

二、运输层的端口与复用、分用的概念

为了区分运行在计算机上的进程,使用进程标识符PID(Process ID)标志运行在计算机上的进程(不同操作系统使用不同格式的进程标识符)
为了让不同操作系统的应用进程之间能够网络通信,TCP/IP体系的运输层用统一的方法–端口号(Port ID)区分应用层不同的应用进程
端口号长度16bit,所以取值范围为0-65535,端口号划分如下:

  • 熟知端口号(或系统端口号或公认端口号):数值0~1023。FTP的20/21,HTTP的80,DNS的53等
  • 登记端口号(或注册端口号):数值1024-49151。为没有系统端口号的应用程序提供的。必须在IANA按照规定进行登记,以免重复。
  • 客户端使用的端口号:
    也叫做动态端口号,或者短暂端口号。数值为49152~65535,由于这类端口号仅在客户进程运行时才动态选择,程序结束则已使用过的端口号就被回收,以便以后供其它客户进程使用。

Windows下查看PID与端口号:使用快捷键Ctrl+Shift+Esc呼出任务管理器后点击服务可查看 或者 使用快捷键win+r后再输入cmd回车,使用tasklist命令查看
Linux下使用命令 netstat -tunlp查看或者ps

注意: 端口号只是用来标记本计算机中应用层的各进程,在互联网中,不同计算机的相同端口是没有联系的,常用端口号如下了解即可
在这里插入图片描述
寻址中的复用与分用

  • 复用:应用层所有的应用进程都可以通过传输层再传输到网络层,通俗的说就是多个用户使用一个IO资源 发送消息 时,我们称之为“复用”。

  • 分用:传输层从网络层收到数据后交付给指明的应用进程,通俗的说就是多个用户使用一个IO资源 接收消息 时,我们称之为 “分用” 。
    在这里插入图片描述

在网络层

局域网内多个主机利用一个路由网关发送消息给互联网的其他主机。这也是复用技术。

同理,利用网关接收路由数据报就叫 分用技术。

在运输层

操作系统的 多个进程(这里一个端口表示一个进程) 利用一个运输层协议(或者称为运输层接口)发送数据称为复用

同理,接收时叫做 分用

在应用层

操作系统的 多个线程 利用一个端口(或者叫socket,socket = IP+端口号 )发送消息称为“”复用“”(有一个技术名词“”IO多路复用“”讲着的大概就是这个意思)

同理,接收时叫分用

在网络中使用套接字Scoket唯一的标识网络中的一个主机和它上面的一个进程;(Socket = IP + PID)

三、UDP协议 和 TCP协议 对比

用户数据报协议 UDP💦(User Datagram Protocol)

  • UDP 在传送数据之前不需要先建立连接,远程主机在收到 UDP 报文后,不需要给出任何确认。
  • UDP将可靠传输的实现放到了应用层,然后类似于TCP,实现确认机制,重传机制
  • UDP不属于连接型协议,因而具有消耗资源小,处理速度快等优点,所以通常音频、视频通话在传送时使用UDP比较多,因为它们即使丢失一两个数据包也不会对结果产生太大影响
  • UDP传输层无法保证数据的可靠传输,只能通过应用层来实现了;实现的方式可以参考TCP可靠传输的方式,只是实现不在传输层,转移到了应用层,目前有如下开源程序利用UDP实现了可靠的数据传输;分别有RUDP, RTP, UDT

传输控制协议 TCP💦(Transmission Control Protocol)

  • TCP 提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。
  • TCP 不提供广播或多播服务。由于 TCP 要提供可靠的,面向连接的传输服务(TCP的可靠体现在TCP在传递数据之前,有三次握手来建立连接,而且在数据传递时,有流量控制、拥塞控制等机制,在数据传完后,四次挥手断开连接用来节约系统资源),这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源。
  • TCP 一般用于文件传输、发送和接收邮件、远程登录等场景

在这里插入图片描述

四、TCP协议

1、TCP的三次握手和四次挥手

这点最长最复杂最重要单独开一篇文章TCP的三次握手和四次挥手
也可看小牛肉的文章TCP的三次握手和挥手

2、TCP的流量控制(flow control)💦

如果发送方数据发送太快,接收方来不及接收,就会造成数据丢失,所以使用滑动窗口机制来实现流量控制,让发送方的发送速率不要太快,接收方来得及接收。
一个案例搞懂流量控制:
假设A和B已建立TCP连接后,设一个报文段100B,报文段序列号初始值为1,接收窗口rwnd=400,B对A流量控制,A向B发送数据窗口变化过程如下:
ps:使用了一次累计确认机制ack和三次流量控制机制rwnd(发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值)
在这里插入图片描述
如果最后B不允许A再发送数据了后,B在处理完数据之后想要恢复窗口大小时,发送的有rwnd大小的数据报丢了怎么办?此时A有B的指令在前,发送窗口为0无法发送数据,B也在等待A回复,造成了类似死锁的现象
在这里插入图片描述
解决方法:使用计时器
TCP为每一个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。
若持续计时器设置的时间到期,就发送一个零窗口探测报文段。接收方收到探测报文段时给出现在的窗口值。
若窗口仍然是0,那么发送方就重新设置持续计时器。
在这里插入图片描述

3、TCP的拥塞控制💦

在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏这种情况就叫做拥塞(congestion)。

  • 在计算机网络中的链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降。
    在这里插入图片描述
    拥塞控制通过如下图所示4种算法实现,通常两两结合使用
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    例题:
    在这里插入图片描述

4、TCP的超时重传

超时重传时间RTO设计短了容易有不必要的重传让网络负荷增大,长了容易造成数据丢失,而TCP协议采用自适应算法,动态的改变重传时间RTTs(加权平均往返时间),具体计算方法如下:
在这里插入图片描述
Tips:这里的算法推导有个非常精彩的过程,建议自行观看视频体会,这里只放最终算式便于总结和复习!

5、TCP的可靠传输

TCP基于字节为单位的滑动窗口来实现可靠传输
在这里插入图片描述
可靠传输这部分其实包含了很多的内容,也有和前面重合的,这部分看了不少文章还是博客园大佬靠谱儿TCP协议如何保证可靠传输?

本章思维导图

思维导图来源:https://blog.csdn.net/weixin_45067603/article/details/107053479,虽然B站王道的计网相比其他课程略微拉跨,但是这个博主总结的很不错,所以一并用了,差不多的,之后自己会自己总结啦,学的时候感觉好多好难,谢希仁的书听老师讲了一遍还是感觉好难的样子,自己理一遍才行!
在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...