《图解TCP/IP》读书笔记

1.计算机网络

计算机网络,根据其规模可分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网)

2.批处理

为了能让更多的人使用计算机,出现了批处理系统。所谓批处理,是指事先将用户程序和数据装入卡带或磁带,并由计算机按照一定的顺序读取,使用户所要执行的这些程序和数据能够一并批量得到处理的方式。

3.分时系统

继批处理系统之后,20世纪60年代出现了分时系统(TSS)。它是指多个终端与同一个计算机连接,允许多个用户同时使用一台计算机系统。

4.OSI参考模型

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

5.OSI协议与OSI参考模型

OSI(参考模型)将通信功能划为7个分层,称作OSI参考模型。OSI协议以OSI参考模型为基础界定了每个阶层协议和每个阶层之间接口相关的标准。遵循OSI协议的产品叫做OSI产品,而它们所遵循的通信则被成为OSI通信。

6.OSI参考模型中各个分层的作用

层数分层名称功能每层功能概览
7应用层针对特定应用的协议电子邮件、远程登录、文件传输等
6表示层设备固有数据格式和网络标准数据格式的转换接收不同表现形式的信息,如文字流、图像、声音等
5会话层通信管理。负责建立和断开通信连接。管理传输层以下的分层何时建立连接,何时断开连接以及保持多久的连接
4传输层管理两个节点之间的数据传输。负责可靠传输是否有数据丢失?
3网络层地址管理与路由选择经过哪个路由传递到目标地址?
2数据链路层互连设备之间传送和识别数据帧数据帧与比特流之间的转换
1物理层以“0”、“1”代表电压的高低、灯光的闪灭比特流与电子信号之间的转换

7.传输层与网络层的关系

在不同的网络体系结构下,网络层有时也不能保证数据的可达性。例如在相当于TCP/IP网络层的IP协议中,就不能保证数据一定会发送到对端地址。因此,数据传送过程中出现数据丢失、顺序混乱等问题可能性会大大增加。像这样没有可靠性传输要求的网络层中,可以由传输层负责提供“正确传输数据的处理”。TCP/IP中,网络层与传输层相互协作以确保数据包能够传送到世界各地,实现可靠传输。

8.数据链路层

通信传输实际上是通过物理的传输介质来实现的。数据链路层的作用就是在这些通过传输介质互连的设备之间进行数据处理。

9.物理层

物理层中,将数据0、1转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备之间使用地址实现传输。这种地址被称为MAC地址,也可称为物理地址或硬件地址。采用MAC地址,目的是为了识别连接到同一个传输介质上的设备。因此,在这一分层中将包含MAC地址信息的首部附加到从网络层转发过来的数据上,将其发送到网络。

10.传输方式的分类

  1. 面向有连接型与面向无连接型

    • 面向有连接型
面向有连接型中,在发送数据之前,需要在收发主机之间连接一条通信线路。

面向有连接型就好比人们平常打电话,输入完对方电话号码拨出之后,只有对端拿起电话才能真正通话,通话结束之后将电话机扣上就如同切断电源。因此在面向有连接的方式下,必须在通信传输前后,专门进行建立和断开连接的处理。如果对端之间无法通信,就可以避免发送无谓的数据。

- **面向无连接型**
面向无连接型则不要求建立和断开连接。发送端可于任何时候自由发送数据。反之,接收端也永远不知道自己会在何时从哪里接收到数据。因此,在面向无连接的情况下,接收端需要时常确认是否收到了数据。

