OSI七层
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
物理层涉及信道上传输的比特流。
数据链路层的主要任务是加强物理层传输原始比特流的功能,是指对应的网路层显现为一条无错线路。发送包把数据封装在数据帧,按顺序传送出去并处理接收方会送的确认帧。
网络层关系到子网的运行控制,其中一个关键问题是确认从源端到目的算如何选择路由。
传输层的基本功能是从会话层接收数据而且把其分成较小的单元传递给网络层。
会话层允许不同机器上的用户建立会话关系。
表示层用来完成某些特定的功能。
应用层包含着大量人们普遍需要的协议。
TCP和UDP
TCP是传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须现在双方,之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发、丢弃重读数据、检验数据、流量控制等功能,保证数据能从一端传到另一端。
UDP是用户数据报协议,是一个简单地面向数据报的运输协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不保证它们能够到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度快。
TCP就像是打电话,两者之间必须有一条不间断的通路,数据不到达对方,对方就一直在等待,除非对方直接挂电话。先说的话先到,后说的话后到,有顺序。
UDP就像寄一封信,发现者只管发,不管到。但是你的新风尚必须写明对方的资质。发现者和收信者之间没有通路,靠邮电局联系。信发到时可能已经过了很久,也可能根本没有发到。先发的信未必先到,后发的信也未必后到。