zoukankan      html  css  js  c++  java
  • 网络基础(一)

     TCP/IP通讯协议采⽤用了4层的层级结构
     
     
    TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP协议簇 分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对应OSI 的第四层)。    
    TCP/IP通讯协议采⽤用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己 的需求。这4层分别为: 
    应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、 网络远程访问协议(Telnet)等。 
    传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据 报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负 责传送数据,并且确定数据已被送达并接收。 
    互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但 不检查是否被正确接收),如网际协议(IP)。 
    网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line 等)来传送数据。
     
     
    TCP/IP协议栈与数据包封装
    TCP/IP网络协议栈分为应⽤用层(Application)、传输层(Transport)、网络层(Network)和链路层 (Link)四层
     

    传输层及其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数
    据从 一台计算机通过一定的路径发送到另一台计算机。

    应用层数据通过协议栈发到网络上 时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)

    数据封装成帧后发到传输介质上,到达目的主机后每层 协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。 

    在链路层之下还有物理层,指的是电信号的传递方式,物理层的能力决定了最大传输速率、传输距离、抗干扰性等。

    集线器(Hub)是工作在物理层 的网络 设备,用于双绞线的连接和信号中继(将已衰减的信号再次放大使之传得更远)。 

    链路层有以太网、令牌环网等标准,链路层负责网卡设备的驱动、帧同步(就是说从网线上检 测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工 作

    交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比如十兆 以太网和百兆以太网之间、以太网和令牌环网之间),由于不同链路层的帧格式不同,交换机要 将进来的数据包拆掉链路层首部重新封装之后再转发。

    网络层的IP协议是构成Internet的基础。Internet上的主机通过IP地址来标识,Internet上有大 量路由器负责根据IP地址选择合适的路径转发数据包,数据包从Internet上的源主机到目的主 机往往要经 过十多个路由器。网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器)。

    路由器是工作在第三层的网络设备,同时兼有交换机的功能,可 以在不同的链路 层之间转发数据包,因此路由器需要将进来的数据包拆掉网络层和链路 层两层首部并重新封 装。IP 协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠 性可以在上层协议或应⽤用程 序中提供⽀支持。

    传输层负责端到 端 (end-to-end)的传输(这里的“端”指源主机和目的主机)。传输层可选择TCP或UDP协议。

    TCP是一种面向连接的、可靠的协议,TCP传输的双方需要首先建立连接,之后由TCP协议保证数据收发的可靠 性,丢失 的数据包自动重发,上层应用程序收到的总是可靠的数据流,通讯之后关闭连接。

    UDP协议不面向 连接,也不保证可靠性。使用UDP协议的应用程序需要 自己完成丢包重发、消息排序等工作。 

    目的主机收到数据包后,如何经过各层协议栈最后到达应用程序的过程(封装的逆过程):

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    经典面试题sql基础篇-50常用的sql语句(有部分错误)
    Java中类方法与实例方法的区别
    认识区块链,认知区块链— —数据上链
    Excel中RATE函数的Java实现
    Excel中PMT函数的Java实现
    xtrabackup 全量备份、恢复数据
    程序员成长过程中不可忽略的几本书
    基于SpringBoot的WEB API项目的安全设计
    基于SpringCloud的Microservices架构实战案例-在线API管理
    他山之石,可以攻玉:从别人的项目中汲取经验
  • 原文地址:https://www.cnblogs.com/shihaochangeworld/p/5735693.html
Copyright © 2011-2022 走看看