计算机网络(6)-----运输层概述和UDP协议
运输层(Transport Layer)
定义
运输层负责端到端的通信,既是七层模型中负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的最高三层之间的中间层。运输层位于网络层之上、会话层之下,它利用网络层子系统提供给它的服务去开发本层的功能,并实现本层对会话层的服务。
应用进程通信
从IP层来说,通信的两端是两个主机,IP数据包的首部明确地标志了这两个主机的IP地址,但是真正进行通信的实体是在主机中的进程,是这个主机中的一个进程和另一个主机中的一个进程在交换数据,所以两个主机进行通信就是两个主机中的应用进程相互通信。
分发和复用
假定一个机构的所有部门向外单位发出的公文都是由收发室负责寄出,这相当于各部门都“复用”这个收发室。当收发室收到从外单位寄来的公文时,则要完成“分用”功能,即按照信封上写明的本机构的部门地址把公文正确进行交付。运输层的分发和复用功能也是类似的。应用层所有的应用进程都可以通过运输进程再送到IP层,这就是复用。运输层从IP层收到数据后必须交付指明的应用进程,这就是分用。
端口
我们需要有具体的进程进行标志,否则我们并不能找到确定的进程。所以就提出了协议端口号(protocol port number),简称端口。

端到端通信
在TCP/IP中,使用一个16位端口号来表示一个端口,为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。所以两个主机之间的通信,最后成了端到端的通信。
用户数据报协议UDP(User Datagram Protocol)
作用
它只是做了运输层协议能够做的最少工作,除了多路复用和多路分解及一些差错检测外,它几乎没有做任何东西。如果应用程序使用的运输层协议是UDP,则应用程序几乎是直接与IP打交道的。
特点
(1)UDP是无连接的,即发送数据之前不需要建立连接。
(2)UDP尽最大努力交付,不保证可靠交付。
(3)UDP是面向报文的,发送方的UDP对应用程序交下来的报文,在添加首部后,就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
(4)UDP没有阻塞控制。
(5)UDP支持一对一,一对多,多对一和多对多的交互通信。
(6)UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。
UDP首部
UDP首部共有8个字节,由以下四个字段组成,每个字段占2字节
(1)源端口,本机(客户端)的应用程序的套接字所对应的端口号,服务器端可利用此端口号向客户端发送数据。
(2)目的端口,服务端上的应用进程的套接字所对应的端口号,例如HTTP服务器的80端口。
(3)长度,首部和数据部分的UDP报文段的总长度,单位为字节,即首部+数据。
(4)检验和,提供了差错检测功能,即检验和用于确定当UDP报文段从源到达目的时,其中的比特是否发生了改变。
计算机网络(6)-----运输层概述和UDP协议的更多相关文章
- 计算机网络课设之基于UDP协议的简易聊天机器人
前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C ...
- 运输层2——用户数据报协议UDP
目录 1. UDP概述 2. UDP首部格式 3. UDP首部检验和计算方法 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户数据报协议U ...
- 运输层3——传输控制协议TCP概述
目录 1. TCP最主要的特点 2. TCP的连接 3. socket在不同场景中的含义 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户 ...
- 计算机网络之传输层UDP协议
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105453096 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 计算机网络之TCP协议与UDP协议
运输层向它上面应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层. 两个主机进行通信实际上就是两个主机中的应用进程互相通信.应用进程之间的通信又称为端到端的通信. 应用层不同进 ...
- 运输层协议--TCP及UDP协议
TCP及UDP协议 按照网络的五层分级结构来看,TCP及UDP位于运输层,故TCP及UDP是运输层协议.TCP协议--传输控制协议UDP协议--用户数据报协议 多路复用及多路分解 图多路复用及多路分解 ...
- 计算机网络中的TCP/UDP协议到底是怎么回事(一)
TCP/IP五层网络结构模型 物理层:物理层建立在物理通信介质的基础上,作为系统和通信介质的接口,用来实现数据链路实体间透明的比特 (bit) 流传输.只有该层为真实物理通信,其它各层为虚拟通信 数据 ...
- [计算机网络] DNS何时使用TCP协议,何时使用UDP协议
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下使用这两种协议. 先简单介绍下TCP与UDP. ...
- 计算机网络-传输层(1)UDP协议
UDP协议基于Internet IP协议,只提供两个基础功能: 分用/复用 分用:主机接收到IP数据报(datagram),每个数据报携带源IP地址.目的IP地址且携带一个传输层的段(Segment) ...
随机推荐
- java 8增强的包装类
---恢复内容开始--- 1java为8个类型提供了对应的包装类.因为这8个类型并不是类或者对象,他们原本是不应该存在在java里的(这里说的只是原本),这里要强调的是,java允许把基本类型的值直接 ...
- webservice调用服务端数据时给soapenv:Envelope 添加自定义的命名空间
最近做第三方接口,服务端需要 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/&qu ...
- ARM9代码分析启动MAIN.C
#define GLOBAL_CLK 1 #include <stdlib.h> #include <string.h> #include “def.h” #include “ ...
- iocp-socket 服务(借鉴别人的,根据自己的需要改的)未完待续
#pragma once #include <WinSock2.h> #include <MSWSock.h> #include <Windows.h> #prag ...
- dump_stack调用过程【原创】
dump_stack调用: void dump_stack(void){ dump_backtrace(NULL, NULL);} 继续看: static void dump_backtrace ...
- Super Ugly Number
eg 2,3,5 把第一个元素(2,1)放到最小堆,2表示乘积,1表示乘数 乘数 队列 最小堆 即将进 ...
- 覆盖的面积(HDU 1255 线段树)
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem D ...
- BFS AOJ 0558 Chess
AOJ 0558 Chess http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0558 在H * W的地图上有N个奶酪工厂,每个 ...
- 【Spring】Junit加载Spring容器作单元测试
如果我们需要对我们的Service方法作单元测试,恰好又是用Spring作为IOC容器的,我们可以这么配置Junit加载Spring容器,方便做单元测试. > 基本的搭建 (1)引入所需的包 & ...
- struts的hello world小试
struts的hello world小试 前面jdk的安装和配置,tomcat的安装和配置以及java ide的安装和配置就不写了. 在项目中使用流程 创建一个Web项目 导如struts 2.0.1 ...