【HCIA】02.网络参考模型

应用的实现-数据

  • 数据的产生
    • 在计算机领域,数据是各种信息的载体。
  • 数据传输
    • 大部分应用程序所产生的的数据需要在不同的设备之间传递。
  • 人产生的是信息,应用产生的是数据。
  • 计算机只能识别0和1的组成的电子数据(digital data)。它不具备读取各种信息的能力,所以信息需要通过一定的规则翻译成数据。
  • 而对人来说,我们不具备读取电子数据的能力,所以在读取信息的时候,需要将数据转成人能理解的信息。
  • 对于一名网络工程师来说,需要更关注数据的端到端传递的过程。

OSI参考模型

  • 由ISO(国际化标准组织)提出的。
  • 华为或者思科等设备都遵循这一个协议,它们之间才可以进行通信。
    • 类似于所有电池接口都遵循万能充的方式,那么每个手机都需要这一个充电器就可以。
  • 分层的作用是后期需要的时候可以只更改部分,而不需要更改所有。
    • 比如现在普遍使用IPv6,那么就可以只更改网络层的ipv4就不需要更改所有层,这样几遍改成v6也可以正常与相邻层进行交互。
  • 上三层(应用层,表示层,会话层)属于高层,用于产生和管理数据。
  • 下四层(传输层,网络层,数据链路层,物理层)属于低层,用来传递数据。

  • OSI 模型(Open Systems Interconnection Model),由国际化标准组织ISO (The International Organization for Standardization ) 收录在ISO 7489标准中并于1984年发布。
  • OSI参考模型又被称为七层模型,由下至上依次为:

▫物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚等物理特性。

▫数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址) 来访问介质,并进行差错检测。

▫网络层:定义逻辑地址,供路由器确定路径,负责将数据从源网络传输到目的网络。

▫传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。

▫会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程 序之间的服务请求和响应组成。

▫表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。

▫应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。

1. 应用层

    • 为人类提供交互的接口,信息是人产生的,数据就是应用层产生的
    • QQ,微信,支付宝等属于应用层

2. 表示层

    • 一般同种格式二进制编码中,他们都有相同的标志前缀等。
    • 比如画图软件,ps都能打开一个图片,是因为这个图片编码是按照它们都能识别的语言进行编码的。
    • 例如中国老板与日本老板,韩国老板谈合同,然后他们都把合同语言写成英文的,这样他们就都可以看的懂。

3. 会话层

    • 会话层在聊天应用程序中的作用是建立、管理和终止与服务器之间的会话连接。它确保可靠的消息传递、处理错误和异常,并提供会话的控制和管理功能。
    • 老板的秘书去寄合同,先自己复印了一份,对方收到之后,则把自己的备用合同撕掉,对方若没有收到,则把合同再复印一份寄过去。
    • 主要更关注的是会话的管理和控制。
    • 会话的建立要依靠传输层
    • 建立会话

4. 传输层

    • 建立端到端,就是控制端口到端口的。在此层往上的协议才有端口号。
    • 可以控制传输的快慢,传输数据的排序。
    • 传输层完成的就是端口到端口的通道建立
    • 建立端到端的会话
    • 端口

5. 网络层

    • 标识电脑的逻辑地址,标识广播域的名字等。
    • 负责网络寻址
    • IP地址

6. 数据链路层

    • MAC地址
    • 链路中实现点到点,或者点到多点的传输
    • 封装一个链路层的头部
    • 有差错检查功能(进行计算,如果校验值相同,则开始解封装,不同则丢弃。)

7. 物理层

    • 定义物理层的电气规范,比如哪几条线进行发,进行收等。

TCP/IP参考模型

  • 因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型。
  • 通常都是指的是TCP/IP对等模型。

  • 相邻的两个层可以进行数据交互。不可以跨层交互。

TCP/IP常见协议

常见协议标准化组织

•IETF(Internet Engineering Task Force)

▫负责开发和推广互联网协议(特别是构成TCP/IP协议族的协议)的志愿组织,通过RFC发布新的或者取代老的协议标准。

•IEEE(Institute of Electrical and Electronics Engineers)

▫IEEE制定了全世界电子、电气和计算机科学领域30%左右的标准,比较知名的有IEEE802.3(Ethernet)、IEEE802.11(WiFi)等。

•ISO(International Organization for Standardization)

▫在制定计算机网络标准方面,ISO是起着重大作用的国际组织,如OSI模型,定义于ISO/IEC 7498-1。

应用层

  • 应用层为应用软件提供接口,使应用程序使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等。
  • 应用层的PDU被称为Data(数据)
  • PDU(Protocol Data Unit)协议数据单元

  • TCP/IP每一层都让数据得以通过网络进行传输,这些层之间使用PDU(Packet Data Unit,协议数据单元)彼此交换信息,确保网络设备之间能够通信。
  • 不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。

常见应用层协议

FTP(File Transfer Protocol)是一个用于从一台主机传送文件到另一台主机的协议,用于文件的“下载”和“上传”,它采用C/S(Client/Server)结构。

Telnet是数据网络中提供远程登录服务的标准协议。 Telnet为用户提供了在本地计算机上完成远程设备工作的能力。

HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

