美文网首页
第20周—网络的五层划分是什么?TCP和UDP的区别是什么?简述

第20周—网络的五层划分是什么?TCP和UDP的区别是什么?简述

作者: AR7_ | 来源:发表于2018-06-01 23:41 被阅读34次

    前言

    • 本文主要是基于《图解TCP/IP》这本书进行学习。

    一、计算机网络体系结构的通信协议分层

    • OSI模型过于复杂也难以实现,现实中广泛应用的是TCP模型。OSI模型注重“通信协议必要的功能是什么”,而TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”。

    OSI 七 层模型

    应用层

    • 为应用程序提供服务并规定应用程序中通信相关的细节,包括文件传输、电子邮件协议、远程登录协议、文件传输等协议。

    表示层

    • 主要负责数据格式的转换,将设备固有的数据格式转换为网络标准格式。
    • 接收不同表现形式的信息,如文字、图像、声音等。

    会话层

    • 负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。
    • 两台电脑之间何时建立连接,何时断开连接以及保持多久的连接?

    传输层

    • 管理两个节点之间的数据传输,负责可靠传输(确保数据被可靠地传送到目标地址)。只在通信双方节点上进行处理,而无需在路由器上处理。
    • 两台电脑之间是否有数据丢失?

    网络层

    • 将数据传输到目标地址,目标地址可以是多个网络通过路由器连接而成的某一个地址,因此这一层主要负责寻址和路由选择。
    • 电脑A经过哪个路由传递到目标地址电脑B。

    数据链路层

    • 负责物理层面上互连的、节点之间的通信传输,例如与1个以太网相连的2个节点之间的通信。
    • 将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。
    • 数据帧与比特流之间的转换,分段转发。比如控制网卡、硬件相关的设备驱动等。
    • 比特流是一种内容分发协议,它采用高效的软件分发系统和点对点技术共享大体积文件(如一部电影或电视节目),并使每个用户像网络重新分配结点那样提供上传服务。这种方法可以使下载服务器同时处理多个大体积文件的下载请求,而无须占用大量带宽。

    物理层

    • 以“0”、“1”代表电压的高低、灯光的闪灭。
    • 界定连接器和网线的规格。
    • 为数据端设备提供传送数据通路、传输数据。
    • 比特流与电子信号之间的切换,比如双绞线电缆、无线、光纤等。

    TCP/IP 五 层模型

    应用层(会话层以上的分层)

    • 将OSI模型中的会话层、表示层和应用层的动能都集中到了应用程序中实现。
    • 不仅实现OSI模型中应用层的内容,还要实现会话层与表示层的功能。
    • WWW中的HTTP属于OSI应用层的协议,而HTML属于表示层的协议。

    传输层

    • 能够让应用程序之间实现通信。
    • 有两个具有代表性的协议,分别是TCP和UDP。

    互联网层(网络层)

    • 互联网层使用IP协议。
    • IP
      • IP协议的作用是将分组数据包发送到目的主机。
      • 跨越网络传送数据包,使整个互联网都能收到数据的协议。
      • 隐含数据链路层的功能。
      • 通过IP,相互通信的主机之间不论经过怎样的底层数据链路都能够实现通信。
      • 是分组交换的一种协议,不具有重发机制,即使分组数据包未能到达对端主机也不会重发,属于非可靠性传输协议。
    • ICMP
      • IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发送异常的通知。ICMP就是为这一功能而制定的。它有时也被用来诊断网络的健康状况。
    • ARP
      • 从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协议。

    网络接口层(数据链路层)

    • 利用以太网中的数据链路层进行通信,属于接口层。
    • 驱动程序是在操作系统与硬件之间起桥梁作用的软件。
    • 计算机的外围附加设备或扩展卡,不是直接插到电脑上或电脑的扩展槽上就能马上使用,还需要相应驱动程序的支持。

    硬件层(物理层)

    • 最底层,负责数据传输的硬件,相当于以太网或电话线路等物理层的设备。
    • 只要人们在物理层面上所使用的传输媒介不同(如使用网线或无线),网络的带宽、可靠性、安全性、延迟等都会有所不同,而在这些方面又没有一个既定的指标。
    • TCP/IP是在网络互连的设备之间能够通信的前提下才被提出的协议。

    二、TCP和UDP的区别

    TCP

    • TCP是一种面向有连接的传输层协议。
    • 可以保证两端通信主机之间的通信可达。
    • 能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。
    • 能够有效利用带宽,缓解网络拥堵。
    • 为了提高网络的利用率,TCP协议中定义了各种各样复杂的规范,因此不利于视频会议(音频、视频的数据量既定)等场合使用。

    UDP

    • UDP是一种面向无连接的传输层协议。
    • 不会关注对端是否真的收到了传送过去的数据。
      -如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。
    • 常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。

    三、简述TCP的三次握手过程

    • 三次握手
      • 即每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤销联系,并建立虚连接。
    • 过程
      1. 建立连接后,客户端发送a包到服务端,等待确认。
      2. 服务端接收,并发送b包到客户端,(a+b)。
      3. 客户端接收,发送确认包,连接成功。

    相关文章

      网友评论

          本文标题:第20周—网络的五层划分是什么?TCP和UDP的区别是什么?简述

          本文链接:https://www.haomeiwen.com/subject/bsrlsftx.html