TCP/IP中的传输层协议TCP、UDP
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的更多相关文章
- 传输层协议TCP和UDP
本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...
- 浅谈传输层协议TCP和UDP
在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...
- TCP/IP入门(3) --传输层
原文:http://blog.csdn.net/zjf280441589/article/category/1854365 传输层的主要功能 1)传输层为应用进程之间提供端到端的逻辑通信(网络层是为主 ...
- 数据通讯与网络 第五版第24章 传输层协议-TCP协议部分要点
上一博客记录了UDP协议的关键要点,这部分记录TCP协议的关键要点. 24.3 传输控制协议(TRANSMISSION CONTROL PROTOCOL) TCP(Transmission Contr ...
- TCP/IP五层模型-传输层-TCP协议
1.定义:TCP是一种面向连接.可靠的.基于字节流的传输控制协议. 2.应用场景:TCP为可靠传输,适合对数据完整性要求高,对延时不敏感的场景,比如邮件. 3.TCP报文:①TCP报文格式: ②TC ...
- 传输层协议TCP和UDP分析
分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析应用TCP协议,以及TCP链接管理 2. 分析应用UDP协议 分析要求 (1)TCP部分: 学习3CDaem ...
- 常用传输层协议(tcp/ip+udp)与常用应用层协议简述(http)
一.计算机网络体系结构 二.TCP与UDP差异 1.TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输 面向连接表现在3次握手,4次挥手:可靠传输表现在未进行4次挥手时的差错重传,超时重传: ...
- TCP/IP五层模型-传输层-UDP协议
1.定义:UDP:是非面向连接.不可靠的用户数据包协议. 2.应用场景:适合对数据完整性要求不高,但对延迟很敏感,比如即时通信(语音视频聊天等). 3.UDP报文格式: 4.用UDP传输数据的应用层 ...
- 前端工程师如何理解 TCP/IP 传输层协议?
网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别. TCP/IP网络模型 计算机与网络设备要相 ...
随机推荐
- 用 Java 实现人脸识别功能(附源码)
整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 ...
- htm5新特性(转)
转自:http://hyuhan.com/2017/07/06/... 今天来谈谈前端面试中基本上每次一面都会被问到的一个问题,那就是html5的新特性了.这个是学习前端必须掌握的基础知识. 新增的元 ...
- 初窥Mybatis初始化
引言 这篇文章呢,主要是讲Mybtais的两种方式的源码剖析:传统方式以及Mapper代理方式,初次探索Mybatis源码,希望大佬勿喷并且指正错误,谢谢! 个人博客:www.fqcoder.cn 一 ...
- JZOJ 5230. 【NOIP2017模拟A组模拟8.5】队伍统计
5230. [NOIP2017模拟A组模拟8.5]队伍统计 (File IO): input:count.in output:count.out Time Limits: 1500 ms Memory ...
- ubuntu16.04设置开机自启服务
网上说了开机自启有许多种方法: 1.最简单的是:在/etc/rc.local的exit 0前面加上你启动服务的脚本文件路径 注:这个脚本文件应写绝对路径! 2.网上:修改rc.local开头的#/bi ...
- 软件基础1Word文档编辑
word文档编辑 启动Word2010 创建文档,<你好word>. 编辑文字. 保存的三种方式. ctrl+s. 点击文件选择保存,或另存为. 快速工具栏保存按钮. 设置字体 1.通过工 ...
- Python+Android进行TensorFlow开发
Tensorflow是Google开源的一套机器学习框架,支持GPU.CPU.Android等多种计算平台.本文将介绍在Tensorflow在Android上的使用. Android使用Tensorf ...
- c js 字符串反转
1.例如:输入 i am a student 输出 student a am i #include <stdio.h> #include <string.h> v ...
- python pip 更新失败问题
通过PIP 安装第三方库的时候出现 pip程序版本过旧,用’python -m pip install --upgrade pip‘安装’提示仍然如下 可以用管理员身份运行windows shell ...
- BeanShell调用自己写的jar包进行MD5加密
1.在eclipse中新建一个java工程,工程名随意. 2.在工程中添加一个package,package名为md5,在package下添加一个class,class名为mymd5. package ...