TCP/IP协议

一、说明

收集整理一下网络协议相关的资料,仅限于了解,使用的层次。结合网络上已有的协议资料,用自己的理解简化,提取。
本人新手,很多资料都是在网络上各位大佬的博客中汲取的,用自己可以理解的方式选择性吸收,尽量附上资料来源,不过有些忘记来源的也没办法了。

二、资料来源

zplodge简书:UDP协议详解
_1900简书:TCP/IP原理浅析
百度百科:TCP/IP协议

三、协议介绍

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP、HTTOP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
TCP/IP传输协议是严格来说是一个四层的体系结构,应用层传输层网络层数据链路层都包含其中

TCP/IP协议是Internet最基本的协议,
  1. 其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;
  2. 传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;
  3. 网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;
  4. 而网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。
    TCP/IP协议_第1张图片

四、各协议和网络的关系

(1)网络之间关系

物理层、连接层和网络层。最开始的连接层协议种类繁多(Ethernet、Wifi、ARP等等)。到了网络层,我们只剩下一个IP协议(IPv4和IPv6是替代关系)。进入到传输层(transport layer),协议的种类又开始繁多起来(比如TCP、UDP、SCTP等)。这就好像下面的大树,根部(连接层)分叉很多,然后统一到一个树干(网络层),到了树冠(传输层)部分又开始开始分叉,而每个树枝上长出更多的树叶(应用层)。我们在网络层已经看到,通过树干的统一,我们实现了一个覆盖全球的互联网络(Internet)。然而,我们可能出于不同的目的利用这张“网”,随之使用的方式也有所区分。不同的传输层协议(以及更多的应用层协议)正是我们使用“网”的不同方式的体现。
TCP/IP协议_第2张图片

(2)网络结构

严格来讲,分层模型的动机就是将各层的功能尽量独立,每层的功能对另一层来说是透明的,只对通信的另一端负责,为编程和诊断提供良好的层次隔离,然而实际情况并非如此,首先软件编程上完全按照分层模型来做编程效率会降低,与其分层,不如按功能实现来模块化。其次,对于许多功能实现来说,必须实现两层之间的交互,这又违背了当初的出发点,比如链路层在成帧时需要接收端的物理地址,该地址必须由网络层处理ARP地址解析才行,简单地将ARP放在哪一层都有些牵强。所以说,分层模型对于理解网络的抽象性是有益处的,它有助于指导网络入门,但并不是网络的精髓,只有结合具体的系统分析才有实际意义。
TCP/IP协议_第3张图片

(3)网络数据封装和解封过程

在发送端,数据由应用产生,它被封装在传输层的段中,该段再封装到网络层报文包中,网络层报文包再封装到数据链路帧,以便在所选的介质上传送。当接收端系统接收到数据时,是解封装过程。当数据沿着协议栈向上传递时,首先检查帧的格式决定网络类型去掉帧的格式检查内含的报文包决定传输协议。数据由某个传输层处理,最后数据递交给正确的应用程序。
TCP/IP协议_第4张图片

你可能感兴趣的:(通讯)