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

传输层涉及到两个重要的协议: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群中学习了解。

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

  1. 计算机网络实验五——应用层和传输层协议分析

    计算机网络实验五--应用层和传输层协议分析 一.实验目的 二.实验内容 三.实验步骤 (一)任务1: 从 PC 使用 URL 捕获 Web 请求 1.配置Packet Tracer文件 2.使用URL ...

  2. 传输层协议(1):TCP 报文结构

    传输层位于 OSI 七层模型的第4层,也位于 TCP/IP 五层模型的第4层,如图5-1所示: 图5-1 传输层 传输层包括两大基本协议:TCP(Transmission Control Protoc ...

  3. 套接字编程--1(UDP协议编程,端口号,传输层协议,网络字节序)

    传输层的协议: ip地址: 在网络中唯一标识一台主机 IPV4:uint32_t DHCP NAT IPV6 : uint8_t addr[16] -向前并不兼容IPV4 每一条数据都必须包含源地址和 ...

  4. 网络层协议和传输层协议

    目录 一.网络层功能 二.IP数据包格式 三.ICMP协议 四.ARP协议 五.传输层协议 六.TCP报文段 七.TCP三次握手 八.TCP四次断开 九.常用的TCP端口号及功能 十.UDP协议 十一 ...

  5. 用有穷状态自动机描述计算机网络的传输层协议,计算机网络基椽—第八章(传输层)(全).ppt...

    计算机网络基椽-第八章(传输层)(全) 第八章 传输层 8.1 传输层概述 2. 传输层的功能 3. 传输层协议与数据链路层协议的区别 8.2 因特网的传输协议--- TCP和UDP TCP消息格式 ...

  6. 计算机网络传输层课件,计算机网络技术,传输层协议课件

    计算机网络技术,传输层协议课件 lufei1108@ 阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪·达斯勒设计的,三条纹的阿迪达斯标志代表山区,指出实现挑战.成就未来和不断达成目标的愿望. 第4章 传输 ...

  7. 计算机网络-应用层和传输层协议分析实验(PacketTracer)

    实验三.应用层和传输层协议分析实验 一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验 ...

  8. 计算机网络实验四:应用层和传输层协议分析(PacketTracer)

    实验目的 通过本实验,熟悉PacketTracer的使用,学习PacketTracer中仿真分析应用层和传输层协议,加深对协议工作过程的理解. 实验内容 从PC使用URL捕获Web请求,运行模拟并捕获 ...

  9. 【计算机网络】实验四 应用层和传输层协议分析(PacketTracer)

    一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验内容 研究应用层和传输层协议 从 P ...

最新文章

  1. centos iptables关于ping
  2. HALCON基于灰度值的模板匹配
  3. 如何在Bash中将字符串转换为小写?
  4. 布谷鸟哈希函数的参数_用于并发读密集型的乐观Cuckoo(布谷鸟) Hashing
  5. OpenGL之简单渲染一个三角形
  6. java多线程学习-java.util.concurrent详解
  7. 清理localstorage_vue 界面刷新数据被清除 localStorage的使用详解
  8. 怎么样减少电脑对人的辐射
  9. Android开发心得-使用File ExPlorer无法访问系统内部文件
  10. Visual Studio 2019 16.4 发布,加入对 GitHub 的整合
  11. Gridview中Dataformatstring的使用
  12. verilog学习笔记——三段式状态机
  13. protel99se进阶视频教程(手把手教你画51单片机开发板)
  14. 人民币大写转换-Java 8
  15. 黑马程序员-微信小程序-原生框架——购物平台-分类页面
  16. python版植物大战僵尸源码_『原创』植物大战僵尸分析及Python辅助实现
  17. 克服J2SE 1.3-1.4 的不兼容性
  18. 信创办公–基于WPS的PPT最佳实践系列 (将幻灯片组织成节的形式)
  19. 关于短信群发的简单实现
  20. wx小程序工具下载及安装

热门文章

  1. 超 8 成软件存已知高危开源漏洞,奇安信发布《2021 中国软件供应链安全分析报告》
  2. 生产环境使用HBase,你必须知道的最佳实践
  3. MySQL数据库无完整备份删库,除了跑路还能怎么办?
  4. 漫画:要跳槽?这道缓存设计题你有必要看看!
  5. access数据库文件导入mysql数据库文件怎么打开,Access数据库从外部数据导入文本文件和VF数据库-dbf文件怎么打开...
  6. brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL
  7. python机械臂仿真_基于Python的3R机器人运动仿真
  8. MySQL 8.0.26 图形化安装教程 (windows 64位)
  9. 解决“Failure to find com.oracle:ojdbc6:jar”,手动安装ojdbc的jar包到maven私仓
  10. 实战03_SSM整合ActiveMQ支持多种类型消息