TCP/IP基本知识

Posted sollor525

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP/IP基本知识相关的知识,希望对你有一定的参考价值。

分层:

TCP/IP协议栈通常被认为是一个四层的协议系统(不包含物理层),每一层负责不同的功能,分别为:应用层、传输层、网络层、数据链路层。

  1. 应用层:
    应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:

    • Telnet 远程登录。
    • FTP 文件传输协议。
    • SMTP 简单邮件传送协议。
    • SNMP 简单网络管理协议
  2. 传输层:
    运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个 互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
    TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分 成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟 等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。 而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组 从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠 性必须由应用层来提供。
  3. 网络层:
    网络层有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控 制报文协议),以及IGMP协议(Internet组管理协议)。
  4. 数据链路层:
    通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

封装:

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图1-7所示。TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCPsegment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)。

UDP数据与TCP数据基本一致。唯一的不同是UDP传给IP的信息单元称作UDP数据报(UDP datagram),而且UDP的首部长为8字节。
由于TCP、UDP、ICMP和IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入某种标识,以表明数据属于哪一层。为此,IP在首部中存入一个长度为8bit的数值,称作协议域。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。 类似地,许多应用程序都可以使用TCP或UDP来传送数据。运输层协议在生成报文首部 时要存入一个应用程序的标识符。 TCP和UDP都用一个16bit的端口号来表示不同的应用程序。TCP和UDP把源端口号和目的端口号分别存入报文首部中。 网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个16bit的帧类型域。

分用:

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。

以上是关于TCP/IP基本知识的主要内容,如果未能解决你的问题,请参考以下文章

002::每天五分钟入门TCP/IP协议栈::IP协议之IP首部长度问题

TCP/IP之TCP协议首部三次握手四次挥手FSM

TCP/IP协议栈--IP首部选项字段的分析

TCP/IP报文头部结构

tcp/ip--IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

通信举例