在面向无连接的通信中,不需要确认对端是否存在。即使接收端不存在或无法接收数据,发送端也能将数据发送出去。
  1. 电路交换与分组交换

    目前,网络通信方式大致分为两种——电路交换和分组交换。电路交换技术的历史相对久远,主要用于过去的电话网。而分组交换技术则是一种较新的通信方式。TCP/IP正是采用了分组交换技术。

    在电路交换中,交换机主要负责数据的中转处理。计算机首先被连接到交换机上,而交换机与交换机之间则由众多通信线路再继续连接。因此计算机之间在发送数据时,需要通过交换机与目标主机建立通信电路。我们将连接电路称为建立连接。建立好连接之后,用户就可以一直使用这条电路,直到该连接被断开为止。

    如果某条电路只是用来连接两台计算机的通信线路,就意味着只需要在这两台计算机之间实现通信,因此这台计算机是可以独占线路进行数据传输的。但是,如果一条电路上连接了好多台计算机,而这些计算机之间需要相互传递数据,就会出现新的问题。鉴于一台计算机在收发信息时会独占整个电路,其他计算机只能等待这台计算机处理结束以后才有机会使用这条电路收发数据。并且在此过程中,谁也无法预测某一台计算机的数据传输从何时开始又在何时结束。如果并发用户数超过交换机之间的通信线路数,就意味着通信根本无法实现。

    为此人们想到了一个新的方法,即让连接到通信电路的计算机将所要发送的数据分成多个数据包,按照一定的顺序排列之后分别发送。这就是分组交换。有了分组交换,数据被细分后,所有的计算机就可以一齐收发数据,这样也就提高了通信线路的利用率。由于在分组过程中,已经在每个分组的首部写入了发送端和接收端的地址,所以即使同一条线路同时为多个用户提供服务,也可以明确区分每个分组数据发往的目的地,以及它与哪台计算机进行的通信。

    在分组交换中,由分组交换机(路由器)连接通信线路。分组交换的大致处理过程是:发送端计算机将数据分组发送给路由器,路由器收到这些分组数据以后,缓存到自己的缓冲区,然后再转发给目标计算机。因此,分组交换也有另一个名称:蓄积交换。

    路由器接受到数据以后会按照顺序缓存到相应的队列中,再以先进先出的顺序将它们逐一发送出去。

    在分组交换中,计算机与路由器之间以及路由器与路由器之间通常只有一条通信线路。因此,这条线路其实是一条共享线路。在电路交换中,计算机之间的传输速度不变。然而在分组交换中,通信线路的速度可能会有所不同。

  2. 根据接收端数量分类
    在网络通信当中,也可以根据目标地址的个数及其后续的行为对通信进行分类。如广播、多播等。

    • 单播:一对一通信。早先的固定电话就是单播通信的一个典型例子。
    • 广播:将消息从1台主机发送给与之相连的所有其他主机。广播通信的一个典型例子就是电视播放,它将电视信号一齐发送给非特定的多个接收对象。
    • 多播:多播与广播类似,也是将消息发给多个接收主机。不同之处在于多播要限定某一组主机作为接收端。多播通信最典型的例子就是电视会议,这是由多组人在不同的地方参加的一种远程会议。在这种形式下,会由一台主机发送消息给特定的多台主机。
    • 任播:任播是指在特定的多台主机中选出一台作为接收端的一种通信方式。任播通信从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。通常,所被选中的那台特定主机将返回一个单播信号,随后发送端主机会只跟这台主机进行通信。

11.地址

  1. 地址的唯一性
    在同一个通信网络中不允许有两个相同地址的通信主体存在。
  2. 地址的层次性
    MAC地址和IP地址在标识同一个通信主体时虽然都有唯一性,但是它们当中只有IP地址具有层次性。

    IP地址分层:一方面,IP地址由网络号和主机号两部分组成。即使通信主题的IP地址不同,若主机号不同,网络号相同,说明它们处于同一个网段。另一方面,网络号相同的主机在组织结构、提供商类型和地域分布上都比较集中,也为IP寻址带来了极大的方便。

12.网络的构成要素

设备作用
网卡使计算机连网的设备
中继器(Repeater)从物理层上延长网络的设备
网桥(Bridge)/2层交换机从数据链路层上延长网络的设备
路由器(Router)/3层交换机通过网络层转发分组数据的设备
4~7层交换机处理传输层以上各层网络传输的设备
网关(Gateway)转换协议的设备

13.传输速率与吞吐量

在数据传输的过程中,两个设备之间数据流动的物理速度称为传输速率。从严格意义上讲,各种传输媒介中信号的流动速度是恒定的。因此,即使数据链路的传输速率不相同,也不会出现传输的速度忽快忽慢的情况。传输速率高也不是指单位数据流动的速度有多快,而是指单位时间内传输的数据量有多少。

传输速率又称为带宽,带宽越大网络传输能力越强。

此外,主机之间实际的传输速率被称为吞吐量。其单位与带宽相同,都是bps。

14.中继器

中继器是在OSI模型的第一层——物理层面上延长网络的设备。由电缆传过来的电信号或光信号经由中继器的波形调整和放大再传给另一个电缆。

  • 中继器是对减弱的信号进行放大和发送的设备。
  • 中继器通过物理层的连接延长网络。
  • 即使在数据链路层出现某些错误,中继器仍然转发数据。
  • 中继器无法改变传输速度。

