美文网首页技术干货产品经理
计算机网络基础知识(一)TCP与UDP协议

计算机网络基础知识(一)TCP与UDP协议

作者: 寒星冰语 | 来源:发表于2017-05-10 18:04 被阅读0次

因为最近做的项目涉及到推流与拉流,听技术人员讨论考虑用TCP还是UDP,听不太懂,学习一个。


首先,什么是网络传输协议?网络传输协议又称传送协议(Communications Protocol),是指计算机之间通信的共同语言。现在普及范围最广的计算机间通讯是网络通讯,所以“传送协议”一般都指计算机网络通信的传送协议,如TCP/IP等。当然,传送协议也存在于计算机的其他形式的通信,比如操作系统中不同程序之间的通讯,这些也需要一个传输协议,以保证传送双方能互相听懂。

TCP/IP协议

TCP/IP协议,Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

TCP/IP协议包括应用层,传输层,网络层和网络接口层。

应用层

超文本传输协议(HTTP):万维网的基本协议。

文件传输(TFTP):简单文件传输协议。

远程登录(Telnet):提供远程访问其它主机功能,它允许用户登录internet主机,并在这台主机上执行命令,明码传送,保密性差,但简单方便。

网络管理(SNMP):简单网络管理协议,该协议提供了监控网络设备的方法,以及配置管理,统计信息收集,性能管理及安全管理等。

域名系统(DNS):该系统用于在internet中将域名及其公共广播的网络节点转换成IP地址。

网络层

网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。

网络层负责相邻计算机之间的通信。功能包括三个方面:

一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

二、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。

三、处理路径、流控、拥塞等问题。

网络接口层

网络接口层定义物理介质的各种特性,包括机械特性,电子特性,功能特性和规程特性。

传输层

这也是本文的主要内容。传输层主要提供应用程序间的通信,其功能包括:格式化信息流和提供可靠传输。

传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。

TCP(Transmission Control Protocol,传输控制协议)

TCP协议是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。

一个TCP连接必须要经过三次握手才能建立起来,其中的过程非常复杂,只简单的描述下这三次握手的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次握手;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次握手;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次握手。三次握手的目的是使数据包的发送和接收同步,经过三次握手之后,主机A才向主机B正式发送数据。

UDP(User Data Protocol,用户数据报协议)

UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

小结

TCP和UDP的区别:

TCP有连接,UDP无连接;

对系统资源的要求TCP较多,UDP少;

UDP程序结构较简单;

TCP保证数据正确性,UDP可能丢包;TCP保证数据顺序,UDP不保证。

相关文章

  • iOS 网络相关面试题

    问题:TCP、UDP TCP/UDP 传输层协议 ||—— UDP:用户数据报协议 TCP与UDP的区别: 问题...

  • TCP/IP协议,TCP、UDP区别与联系

    TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了, 一...

  • tcp和udp

    TCP和UDP的区别(转) TCP****协议与UDP协议的区别 首先咱们弄清楚, TCP 协议和 UCP ...

  • TCP和UDP协议

    TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了,一直...

  • 计算机网络02 - 传输层

    目录 TCP协议和UDP协议TCP首部TCP连接管理UDP首部 1. TCP协议和UDP协议 TCP协议:面向连接...

  • 第2章 TCP/IP协议族及其安全隐患

    考试大纲 掌握TCP/IP协议的内容 掌握网络层协议及其安全威胁 掌握TCP和UDP协议及其安全威胁 计算机网络 ...

  • TCP和UDP的区别

    趁这今天,忙里偷闲的温习一下TCP和UDP TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与...

  • TCP和UDP的区别

    TCP和UDP的区别: TCP协议和UDP协议特性区别总结: TCP协议可靠;UDP协议不可靠 TCP协议是面向连...

  • TCP和UDP的区别(转)

    TCP协议与UDP协议的区别首先咱们弄清楚,****TCP****协议和****UCP****协议与****TCP...

  • iOS面试:网络通信概念

    TCP与UDP TCP和UDP都是传输层的协议: TCP是传输控制层协议,是面向连接、可靠的,点对点的;UDP是用...

网友评论

    本文标题:计算机网络基础知识(一)TCP与UDP协议

    本文链接:https://www.haomeiwen.com/subject/jgrazttx.html