2-TCP/IP协议

1. TCP/IP协议栈

  互联网协议族(英语:Internet Protocol Suite,缩写IPS)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。

  因为该协议家族的两个核心协议:TCP(传输控制协议)和IP(网际协议),为该家族中最早通过的标准。由于在网络通讯协议普遍采用分层的结构,当多个层次的协议共同工作时,类似计算机科学中的堆栈,因此又被称为TCP/IP协议栈(英语:TCP/IP Protocol Stack)。这些协议最早发源于美国国防部(缩写为DoD)的ARPA网项目,因此也被称作DoD模型(DoD Model),这个协议套组由互联网工程任务组负责维护。

  TCP/IP提供点对点的连接机制,将数据应该如何封装、定址、传输、路由以及在目的地如何接收,都加以标准化。它将软件通信过程抽象化为四个抽象层,采取协议堆栈的方式,分别实现出不同通信协议。协议套组下的各种协议,依其功能不同,被分别归属到这四个层次结构之中,常被视为是简化的七层OSI模型。
2-TCP/IP协议_第1张图片

OSI七层模型:物理层(第一层),数据链路层(第二层),网络层(第三层),传输层(第四层),会话层(第五层),表示层(第六层),应用层(第七层)。

互联网地址:可以理解为IP地址

物理地址:可以理解为电脑主机的MAC机器地址

2. TCP/IP协议工作原理

2-TCP/IP协议_第2张图片

  ftp是一个文件传输协议,用于文件的上传和下载。如果主机A想要发送一个文件到主机B的话,首先要形成一个应用数据,而这个应用数据初始情况下为字节流。

  当你在应用层使用一个ftp软件传输数据时,这个时候会在数据的头部加上ftp头部,表示我们要传输的数据是以ftp协议来发送。

  往下就是传输层,因为TCP就是传输层的协议,所以在数据的头部还要加一个TCP头(包含了端口号),表示这个数据在传输层以TCP协议传输。

  再往下就是网络层了,数据网络上传输发送到指定主机的某个程序是根据IP地址和端口号来确定的,也就是说网络层的IP头是为了确定目的地的主机,而传输层的TCP头中的端口号是为了确定指定主机的目标程序,所以需要在数据头部再加一个IP头部。

  到数据链路层因为要跟网卡打交道,而且网卡有一个非常重要的物理地址,即mac地址,所以需要封装一个以太网帧头部,确定目标主机的mac地址。

  同理,目标主机在接收到数据时,需要对数据进行拆包,首先,网络接口层把以太网帧头拆掉,到网络层把IP头拆掉,到传输层把TCP头拆掉,到应用层把FTP头拆掉,最后形成真正的文件数据,把数据发送给指定的应用进程。

3. 协议数据单元——PDU

  协议数据单元简称PDU,在TCP/IP分层网络模型中,每一层的的协议数据单元都不一样,例如以太网的我们通常叫数据帧(Frame),这些术语无论是在学习中还是工作中都会经常见到,还是有必要了解一下的:

应用层:数据(Data)
传输层:数据段(Segment)
网络层:数据包(packge)
链路层:数据帧(Frame)
物理层:比特位(bit)

你可能感兴趣的:(tcp/ip协议修炼心法,网络,通信,tcp-ip,计算机网络)