Tcp/Ip详解 读书笔记 第1到4章

来源:互联网 发布:小伽秀软件下载 编辑:程序博客网 时间:2024/05/26 15:55

第1 章:综述

1 分层:网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如T C P / I P,是一组不同层次上的多个协议的组合。T C P / I P通常被认为是一个四层协议系统。


一般应用程序是一个用户进程,而下面三层一般在(操作系统)内核中执行。

2 应用层,运输层区别于网络层:(1)在下图中:我们可以划分出端系统(End system)(两边的两台主机)和中间系统(Intermediate system)(中间的路由器)。应用层和运输层使用端到端(En d - t o - e n d)协议。在图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳(Ho p - b y - h o p)协议,两个端系统和每个中间系统都要使用它。(2)在T C P / I P协议族中,网络层I P提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,T C P在不可靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务,T C P采用了超时重传、发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。


3 TCP/IP协议族:


4 IP地址:网络上每一个节点都必须有一个独立的Internet地址(也叫做IP地址)。现在,通常使用的IP地址是一个32bit的数字,也就是我们常说的IPv4标准,这32bit的数字分成四组,也就是常见的255.255.255.255的样式。IPv4标准上,地址被分为五类,我们常用的是B类地址。具体的分类请参考其他文档。需要注意的是IP地址是网络号+主机号的组合,这非常重要。

域名系统:它是一个分布式数据库,由它来提供IP地址和主机名之间的映射信息

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


一些细节:由于T C PU D PI C M PI G M P都要向I P传送数据,因此I P必须在

生成的I P首部中加入某种标识,以表明数据属于哪一层。为此,I P在首部中存入一个长度为8 b i t的数值,称作协议域。1表示为I C M P协议,2表示为I G M P协议,6表示为T C P协议,1 7表示为U D P协议。

类似地,许多应用程序都可以使用T C PU D P来传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符。T C PU D P都用一个1 6 b i t的端口号来表示不同的应用程序T C PU D P把源端口号和目的端口号分别存入报文首部中。

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

分用

每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议,这个过程称为分用。


客户-服务器模型:重复型或并发型。一般来说UDP服务器是重复的,TCP服务器是并发的。

端口号:T C PU D P采用16 bit的端口号来识别应用程序,服务器一般都是通过知名端口号来识别的。客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。




第 2章:链路层

链路层的作用:(1)为I P模块发送和接收I P数据报;(2)为A R P模块发送A R P请求和接收A R P应答;(3)为R A R P发送R A R P请求和接收R A R P应答。

以太网:它是当今T C P / I P采用的主要的局域网技术。这个标准里面使用了一种称作CSMA/CD(带冲突检测的载波侦听多路接入技术)的接入方法。

环回接口:大多数的产品都支持环回接口(LoopbackInterface),以允许运行在同一台主机上的客户程序和服务器程序通过T C P /I P进行通信。A类网络号1 2 7就是为环回接口预留的(127.0.0.1也即是localhost)。

环回接口处理IP数据报的过程:


图中需要指出的关键点是:

1)传给环回地址(一般是1 2 7 . 0 . 0 . 1)的任何数据均作为I P输入。

2)传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是

因为广播传送和多播传送的定义(第1 2章)包含主机本身。

3 )任何传给该主机I P地址的数据均送到环回接口。

最大传输单元MTU和路径MTU

1 MTU:以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 01 4 9 2字节。链路层的这个特性称作M T U,最大传输单元。不同类型的网络大多数都有一个上限。

路径MTU:两台通信主机路径中的最小M T U。它被称作路径M T U



第 3章:IP:网际协议

1 IP首部字段:

(1  T T Lt i m e - t o - l i v e)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。T T L的初始值由源主机设置(通常为3 26 4),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,数据报就被丢弃,并发送I C M P报文通知源主机。第8章我们Tr a ce r o u t e程序使用了该字段。