一般情况下,中继器的两端连接的是相同的通信媒介,但有的中继器也可以完成不同媒介之间的转接工作。然而,在这种情况下,中继器也只是单纯负责信号在0和1比特流之间的替换,因此不能在传输速度不同的媒介之间转发。

15.网桥/2层交换机

  • 网桥根据数据帧的内容转发数据给相邻的其他网络
  • 网桥没有连接网段个数的限制
  • 网桥基本上只用于连接相同类型的网络。但是有时也可以连接传输速率不同的网络。

16.路由器/3层交换机

  • 路由器是连接网络与网络的设备
  • 可以将分组报文发送给另一个目标路由器地址
  • 基本上可以连接任意两个数据链路

路由器是在网络层面上连接两个网络、并对分组报文进行转发的设备。网桥是根据物理地址(MAC地址)进行处理,而路由器/3层交换机则是根据IP地址进行处理的。由此,TCP/IP中网络层的地址就成为了IP地址。

17.4~7层交换机

4~7层交换机负责处理OSI模型中从传输层至应用层的数据。如果用TCP/IP分层模型来表述,4~7层交换机就是以TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理。

  • 负载均衡器就是4~7层交换机的一种。
  • 带宽控制也是4~7层交换机的重要功能之一。
  • 广域网加速器、特殊应用访问加速以及防火墙等也是4~7层交换机的应用。

18.网关

  • 网关负责协议的转换与数据的转发
  • 在同一种类型的协议之间转发数据叫做应用网关

网关是OSI参考模型中负责将从传输层到应用层的数据进行转换和转发的设备。它与4~7层交换机一样都是处理传输层及以上的数据,但是网关不仅转发数据还负责对数据进行转换,它通常会使用一个表示层或应用层网关,在两个不能进行直接通信的协议之间进行翻译,最终实现两者之间的通信。

  • 在使用万维网时,为了控制网络流量以及出于安全的考虑,有时会使用代理服务器。这种代理服务器也是网关的一种,称为应用网关。
  • 防火墙就是一款通过网关通信,针对不同应用提高安全性的产品。

19.TCP/IP协议分层模型

TCP/IP协议分层模型包括:硬件(物理层)、网络接口层(数据链路层)、互联网层(网络层)、传输层、应用层

  • 硬件(物理层):TCP/IP的最底层是负责数据传输的硬件。这种硬件就相当于以太网或电话线路等物理层的设备。
  • 网络接口层(数据链路层):网络接口层利用以太网中的数据链路层进行通信,因此属于接口层。
  • 互联网层:互联网层使用IP协议,它相当于OSI模型中的第3层网络层。IP协议基于IP地址转发分包数据。TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供。尤其是路由器,它必须得实现通过互联网层转发分组数据包的功能。此外,连接互联网的所有主机跟路由器必须都实现IP的功能。其他连接互联网的网络设备(如网桥、中继器或集线器)就没有必要一定实现IP或TCP的功能。

    • IP:IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP协议使数据能够发送到地球的另一端。
    • ICMP:IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发生异常的通知。ICMP就是为这个功能而定制的。
    • ARP:从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协议。
  • 传输层传输层最主要的功能就是能够让应用程序之间实现通信。计算机内部,通常同一时间运行着多个程序。为此,必须分清是哪些程序与哪些程序在进行通信。

    • TCP:TCP是一种面向有连接的传输层协议。它可以保证两端通信主机之间的通信可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外,TCP还能够有效利用带宽,缓解网络拥堵。
    • UDP:UDP有别于TCP,它是一种面向无连接的传输层协议。UDP不会关注对端是否真的收到了传送过去的数据,如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。UDP通常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。
  • 应用层

    • 电子邮件:发送电子邮件时用到的协议叫做SMTP。最初,只能发送文本格式的电子邮件。然而现在,电子邮件的格式由MIME协议扩展以后,就可以发送声音、图像等各式各样的信息。这里提到的MIME协议属于OSI参考模型的第6层——表示层。
    • 文件传输(FTP):文件传输是指将保存在其他计算机硬盘上的文件转移到本地的硬盘上,或将本地硬盘的文件传送到其他机器硬盘上的意思。该过程使用的是FTP协议,传输过程中可以选择用二进制形式还是文本方式。在FTP中进行文件传输的时候会建立2个TCP连接,分别是发出传输请求时所要用到的控制连接与实际传输数据时所要用到的数据连接。
    • 远程登录(TELLNET与SSH):远程登录是指登录到远程的计算机上,使那台计算机上的程序得以运行的一种功能。TCP/IP网络中远程登录常用TELNET和SSH两种协议。
    • 网络管理(SNMP):在TCP/IP中进行网络管理时,采用SNMP协议。使用SNMP管理的主机、网桥、路由器等称作SNMP代理,而进行管理的那一段叫做管理器。

