文章来自于:https://www.cnblogs.com/onepixel/p/7092302.html
http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html
1.网络通讯协议:
TCP/IP:以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而得名,实际上是一组协议;通俗而言:TCP负责发现传输的问,一有问题就发出信号,要求重新传输,直到所有数据安全的到达目的地。而IP是给因特网的每一台联网设备规定的IP
IP 协议的网络层的主要协议,支持网络间互连的数据通信;
TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即物理链路层. IP(网络层)。传输层和应用层。
网络通信就好比送快递,商品外面的一层层包裹就是各种协议,协议包含了商品信息、收货地址、收件人、联系方式等,然后还需要配送车、配送站、快递员,商品才能最终到达用户手中。
1.链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。
2.网络层的主要工作是定义网络地址,区分网段,子网内MAC寻址,对于不同子网的数据包进行路由。
3.传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。
4.应用层 理论上讲,有了以上三层协议的支持,数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差。因此,应用层定义了各种各样的协议来规范数据格式,常见的有 HTTP、FTP、SMTP 等,HTTP 是一种比较常用的应用层协议
所以应用层的主要工作就是定义数据格式并按照对应的格式解读数据。
TCP:
是面向连接的通信协议,需要通过三次握手建立连接,通讯完成是要拆除连接,所以TCP 协议是面向连接的端到端的通讯。
形象的比喻三次握手
主机A:我想发数据给你,可以么?
主机B:可以,你什么时候发?
主机A:我马上发,你接着!
UDP:
UDP 与TCP 属于同一层,即传输层,但它是面向无连接的通讯协议,UDP 数据包括目的的端口号和源端口号的信息,由于通讯不需要连接,所以可以实现广播发送