Brief-intro about Five Layers
层级的概念是,个别层级中有自己的服务,个别执行特定的动作已达成目标,而传递下去的层级中,是依赖于上一层的服务,举例来说的话,买票之后才能上火车,第一层的服务为窗口买票,第二层为上车的动作,若第一层没买票的话,则第二层便无法实现。
从上到下的五层顺序分别为 Application Layer
、Transport Layer
、Network Layer
、Link
、Physical
Application Layer
应用层是最接近web app的,此层的协定包含常见Http
- 提供向浏览器发出request & transferSMTP
- 提供transferemail
讯息FTP
- 提供档案的传输协定DNS
- 提供转换网址到network address
应用层协定分布于各个end system上,各个end system透过传输层提供的protocol去交换packet。
Transport Layer
主要将应用层传递下来的封包,透过TCP/UDP协定传送,在此处也会在packet上加上header information,包含了允许封包在receiver那边可以往上丢回application layer
,以及errr-detection bits
让receiver知道message是否在route理被动过手脚
TCP
- 提供messages
的传送以及flow control,也提供将packet
切成segment
,以及packet
塞车的处理机制UDP
- 提供了当无网路状态时web app的service
Network Layer
负责整个封包传递流程的datagrams
,主要为IP protocol
,定义了datagrams
的区域以及end system & router如何在这些fields做行为,特别注意到IP protocol
只有唯一一个,所有Internet component
一定都得遵守,同时此层也包含许多routing protocols
。
Link Layer
将packet
从node中运输依赖的是link layer
的服务,负责传送network层的datagram到下一个node节点。此服务依赖于link-layer protocol
,常见的link-layer protocol为以下Ethernet Wifi DOCSIS
等等,同一组datagram
可能会在不同的Route被不同的协定服务,通常在link-layer
的packet
又称为frames
physical Layer
就几乎是实体线路的範围了,在此不做赘述
Encapsulation
封包在传递的过程中,所经过的layer并不相同,如下图所示,在link-layer switch以及router里面,packet作用的service在后面三层,而在end system才有到头两层,在层数往下的过程中,都会加入header information作为保护的手段,如图中的Ht、Hn,因此我们可以依图所例,得知每个层级都会有两个type of fields,一者为前一层带下来的packet,一者为每层级的header information。
以一个假设来说,今天A想要寄信到B,首先A手写的信
,也就是application-layer message
,会先装到信封袋
中,并写上B的住址以及姓名
,整个信封袋就是transport-layer segment
,封装了application-layer message
,接着到邮局之后,经邮局分类放到对应的县市分类夹
,也就是datagram
他封装了trsans-layer segment
,接着邮差开始从分类夹中拿出信件
,并对照上面的资讯送到B的家里
,也就是解封的过程开始,最后B成功收到信上的内容。
由此可见,在每个层级都会在封装前个层级的封包,这就是封装的概念。