计网复习——第二章 网络模型

1.层次结构、层间接口和封装

这部分是人们伟大的抽象!

1.1 层次结构

为了能够实现将信息从一台物理设备输入并将其传送到另一台物理设备读出,我们需要让设备学会写入信息,打包信息,发送信息,收取信息,解读信息等一些列操作。
受限于机器的愚笨,这些功能直接交由底层硬件实现是非常困难的事情,为了让这件事情变的简单,我们把这些事情交给不同的程序去做,让软件去管理硬件。
那么在软件设计中,为了让程序间有更好的合作,我们划分了不同的层级,在不同的层级中的程序为相同的目标而努力,获取期待的输入并给予另一层期待的输出。
总而言之,划分层次结构是为了让各组程序"术业有专攻"并发挥"众人划桨开大船"的作用。

1.2 层间接口

是为了不同层级之间交互的地方。相当于每个层次的外交部,做信息交流。

1.3 封装

这里说的封装一般不是说程序设计上的封装,而是对于数据而言,每一层的数据都可以看做被加了一把锁的集装箱,这个锁的钥匙只有对应层拥有,其他的层只能把这个集装箱套到更大的集装箱里面却不能打开这个集装箱。即,数据内容其它层不可见。所以这就保证了数据包在传输过程中不会暴露自身的文本内容。

1.4 层次组织

高层一般通过软件实现,低层一般通过软件和硬件混合实现。
在每一层,数据单元可能被加入头部或者尾部。通常在第二层只加入尾部,当格式化的数据单元经过物理层时,它会被转换为电信号

2.OSI参考模型的概念和各层功能

注:ISO是组织,OSI是模型

2.1 概念

OSI模型由7个有序的层组成:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。两个设备之间的数据在传输时,中间可能会经过许多的中间路径,但是在中间路径时,他们通常只需要物理层、网络层和数据链路层三层。
OSI模型

对等过程(peer-to-peer process): 在两台机器上,相同层用相同的协议进行通信。这种在特定层次进行的通信过程称为对等过程。

2.2 各层功能

2.2.1 物理层(physical layer)

物理层包含那些在物理介质上传输位流所必须的功能。
物理层负责从一个节点到另一个节点的传递

物理层考虑以下这些问题:

  • 接口与介质的物理特性
  • 位的表示
  • 数据速率
  • 位同步
  • 线路配置
  • 物理拓扑结构
  • 传输方式
  1. 接口与介质的物理特性
    物理层定义了设备与传输介质之间的接口特性,也定了传输介质的类型。
  2. 位的表示
    物理层的数据是没有任何解释的位流,要进行传输,位必须编码成信号。物理层定义编码的类型。
  3. 数据速率
    传输速率(一个意思),即每秒发送的位数。
  4. 位同步
    发送方与接受方不仅使用相同的比特率,还必须位同步。换言之,发送方的时钟和接收方的时钟必须同步。
  5. 线路配置
    物理层涉及设备与介质的连接。在点到点的配置中,两个设备通过一条专用链路连接。在多点配置中,许多设备共享一条链路。
  6. 物理拓扑结构
    采用什么样的物理拓扑结构在这里定义。
  7. 传输方式
    定义两台设备之间的传输方向。单工、半双工或全双工。

