《网络协议》TCP 与 UDP 协议基本概述
2014-11-27 09:54
344 查看
基本概述
传输层主要功能为两台主机上的应用程序提供端到端的通信,通过端口号识别两台主机上相对应程序之间进行通信。传输层中最主要的两个协议就是 TCP 和 UDP,可以根据 IP 首部的协议字段来识别传输数据的协议类型。TCP 是面向连接的、可靠的流协议,流是指不间断的数据结构。它的任务是把来自应用程序的数据分成合适的小块交给下面的网络层,确认接收到数据的分组。为数据块设置超时时钟,一旦超过该时间就重新发送数据。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制”、“拥塞控制”、提供网络利用率等功能。
UDP 是无连接、不可靠的数据报协议,为应用程序发送和接收数据报,只是将数据报的分组从一台主机发送到另一台主机,但并不保证数据报能够到达另一端,任何必须的可靠性都由应用程序提供。在 UDP 情况下,虽然可以确保发送消息的大小,却不能保证消息一定会达到目的端。因此,应用时会根据自己的需要进行重发处理。UDP 协议常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。
端口号
在数据链路和网络层中,分别采用 MAC 地址和 IP 地址。前者用来识别同一链路中的不同计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。这样我们已经可以在互联网上任意两台主机上建立通信。因为同一台主机上可能有许多程序都需要用到网络,我们怎样才能确保哪些对应的程序在进行通信?在传输层中使用端口号来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。一台计算机上同时可以运行多个程序,传输层协议采用端口号来识别本机中正在进行通信的应用程序,并准确地将数据传输。端口号由其使用的传输层协议决定,不同的传输层协议可以有相同的端口号。为了防止相同端口号之间通信混乱,TCP/IP 或 UDP/IP 通信中通常采用 5 个信息来识别一个通信。它们分别是“源 IP 地址”、“目的 IP 地址”、“协议号”、“源端口号”、“目标端口号”。只要其中某一项不同,则被认为是其他通信。下面是识别多个请求时采用这 5 个信息进行识别程序之间的通信:
参考资料:
《图解 TCP/IP》
相关文章推荐
- TCP与UDP协议基本概述
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
- 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例
- 《网络协议》TCP/IP 基本概述
- 《网络协议》TCP/IP 基本概述
- 网络编程的概述2 网络通信中的三要素3 InetAddress的概述和测试,IP地址:InetAddress 传输协议(网络协议)TCP 可靠协议,需要连接,效率会稍低 没有大小的限制UDP 不:
- JAVA基础再回首(二十八)——网络编程概述、IP地址、端口号、TCP和UDP协议、Socket、UDP传输、多线程UDP聊天
- JAVA基础再回首(二十八)——网络编程概述、IP地址、端口号、TCP和UDP协议、Socket、UDP传输、多线程UDP聊天
- 《网络协议》TCP/IP 基本概述
- 黑马程序员_温习 网络编辑一 (个人笔记)摘要(网络概述---网络参考模型---网络传输要素---IP地址---端口----传输协议(UDP -- TCP)---Socket机制 )
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
- Linux学习第十五节课-网络基本概念和TCP、UDP协议
- 《网络协议》TCP/IP 基本概述
- 《网络协议》TCP/IP 基本概述
- IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
- 基于UDP、TCP协议的C#网络编程之一
- linxu kernel version 1.0 TCP/IP 协议栈源代码分析1, UDP协议发送数据.
- 基于 TCP (面向连接)和无连接UDP协议的 socket 套接字编程
- 【转载】 基于UDP、TCP协议的C#网络编程
- TCP与UDP协议区别