美文网首页技术干货产品经理
计算机网络基础知识(一)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不保证。

    相关文章

      网友评论

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

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