计算机网络协议的特点,计算机网络传输层协议类型与特点

我们在上文中给大家简单介绍了计算机网络体系的七层结构,而今天我们就一起来了解一下,计算机网络传输层协议类型与特点。

a7d108691800faf6ffe2af4ce4022934.png

传输层涉及到两个重要的协议:UDP和TCP,本节我们重点介绍这两个协议。

1、UDP协议

1.1、UDP数据报格式

UDP基本没干啥事,继承了IP包的特性:数据可能丢失,顺序传输无法保证。UDP与后边介绍的TCP不一样,是无状态的。我们来看看UDP数据报的格式:

源端口号:发送数据报方使用的端口号,用于标识发送进程;

目的端口号:接收数据包方使用的端口号,用于标识接收进程;

UDP长度:UDP头部和UDP负载数据的字节长度;

UDP校验和:UDP校验和覆盖UDP头部和UDP数据和一个伪头部(区别:IP头部校验和只覆盖IP头部),伪头部衍生子IPv4头部字段的12个字节,或者衍生子IPv6头部字段的一个40字节的伪头部;

负载数据:具体的UDP数据。

可以发现,UDP与下层不同,是需要端口号的。

为什么UDP需要端口号,TCP和UDP端口号可以相同吗?

类似ICMP协议回显请求的标识符,UDP的端口用于区分是哪个进程的数据包,如果没有端口号,那么就不知道应该把数据包终交给哪个进程来处理了。

TCP端口号由TCP来查看,UDP端口号由UDP来查看,TCP端口号和UDP端口号是相互独立的,所以是可以相同的。每个请求都有源IP、目标IP、源端口号、目标端口、协议五个元素来标识的,每个协议的端口池是完全独立的。

为什么UDP的端口号多是65535个?

在UDP/TCP协议中源端口和目的端口都只有16位,也就是说端口的取值范围为0~65535。

1.2、UDP特点

UDP在IP层之上,没有做其他的封装,主要表现如下特点:

数据可能丢失,顺序传输无法保证;

无状态,不需要像TCP那样要建立连接;

没有拥塞控制,来一个包就发一个。

1.3、UDP使用场景

基于UDP的特点,UDP主要用于以下场景:

需要资源少,在网络情况比较好的内网,或者对对包不敏感的场合。如DHCP和TFTP就是基于UDP的;

广播场景,不需要一对一建立连接,如DHCP;

需要时延低,允许丢包,不关注网络拥塞的场景,如视频直播这种流媒体,实时游戏,通信,物联网等领域。

2、TCP协议

TCP是我们平时用到多的协议,特别是做web开发的时候,或者互联网后端开发,真的是时时刻刻都会用到,这里我会展开来讲。《TCP/IP详解-卷1:协议》一书中花了6章来讲解TCP的各种功能,单单是从TCP/IP协议栈的名称就可以看出,TCP协议的分量有多重了。为此,面试官张口就聊TCP咋的咋的。

与UDP不同,TCP做了很多功能的封装与实现。

先来简单介绍下TCP协议:

TCP给应用程序提供给了一种与UDP完全不同的服务。

TCP是面向连接的可靠的服务:面向连接指TCP的两个应用程序必须在它们可交换数据之前,通过相互联系来建立一个TCP连接;

TCP提供了一种字节流抽象概念给应用程序:TCP不会自动插入记录标志或者消息边界,这意味着TCP没有限制应用程序的写范围。发送端分两次发10字节和30字节,接收端可能会以两个20字节的方式读入。

我们还是先来看看TCP数据报的格式吧,这个可比UDP复杂多了,但是也是设计的恰到好处的。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ciaodvd数据集的简单介绍_人工智能进阶-CIFAR-10数据集介绍

CIFAR-10该数据集共有60000张彩色图像,这些图像是32*32,分为10个类,每类6000张图。这里面有50000张用于训练,构成了5个训练批,每一批10000张图;另外10000用于测试,单独构成一批。测试批的数据里…

已达成计算机的连接数最大值无法再,已达到计算机的连接数最大值,无法再同此远程计算机连接...

已达到计算机的连接数最大值,无法再同此远程计算机连接当打开文件共享时,弹出无法连接的对话框:“....已达到计算机的连接数最大值,无法再同此远程计算机连接”。对于server版的服务器系统,从未遇到过如此问题,而现在访问的服务器…

jq设置保留两位小数_如何实现python中format函数保留指定位数的小数?

我们经常说我国人口有13亿,这13亿数字是一个近似数。在我们无法精确准确得到一个数字时,会选择是它的近似数。近似数即经过四舍五入、进一法或者去尾法等方法得到的一个与原始数据相差不大的一个数。之前小编向大家介绍了在python中用用round函数保留两位…

计算机四级的英文,计算机四级考试中英文术语对照

