Day23【Web】网路通讯协定 TCP/IP

什麽是 TCP/IP?

早期网路刚开始萌芽时,
由於不同公司的硬体产品开发的网路技术,
彼此的连网技术并不相通,
导致不同公司的产品无法互相连线,
为了解决这个问题,
一个统一的协议套组──网际网路协议套组
IPS(Internet Protocol Suite)因此诞生。

在整个网际网路协议套组中
TCP(传输控制协定)和 IP(网际网路协定)
是最早制定也最具代表性的协定,
因此 TCP/IP 也渐渐成为
网路通讯协定的代名词沿用至今。


网路分层

由於网路从实体层(0 与1 的电压讯号)
到应用层(应用程序接收/传送资料)
的技术十分复杂,
为了减少开发与维护的成本,
网路技术被分为多个层级,
让每个层级各自运行、不互相干扰,
当某个环节出问题时,
只要修正该层的问题就好。
如此一来要撰写、维护程序都变得更容易,
网路的架构概念也因此更加清晰。

目前标准架构被称为 OSI 七层协定
(开放式系统互连,Open System Interconnection)
TCP/IP 协定将其简化为四层。

从底层到高层分别为:

  • 网路存取/连结层(Network Access Layer):
    • 负责处理实体网路的介面,如:资料格式化、实体层的资料定址等
    • 如 Tunnels(L2TP)、MAC......
  • 网际网路层(Internet Layer):
    • 负责逻辑位址(即 IP 位址)的资料传输
    • 如 IP (IPv4、IPv6)、ICMPv6......
  • 传输层(Transport Layer):
    • 负责流程控制、错误检查等
    • 如 TCP、TLS/SSL......
  • 应用层(Application Layer):
    • 负责应用的介面,如档案传输、远端控制等
    • 如 DNS、FTP、HTTP/HTTPS、SSH......

TCP/IP 对应 OSI 层级

TCP/IP 四层 OSI 七层
1 网路存取层 1 实体层、2 资料连结层
2 网际网路层 3 网际网路层
3 传输层 4 传输层
4 应用层 5 会谈层、6 表现层、7 应用层

网页的旅程

使用网路传输资料时,
最初的资料首先会从 A 电脑的
应用程序端口传入应用层,
之後逐级往下传,经过网路每层的处理
到最底层变成电子讯号。

接着藉由电线电缆的实体运送,
抵达 B 电脑的实体层後,
反向重复一开始的过程,
一层层往上传递,
将 0 与 1 的电子讯号转换回应用层,
这样应用程序就能显示刚才收到的资料了。


网路的分层

在网路技术复杂的多层架构中,
由於分层让不同层级的行为不互相干扰,
同时也表示,不同层级的资料是完全不相干的。

比方说如果应用层收到实体层的资料,
就好像果汁机被放进一堆苹果种子,
两边都只能默默无言的看着彼此,
等再久也无法完成一杯苹果汁。

因此,不同层级网路系统,
都只能认得跟自己同层的资讯。

不过有另一个问题是,
资料在传送时会被压缩,
等同於将货物全部压平方便运送,
但不同的电脑彼此又无法通灵,
这样一来当对方收到时,
要如何回复原状呢?


拆封说明书:Header

如果送出後怕资料对方不会拆,
不知道正确解读方式是什麽,
那就附上一份拆封说明书吧。

这时候表头(header)就出马了,
要传送资料时,每层在打包好资料後,
都会在资料最前端附上自己的 header,
让对方在收到时,知道该如何正确打开。

像这样,网页就完成一场旅行
藉由 TCP/IP 协定从 A 电脑抵达 B 电脑罗。


参考资料


<<:  Day 24 - PVE 修复 Loading initial ramdisk

>>:  【Day 24】Go:http server / request / gRPC 实际操作

Dungeon Mizarka 004

今天决定花些时间来加一些指标性的UI。所谓指标性的UI就是多数FPDC都会看的到的UI,简单来说就是...

[Angular] Day18. Introduction to services and dependency injection

在开发专案时你一定会使用到 Service 的技巧,Service 是一个广泛的类别,包括 app ...

Day28 React - Countdown Timer

import React, {useRef, useState,useEffect} from '...

VMware 5V0-31.20 转储 - 5V0-31.20 考试简介

如今,大多数有抱负的专业人士都获得了认证。你可以说它已经成为一种趋势,但更重要的是它是一种必需品。因...

[Day11] 建立订单交易API_4

本节将继续实作内文加密,流程如下图 看上图推断,这边是将HashID作为AES CBC加密的Key值...