TCP/IP 协议笔记一

       一、

  通常我们所说的TCP/IP,其实是TCP/IP协议族,TCP和IP只是其中两种协议而已。

  TCP是传输层协议,IP是网络层协议,IP在网络层和TCP在传输层,不同点在于它们分别负责不同的功能:

  :网络层IP只是尽可能快速的把分组从源结点送到目的结点,不提供任何可靠性保证。

  :传输层TCP提供了可靠的服务,采用超时重发、发送和接收端到端的确认分组等机制。

  二、

    

  TCP和UDP的每组数据都通过端系统和每个中间路由器中的I P层在互联网中进行传输。

   ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。

   IGMP是Internet组管理协议。它用来把一个 UDP数据报多播到多个主机。

   ARP(地址解析协议)和R ARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换 IP层和网络接口层使用的地址。

  三、

  

 

  这些3 2位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法(Dotted decimal notation)

  四、

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

 

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

  网络接口分别要发送和接收 IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个 16bit的帧类型域。

   解分过程:

 

   为协议I C M P和I G M P定位一直是一件很棘手的事情。在图1 - 4中,把它们与I P放在同一层上,那是因为事实上它们是I P的附属协议。但是在这里,我们又把它们放在I P层的上面,这是因为ICMP和IGMP报文都被封装在IP数据报中。对于A R P和R A R P,我们也遇到类似的难题。在这里把它们放在以太网设备驱动程序的上方,这是因为它们和I P数据报一样,都有各自的以太网数据帧类型。但在图 2 - 4中,我们又把A R P作为以太网设备驱动程序的一部分,放在 I P层的下面,其原因在逻辑上是合理的。

  这些分层协议盒并不都是完美的。
  当进一步描述T C P的细节时,我们将看到协议确实是通过目的端口号、源 I P地址和源端口
号进行解包的

posted @ 2021-01-19 13:44  无边落寞  阅读(118)  评论(0)    收藏  举报