互联网协议入门

互联网协议入门(一)

互联网协议入门(一)

二者的对应关系

OSI七层模型 TCP/IP 四层模型 对应网络协议
应用层(Application) 应用层 HTTP协议(超文本传输协议)、FTP协议(文件传输协议)、TFTP协议(简单文件传输协议)、NFS(网络文件系统协议)
表示层(Presentation) 应用层 TELNET协议(虚拟终端协议)、SNMP协议(简单网络管理协议)
会话层(Session) 应用层 SMTP协议(简单邮件传输协议)、DNS协议(域名解析协议)
传输层(Transport) 传输层 TCP(控制传输协议)、UDP(用户数据报协议)
网络层(Network) 网际互连层 IP(网际协议)、ICMP(网际控制消息协议)、ARP(地址解析协议)、RARP(反向地址解析协议)、UUCP
数据链路层(Data Link) 网络接口层 FDDI、Ethernet、Arpanet、PDN、SLIP(串行线路接口协议)、PPP(点对点协议)
物理层(Physical) 网络接口层 IEEE 802.1A、IEEE 802.2到IEEE 802.11

OSI 七层协议

概念

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了七层。

每一层都有相关、相对应的物理设备,比如路由器,交换机。

OSI 七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。

它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

每一层的含义

物理层 (Physical Layer)

OSI 模型的最低层或第一层,提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。

在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控;加强物理层的功能,使其对网络层显示为一条无错的线。

网络层(Network Layer)

确定分组从源端到目的端的路由选择。路由可以选用网络中固定的静态路由表,也可以在每一次会话时决定,还可以根据当前的网络负载状况,灵活地为每一个分组分别决定。

传输层(Transport Layer)

从会话层接收数据,并传输给网络层,同时确保到达目的端的各段信息正确无误,而且使会话层不受硬件变化的影响。通常,会话层每请求建立一个传输连接,传输层就会为其创建一个独立的网络连接。但如果传输连接需要一个较高的吞吐量,传输层也可以为其创建多个网络连接,让数据在这些网络连接上分流,以提高吞吐量。而另一方面,如果创建或维持一个独立的网络连接不合算,传输层也可将几个传输连接复用到同一个网络连接上,以降低费用。除了多路复用,传输层还需要解决跨网络连接的建立和拆除,并具有流量控制机制。

会话层(Session Layer)

负责在网络中的两节点之间建立、维持和终止通信。 会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。

表示层(Presentation Layer)

把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。

应用层(Application Layer)

OSI 模型的最高层。其功能是实现应用进程(如用户程序、终端操作员等)之间的信息交换。同时,还具有一系列业务处理所需要的服务功能。应用层一般包括公共应用服务要素(CASE)和特定应用服务要素(SASE)。其中 CASE 提供应用进程中最基本的服务,向应用进程提供信息传送所必需的、但又独立于应用进程通信的能力。SASE 实质上是各种应用进程在应用层中的映射,每一个 SASE 都针对某一类具体应用,例如文件传送、访问和管理(FTAM)、虚拟终端(VT)、消息处理系统(MHS)、电子数据互换(EDI)和目录查询等。

TCP/IP 四层协议

概念

TCP/IP 是一组用于实现网络互连的通信协议;该模型是首先由 ARPANET 所使用的网络体系结构。

这个体系结构在它的两个主要协议出现以后被称为 TCP/IP 参考模型(TCP/IP Reference Model)。这一网络协议共分为四层:网络访问层、互联网层、传输层和应用层。

每一层的含义

网络接口层

负责监视数据在主机和网络之间的交换;与OSI参考模型中的物理层和数据链路层相对应。

事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。

网际互连层

是整个体系结构的关键部分,其功能是使主机可以把分组发往任何网络,并使分组独立地传向目标。

这些分组可能经由不同的网络,到达的顺序和发送的顺序也可能不同。高层如果需要顺序收发,那么就必须自行处理对分组的排序。互联网层使用因特网协议(IP,Internet Protocol)。TCP/IP参考模型的互联网层和OSI参考模型的网络层在功能上非常相似。

传输层(Transport Layer)

使源端和目的端机器上的对等实体可以进行会话。在这一层定义了两个端到端的协议:传输控制协议(TCP,Transmission Control Protocol)和用户数据报协议(UDP,User Datagram Protocol)。TCP 是面向连接的协议,它提供可靠的报文传输和对上层应用的连接服务。

为此,除了基本的数据传输外,它还有可靠性保证、流量控制、多路复用、优先权和安全性控制等功能。

UDP 是面向无连接的不可靠传输的协议,主要用于不需要TCP的排序和流量控制等功能的应用程序。

应用层(Application Layer)

包含所有的高层协议,包括:虚拟终端协议(TELNET,TELecommunications NETwork)、文件传输协议(FTP,File Transfer Protocol)、电子邮件传输协议(SMTP,Simple Mail Transfer Protocol)、域名服务(DNS,Domain Name Service)、网上新闻传输协议(NNTP,Net News Transfer Protocol)和超文本传送协议(HTTP,HyperText Transfer Protocol)等。

TELNET 允许一台机器上的用户登录到远程机器上,并进行工作;FTP 提供有效地将文件从一台机器上移到另一台机器上的方法;SMTP 用于电子邮件的收发;DNS 用于把主机名映射到网络地址;NNTP 用于新闻的发布、检索和获取;HTTP 用于在 WWW 上获取主页。

二者的区别

共同点

(1)OSI 参考模型和 TCP/IP 参考模型都采用了层次结构的概念。

(2)都能够提供面向连接和无连接两种通信服务机制。

不同点

(1)OSI 采用的七层模型,而 TCP/IP 是四层结构。

(2)TCP/IP 参考模型的网络接口层实际上并没有真正的定义,只是一些概念性的描述。而 OSI 参考模型不仅分了两层,而且每一层的功能都很详尽,甚至在数据链路层又分出一个介质访问子层,专门解决局域网的共享介质问题。

(3)OSI 模型是在协议开发前设计的,具有通用性。TCP/IP 是先有协议集然后建立模型,不适用于非 TCP/IP 网络。

(4)实际应用不同,OSI 模型只是理论上的模型,并没有成熟的产品;而 TCP/IP 已经成为国际上的标准。

参考资料

https://www.zybuluo.com/sevenup233/note/886936

https://www.cnblogs.com/music000/archive/2008/09/01/1281072.html

https://blog.minhow.com/2017/01/07/protocol/tcp-osi/

http://www.unixfbi.com/406.html

https://www.jianshu.com/p/4b9d43c0571a