第一章 计算机网络概述(下)

简介: 第一章 计算机网络概述

OSI层次结构


物理层 ( Physical Layer )


物理层的传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明的传输原始比特流。

物理层主要定义 数据终端设备(DTE) 和 数据通信设备(DCE) 的物理和逻辑连接方法,所以物理层协议也称为物理层接口标准。由于在通信技术的早期阶段,通信规则称为规程 (Procedure),故物理层协议也称为物理层规程。

1670947492165.jpg

数据链路层 ( Data Link Layer )


数据链路层的传输单位是帧,任务是将网络层传下来的IP数据报组装成帧。数据链路层的功能可以概括为:成帧、差错控制、流量控制和传输管理等。典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。

1670947505775.jpg

网络层 ( Network Layer )


网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元 (分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。

网络层的协议有:IP、IPX、ICMP、IGMP、ARP、RARP和OSPF等。

1670947516158.jpg


传输层 ( Transport Layer )


传输层也叫运输层,传输单位是报文段(TCP)或用户数据报 (UDP),传输层的任务是负责主机中两个进程之间的通信。功能是为端到端连接提供可靠的传输服务;为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。


传输层的协议有:TCP,UDP。



会话层 (Session Layer )


会话层允许不同主机上各进程之间的会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。这种服务主要是向表示层实体或用户进程提供建立连接并在连接上有序地传输数据,这就是会话,也称为建立同步(SYN)。


会话层负责管理主机间的会话进程,包括建立、管理以及终止进程间的会话。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。

1670947527779.jpg


表示层 ( Presentation Layer )


表示层主要用于处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示变换功能。

1670947537037.jpg


应用层 ( ApplicationLayer )


应用层是OSI模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问OSI环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。


典型的有文件传送的FTP、电子邮件的SMTP、万维网应用的HTTP等。

1670947553595.jpg


TCP/IP参考模型

1670947562483.jpg

TCP/IP模型,从低到高依次为:网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型中的会话层、表示层和应用层)。TCP/IP由于得到广泛应用而成为事实上的国际标准。


网络接口层


功能类似于OSI的物理层和数据链路层。它表示与物理网络的接口,但实际上TCP/IP本身并没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便能在其上传递IP分组。具体的物理网络可以是各种类型的局域网,如以太网、令牌环网、令牌总线网等,也可以是诸如电话网、SDH、X.25、帧中继和ATM等公共数据网络。

网络接口层的责任是从主机或结点接收IP分组,并把它们发送到指定的物理网络上。


网际层 (主机-主机)


是TCP/IP体系结构的关键部分。 它和OSI网络层在功能上非常相似。 网际层将分组发往任何网络,并为之独立地选择合适的路由,但它不保证各个分组有序的到达,各个分组的有序交付由高层负责。网际层定义了标准的分组格式和协议,即IP协议。当前采用的lP协议是第4版,即IPv4,它的下一个版本是IPv6。


传输层 (应用-应用 或 进程-进程)


功能同样和OSI中的传输层类似,是使发送端和目的端主机上的对等实体可以进行会话。 传输层主要使用以下两种协议:

传输控制协议 (Transmission Control Protocol, TCP)。面向连接的,数据传输的单位是报文段 ,能够提供可靠的交付。

用户数据报协议 (Mser Datagram Protocol, UDP)。 无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供 “尽最大努力交付”。


应用层 (用户-用户)


包含所有的高层协议。如虚拟终端协议 (Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP) 和超文本传输协议(HTTP)。


OSI参考模型与TCP/IP参考模型异同


相同点


二者都采取分层的体系结构,将庞大且复杂的问题划分为若干个较容易处理的、范围较小的问题,而且分层的功能也大体相似。

二者都是基于独立的协议拢的概念。

二者都可以解决异构网络的互联,实现世界上不同厂家生产的计算机之间的通信。

不同点


OSI参考模型的最大贡献就是精确地定义了三个主要概念:服务、协议和接口,这与现代的面向对象程序设计思想非常吻合。而TCP/IP模型在这三个概念上却没有明确区分,不符合软件工程的思想。

OSI参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性良好。TCP/IP模型正好相反。 首先出现的是协议,模型实际上是对己有协议的描述,因此不会出现协议不能匹配模型的情况,但该模型不适合于任何其他非TCP/IP的协议栈。