传输层

  • 传输层协议接受来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”(Port to port)的连接
  • 传输层的PDU被称为Segment(段)。

传输层-TCP和UDP端口号

  • 客户端使用的源端口一般随机分配,目标端口则有服务器的应用指定;
  • 源端口号一般未系统中未使用的,且大于1023;
  • 目的端口号为服务端开启的应用(服务)所侦听的端口,如HTTP缺省使用80;

网络层

  • 传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机到另外一台主机之间的传递。
  • 网络层的PDU被称为Packet(包)

网络层协议工作过程

  • 当采用IP作为网络层协议时,通信的双方都会被分配到一个“独一无二”的IP地址来标识自己。IP地址可被写成32位的二进制整数值形式,但为了方便人们阅读和分析,它通常被写成点分十进制的形式,即四个字节被分开用十进制表示,中间用点分隔,比如192.168.1.1。
  • IP数据包的封装与转发:

▫网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把源和目的IP地址都添加到该头部中。

▫中间经过的网络设备(如路由器),会维护一张指导IP报文转发的“地图”——路由表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包。

▫IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步处理。

  • 除了IP协议外,网络层中还有如OSPF、IS-IS、BGP等各种路由协议帮助路由器建立路由表,ICMP帮忙进行网络的控制和状态诊断。

数据链路层

  • 数据链路层位于网络层与物理层之间,可以向网络层的IP,IPv6等协议提供服务。数据链路层的PDU被称为Frame(帧)
  • 以太网(Ethernet)是最常见的数据链路层协议。

以太网与MAC地址

  • MAC地址由48比特(6个字节)长,12位的16进制数字组成。例如:48-A4-72-1C-8F-4F

  • 以太网是一种广播式数据链路层协议,支持多点接入
  • 个人电脑的网络接口遵循的就是以太网标准
  • 一般情况下,一个广播域对应着一个IP网段。
  • MAC地址在网络中唯一标识一个网卡,每个网卡都需要且会有唯一的一个MAC地址
  • MAC用于在一个IP网段内,寻找到具体的物理设备
  • 工作在数据链路层的设备。例如以太网交换机,为维护一张MAC地址表,用于知道数据帧转发

物理层

  • 数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号,电信号或者电磁波信号。
  • 物理层的PDU被称为比特流(Bitstream)
  • 例如定义了哪个针脚做什么,比如是收还是发

常见传输介质

  • 双绞线:当今以太网最常见的传输介质,按照抗电磁干扰能力还可以分为:

▫STP-屏蔽双绞线

▫UTP-非屏蔽双绞线

  • 光纤传输,按照功能部件可分为:

▫光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道。

▫光模块:将电信号与光信号互转的器件,产生光信号。

  • 串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口等。
  • 无线信号的传输可以通过电磁波进行,例如:无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输。

发送方数据封装

假设你正在通过网页浏览器访问华为官网,当你输入完网址,敲下回车后,计算机内部会发生下列事情:

  1. IE浏览器(应用程序)调用HTTP(应用层协议),完成应用层数据的封装(图中DATA还应包括HTTP头部,此处省略) 。
  2. HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块。
  3. TCP模块给应用层传递下来的Data添加上相应的TCP头部信息(源端口、目的端口等)。此时的PDU被称作Segment(段)。
  4. 在IPv4网络中,TCP模块会将封装好的Segment传递给网络层的IPv4模块(若在IPv6环境,会交给IPv6模块进行处理)。
  5. IPv4模块在收到TCP模块传递来的Segment之后,完成IPv4头部的封装,此时的PDU被称为Packet(包)。
  6. 由于使用了Ethernet作为数据链路层协议,故在IPv4模块完成封装之后,会将Packet交由数据链路层的Ethernet模块(例如以太网卡)处理。
  7. Ethernet模块在收到IPv4模块传递来的Packet之后,添加上相应的Ethernet头部信息和FCS帧尾,此时的PDU被称为Frame(帧)。
  8. 在Ethernet模块封装完毕之后,会将数据传递到物理层。
  9. 根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无线)信号等。
  10. 转换完成的信号在网络中开始传递。

中间网络数据传输

  • 封装好的完整数据,将会在网络中被传递。

  • 一般情况下:

▫网络中的二层设备(如以太网交换机)只会解封装数据的二层头部,根据二层头部的信息进行相应的“交换”操作。

▫网络中的三层设备(如路由器)只会解封装到三层头部,并且根据三层头部的信息进行相应的“路由”操作。

接收方数据解封装

  • 经过中间网络传递之后,数据最终到达目的服务器。根据不同的协议头部的信息,数据将被一层层的解封装并做相应的处理和传递,最终交由WEB服务器上的应用程序进行处理。

总结

  • 不论是OSI参考模型还是TCP/IP参考模型,都采用了分层的设计理念。

▫各个层次之间分工、界限明确,有助于各个部件的开发、设计和故障排除

▫通过定义在模型的每一层实现什么功能,鼓励产业的标准化

▫通过提供接口的方式,使得各种类型的网络硬件和软件能够相互通信,提高兼容性

  • 数据的产生与传递,需要各模块之间相互协作,同时每个模块又需要“各司其职”。

猜你喜欢

转载自blog.csdn.net/weixin_45988710/article/details/131482276
今日推荐