TCP/IP协议分层模型
大学教科书中有说分成7层,也有说分成4层的,笔者觉得4层更合适一些,像七层中的第5、6层完全不是必须的,就算有也是各自制定协议,而制定协议的人基本不会去考虑第5层叫会话层第6层叫表示层,在私有应用层协议中,更多的是会私定一个握手互信协议,以表示通讯双方是互信的
应用层是啥?
- 你想用java写一个网络程序,你写的这个程序就是应用层
- 所以QQ、微信、以及你正在使用的浏览器,都是应用层
应用层数据是啥?
- 你想通过你前面写的这个网络程序发一个字符串"are you ok"到对方,这个字符串"are you ok"就是应用层数据
- 对方回你一句"yes, I am fine",这个"yes, I am fine"也是应用层数据
传输层是啥
- 传输层要么走TCP协议,要么走UDP协议,没有第三种协议
- TCP协议的通信双方,需要知道彼此都在家呆着,且由客户端主动发起连接
- UDP协议,客户端知道服务器家住在哪,但并不知道服务器在不在家,扔条消息去服务器家,如果服务器不在家这条消息就被丢了
- 应用层把数据丢给传输层后,传输层把数据进行一下包装,包装纸上面写着“源端口、目的端口、序号、确认序号、检验和等TCP自身的数据”
- 传输层把数据给应用层时,会拆开对方的包装纸,应用层只看得到对方应用层发的数据
传输层数据是啥
- 就是应用层的数据带上一张包装纸后的数据
- 这层包装纸就是传输层的元数据或叫头部数据
- 为什么要带包装纸?因为要实名呀,现在快递都要实名了^_^