TCP/IP模型在设计之初就考虑到多种异构网的互联问题,并将网际协议IP作为一个单独的重要层次。OSI参考模型最初只考虑到用一种标准的公用数据网将各种不同的系统互联。后来,OSI参考模型认识到网际协议IP的重要性,因此只好在网络层中划分出一个子层来完成类似于TCP/IP模型中IP的功能。

OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,但在传输层支持无连接和面向连接两种模式。

1670947576012.jpg

5层参考模型


无论是OSI参考模型,还是TCP/IP模型都不是完美的,对二者的讨论和批评都很多。OSI参考模型的设计者从工作的开始,就试图建立一个全世界的计算机网络都要遵循的统一标准。从技术角度来看,他们希望追求一种完美的理想状态,这也导致基于OSI参考模型的软件效率极低。OSI参考模型缺乏市场与商业动力,结构复杂,实现周期长,运行效率低,这是它没有能够达到预想目标的重要原因。

所以在学习计算机网络时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,即我们所熟知的物理层、数据链路层、网络层、传输层和应用层 。

1670947590852.jpg

通信协议栈通信过程


通信协议梭的通信过程示例

1670947603249.jpg

每个协议栈的最顶端都是一个面向用户的接口,下面各层是为通信服务的协议。


当用户要传输一个数据报时,通常是给出用户能够理解的自然语言,然后通过应用层,自然语言会转化为用于通信的通信数据。

通信数据到达运输层,作为运输层的数据部分(运输层SDU),加上运输层的控制信息(运输层PCI),组成运输层的PDU,然后交到网络层。

运输层的PDU下放到网络层后,就成为网络层的SDU,然后加上网络层的PCI,又组成了网络层的PDU,下放到数据链路层。

就这样层层下放,层层包裹,最后形成的数据报通过通信线路传输,到达接收方结点协议栈,接收方再逆向地一层一层把 “包裹” 拆开,然后把收到的数据提交给用户。

相关文章
|
1月前
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
|
1月前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
|
3月前
|
存储 网络协议 安全
|
3月前
|
数据采集 移动开发 Python
六:《智慧的网络爬虫》— 正则表达式概述
【8月更文挑战第7天】本文介绍了正则表达式的基本概念、用途,如表单验证和爬虫,以及Python中re模块的使用,包括match(),match()函数、元字符、预定义字符集、重复匹配、位置匹配、非贪婪模式和re模块的常用方法如compile(),search(),findall(),split(),sub()等。
73 1
六:《智慧的网络爬虫》— 正则表达式概述
|
2月前
|
Linux 调度 Docker
容器网络概述
【9月更文挑战第9天】容器技术利用如命名空间(namespace)和控制组(cgroup)等技术创建隔离环境,实现资源限制与独立运行。命名空间避免命名冲突,cgroup则能对CPU、内存等资源进行限制。容器状态可通过镜像保存并标准化,确保在任何环境中都能复现相同状态。
|
3月前
|
存储 NoSQL MongoDB
八:《智慧的网络爬虫》— MongoDB概述
【8月更文挑战第14天】本篇文章简单介绍了MongoDB的下载和安装以;其基本的操作语法,并附上每个语法的代码示例,为后续的爬虫学习打下基础
46 0
八:《智慧的网络爬虫》— MongoDB概述
|
3月前
|
SQL 数据采集 关系型数据库
七:《智慧的网络爬虫》— MySQL概述
【8月更文挑战第11天】本篇文章详细的介绍了MySQL数据库的安装与使用;并讲述了MySQL的基本操作及其应用语法
50 0
七:《智慧的网络爬虫》— MySQL概述
|
3月前
|
Linux 调度 Docker
容器网络概述
【8月更文挑战第7天】容器就是 Container,而 Container 的另一个意思是集装箱。其实容器的思想就是要变成软件交付的集装箱。集装箱的特点,一是打包,二是标准。
|
3月前
|
存储 运维 监控
|
5月前
|
数据采集 前端开发 开发者
《智慧的网络爬虫》— CSS概述
CSS主要作用是定义网页的样式。如网页元素的位置、大小、颜色等,也是前端及爬虫入门必须要学习的内容
47 7
《智慧的网络爬虫》—  CSS概述