(2  首部检验和字段是根据I P首部计算的检验和码。它不对首部后面的数据进行计算。I C M PI G M PU D PT C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。

计算细节

为了计算一份数据报的I P检验和,首先把检验和字段置为0。然后,对首部中每个16 bit进行二进制反码求和(整个首部看成是由一串16 bit的字组成),结果存在检验和字段中。当收到一份I P数据报后,同样对首部中每个16 bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1。如果结果不是全1(即检验和错误),那么I P就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传

2 IP 选路:

1从概念上说,I P路由选择是简单的,特别对于主机来说。如果目的主机与源主机直接相连(如点对点链路)或都在一个共享网络上(以太网或令牌环网),那么I P数据报就直接送到

目的主机上。否则,主机把数据报发往一默认的路由器上,由路由器来转发该数据报。大多

数的主机都是采用这种简单机制。

I P路由选择主要完成以下这些功能:

1) 搜索路由表,寻找能与目的I P地址完全匹配的表目(网络号和主机号都要匹配)。如果

找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口(取决于标志字段的值)。

2) 搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目

指定的下一站路由器或直接连接的网络接口(取决于标志字段的值)。目的网络上的所有主机都可以通过这个表目来处置。例如,一个以太网上的所有主机都是通过这种表目进行寻径的。这种搜索网络的匹配方法必须考虑可能的子网掩码。关于这一点我们在下一节中进行讨论。

3) 搜索路由表,寻找标为“默认(d e f a u l t)”的表目。如果找到,则把报文发送给该表目

指定的下一站路由器。(使用默认路由(网关)的时候,链路层的目的地址是网关的物理地址,目的IP地址是要到达主机的IP地址。)

子网掩码:IP地址的定义是网络号+主机号。但是现在所有的主机都要求子网编址,也就是说,把主机号在细分成子网号+主机号。最终一个IP地址就成为网络号码+子网号+主机号

例如一个B类地址:210.30.109.134。一般情况下,这个IP地址的红色部分就是网络号,而蓝色部分就是子网号,绿色部分就是主机号。至于有多少位代表子网号这个问题上,这没有一个硬性的规定,取而代之的则是子网掩码,校园网相信大多数人都用过,在校园网的设定里面有一个255.255.255.0的东西,这就是子网掩码。子网掩码是由32bit的二进制数字序列,形式为是一连串的1和一连串的0,例如:255.255.255.0(二进制就是11111111.11111111.11111111.00000000)对于刚才的那个B类地址,因为210.30是网络号,那么后面的109.134就是子网号和主机号的组合,又因为子网掩码只有后八bit0,所以主机号就是IP地址的后八个bit,就是134,而剩下的就是子网号码--109

关键点:给定IP地址和子网掩码后,主机就可以确定IP数据报的目的是(1)本子网上的主机;(2)本网络中其他子网中的主机;( 3)其他网络上的主机。具体判别方法:如果知道本机的I P地址,那么就知道它是否为A类、B类或C类地址(I P地址的高位可以得知),也就知道网络号和子网号之间的分界线。而根据子网掩码就可知道子网号与主机号之间的分界线。


第 4章:ARP地址解析协议:

1引入:当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48 bit的以太网地址来确定目的接口的。设备驱动程序从不检查I P数据报中的目的I P地址。地址解析为这两种不同的地址形式提供映射:32 bitI P地址和数据链路层使用的任何类型的地址。具体的解析工作:A R PI P地址到对应的硬件地址之间提供动态映射。


2过程A R P本来是用于广播网络的,有许多主机或路由器连在同一个网络上。(6 A R P发送一份称作A R P请求的以太网数据帧给以太网上的每个主机。这个过程称作广播,如图4 - 2中的虚线所示。A R P请求数据帧中包含目的主机的I P地址(主机名为b s d i),其意思是“如果你是这个I P地址的拥有者,请回答你的硬件地址。(7)目的主机的A R P层收到这份广播报文后,识别出这是发送端在寻问它的I P地址,于是发送一个A R P应答这个A R P应答包含I P地址及对应的硬件地址。(8收到A R P应答后,使A R P进行请求—应答交换的I P数据报现在就可以传送了


3分组报文(见下图):目的以太网地址全为1的是广播地址。帧类型:0x806表示ARP请求或应答。Op字段指出四种类型它们是A R P请求(值为1)、A R P应答(值为2)、R A R P请求(值为3)和R A R P应答(值为4

一个细节:这里以太网包含的是ARP请求/应答数据而不是IP数据

对于一个A R P请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收

到一份目的端为本机的A R P请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。


4 arp高速缓存

A R P高效运行的关键是由于每个主机上都有一个A R P高速缓存。这个高速缓存存放了最

I n t er n e t地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为2 0分钟,起始时间从被创建时开始算起。


0 0
原创粉丝点击