什么是网络协议?什么是TCP/IP网络协议


其实 TCP/IP 也是使用 OSI 七层协议的观念,所以同样具有分层的架构,只是将它简化为四层,在结构上面比较没有这么严谨,程序撰写会比较容易些 。后来在 1990 年代由于 email, WWW 的流行,造成 TCP/IP 这个标准为大家所接受,这也造就目前我们的网络社会啰!
既然 TCP/IP 是由 OSI 七层协议简化而来,那么这两者之间有没有什么相关性呢?它们的相关性可以图示如下,同时这里也列出目前在这架构底下常见的通讯协议、封包格式与相关标准:

什么是网络协议?什么是TCP/IP网络协议

文章插图
从上图中,我们可以发现 TCP/IP 将应用、表现、会谈三层整合成一个应用层,在应用层上面可以实作的程序协议有 HTTP, SMTP, DNS 等等 。传送层则没有变,不过依据传送的可靠性又将封包格式分为连接导向的 TCP 及非连接导向的 UDP 封包格式 。网络层也没有变,主要内容是提供了 IP 封包,并可选择最佳路由来到达目标 IP 地址 。数据链结层与物理层则整合成为一个链结层,包括定义硬件讯号、 讯框转位串的编码等等,因此主要与硬件 (不论是区网还是广域网) 有关 。
那 TCP/IP 是如何运作的呢?我们就拿妳常常连上的 Yahoo 入口网站来做个说明好了,整个联机的状态可以这样看:
  1. 应用程序阶段:妳打开浏览器,在浏览器上面输入网址列,按下 [Enter] 。此时网址列与相关数据会被浏览器包成一个数据,并向下传给 TCP/IP 的应用层;
  2. 应用层:由应用层提供的 HTTP 通讯协议,将来自浏览器的数据报起来,并给予一个应用层表头,再向传送层丢去;
  3. 传送层:由于 HTTP 为可靠联机,因此将该数据丢入 TCP 封包内,并给予一个 TCP 封包的表头,向网络层丢去;
  4. 网络层:将 TCP 包裹包进 IP 封包内,再给予一个 IP 表头 (主要就是来源与目标的 IP 啰),向链结层丢去;
  5. 链结层:如果使用以太网络时,此时 IP 会依据 CSMA/CD 的标准,包裹到 MAC 讯框中,并给予 MAC 表头,再转成位串后,利用传输媒体传送到远程主机上 。
等到 Yahoo 收到你的包裹后,在依据相反方向拆解开来,然后交给对应的层级进行分析,最后就让 Yahoo 的 WWW 服务器软件得到你所想要的数据,该服务器软件再根据你的要求,取得正确的资料后,又依循上述的流程,一层一层的包装起来,最后传送到你的手上!就是这样啰!
【什么是网络协议?什么是TCP/IP网络协议】根据这样的流程,我们就得要知道每个分层所需要了解的基础知识,这样才算学习网络基础嘛!所以底下我们会依据 TCP/IP 的链结层、网络层、传送层来进行说明,应用层的协议则在后续章节中有对应的协定再来谈啰!同时我们也知道,网络媒体一次传输的数据量是有限的,因此如果要被传输的数据太大时,我们在分层的包装中,就得要将数据先拆开放到不同的包裹中,再给包裹一个序号,好让目的端的主机能够藉由这些序号再重新将数据整合回来!