20.数据包

网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上层传过来的数据。首部的结构由协议的具体规范详细定义。

21.发送数据包

  1. 应用程序处理:应用在发送邮件的那一刻建立TCP连接,从而利用这个TCP连接发送数据。它的过程首先是将应用的数据发送给下一层的TCP,再做实际的转发处理。
  2. TCP模块的处理:TCP根据应用的指示,负责建立连接、发送数据以及断开连接。TCP提供将应用层发来的数据顺利发送至对端的可靠传输。为了实现TCP这一功能,需要在应用层数据的前端附加一个TCP首部。TCP首部包括源端口号和目标端口号(用以识别发送主机跟接收主机上的应用)、序号(用以表示该包中数据是发送端整个数据中第几字节的序列号)以及校验和(用以判断数据是否被损坏)。随后将附加了TCP首部的包再发送给IP。
  3. IP模块的处理:IP将TCP传过来的TCP首部和TCP数据合起来当做自己的数据,并在TCP首部的前端再加上自己的IP首部。因此,IP数据包中IP首部后面紧跟着TCP首部,然后才是应用的数据首部和数据本身。IP首部中包含接收端IP地址以及发送端IP地址。紧随IP首部的还有用来判断其后面是数据是TCP还是UDP的信息。IP包生成后,参考路由控制表决定接受此IP包的路由或主机。随后,IP包将被发送给连接这些路由器或是主机网络接口的驱动程序,以实现真正发送数据。如果尚不知道接收端的MAC地址,可以利用ARP查找。
  4. 网络接口(以太网驱动)的处理:从IP传过来的IP包,对于以太网驱动来说不过就是数据。给这数据附加上以太网首部并进行发送处理。以太网首部包含接收端MAC地址、发送端MAC地址以及标志以太网类型的以太网数据的协议。根据上述信息产生的以太网数据包将通过物理层传输给接收端。

22.数据链路的段

数据链路的段是指一个被分割的网络。然而根据使用者不同,其含义也不尽相同。

23.网络拓扑

网络的连接和构成的形态成为网络拓扑。网络拓扑包括总线型、环型、星型、网状型等。拓扑一词不仅用于直观可见的配线方式上,也用于逻辑上网络的组成结构。

24.MAC地址

MAC地址用于识别数据链路中互连的节点。MAC地址长48比特,在使用网卡的情况下,MAC地址一般会被烧入ROM中。因此,任何一个网卡的MAC地址都是唯一的,在全世界都不会重复。

25.共享介质型网络

从通信介质的使用方法上看,网络可分为共享介质型和非共享介质型。

共享介质型网络指由多个设备共享一个通信介质的一种网络。最早的以太网和FDDI就是介质共享型网络。在这种方式下,设备之间使用同一个载波信道进行发送和接收。为此,基本上采用半双工通信方式,并有必要对介质进行访问控制。

共享介质型网络中有两种介质访问控制方式:一种是争用方式,另一种是令牌传递方式。

  • 争用方式:争用方式是指争夺获取数据传输的权利,也叫CSMA(载波监听多路访问)。这种方法通常令网络中的各个站采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象。也因此会导致网络拥堵与性能下降。
  • 令牌传递方式:令牌传递方式是沿着令牌环发送一种叫做“令牌”的特殊报文,是控制传输的一种方式。只有获得令牌的站才能发送数据。这种方式有两个特点:一是不会有冲突,二是每个站都有通过平等循环获得令牌的机会。因此,即使网络拥堵也不会导致性能下降。当然,这种方式中,一个站在没有收到令牌前不能发送数据帧,因此在网络不太拥堵的情况下数据链路的利用率也就达不到100%.

26.非共享介质网络

非共享介质网络是指不共享介质,是对介质采取专用的一种传输控制方式。在这种方式下,网络中的每个站直连交换机,由交换机负责转发数据帧。此方式下,发送端与接收端并不共享通信介质,因此很多情况下采用全双工通信方式。

27.半双工与全双工通信

  • 半双工:半双工是指,只发送或只接收的通信方式。它类似于无线电收发器,若两端同时说话,是听不见对方说话的。
  • 全双工:全双工允许在同一时间内既可以发送数据也可以接收数据。类似于电话,接打双方可以同时说话。

