作者:故事我忘了
个人微信公众号:程序猿的月光宝盒

1.UDP简介

1.1UDP报文结构:

Source Port:源端口

Destination Port:目标端口

Length:数据包长度

Checksum:奇偶校验值

data octets:用户数据

1.2 UDP特点

​ 1.面向非连接

​ 传输数据之前,源端和终端无建立连接,当他想传送时,就简单地去抓取来自应用程序的数据,并尽可能快的把他扔到网络上,在发送段,UDP传送数据的速度,仅仅是受应用程序生成数据的速度的影响,计算机的能力和传输带宽的限制.在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读取一个消息段.

  1. 不维护连接状态,支持同时向多个客户端传输相同的消息

  2. 数据包报头只有8个字节,额外开销较小

  3. 吞吐量只受限于数据生成速率,传输速率以及机器性能

  4. 尽最大努力交付,不保证可靠交付,不需要维持复杂的链接状态表

  5. 面向报文,不对应用程序提交时的报文信息进行拆分或者合并,因此,应用程序应该选择合适的报文大小

2. TCP和UDP的区别

  1. TCP面向连接,UDP面向非连接

  2. 可靠性:TCP比较可靠,利用握手,确认和重传机制来提供可靠性,而UDP可能会丢失
  3. 有序性:TCP有序,TCP利用序列号保证了消息报的顺序交互,到达可能无序,但是TCP最终会排序,而UDP不具备有序性
  4. 速度:TCP速度比较慢,因为要创建连接,保证消息的可靠性和有序性,UDP更适合对速度比较敏感的应用,比如在线视频媒体,电视广播,多人在线游戏
  5. 量级:TCP属于重量级,UDP属于轻量级的,体现在源数据的头大小,TCP是20个字节,而UDP是8个字节

Java每日一面(Part1:计算机网络)[19/10/21]的更多相关文章

  1. Java每日一面(Part1:计算机网络)[19/10/14]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.1 说一说TCP的四次挥手 ​ "挥手",即终止TCP连接,断开一个TCP连接池. ​ 需要客户端和服务端总共发出四个包,以 ...

  2. Java每日一面(Part1:计算机网络)[19/10/13]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1.说说TCP三次握手 1.0 在此之前,什么是TCP? ​ TCP(传输控制协议) ​ 1.面向连接的,可靠的,基于字节流的传输层通信协议 ​ 2. ...

  3. Java每日一面(Part1:计算机网络)[19/11/25]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面: ​ Get请求将请求信息放在UR ...

  4. Java每日一面(Part1:计算机网络)[19/11/13]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[1] 1.1 HTTP简介 ​ HTTP协议,即超文本传输协议,属于应用层的协议,他是基于请求和响应模式的无状态的 应用层协议. ...

  5. Java每日一面(Part1:计算机网络)[19/11/02]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.TCP的滑动窗口 1.1 RTT和RTO的区别 ​ RTT:发送一个数据包到收到对应的ACK,所花费的时间 ​ RTO:重传时间间隔,TCP在发 ...

  6. Java每日一面(Part2数据库)[19/11/28]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.如何设计一个关系型数据库 如上图,首先划分成两大部分: ​ 1.存储部分:类似一个文件系统,把数据存储到一个持久化设备中,如机械硬盘,固态等 ​ ...

  7. Java Web学习总结(19)——web.xml配置详解

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  8. 【Java每日一题】20161214

    package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1214 { public s ...

  9. 【Java每日一题】20161212

    package Dec2016; public class Ques1212 { public static void main(String[] args){ System.out.println( ...

随机推荐

  1. Golang中类面向对象特性

    一.类型方法的实例成员复制与类型方法的实例成员引用   在Go中可以类似Java等面向对象语言一定为某个对象定义方法,但是Go中并没有类的存在,可以不严格的将Go中的struct类型理解为面向对象中的 ...

  2. FastJson中JSONString与各个对象的的转换关系及API示例

    前言 JSON作为一种轻量级的数据交换格式,在我们日常的开发中使用十分广泛,就Java后端的开发工作中,JSON字符串与Java对象之间相互转换是常常遇到的操作. 虽然平时用到的挺多的,但是因为用于J ...

  3. leaflet 结合 geoserver 实现地图属性查询(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  4. Android 项目优化(七):阿里巴巴Android开发手册整理总结

    本来之前觉得Android项目优化系列的文章基本整理完毕了,但是近期看了一下<阿里Android开发手册>有了很多收获,想再整理一篇,下面就开始吧. 先在这里列一下之前整理的文章及链接: ...

  5. PHP 正则匹配h1的数据报错 preg_match(): Unknown modifier 'h' in

    问题: $str = "<h1>this is test msg</h1>"; $ruler = "/^<h1>(.*?)</h ...

  6. C#的语法----程序结构(3)

    练习2 对于学员成绩的评测  成绩>=90:A  成绩>=80&&成绩<90:B  成绩>=70&&成绩<80:C  成绩>=60& ...

  7. 研究STM32F4的IEEE1558 PTP网络时间同步协议实现,软件是RL-TCPnet V7.X的底层

    这个东西发现挺有意思,刚开始研究没整明白怎么用,实测设置一次时间戳就可以使用了,后面在深入研究下 extern ARM_DRIVER_ETH_MAC Driver_ETH_MAC0; ARM_ETH_ ...

  8. pycharm查看函数用法,参数信息的设置方法

    在编写python程序时,常常会遇到一些不太常见的函数,有时候又不想去百度,那么,使用pycharm设置快速显示函数的参数和用法,这个方法十分快捷方便. step1. file -> setti ...

  9. PlayJava Day025

    JTable 用JTable类可以以表格的形式显示和编辑数据 JTable类的对象并不存储数据,它只是数据的表现 MVC 数据.表现和控制三者分离,各负其责 M = Model(模型) V = Vie ...

  10. php 将科学计算法得出的结果转换成原始数据 NumToStr

    由于php最大只支持显示 15位因的数据运算,大于15位的2数加减乘除的数据的结果,会直接用科学计数法显示, 但在现实生活中,科学计数法不利于普通人识别,所以,本函数将:科学计数法的出的结果转换成原始 ...