access 访问存取通路进入achieve 实现完成acquire 获得adjacency list method 邻接表表示法adjacency matrix method 邻接矩阵表示法algorithm 算法allocate 留下分配analog 推论append 添加archive 档案归档array 数组assign 分配assume 假设assurance 确信信任ATM(asynchrono…

sap系统搭建教程_詹迟迟:如何搭建知识付费系统?知识付费系统搭建教程

​如何搭建知识付费系统?知识付费一直很火爆,在这个不确定的时代,很多人已经明确知道,学习是终身的事情,也有人在说这只是在制造焦虑,但知识付费越来越火是个明确的事实。这就有很多知识付费平台产生了&…

单价数量和总价的公式_人教版四年级数学上册单价、数量和总价之间的关系微课...

温馨提示:若有视频需付费才可打开,请您不予理会跳过看其它视频微课1微课2(点开下面链接即可查看)2020年秋季1-9年级学生课本上册全套多版本电子版都在这了部编小学语文1-6年级上册全册优质授课视频人教版数学四年级上册《大数的认识1-1:亿以内…

2038计算机系统,2038年问题

2038年问题是指在使用POSIX时间的32位计算机应用程序上,格林尼治时间2038年1月19日凌晨03:14:07(北京时间:2038年1月19日中午11:14:07)之后无法正常工作。中文名2038年问题外文名Year 2038 problem概 念计算机bug(程序错误)载 体使用POSIX时间的32…

苹果关掉200m限制_苹果下载大于200M限制

不用管它,点击好。然后按Home键(或上拉Home条)回到桌面,这时候你会看到你想下载的软件已经在桌面了,但是是灰色的,下面写着等待中,你不用理,点开 iPhone设置 -> 通用 -> 日期与时间 -> 自动设置(把…

重启计算机后桌面顺序是反的,Win10系统为什么重启电脑之后桌面上的图标排列顺序被打乱该如何处理...

导语:许多盆友发觉在应用Win10系统时,重新启动以后桌面图标越来越错乱,针对桌面图标不多的盆友而言还行,如果多的客户那简直十分烦闷的事儿,下面白豆芽就和大家分享Win10系统为什么重启电脑之后桌面上的图标排列顺序被打乱该如何处理。解决方法一:图标自…

boot lvm 分区_Linux如何在线对逻辑分区扩容

Linux如何在线对逻辑分区扩容1.前言目前绝大部分IaaS平台基本都会选择类似Vmware VsphereSAN存算分离的架构,或者选择类似Nutanix、Vmware Vsan或者深信服等存算一体的超融合架构。不管何种方式,都会遇到已挂载目录磁盘空间不足的情况,部分分…

计算机磁盘清理软件,清理磁盘空间的7种技巧,电脑装机、安装系统必备

随着技术的进行,硬盘变得越来越大,但它们似乎总是会装满。如果使用的是固态驱动器(SSD),它的空间比传统的机械硬盘要小得多,那就更是如此。如果你的硬盘空间不足,下面这些技巧可以帮助你清除硬盘上的垃圾,为…

攀爬网怎么取消_桂林旅游学院宿舍条件怎么样

大学就是我们的第二个家,高考填报志愿时,桂林旅游学院宿舍条件怎么样、好不好是广大同学和家长朋友们十分关心的问题,为了方便大家查询,大学生必备网已经为大家整理好了桂林旅游学院宿舍条件和宿舍图片,供大家参考。1、…

微信怎么绑定消息服务器吗,fastweixin: 极其方便的实现微信公众平台服务端开发,2行代码完成服务器绑定,3行代码实现用户消息监听...

fastweixin作者:peiyu快速搭建微信公众平台服务器简单封装了所有与微信服务器交互的消息:文本消息、图片消息、图文消息等等提供了基于springmvc以及基于servlet框架的控制器,集成了微信服务器绑定、监听所有类型消息的方法使用时继承,重写即可&#xff…

炒菜机器人放食材的顺序_如果给你个做饭机器人,你会让它做些什么饭菜?

我曾去过一个从事人工智能软件开发的工程师家里,进她家,从进门开锁、开灯、烧开水、泡咖啡、扫地机、蒸饭、炖汤、洗碗机等基本上实现了智能控制。我笑着说,如果再有个机器人帮你炒菜,你就实现“家务自由”了!现在唯独…

服务器中文件设置密码,共享服务器文件权限怎么设置密码

共享服务器文件权限怎么设置密码 内容精选换一换该步骤必须在root用户下执行,若以普通系统用户登录,需要执行su切换到root用户下执行后续操作。ssh-keygen -t rsa过程中需要:(可选)输入保存的文件名,默认为在/root/.ssh/id_rsa目录…

ajax定时器怎么写,js定时器怎么写?就是在特定时间执行某段程序

js定时器怎么写?就是在特定时间执行某段程序复制代码 代码如下:$(function(){var handler function(){}var timer setInterval( handler , 1000);var clear function(){clearInterval(timer);}});我要在定时里面加一个页面跳转,然后在页面load的时候加…

vue读取服务器文件跨域,新版vue-cli模板下本地开发环境使用node服务器跨域的方法...

背景我们都知道浏览器有一个既核心也最基本的安全功能,即同源策略。同源分别是:协议,域名,端口。如果浏览器访问服务器不同源的话,就会访问不到数据。那开发中常常访问的服务器不同源,那么可以借助一个服务器当做中介来…

一个账号可以登录几台机器_干货:一个PubMed账号可以有这么多用处!

且不说撰写一个综述类文章,就连平时的课题设计和汇报,都是动辄几十篇文献以上,那么,该如何管理这么多文献呢?笔者认为,一个PubMed账号足矣。我们都知道,在生物医药领域,PubMed这个文…

投票选举 算法_区块链主流共识算法一文全通

在每种伟大的加密货币背后,都有着一个伟大的共识算法。没有共识算法是完美的,但是它们各有千秋。在加密世界中,需要共识算法来防止重支付。这是迄今为止一些最流行的共识算法的简要介绍,从区块链到DAG以及介于两者之间的所有内容。…

clion 引用dll_用CLion实现本地方法并给java调用

众所周知,PHP是世界上最好的语言,java排第二,因为PHP无所不能。但是在某些场景下java还要调用本地方法来提高执行的效率,故java只能排第二。java提供了jni(Java Native Interface)来实现在java中调用本地方法。本地方法在java中用…