28.根据MAC地址转发

以太网交换机就是持有多个端口的网桥。它们根据数据链路层中每个帧的目标MAC地址,决定从哪个网络接口发送数据。这时所参考的、用以记录发送接口的表就叫做转发表。由于MAC地址没有层次性,转发表中的入口个数与整个数据链路中所有网络设备的数量有关。当设备数量增加时,转发表也会随之变大,检索转发表所用的时间也就越来越长。当连接多个终端时,有必要将网络分成多个数据链路,采用类似于网络层的IP地址一样对地址进行分层管理。

29.交换机转发方式

  • 存储转发:存储转发方式检查以太网数据帧末尾的FCS位后再进行转发。因此,可以避免发送由于冲突而被破坏的帧或噪声导致的错误帧。
  • 直通转发:直通转发方式中不需要将整个帧全部接收下来以后再进行转发。只需要得知目标地址即可开始转发。因此,它具有延迟较短的优势。但同时也不可避免地有发送错误帧的可能性。

30.PPP

PPP定义:PPP(Point-to-Point Protocol)是指点对点,即1对1连接计算机的协议。PPP相当于位于OSI参考模型第二层的数据链路层。

31.LCP与NCP

在开始进行数据传输前,要先建立一个PPP级的连接。当这个连接建立以后,就可以进行身份认证、压缩与加密。

在PPP的主要功能中包括两个协议:一个是不依赖于上层的LCP协议,另一个是依赖上层的NCP协议。如果上层为IP,此时的NCP也叫做IPCP。

LCP主要负责建立和断开连接、设置最大接收单元、设置验证协议以及设置是否进行通信质量的监控。

IPCP则负责IP地址设置以及是否进行TCP/IP首部压缩等设置。

32.IP即网际协议

TCP/IP的心脏是互联网层。这一层主要由IP和ICMP两个协议组成。

IP(IPv4、IPv6)相当于OSI参考模型中的第3 层——网络层。
网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“点对点通信”。

33.IP基础知识

IP大致分为三大作用模块,它们是IP寻址、路由以及IP分包与组包。

  • IP地址属于网络层地址。在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。IP地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”。
  • 路由控制:路由控制是指将分组数据发送到最终目标地址的功能。即使网络非常复杂,也可以通过路由控制确定到达目标地址的通路。一个数据包之所以能够成功到达最终的目标地址,全靠路由控制。
  • IP属于面向无连接型。即在发包之前,不需要建立与对端目标地址之间的连接。上层如果遇到需要发送给IP的数据,该数据会立即被压缩成IP包发送出去。
  • 在面向有连接的情况下,需要事先建立连接。如果对端主机关机或不存在,也就不可能建立连接。反之,一个没有建立连接的主机也不可能发送数据过来。

34.为什么IP要采用面向无连接

  • 为了简化。面向连接比起面向无连接处理相对复杂。
  • 为了提速。每次通信之前事先建立连接,会降低处理速度。

35.IP地址的基础知识

  • IP地址并非是根据主机台数来配置的,而是每一台主机上的每一块网卡都得设置IP地址。
  • IP地址由“网络地址”和“主机地址”两部分组成。
  • IP地址的“主机标识”不允许在同一个网段内重复出现。
  • 相同网段内相连的主机必须有相同的网络地址。

36.IP地址的分类

  • A类:0.0.0.0~127.0.0.0,A类地址的后24位相当于主机地址。A类地址首部以0开头。
  • B类:128.0.0.0~191.255.0.0,B类地址的后16位相当于主机地址。B类地址首部以10开头。
  • C类:C类IP地址是前三位为110的地址,192.0.0.0~239.255.255.0.C类地址后8位相当于主机地址。
  • D类:D类IP地址是前4位为1110。224.0.0.0~239.255.255.255。D类地址没有主机标识,常被用于多播。

37.广播地址

广播地址用于在同一个链路中相互连接的主机之间发送数据包。将IP地址中的主机地址部分全部设置为1,就成了广播地址。

38.IPv6的必要性

IPv6是为了根本解决IPv4地址耗尽的问题而被标准化的网际协议。IPv4的地址长度为4个8位字节,即32比特。而IPv6的地址长度则是原来的4倍,即128比特,一般写成8个16位字节。

39.DNS

