《TCP/IP详解卷1:协议》第1章 概述-读书笔记 转载 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记 《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读

章节回顾:html

《TCP/IP详解卷1:协议》第1章 概述-读书笔记数据库

《TCP/IP详解卷1:协议》第2章 链路层-读书笔记安全

《TCP/IP详解卷1:协议》第3章 IP:网际协议(1)-读书笔记服务器

《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记网络

《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记并发

《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记post

《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记url

《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读书笔记spa

《TCP/IP详解卷1:协议》第1七、18章 TCP:传输控制协议(1)-读书笔记操作系统

《TCP/IP详解卷1:协议》第1七、18章 TCP:传输控制协议(2)-读书笔记

《TCP/IP详解卷1:协议》第19章 TCP的交互数据流-读书笔记

 

一、引言

不少不一样的厂家生产各类型号的计算机,它们运行彻底不一样的操做系统,但TCP/IP协议族容许它们互相进行通讯。TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。

 

二、分层

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

每一层负责不一样的功能:

(1)链路层

也称做数据链路层或网络接口层。一般包括操做系统中的设备驱动程序和计算机中对应的网络接口卡。它们一块儿处理与电缆(或其余任何传输媒介)的物理接口细节。

(2)网络层

也称做互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。

(3)运输层

为两台主机上的应用程序提供端到端的通讯。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。

TCP为两台主机提供高可靠性的数据通讯。它所作的工做包括把应用程序交给它的数据分红合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。UDP为应用层提供一种很是简单的服务。它只是把称做数据报的分组从一台主机发送到另外一台主机,但并不保证该数据报能到达另外一端。

(4)应用层

处理特定的应用程序细节。例如:Telnet远程登陆、FTP文件传输协议、SMTP简单邮件传送协议,SNMP简单网络管理协议等。

 

假设在一个局域网(LAN)如以太网中有两台主机,两者都运行FTP协议,图1-2列出了该过程所涉及到的全部协议。

说明:

(1)大多数网络应用程序都被设计成客户-服务器模式,服务器为客户提供某种服务。

(2)在同一层上,双方都有对应的一个或多个协议进行通讯。

(3)应用程序一般是一个用户进程,而下三层则通常在(操做系统)内核中执行。

(4)应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理全部的通讯细节。

 

在图1-3中,能够划分出端系统(两边的两台主机)和中间系统(中间的路由器)。应用层和运输层使用端到端协议。网络层提供的是逐跳协议,点到点的服务。两个端系统和每一个中间系统都要使用它。

链接网络的另外一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。网桥使得多个局域网组合在一块儿,这样对上层来讲就好像是一个局域网。

 

三、TCP/IP的分层

说明:

(1)TCP和UDP是运输层协议,两者都使用IP做为网络层协议。虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。UDP为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息单元。UDP是不可靠的,它不能保证数据报能安全无误地到达最终目的。

(2)IP是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都经过端系统和每一个中间路由器中的IP层在互联网中进行传输。

(3)ICMP是IP协议的附属协议,IP层用它来与其余主机或路由器交换错误报文和其余重要信息。IGMP是Internet组管理协议,它用来把一个UDP数据报多播到多个主机。

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

 

四、互联网的地址

互联网上的每一个接口必须有一个惟一的Internet地址(也称做IP地址)。IP地址长32bit。IP地址具备必定的结构,五类不一样的互联网地址格式如图1-5所示。

说明:

(1)多接口主机具备多个IP地址,其中每一个接口都对应一个IP地址。

(2)有三类IP地址:单播地址(目的端为单个主机)、广播地址(目的端为给定网络上的全部主机)以及多播地址(目的端为同一组内的全部主机)。

 

五、域名系统

在TCP/IP领域中,域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。

 

六、封装

当应用程序用TCP传送数据时,数据被送入协议栈中,而后逐个经过每一层直到被看成一串比特流送入网络。其中每一层对收到的数据都要增长一些首部信息(有时还要增长尾部信息)。如图1-7所示。

说明:

(1)TCP传给IP的数据单元称做TCP报文段或简称为TCP段。IP传给网络接口层的数据单元称做IP数据报。经过以太网传输的比特流称做帧。

(2)以太网数据帧的物理特性是其长度必须在46~1500字节之间。

(3)UDP数据与TCP数据基本一致。惟一的不一样是UDP传给IP的信息单元称做UDP数据报,并且UDP的首部长为8字节。

 

七、分用

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

 

八、客户-服务器模型

大部分网络应用程序在编写时都假设一端是客户,另外一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。服务分为两种类型:重复型和并发型。

(1)重复型服务器

1)等待一个客户请求的到来。
2)处理客户请求。
3)发送响应给发送请求的客户。
4)返回1)步。

重复型服务器主要的问题发生在2)状态。在这个时候,它不能为其余客户机提供服务

 

(2)并发型服务器

1)等待一个客户请求的到来。
2)启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操做系统的支持。这个步骤如何进行取决于操做系统。生成的新服务器对客户的所有请求进行处理。处理结束后,终止这个新服务器。

3)返回1)步。

并发服务器的优势在于它是利用生成其余服务器的方法来处理客户的请求。每一个客户都有它本身对应的服务器。若是操做系统容许多任务,那么就能够同时为多个客户服务。

说明:

(1)对服务器,而不是对客户进行分类的缘由是由于对于一个客户来讲,它一般并不可以辨别本身是与一个重复型服务器或并发型服务器进行对话。

(2)通常来讲,TCP服务器是并发的,而UDP服务器是重复的,但也存在一些例外。

 

九、端口号

TCP和UDP采用16bit的端口号来识别应用程序。服务器通常都是经过知名端口号来识别的。任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号。

说明:

(1)客户端一般对它所使用的端口号并不关心,只需保证该端口号在本机上是惟一的就能够了。客户端口号又称做临时端口号(即存在时间很短暂)。这是由于它一般只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。

(2)Unix系统有保留端口号的概念。只有具备超级用户特权的进程才容许给它本身分配一个保留端口号。这些端口号介于1~1023之间。

(3)大多数Unix系统的文件 /etc/services都包含了人们熟知的端口号。若是你想找到某个应用的端口号,能够执行如下命令(以Telnet为例):

 

十、标准的简单服务

 

十一、其余说明

(1)全部关于Internet的正式标准都以RFC(Request for Comment)文档出版。大量的RFC并非正式的标准,出版的目的只是为了提供信息。

(2)internet这个词第一个字母是否大写决定了它具备不一样的含义。internet意思是用一个共同的协议族把多个网络链接在一块儿。而Internet指的是世界范围内经过TCP/IP互相通讯的全部主机集合。Internet是一个internet,但internet不等于Internet。

相关文章
相关标签/搜索