Osi为什么要七层及Tcp的传输特性
TCP与UDP:TCP提供可靠的服务UDP提供数据报. 两者都是端点协议。路由设备不管这个也不认识这个。路由设备只认识IP协议与包。但是TCP的包被放在IP上面,所以TCP必然是IP语义的收窄。TCP将IP的包语义转化为传输者语义由此建立传输服务。 TCP及以下的各层都是向机器的语义,是硬件相关的语义。而TCP以上是用户语义,是源语义。从会话层开始全是与机器无关的语义。会话、表示、应用层全是用户协议。所以http根本不符合OSI模型因为它讲的仍然是鸟语。http顶多算个会话层协议。html才是表示层协议。分布式远程调用协议iiop也是表示层协议。真正的应用层协议只能从真正的“应用”里面去找。 从物理层向应用层是一个语义逐渐收窄的过程。应用需要被表示,表示是会话的内容而会话又需要被传输,传输是在网络上进行的所以必须是一个㒳络元素。而网络又是建立在数据链路上的。数据链路是电子设备。这样串起整个7层的。 对程序员来说,,IP层与包都是隐藏的。看不见的。IP是协议实现者的工具,是武器不是程序员的菜。考虑网络性能的话对它了解一下是可以的,但是基本上跟我们无关。Socket严格说是操作系统的东西像文件IO一样,我们用的是API。并不是真正的“Socket”。所以java的socket应该是包了三层的一个API! 我们真正写程序,最好连socket也不要用因为它没有会话层会很麻烦