我们平常在访问某个网站时不使用IP地址,而是用一串由罗马字和点号组成的字符串。而一般用户在使用TCP/IP进行通信时也不使用IP地址。能够这样做是因为有了DNS功能的支持。DNS可以将那字符串自动转换为具体的IP地址。

在应用中,当用户输入主机名(域名)时,DNS会自动检索那个注册了主机名和IP地址的数据库,并迅速定位对应的IP地址。而且,如果主机名和IP地址需要进行变更时,也只需要在组织机构内部进行处理即可,而没有必要再向其他机构进行申请或报告。

40.ARP

只要确定了IP地址,就可以向这个目标地址发送IP数据报。然而,在底层数据链路层,进行实际通信时却有必要了解每个IP地址所对应的MAC地址。

ARP是一种解决地址问题的协议。以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。如果目标主机不在同一个链路上时,可以通过ARP查找下一跳路由器的MAC地址。不过ARP只适用于IPv4.

ARP是借助于ARP请求和ARP响应两种类型的包确定MAC地址的。

41.RARP

将ARP反过来,从MAC地址获取IP地址。

42.ICMP

ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。

主要的ICMP消息

  • ICMP目标不可达消息
  • ICMP重定向消息
  • ICMP超时消息
  • ICMP回送消息:用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息。网络上最常用的命令Ping就是利用这个消息实现的。

43.DHCP

为了实现自动设置IP地址、统一管理IP地址分配,就产生了DHCP协议。有了DHCP,计算机只要连接到网络,就可以进行TCP/IP通信。也就是说,DHCP让即插即用变得可能。

44.NAT

NAT是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。

45.TCP

TCP是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排水管道中的水流。当应用程序采用TCP发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。

TCP为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流量控制”、“拥塞控制”、提高网络利用率等众多功能。

46.UDP

UDP是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在UDP的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。

UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。

即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为。此外,传输途中即使出现丢包,也不会重发。

47.TCP的特点及其目的

TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。

48.TCP控制位

  • ACK:该位为1时,确认应答的字段变为有效。TCP规定除了最初建立链接时的SYN包之外该位必须设置为1.
  • SYN:用于建立连接。SYN为1表示希望建立连接,并在其序列号的字段进行序列号初始值的设定。
  • CWR:CWR标志与后面的ECE标志都用于IP首部的ECN字段。ECN标志为1时,则通知对方已将拥塞窗口缩小。
  • ECE:置为1会通信对方,从对方到这边的网络有拥塞。在收到数据包的IP首部中ECN为1时将TCP首部中的ECE设置为1。
  • URG:该位为1时,表示包中有需要紧急处理的数据。
  • RST:该位为1 时表示TCP连接中出现异常必须强制断开连接。
  • FIN:该位为1 时,表示今后不会再有数据发送,希望断开连接。

49.IP地址与路由控制

互联网是由路由器连接的网络组合而成的。为了能让数据包正确的到达目标主机,路由器必须在途中进行正确的转发。这种向“正确的方向”转发数据所进行的处理就叫做路由控制或路由。

路由器根据路由控制表转发数据包。它根据所收到的数据包中目标主机的IP地址与路由控制表的比较得出下一个应该接收的路由器。因此,这个过程中路由控制表的记录一定要正确无误。

50.TELNET

TELNET利用TCP的一条连接,通过这一条连接向主机发送文字命令并在主机上执行。

TELNET可以分为两类基本服务。一是仿真终端功能,二是协商选项机制。

TELNET经常用于登录路由器或高性能交换机等网络设备进行相应的设置。

51.SSH

SSH是加密的远程登录系统。TELNET中登录时无需输入密码就可以发送,容易造成通信窃听和非法入侵的危险。使用SSH后可以加密通信内容。即使信息被窃听也无法破解所发送的密码、具体命令以及命令返回的结果是什么。

SSH还包括很多非常方便的功能:

  • 可以使用更强的认证机制。
  • 可以转发文件。
  • 可以使用端口转发功能。

52.文件传输

FTP协议使用两条TCP连接:一条用来控制,另一条用于数据(文件)的传输。

数据传输用的TCP连接通常使用端口20.

53.电子邮件的工作机制

提供电子邮件服务的协议叫做SMTP,SMTP为了实现高效发送邮件内容,在其传输层使用了TCP协议。

SMTP使用的是TCP的25号端口。

54.SNMP

在TCP/IP的网络管理中可以使用SNMP收集必要的信息。它是一款基于UDP/IP的协议。

    原文作者:TCP
    原文地址: https://segmentfault.com/a/1190000005863675
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