萌新级TCP/IP基本概念

defeatempty   ·   发表于 2018-7-16   ·   技术文章投稿区

萌新级TCP/IP基本概念,大佬勿喷。

——掌控者最强

概述

TCP/IP协议(Transfer Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,它包括上百个各种功能的协议, 如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP 是Internet协议簇,而不单单是TCP和IP。

 TCP/IP协议的基本传输单位是数据包(Datagram)。TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头; IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方。如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。

总之,IP协议保证数据的传输,TCP协议保证数据传输的质量。

1,TCP/IP的分层

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合 TCP/IP通常被认为是一个四层协议系统,如图所示。

每一层负责不同的功能:

1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在 T C P / I P协议族中,网络层协议包括 I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。
3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在 T C P / I P协议族中,有两个互不相同的传输协议:T C P(传输控制协议)和U D P(用户数据报协议)。 T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面,U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的 T C P / I P实现都会提供下面这些通用的应用程序: 链路层 设备驱动程序及接口卡 Telnet、FTP和e-mail等 TCP和UDP IP、ICMP和IGMP • Telnet 远程登录。 • FTP 文件传输协议。 • SMTP 简单邮件传送协议。 • SNMP 简单网络管理协议。另外还有许多其他应用. 假设在一个局域网( L A N)如以太网中有两台主机,二者都运行 F T P协议,图列出了该过程所涉及到的所有协议。

2,互联网的地址

互联网上的每个接口必须有一个唯一的 I n t e r n e t地址(也称作I P地址)。I P地址长32 bit。 I n t e r n e t地址并不采用平面形式的地址空间,如 1、2、3等。I P地址具有一定的结构,五类不同的互联网地址格式如图所示。

这些3 2位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法”。
例如,小编我的系统就是一个B类地址,它表示为:1 4 0 . 2 5 2 . 1 3 . 3 3。区分各类地址的最简单方法是看它的第一个十进制整数。

如图列出了各类地址的起止范围,其中第一个十进制整数用加黑字体表示。需要再次指出的是,多接口主机具有多个 I P地址,其中每个接口都对应一个I P地址。由于互联网上的每个接口必须有一个唯一的 I P地址,因此必须要有一个管理机构为接入互联网的网络分配I P地址。

这个管理机构就是互联网络信息中心,称作I n t e r N I C。I n t e r N I C只分配网络号。主机号的分配由系统管理员来负责。

有三类I P地址:单播地址(目的为单个主机)、广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机)。
如图给出了几个特殊的I P 地址:主机号和网络号为全0或全1。(这里就不多再介绍。)

3,封装

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

图中帧头和帧尾下面所标注的数字是典型以太网帧首部的字节长度。U D P数据与T C P数据基本一致。唯一的不同是 U D P传给I P的信息单元称作 U D P数据报(UDP datagram),而且U D P的首部长为8字节。

由于T C P、U D P、I C M P和I G M P都要向I P传送数据,因此I P必须在生成的I P首部中加入某种标识,以表明数据属于哪一层。为此, I P在首部中存入一个长度为 8 b i t的数值,称作协议域。类似地,许多应用程序都可以使用 T C P或U D P来传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符。 T C P和U D P都用一个1 6 b i t的端口号来表示不同的应用程序。 T C P和U D P把源端口号和目的端口号分别存入报文首部中。网络接口分别要发送和接收 I P、A R P和R A R P数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个 16 bit的帧类型域。

4,客户-服务器模型

大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。

可以将这种服务分为两种类型:重复型或并发型。
重复型服务器通过以下步骤进行交互:
A1. 等待一个客户请求的到来。
A2. 处理客户请求。
A3. 发送响应给发送请求的客户。
A4. 返回A1步。
重复型服务器主要的问题发生在A2状态。在这个时候,它不能为其他客户机提供服务。相应地,并发型服务器采用以下步骤: C1. 等待一个客户请求的到来。
C2. 启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操作系统的支持。这个步骤如何进行取决于操作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。
C3. 返回C 1步。
并发服务器的优点在于它是利用生成其他服务器的方法来处理客户的请求。也就是说,每个客户都有它自己对应的服务器。如果操作系统允许多任务,那么就可以同时为多个客户服务。

对服务器,而不是对客户进行分类的原因是因为对于一个客户来说,它通常并不能够辨别自己是与一个重复型服务器或并发型服务器进行对话。一般来说,T C P服务器是并发的,而 U D P服务器是重复的,但也存在一些例外。(这里不多做介绍。)


打赏我,让我更有动力~

1 Reply   |  Until 2018-7-16 | 1210 View

defeatempty
发表于 2018-7-16

大佬勿喷。

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content
返回顶部

掌控者 © 2016. All Rights Reserved. 掌控者

Powered by 掌控者 Version 2.1.3