文章目录
前言
来源视频:计算机网络微课堂
internet与Internet的区别
- internet(互联网或互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
- Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet) ,而不是互联网(Internet)。
三种交换方式
网络核心部分是互联网中最复杂的部分。
网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
在网络核心部分起特殊作用的是路由器(router)。
路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
1、电路交换(Circuit Switching)
传统两两相连的方式,当电话数量很多时,电话线也很多,就很不方便
所以要使得每一部电话能够很方便地和另一部电话进行通信,就应该使用一个中间设备将这些电话连接起来,这个中间设备就是电话交换机
- 电话交换机接通电话线的方式称为电路交换;
-
从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
-
电路交换的三个步骤:
1、建立连接(分配通信资源)
2、通话(一直占用通信资源)
3、释放连接(归还通信资源)
2、分组交换(Packet Switching)
通常我们把表示该消息的整块数据成为一个报文。
在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面。加上一些由必要的控制信息组成的首部后,就构成一个分组,也可简称为“包”,相应地,首部也可称为“包头”。
首部包含了分组的目的地址
分组从源主机到目的主机,可走不同的路径。
发送方
- 构造分组
- 发送分组
路由器
- 缓存分组
- 转发分组
- 简称为“分组转发”
在路由器中的输入和输出端口之间没有直接连线。
路由器处理分组的过程是:
- 把收到的分组先放入缓存(暂时存储);
- 查找转发表,找出到某个目的地址应从哪个端口转发;
- 把分组送到适当的端口转发出去。
接收方
- 接收分组
- 还原报文
3、报文交换(Message Switching)
报文交换中的交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。
三种交换方式的对比
假设A,B,C,D是分组传输路径所要经过的4个结点交换机,纵坐标为时间
分析:
电路交换:
-
通信之前首先要建立连接;连接建立好之后,就可以使用已建立好的连接进行数据传送;数据传送后,需释放连接,以归还之前建立连接所占用的通信线路资源。
-
一旦建立连接,中间的各结点交换机就是直通形式的,比特流可以直达终点;
报文交换:
- 可以随时发送报文,而不需要事先建立连接;整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机。
- 整个报文需要在各结点交换机上进行存储转发,由于不限制报文大小,因此需要各结点交换机都具有较大的缓存空间。
分组交换:
- 可以随时发送分组,而不需要事先建立连接。构成原始报文的一个个分组,依次在各结点交换机上存储转发。各结点交换机在发送分组的同时,还缓存接收到的分组。
- 构成原始报文的一个个分组,在各结点交换机上进行存储转发,相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。
计算机网络体系结构
常见的计算机网络体系结构
如今用的最多的是TCP/IP体系结构,现今规模最大的、覆盖全球的、基于TCP/IP的互联网并未使用OSI标准。
TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为了网络接口层,并去掉了会话层和表示层。
TCP/IP在网络层使用的协议是IP协议,IP协议的意思是网际协议,因此TCP/IP体系结构的网络层称为网际层
在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族。
而用于网络互连的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族。
只不过路由器一般只包含网络接口层和网际层。
网络接口层:并没有规定具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如:有线的以太网接口,无线局域网的WIFI接口等。
网际层:它的核心协议是IP协议。
运输层:TCP和UDP是这层的两个重要协议。
应用层:这层包含了大量的应用层协议,如 HTTP , DNS 等。
**IP协议(网际层)可以将不同的网络接口(网络接口层)进行互连,并向其上的TCP协议和UDP协议(运输层)**提供网络互连服务
而TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠的传输服务。
UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠的传输服务。
TCP/IP体系结构中最重要的是IP协议和TCP协议,因此用TCP和IP来表示整个协议大家族。
教学时把TCP/IP体系结构的网络接口层分成了物理层和数据链路层
计算机网络体系结构分层的必要性
物理层问题
这图说明
- 第一,严格来说,传输媒体并不属于物理层
- 计算机传输的信号,并不是图示的方波信号
这样举例只是让初学者容易理解
数据链路层问题
网络层问题
运输层问题
应用层问题
应用层该用什么方法(应用层协议)去解析数据
总结
计算机网络体系结构分层思想举例
例子:主机的浏览器如何与Web服务器进行通信
解析:
主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信
体系结构的各层在整个过程中起到怎样的作用?
1、发送方发送
第一步:
- 应用层按照HTTP协议的规定构建一个HTTP请求报文
- 应用层将HTTP请求报文交付给运输层处理
第二步:
- 运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段
- TCP报文段的首部格式作用是区分应用进程以及实现可靠传输
- 运输层将TCP报文段交付给网络层处理
第三步:
- 网络层给TCP报文段添加一个IP首部,使之成为IP数据报
- IP数据报的首部格式作用是使IP数据报可以在互联网传输,也就是被路由器转发
- 网络层将IP数据报交付给数据链路层处理
第四步:
- 数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧 (图示右边为首部,左边为尾部)
- 该首部的作用主要是为了让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
- 该尾部的作用是让目的主机检查所接收到的帧是否有误码
- 数据链路层将帧交付给物理层
第五步:
- 物理层先将帧看做是比特流,这里的网络N1假设是以太网,所以物理层还会给该比特流前面添加前导码
- 前导码的作用是为了让目的主机做好接收帧的准备
- 物理层将装有前导码的比特流变换成相应的信号发送给传输媒体
第六步:
- 信号通过传输媒体到达路由器
2、路由器转发
在路由器中
- 物理层将信号变为比特流,然后去掉前导码后,将其交付给数据链路层
- 数据链路层将帧的首部和尾部去掉后,将其交付给网络层,这实际交付的是IP数据报
- 网络层解析IP数据报的首部,从中提取目的网络地址
在路由器中
- 提取目的网络地址后查找自身路由表。确定转发端口, 以便进行转发
- 网络层将IP数据报交付给数据链路层
- 数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧
- 数据链路层将帧交付给物理层
- 物理层先将帧看成比特流,这里的网络N2假设是以太网,所以物理层还会给该比特流前面添加前导码
- 物理层将装有前导码的比特流变换成相应的信号发送给传输媒体,信号通过传输媒体到达Web服务器
3、接收方接收
和发送方(主机)发送过程的封装正好是反着来
在Web 服务器上
- 物理层将信号变换为比特流,然后去掉前导码后成为帧,交付给数据链路层
- 数据链路层将帧的首部和尾部去掉后成为IP数据报,将其交付给网络层
- 网络层将IP数据报的首部去掉后成为TCP报文段,将其交付给运输层
- 运输层将TCP报文段的首部去掉后成为HTTP请求报文,将其交付给应用层
- 应用层对HTTP请求报文进行解析,然后给主机发回响应报文
发回响应报文的步骤和之前过程类似
计算机网络体系结构中的专用术语
以下介绍的专用术语来源于OSI的七层协议体系结构,但也适用于TCP/IP的四层体系结构和五层协议体系结构
实体
协议
协议:控制两个对等实体进行逻辑通信的规则的集合
协议三要素:
- 语法:定义所交换信息的格式
- 语义:定义收发双方所要完成的操作
- 同步:定义收发双发的时序关系
服务
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
示例:
数据链路层的服务访问点为帧的“类型”字段。
网络层的服务访问点为IP数据报首部中的“协议字段”。
运输层的服务访问点为“端口号”。
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令。
服务数据单元SDU:同一系统内,层与层之间交换的数据包。
多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU。
结束语
概述部分,还是在打基础部分,在此部分中主要学习的还是一些概念性的术语。不过不要忽视这些基础,有个好的基础在后面的学习会更加轻松自然。
后续章节的学习中偶尔回来回翻一下第一章的内容,加深对整个计算机网络的认识。