( 注:在物理层中传输的是透明比特流,所有的设备都可以接受这些比特流。

2.2.2 数据链路层(data link layer)

数据链路层将物理层——不做任何改动的传输通道变成可靠的链路,这样可以将物理层的数据无差错地传递给上层(网络层)。
数据链路层负责跳(top)到跳(top)的数据传递(跳到跳)

数据链路层的具体职责:

  • 成帧
  • 物理寻址
  • 流量控制
  • 差错控制
  • 访问控制
  1. 成帧
    该操作是从上往下。将网络层的位流划分成称为(frame)的易处理单元。
  2. 物理寻址
    如果帧是发送给网络中不同系统,则数据链路层在帧的头部添加发送方的物理地址与接收方的物理地址。如果帧要发送到发送方网络之外的系统,那么接收方的地址就是连接一个网络到下一个网络的设备地址。
  3. 流量控制
    如果接收方数据的速率小于发送方发送的速率,那么数据链路就是采取流量控制机制防止接收方过载。
  4. 差错控制
    数据链路层增加了一些机制用来监测与重发损坏帧或丢失帧,从而增加了物理层的可靠性。
    差错控制通常在一个帧的尾部来处理。
  5. 访问控制
    当多态设备在同一条链路上时,数据链路协议必须能决定在任一时刻由哪一台设备来获取链路的控制权。
2.2.3 网络层(network layer)

网络层负责将分组从源地址传递到目的地址,可能会通过多个网络(链路)。
如果两个系统连接在同一条链路上,则通常不需要网络层。然而两个系统在不同的网络链路上并通过网络链路间的设备连接,通常需要网络层以完成源端到目的端的传递。
网络层负责将各个分组从源地址传到目的地址(端到端)

网络层的具体任务:

  • 逻辑寻址
  • 路由选择
  1. 逻辑寻址
    物理寻址负责处理本地网络寻址问题,它由数据链路层负责。相对的,如果一个分组通过网络边界,就需要另一个寻址系统来帮助区分源与目的系统。网络层给报文添加上了发送方和接收方的逻辑地址。
  2. 路由选择
    当一些独立网络或链路连接在一起构成一个互联网或更大的网络时,连接设备把分组送到它们的最终目的地,网络层的功能之一就是提供这种机制。
    数据传输
2.2.4 传输层(transport layer)

传输层负责整个报文的进程到进程传递。进程是主机上运行的应用程序。虽然网络层将数据从源端传递到了目的端,但是目的端会运行许多的程序,我们需要通过传输层将数据传输给需要的且正确的程序。
传输层负责一个报文从一个进程到另一个进程的传递

传输层的具体任务如下:

  • 服务点寻址
  • 分段和组装
  • 连接控制
  • 流量控制
  • 差错控制
  1. 服务点寻址
    传输层需要寻找到目的地址上特定的进程,所以传输层信息的头部会包括服务点地址(也叫端口地址)。
  2. 分段和组装
    将报文分解成可传输的片段,并且给这些片段编上序号。这些序号不但可以使传输层在目的端正确拼接这些报文,还可以用来标识和替换传输中丢失的分组。
  3. 连接控制
    传输层可以是无连接的或面向连接的。
    无连接的传输层将每个片段作为一个独立的分组,并将它传递到目的机器的传输层。
    面向连接的传输层,在传递分组之前,需要与目的机器建立一条连接,当所有数据传输结束后,该连接释放。
  4. 流量控制
    负责控制进程到进程之间的流量。
  5. 差错控制
    发送方的传输层确保整个报文没有差错,而差错的纠正通常通过重发来解决。
2.2.5 会话层(session layer)

会话层负责对话控制和同步

会话层的具体任务是:

  • 对话控制
  • 同步
  1. 对话控制
    会话层允许两个系统进入会话。它允许两个进程之间以半双工或全双工方式进行通信。
  2. 同步
    对话层允许一个进程在数据流中增加检查点或同步点(synchronization point)。
    即,在传输一个文件时,若发生失败,只需要从最近的同步点开始重新传输而不是从头开始。
2.2.6 表示层(presentation layer)

表示层负责翻译、加密和压缩数据

表示层的具体任务是:

  • 翻译
  • 加密
  • 压缩
  1. 翻译
    两个系统中的进程通常以字符串、数字等格式来交换信息。在传输前,信息必须转换为位流。由于不同的系统采取的编码格式不同,在这里发送方的表示层需要先将发送方使用的格式转换为一个公共的格式。接收方将公共格式转换为系统格式。
  2. 加密
    为了传输敏感信息而进行的加密、解密步骤是在表示层进行的。
  3. 压缩
    将大的数据压缩成小的进行传输。
2.2.7 应用层(application layer)

应用层负责向用户提供服务

应用层的具体服务如下:

  • 网络虚拟终端
  • 文件传输、访问和管理
  • 邮件服务
  • 目录服务
  1. 网络虚拟终端服务
    物理终端的软件版本。如:虚拟机。
  2. 文件传输、访问和管理
    允许用户访问远程计算机的文件并可以进行CRUD操作。
  3. 邮件服务
    提供电子邮件存储转发的基础。
  4. 目录服务
    提供分布式数据库资源以及对不同对象和服务的全球信息进行访问。

3.TCP/IP协议簇和各层的功能

TCP/IP协议族是在OSI模型之前开发的。所以TCP/IP协议族的层次与OSI模型的层次并不严格对应。
TCP/IP协议族由4个层次组成:网络层、互联网层、传输层和应用层。
TCP/IP模型与OSI模型的对应关系如下图所示:
TCP/IP模型和OSI模型

3.1 物理层和数据链路层

在物理层和数据链路层,TCP/IP不定义任何协议。它支持所有标准和专门协议。

3.2 网络层

IP是主机到主机协议,这就是说IP协议负责将分组从一个设备传输到另一个设备。
IP使用四个支持协议:ARP、RARP、ICMP和IGMP。
网际协议(IP)是一个不可靠、无连接数据报协议,即尽力传递(best-effort delivery)服务。每个数据包都独立传输,没有顺序也无法判断是否重复。

3.2.1 地址解析协议(ARP,Address Resolution Protocol)

将逻辑地址和物理地址联系起来。比如一个局域网,链路上的每一个设备都用物理地址或站点地址来标识,这个地址通常印记在网络接口卡上。ARP用于已知节点的因特网地址而寻找该节点的物理地址。

3.2.2 逆地址解析协议(RARP,Reverse Address Resolution Protocol)

允许主机在仅知道物理地址的情况下寻找因特网地址。

3.2.3 因特网控制报文协议(ICMP,Internet Control Message Protocol)

主机和网关使用的一种机制,用来向发送方通知数据包所发生的问题。

3.2.4 因特网组报文协议(IGMP,Internet Group Message Protocol)

用于将一个报文同时发送给一组接收者。

3.3 传输层

UDP和TCP是负责进程到进程之间数据传递,是传输层协议。

3.3.1 传输控制协议(TCP,Transmission Control Protocol)

为应用程序提供了完整的传输层服务。
该服务要求在数据传输前先在两个进程之间建立连接,所以其为面向连接的数据传输
在每个传输的发送端,TCP划分数据流为称为片段的更小的数据单元,每个片段都包括一个用来在接受后重新排序的序号,以及对接接收到的确认序号。这就使得传输的结果是可以根据序号重新排列
可以进行校验和差错控制。

3.3.2 用户数据报协议(UDP,User Datagram Protocol)

相对于TCP,UDP是无连接的数据传输服务,且实现手段相对简单。其传送的数据内容最终无法通过重新排序的方式还原。
可以进行校验和差错控制。

3.3.3 流控制协议(SCTP,Stream Control Transmission Protocol)

对较新的应用提供支持。

3.4 应用层

于后续章节讨论。

4.物理地址、逻辑地址和端口地址

TCP/IP协议中各地址对应的层级关系:
TCP/IP协议中各地址对应的层级关系

4.1 物理地址

也称为链路地址,它是局域网或广域网定义的节点地址。这类地址的长度和格式是可变的,它们与网络有关。
一般以太网使用6字节物理地址。然而LocalTalk(Apple)使用1个字节的动态地址,在每次站点开始到来时改变。

4.2 逻辑地址

与物理网络无关。该地址是主机在互联网中的唯一标记。

跳到跳时,物理地址改变但逻辑地址不变。

4.3 端口地址

为了区分运行中的程序,对不同程序运行的位置标记一个地址,其为端口地址。

4.4 专用地址

类似网址域名一类的东西。是应用层的地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值