TCP端口与OSI模型

TCP端口与OSI模型,tcp,port,tcp-ip,osi,Tcp,Port,Tcp Ip,Osi,关于TCP/IP协议栈,有一点我不明白:端口。 有一个IP来标识机器和该机器上特定进程的端口。 对于我来说,端口与应用层有关;某些进程有一些端口(80个用于HTTP,25个用于SMTP等)。端口与TCP层(传输)无关。端口应在更高级别(应用程序层)上实现。那么为什么说“TCP端口”而不是“应用程序端口” 感谢在OSI模型的第4层或TCP/IP模型的第3层中定义了TCP或UDP端口,两者都被定义为“传输层” OSI第5层“会话层”使用第4层中定义的端口在通信设备/程序/等之间创建套接字和会话 OS

关于TCP/IP协议栈,有一点我不明白:端口。 有一个IP来标识机器和该机器上特定进程的端口。 对于我来说,端口与应用层有关;某些进程有一些端口(80个用于HTTP,25个用于SMTP等)。端口与TCP层(传输)无关。端口应在更高级别(应用程序层)上实现。那么为什么说“TCP端口”而不是“应用程序端口”


感谢

在OSI模型的第4层或TCP/IP模型的第3层中定义了TCP或UDP端口,两者都被定义为“传输层”

OSI第5层“会话层”使用第4层中定义的端口在通信设备/程序/等之间创建套接字和会话

OSI模型提示:

这是一个概念模型。这意味着它描述了一组理想化、抽象化、理论化的网络功能。它没有描述任何人实际建造的东西(至少没有今天使用的东西)

这不是唯一的模式。还有其他模型,最著名的是TCP/IP协议套件(RFC-1122和RFC-1123),它与当前使用的模型非常接近

了解OSI(或任何其他)模型最重要的事情是:

  • 我们可以把协议分成几层
  • 层提供封装
  • 层提供抽象
  • 层将功能与其他层分离
将协议划分为多个层允许我们分别讨论它们的不同方面。它使协议更易于理解和故障排除。我们可以很容易地隔离特定的功能,并将它们与其他协议的类似功能分组

每个“函数”(广义地说)封装了它上面的层。网络层封装了它上面的层。数据链路层封装了网络层,等等


层抽象它下面的层。您的web浏览器不需要知道您是在使用TCP/IP还是在网络层使用其他东西(好像还有其他东西)。对于您的浏览器,较低的层只提供数据流。该流如何显示在浏览器中是隐藏的。TCP/IP不知道(或关心)您使用的是以太网、电缆调制解调器、T1线路还是卫星。它只是处理数据包。想象一下,设计一个必须处理所有这些问题的应用程序有多么困难。这些层抽象了较低的层,因此软件设计和操作变得更加简单。

因为FTP、SSH、POP、SMTP、HTTP不是“应用程序”。是的,不是应用程序,而是属于“应用程序层”的协议。因此端口应该是这个“应用层”的一部分,而不是下面的层(“传输层”,如TCP、UDP)。OSI模型不适用于TCP/IP,它有自己的、先前的模型。OSI模型仅适用于已失效的OSI协议套件。@AntonBoarf您错了。端口是TCP和UDP不可删除的一部分。你其余的评论完全不符合逻辑。两者都是传输层协议。应用程序协议使用它们的事实并没有改变这一点。事实上,OSI模型是专门为描述已经失效的OSI协议套件而设计的。它从未打算对整个网络世界进行建模,最不幸的是,高等教育部门从未意识到这一点,也没有迅速消亡。