Internet网络采用的事Tcp/Ip协议,Tcp/Ip是一种层次结构,分别为应用层、传输层、互联网层和主机到网络层,各层实现特定的功能,提供特定的服务和访问接口,具有相对独立性。
在网络协议栈中,有个高级的协议是网络编程者应该了解的,分别是“传输控制协议”(TCP)和“用户数据报协议”(UDP)
TCP协议是一种以固接连线为基础的协议,可提供两台计算机之间可靠的数据传送,TCP可以保证数据从一端到另一端时,可以可靠的到达,而且送达的数据的排列顺序和送出的排列顺序相同。因此该协议适合可靠性比较高的场所。
UDP协议是无连接通信协议,不保证数据的可靠传输,但能够向若干个目标发送数据,接收来自若干源的数据,UDP是以独立发送数据包的方式进行的,就像邮递员送信给收件人一样。UDP协议适合一些对数据准确性较高的场合,列如网络聊天室,在线影片等。由于TCP协议在认证上有额外的耗费,因此有可能传输的速度就会减慢;此时UDP协议就有可能会更适合这些传输速度要求比较高的网站,即使有一小部分的数据包流失或者是传送顺序不同,也不会严重影响该项通信。
有些防火墙和路由器会设置成不允许UDP协议数据包传输,因此若遇到UDP连接方面的问题,应先确定是否允许UDP协议。
面试中,面试官经常会问到的。