TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输。

传输层协议根据IP数据报判断最终的接收端应用程序。

TCP/IP的众多应用协议大多以客户端/服务端的形式运行。客户端是请求的发起端,而服务端表示提供服务的意思,是请求的处理端。因此,作为服务端的程序有必要提前启动,准备接收客户端的请求。传输协议根据接收数据中的目标端口号识别目标处理程序。

TCP.UDP比较

TCP提供可靠性传输。实行顺序控制或重发控制机制,还有流量控制和拥塞控制,提高网络利用率。

UDP是不具备可靠性的数据包协议,在UDP的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。

UDP适用于那些对高速传输和实时性有较高要求的通信或广播通信。比如:IP电话、多播广播通信、RIP、DHCP。TCP和UDP按需使用。

端口号:

数据链路和IP中的地址分别是MAC地址和IP地址,前者用来识别同一数据链路中的不同计算机,后者用来识别TCP/IP网络中互连的主机和路由器。在传输层中的地址就是端口号,端口号用来识别同一计算机中进行通信的不同应用程序,也就是程序地址。

因此,TCP/IP或UDP/IP通信中通常采用5个信息来识别一个通信,分别是源IP地址,目标IP地址、协议号、源端口号、目标端口号。其中一项不同,则认为是不同的通信。

端口号的确定

1,标准既定的端口号

也叫做静态方法,每个程序都有指定的端口号。比如HTTP、TELNET、FTP等应用协议中使用的端口号就是固定的。

2,时序分配法

也叫做时序(动态)分配法,此时服务器有必要确定监听端口号。但客户端没必要确定。在这种方法下,客户端不用自己设置端口号,全权交给操作系统进行分配,操作系统可以为每个应用程序分配互不冲突的端口号。

端口号与协议

端口号由其使用的传输层协议决定,因此不用的传输协议可以使用相同的端口号。数据到达IP层后,会先检查IP首部中的协议号,再传给相应协议中的模块。即使是同一端口号,由于传输协议是各自独立地进行处理,因此不会相互影响。

此外,知名端口号和传输层协议没有关系,只要端口号一致都将分配到同一程序进行处理。

TCP/IP中的传输层协议TCP、UDP的更多相关文章

  1. 传输层协议TCP和UDP

    本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...

  2. 浅谈传输层协议TCP和UDP

    在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...

  3. TCP/IP入门(3) --传输层

    原文:http://blog.csdn.net/zjf280441589/article/category/1854365 传输层的主要功能 1)传输层为应用进程之间提供端到端的逻辑通信(网络层是为主 ...

  4. 数据通讯与网络 第五版第24章 传输层协议-TCP协议部分要点

    上一博客记录了UDP协议的关键要点,这部分记录TCP协议的关键要点. 24.3 传输控制协议(TRANSMISSION CONTROL PROTOCOL) TCP(Transmission Contr ...

  5. TCP/IP五层模型-传输层-TCP协议

    ​1.定义:TCP是一种面向连接.可靠的.基于字节流的传输控制协议. 2.应用场景:TCP为可靠传输,适合对数据完整性要求高,对延时不敏感的场景,比如邮件. 3.TCP报文:①TCP报文格式: ②TC ...

  6. 传输层协议TCP和UDP分析

    分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析应用TCP协议,以及TCP链接管理 2. 分析应用UDP协议 分析要求 (1)TCP部分: 学习3CDaem ...

  7. 常用传输层协议(tcp/ip+udp)与常用应用层协议简述(http)

    一.计算机网络体系结构 二.TCP与UDP差异 1.TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输 面向连接表现在3次握手,4次挥手:可靠传输表现在未进行4次挥手时的差错重传,超时重传: ...

  8. TCP/IP五层模型-传输层-UDP协议

    ​1.定义:UDP:是非面向连接.不可靠的用户数据包协议. 2.应用场景:适合对数据完整性要求不高,但对延迟很敏感,比如即时通信(语音视频聊天等). 3.UDP报文格式: 4.用UDP传输数据的应用层 ...

  9. 前端工程师如何理解 TCP/IP 传输层协议?

    网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别. TCP/IP网络模型 计算机与网络设备要相 ...

随机推荐

  1. CSS的常用单位 %和 vw vh 和 box-sizing:border-box; 和flex简介

    一.% 理解: %号是CSS中的常用单位,它是相对于父容器而言的.如:一个父容器的宽是100px,给它的子元素一个10%,那么子元素的宽就是100px的10% 10px. 效果图: (利用%设置了li ...

  2. 适配iphoneX

    tips iphone6设备宽高为375×667,屏幕分辨率为750×1334,故其设备像素比(dpr)为2.iphoneX的设备宽高375*812,屏幕分辨率为1125x2436,故dpr=3 适配 ...

  3. 使用Blazor Server 线路处理程序 (circuit handler)跟踪打开的SignalR连接

    Blazor服务器允许定义线路处理程序(circuit handler)代码,该处理程序(handler)允许在更改用户线路状态时运行此代码. 线路处理程序(circuit handler)是通过从C ...

  4. qt creator源码全方面分析(3-3)

    目录 qtcreatordata.pri 定义stripStaticBase替换函数 设置自定义编译和安装 QMAKE_EXTRA_COMPILERS Adding Compilers 示例1 示例2 ...

  5. 304 Not Modified

    304 Not Modified,不是服务器发出的错误,是服务器所承载的业务系统在开发时为了节省带宽和提升浏览器的体验,对GET/js,css,image等执行了缓存机制.客户端第一次对服务器发出GE ...

  6. 17-Java-文件上传报错(commons-fileupload包和commons-io包不支持JDK版本:UnsupportedClassVersionError: org/apache/commons/io/IOUtils : Unsupported major.minor version 52.0)

    文件上传报错(commons-fileupload包和commons-io包不支持JDK版本) 这个bug可把我弄惨了!!!我代码是想通过写个文件上传,我写的文件上传需要用到commons-fileu ...

  7. idea最下方视图中没有spring框解决方法

    之前遇到过idea打开一个项目后,如图所示的spring视图框消失不见了. 并且view-Tool windows里面也找不到的问题;因为没有这个的话还挺烦的,网上搜了好久都没有资料,所以记录一下; ...

  8. ggplot2练习

    图源于电力电子课本65页——电容滤波的单相不可控整流电路. f<-function(w,d) { l<-w/sqrt(w^2+1)*exp(-atan(w)/w)*exp(-d/w) r& ...

  9. Java反射之成员变量的反射

    上一篇介绍了Java反射之构造方法反射.这次我们在说一说如何反射类中的成员变量并用作一个简单案例. [一]Field类 Filed类代表字段,包含字段拥有的所有属性,比如修饰符,变量类型,值等等,Fi ...

  10. Python操作系统

    一 为什么要有操作系统 (两本书:现代操作系统.操作系统原理,学好python以后再去研究吧~~) 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输 ...