您的位置:首页 > 理论基础 > 计算机网络

TCP/UDP 学习

2016-04-18 23:49 441 查看
        毕业这么些年,啥都学了一点,平时总结太少。学了就忘记了,吃了大亏。复习下TCP/UDP,其实很多东西大家都知道概念,也清楚大概怎么回事。但是没有深刻的印象,这将导致很多问题,面试的时候手足无措,干捉急,工作的时候,到处查资料,浪费时间。

        首先复习下TCP/IP参考模型,它分为四层,应用层,传输层,网络层跟网络接口层。

应用层负责应用程序的网络访问,通过端口号来识别各个不同的进程。(FTP、Telnet、DNS、SMTP)

传输层负责端对端之间的通信会话连接与建立。传输协议根据传输方式而定。(TCP,UDP)

网络层负责将数据帧包装成IP数据包,并运行必要的路由算法。(ICMP,IGMP,IPV4,IPV6)

网络接口层负责将二进制流转换成数据帧,并进行数据帧的发送和接收。要注意的是数据帧是独立的网络信息传输单元。(ARP,RARP,MPLS)

TCP简介:是一种面向连接的、可靠的、基于字节流的传输层通信协议

通过IP的源/目的可以唯一的区分同一网络下的两个设备的连接。
通过socket的源/目的可以唯一区分两个应用程序的连接。

三次握手:
初始化主机 发送同步标志置位的数据段发出会话请求(SYN J)
接收主机通过发回同步标志置位,数据段起始字节的顺序号,应答并带有下一个数据段的字节顺序号(SYN K,ACK J+1)
请求主机会送一个数据段,带有顺序号和确认号。(ACK K+1)

UDP,即用户数据报协议,提供面向事务的简单不可靠信息传送服务,因此不需要像TCP那样通过三次握手来握手来建立一个连接。同时,一个UDP应用可同时作为应用的客户和服务器方。不需要建立可靠连接,比TCP高效,更好的解决实时性问题,支持广播,组播。

对数据要求可靠性高应选择TCP协议,如验证,密码等不容许出错的数据。对实时性要求高,可靠性要求不那么高的使用UDP协议,如VOIP,视频监控。
网络不好的时候选择TCP,减少错误发生,网络好的情况下可以选择UDP.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: