计算机网络传输层知识点全覆盖

2024-05-14 13:32

本文主要是介绍计算机网络传输层知识点全覆盖,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写图片描述

传输层概述

  • 作用:传输层为它上面的应用层提供通信服务。
  • 在OSI七层参考模型中,传输层是面向通信的最高层,也是用户功能的最底层。
  • 传输层两大重要的功能:复用 和 分用。
    • 复用:在发送端,多个应用进程公用一个传输层;
    • 分用:在接收端,传输层会根据端口号将数据分派给不同的应用进程。
  • 和网络层的区别:
    • 网络层为不同主机提供通信服务,而传输层为不同主机的不同应用提供通信服务。
    • 网络层只对报文头部进行差错检测,而传输层对整个报文进行差错检测。

UDP(用户数据报协议)详解

UDP的特点

  1. UDP只在IP数据报服务的基础上增加了少量的功能:复用与分用、对整个报文的差错检测。

  2. UDP是无连接的
    通信前不需要建立连接,通信结束也无需释放连接。

  3. UDP是不可靠的
    它是尽力而为交付,不能确保每一个数据报都送达。

  4. UDP是面向报文的
    所谓『面向报文』就是指:UDP数据传输的单位是报文,且不会对数据作任何 拆分 和 拼接 操作。
    在发送端,应用程序给传输层的UDP什么样的数据,UDP不会对数据进行切分,只增加一个UDP头并交给网络层。
    在接收端,UDP收到网络层的数据报后,去除IP数据报头部后遍交给应用层,不会作任何拼接操作。

  5. UDP没有拥塞控制
    UDP始终以恒定的速率发送数据,并不会根据网络拥塞情况对发送速率作调整。这种方式有利有弊。
    弊端:网络拥塞时有些报文可能会丢失,因此UDP不可靠。
    优点:有些使用场景允许报文丢失,如:直播、语音通话,但对实时性要求很高,此时UDP还是很有用武之地的。

  6. UDP支持一对一、一对多、多对多、多对一通信
    而TCP只支持一对一通信。

  7. UDP首部开销小,只有8字节。
    而TCP头部至少由20字节,相比于TCP要高效很多。

PS:问:UDP不可靠具体体现在哪些方面?
数据报丢失?数据报顺序?

UDP报文头

title

  • 源端口
  • 目的端口
  • 长度:整个数据报的长度
  • 检验和:整个数据报的检验和。

TCP(传输控制协议)详解

TCP特点

  1. TCP是面向连接的
    通信前需要建立连接,通信结束需要释放连接。

  2. TCP提供可靠交付服务
    所谓『可靠』指的是:TCP发送的数据无重复、无丢失、无错误、与发送端顺序一致。

  3. TCP是面向字节流的
    所谓『面向字节流』指的是:TCP以字节为单位。虽然传输的过程中数据被划分成一个个数据报,但这只是为了方便传输,接收端最终接受到的数据将与发送端的数据一模一样。

  4. TCP提供全双工通信
    所谓『全双工通信』指的是:TCP的两端既可以作为发送端,也可以作为接收端。

  5. 一条TCP连接的两端只能有两个端点
    TCP只能提供点到点的通信,而UDP可以任意方式的通信。

TCP连接 与 套接字

  • 什么是『TCP连接』?
    TCP连接是一种抽象的概念,表示一条可以通信的链路。
    每条TCP连接有且仅有两个端点,表示通信的双方。且双发在任意时刻都可以作为发送者和接收者。

  • 什么是『套接字』?
    一条TCP连接的两端就是两个套接字。
    套接字=IP地址:端口号。
    因此,TCP连接=(套接字1,套接字2)=(IP1:端口号1,IP2:端口号2)

TCP头部

title

TCP头部长度有20字节的固定部分,选项部分长度不定,但最多40字节,因此TCP头部在20-60字节之间。

  1. 源端口 和 目的端口
    传输层和网络层一大重要区别就是传输层指定了数据报发往的应用进程,因此需要端口号标识。

  2. 序号
    当前TCP数据报数据部分的第一个字节的序号。
    我们知道,TCP是面向字节的,它会对发送的每一个字节进行编号,而且不同数据报之间是连续编号的。
    由于本字段4字节,可以给[0,2

这篇关于计算机网络传输层知识点全覆盖的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/988863

相关文章

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

Python绘制土地利用和土地覆盖类型图示例详解

《Python绘制土地利用和土地覆盖类型图示例详解》本文介绍了如何使用Python绘制土地利用和土地覆盖类型图,并提供了详细的代码示例,通过安装所需的库,准备地理数据,使用geopandas和matp... 目录一、所需库的安装二、数据准备三、绘制土地利用和土地覆盖类型图四、代码解释五、其他可视化形式1.

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

最大流=最小割=最小点权覆盖集=sum-最大点权独立集

二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。 在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。   二分图最小点权覆盖     从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。 建模:     原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t

POJ3041 最小顶点覆盖

N*N的矩阵,有些格子有物体,每次消除一行或一列,最少要几次消灭完。 行i - >列j 连边,表示(i,j)处有物体,即 边表示 物体。 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;impo

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板