2019独角兽企业重金招聘Python工程师标准>>>
网络互联参考模型
1. 什么是协议
为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言”
描述网络通信中“语言”规范的一组规则就是协议
例如:两个人交谈,必须使用相同的语言,如果你说汉语,他说阿拉伯语……
数据通信协议的定义
决定数据的格式和传输的一组规则或者一组惯例
2. 协议分层
网络通信的过程很复杂:
数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接收者能够阅读
为了降低网络设计的复杂性,将协议进行了分层设计
分层设计的意义:
1) 用户服务层的模块设计可相对独立于具体的通信线路和通信硬件接口的差别
2) 而通信服务层的模块设计又可相对独立于具体用户应用要求的不同
例如:文件传输或电子邮件服务模块的设计,不必关心底层通信线路是光纤还是双绞线
邮局实例:
• 邮局对于写信人来说是下层
• 运输部门是邮局的下层
--下层为上层提供服务
• 写信人与收信人之间使用相同的语言
• 邮局之间的约定
--同层次之间使用相同的协议
3. OSI的七层框架
数据的封装与解封装过程:
1)直观:
2)大体过程:
3)协议描述
4. TCP/IP协议参考模型
TCP/IP是20世纪70年代中期美国国防部为ARPANET开发的网络体系结构, TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互连层、传输层(主机到主机)、和应用层。
4.1 TCP/IP各层对应的协议
4.2TCP/IP模型与OSI模型的比较
相同点:
1)两者都是以协议栈的概念为基础
2)协议栈中的协议彼此相互独立
3)下层对上层提供服务
不同点:
1)OSI是先有模型;TCP/IP是先有协议,后有模型
2)OSI适用于各种协议栈;TCP/IP只适用于TCP/IP网络
3)层次数量不同
4.3 TCP/IP各层介绍:
4.3.1 物理层-网络的基础
物理层是TCP/IP模型的最底层
1)功能:物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境, 它利用传输介质为数据链路层提供物理连接。为此,该层定义了物理链路的建立、维护和拆除有关的机械、电气、功能和规程特性。
包括信号线的功能、“0”和“1”信号的电平表示、数据传输速率、物理连接器规格及其相关的属性等。物理层的作用是通过传输介质发送和接收二进制比特流。
2)物理层的设备:
物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设备。DTE既数据终端设备,又称物理设备,如计算机、终端等都包括在内。而DCE则是数据通信设备或电路连接设备,如调制解调器等。数据传输通常是经过DTE──DCE,再经过DCE──DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆、T型接头、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。
3)物理层规定的特性
为了传输信号,物理层规定了以下这些特性:
机械特性:指明通信实体间硬件连接接口的机械特点
电气特性:规定了在物理连接上导线的电气连接及有关的电路的特性
功能特性:指明物理接口各条信号线的用途(用法)
规程特性:指明利用接口传输位流的全过程及各项用于传输的事件发生的合法顺序
4.3.2数据链路层——以太网:
数据链路可以粗略地理解为数据通道。
1)功能:数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。
数据帧中包含物理地址(又称MAC地址)、控制码、数据及校验码等信息。该层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。
此外,数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。
2)以太网工作在数据链路层
4.3.3网络层
定义了基于IP协议的逻辑地址
连接不同的媒介类型
选择数据通过网络的最佳路径
1) 功能:网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。
2) 网络地址: 网络层地址由两部分地址组成:网络地址和主机地址。网络地址是全局唯一的。
4.3.4 传输层
IP层提供点到点的连接
传输层提供端到端的连接
1)功能:传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。
传输层传送的协议数据单元称为段或报文。
主要有传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(UserDatagram Protocol),它们都是建立在IP协议的基础上
传输控制协议TCP提供可靠的面向连接服务,用户数据报协议UDP提供简单的无连接服务
4.3.5 应用层
应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等. 是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。
应用层协议可分为3类:
(1)依赖于TCP的应用协议,如远程终端协议Telnet,文件传输型的电子邮件协议SMTP,文件传输协议FTP,超文本传输协议HTTP,外部网关协议BGP等。
(2)依赖于UDP的协议,例如单纯文件传输协议TFTP,简单网络管理协议SNMP,域名系统DNS,内部网关协议RIP,动态主机配置协议DHCP和引导程序协议BOOTP等。
(3)依赖于TCP和UDP的协议,如通信用管理信息协议CMOT。当然,一些没有标准化的建立在TCP/ IP协议簇之上的用户应用程序(或专用程序)也属于应用层。