TCP/IP 协议卷1个人总结(1)
目录
1章 概述1
2章 链路层2
3章 网际协议4
4 章 ARP8
5章 RARP8
6章 ICMP9
7 章 ping 程序10
8 章 Traceroute 程序10
9 章 IP选路11
10 章 动态选路协议12
11 章 UDP 用户数据报协议14
12 章 多播和广播15
13 章 IGMP:Internet组管理协议15
17 章 TCP 传输控制协议15
1章 概述
1.TCP/IP协议族中的不同层次的协议
2.计算最多有多少个A类、B类和C类网络号
答案:27-2 = 126 214-2 = 16382 221-2 = 2097150
126+16382+2097150 = 2113658
3.TCP/IP协议族:网络接口层、网际层、传输层、应用层
网际层提供点到点服务
传输层提供端到端服务
4.各类IP地址范围
2章 链路层
1..以太网帧格式
1个标准以太网帧是64字节,最大是1518个字节
疑问:IP包有可能小于46?这时应该。。。
2.PPP三部分:
1)在串行链路上封装IP数据报的方法
2)建立、配置及测试数据链路的链路控制协议(LCP)
3)针对不同网络层协议的网络控制协议(NCP)
3.一个传给环回接口的IP数据包不能在任何网络上出现。
图中关键点: 1)传给环回地址的任何数据均作为IP输入
2)传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以
太网上。这是因为广播传送和多播传送的定义包含主机本身。
3)任何传给该主机IP地址的数据均送到环回接口。
4.最大传输单元MTU
5.路径MTU 主机通信经过多个网络,选取通信路径中最小的MTU作为路径MTU
路径MTU取决于所选的路由,由于来与去的路由可以不一样,所以路径MTU
在两个方向上也可以不一样
6.串行链路吞吐量的计算
如果线路速率是9600b/s,而一个字节有8bit,加上一个起始比特和一个停止比特,那么线路的速率就是960B/s(字节/秒)
3章 网际协议
1.IP是TCP/IP协议族中最为核心的协议。
特性:1)不可靠是指不能保证IP数据报能成功地到达目的地。IP仅提供最好的服务。任
何要求的可靠性必须由上层来提供如TCP。
2)无连接是指IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是
相互独立的。这也说明,IP数据报可以不按发送顺序接收。
2.IP首部
Big endian 字节续(又称网络字节续)
Little endian 字节续
1)首部长度 首部占32bit字的数目(即4个字节),包括任何选项,所以IP头范围是20(5x4)
到60(15x4)个字节
注:普通IP数据报(没有任何选项)的字段值是5.
2)服务类型(TOS) 3bit优先权 4bitTOS子字段和1bit未用但必须置0
4bit的TOS分别代表最小时延、最大吞吐量、最高可靠性、最小费用
3)总长度字段是指整个IP数据报的长度,以字节为单位。
利用首部长度字段和总长度字段,就可以知道IP数据报中的数据报内容的起始位置和长度。
总长度字段是IP首部中的必要的内容,因为一些数据链路(如以太网)需要填充一些数据以达到最小长度(在数据部分填充以达到最小46字节)。尽管以太网帧数据部分最小是46字节,但是IP数据可能会更短。如果没有总长度字段,那么IP层就不知道46字节中有多少是IP数据报的内容。
4)标识字段 唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会增加1.
5)TTL 生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。TTL的初始值由源主机设置(通常是32和64)
6)首部校验和字段 是根据IP首部计算的校验和码,它不对首部后面的数据进行计算。
7)每一个IP数据报都包含源IP和目标IP
8)任选项 数据报中一个可变长的可选信息
包括:安全与处理限制
记录路径
时间戳
宽松的源站选路
严格的源站选路
选项字段一直是以32bit作为界限,在必要的时候插入值为0 的填充字节,这样就保证了IP首部始终是32bit的整数倍。(这是首部长度字段要求的)
3.路由表包含的信息:
目的IP地址、下一跳、标志(主机地址or网络地址;直连or非直连)、为数据报的传输指定一个网络接口
4.IP路由选择是逐跳进行的。
5.IP路由选路遵循最长掩码匹配(主机路由,网络路由,默认路由)
都不成功,则不被传送
6.
7. 环回地址必须是127.0.0.1吗?
答案:不是的,任何网络号为127的A类地址都是可行的,尽管太多的的系统使用的是127.0.0.1
8. 子网号为16bit的A类地址与子网号为8bit的B类地址的子网掩码有什么不同?
答案:没有区别,作为一个没有再区分子网的C类地址,它们都有一个255.255.255.0子网掩码。
9. 子网掩码255.255.0.255是否对A类地址有效?
答案:它是合法的,被称为非连续的子网掩码,因为其用于子网掩码的16位是不连续的,但是RFC建议反对使用非连续的子网掩码。
10. TCP/IP协议族是基于一种数据报的网络技术,其他的的协议族则是基于面向连接的网络技术。谈谈数据报网络层提供的优点。
答案:1)降低了路由器对于连接状态的需求。
2)数据报提供了基本的构件,在它的上面可以构造不可靠的(UDP)和可靠的(TCP)的传输层
3)数据报代表了最小的网络层假定,使得可以使用大范围的数据链路层服务。?
4 章 ARP
1.ARP封装成以太网帧进行传输
1)以太网目的地址是广播
2)以太网帧类型0x0806标示上层是ARP
以太网帧类型0x0800标示上层是IP
3)硬件类型1表示以太网
协议类型0x0800表示IP地址,即要映射的协议地址类型
4)硬件地址长度和协议地址长度以字节为单位,对于以太网上IP地址的ARP请求或应答来说,他们的值分别是6和4.
5)操作字段指出4种类型
ARP请求是1,应答是2;RARP请求是3,应答是4
这个字段是必须的,因为ARP请求和ARP应答帧类型字段值是相同的
2.对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送出去。
3.代理ARP(通信双方不在同一网段)
当PC机没有设置网关时,如果连接的路由器开启了代理ARP功能,就可以通信?
分析:设置了网关,就像网关发送ARP请求
没有,就直接向需要通信的目的地址发送ARP请求,本地路由器收到就回复自己的二层地址回去,所以才说是欺骗
4.免费ARP:它是指主机发送ARP查找自己的IP地址。
作用:1)一个主机可以通过它来确定另一个主机是否设置了相同的IP地址
2)如果发送免费ARP的主机正好改变了硬件地址,那么这个分组就可以使其他的主机高速缓存中旧的硬件地址进行相应的更新。
5章 RARP
1.RARP,以自己的MAC地址请求自己的IP,用在无盘机,如X终端或无盘工作站。
因为不能像具有本地磁盘的系统一样从磁盘上的配置文件读取IP地址。
2.RARP请求或应答的帧类型代码是0x0835
6章 ICMP
1.ICMP报文:在IP数据报内部被传输
2.ICMP报文格式
3.不会导致产生ICMP差错报文的情况
1)ICMP差错报文
2)目的地址是广播的数据报
3)作为链路层广播的数据报
4)不是IP分片的第一片
5)源地址不是单个主机的数据报。就是说,源地址不能为零地址、环回地址、广播地址或多播地址。
4.ICMP地址掩码请求用于无盘系统在引导中获取自己的子网掩码
5.广播特性:发送主机也能通过某种内部环回机制收到一份广播报文拷贝。
6.ICMP时间戳请求允许系统向另一系统查询当前的时间。
7.ICMP报文必须包括生成该差错的数据报的IP首部(包含任何选项),还必须至少包括跟在该IP首部后面的前8个字节。
8.IP的服务类型字段是如何被ICMP设置的?
答案:发送一个ICMP差错总是将TOS置为0。发送一个ICMP查询请求可以将TOS置为任何值,但是发送相应的应答必须将TOS置为相同的值。
7 章 ping 程序
1.ping 程序的目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。
2.如果Ping不通某台主机,那么就不能telnet或FTP到那台主机,这种说法是错误的,因为有可能存在有设置了ACL的路由器和防火墙。
3.Ping程序能测到主机的往返时间,以表明这台主机离我们有多远。
Ping程序通过在ICMP报文数据中存放发送请求的时间值来计算往返时间。当应答返回时,用当前时间减去存放在ICMP报文中的时间值,即是往返时间(RTT)。
4. LAN中:收到的回显应答中,通常,第一个往返时间值要比其它的要大,这是由于目的端的硬件地址不再ARP表中,所以需要发送ARP请求。从发送ARP请求到收到ARP应答,这需要几ms的时间。
WAN:往返时间较大,丢包率较高,也出现重复的分组,时序的分组。
5.IP记录路由选项与IP时间戳选项将用traceroute程序代替,这里不详讲
1.Traceroute 程序只需要目的端运行一个UDP模块-----其他不需要任何特殊的服务器应用程序。
2.例子:
指出Traceroute 程序最大的TTL字段值为30.40字节的数据报包含20字节IP首部、8字节的UDP首部和12字节的用户数据。
输出的后面两行以TTL开始。对于每个TTL值,发送3份数据报。每收到一份ICMP报文,就计算并打印往返时间。如果在5秒内还没收到3份数据报的任何一份的相应,则打印出一个星号,并发送下一份数据报。
在上述结果中,TTL字段为1的前3份数据报的ICMP报文分别在20ms,10ms,10ms收到。
3.比较ping和traceroute程序在计算往返时间上的不同
解答:ping 客户将ICMP回显请求报文的可选数据部分设置为分组发送的时间。这个可选数据必须在ICMP回显应答中返回。这样使得即使分组返回时失序,客户也能计算出精确的回环时间。
Traceroute客户不能这样操作,因为在ICMP差错报文中返回的只是UDP首部,没有UDP数据,因此,Traceroute必须记住它发送一个请求的时间,等待应答,然后计算两者的时间差。
这里显示了ping 和Traceroute的另一个不同点:ping每秒发送一个分组,而不管是否收到任何应答:Traceroute发送一个请求,然后发送下一个请求前等待一个应答或一个超时。
ping是用来判断目的端是否可达
traceroute/tracert是用来记录路由过程
1.IP选路:最长掩码匹配
2.ICMP重定向差错
当IP数据报应该被发送到另一个路由器时,收到数据报的路由器就要发送ICMP重定向差错报文给IP数据报的发送端。
3.
ICMP重定向报文的接受者必须查看的三个IP地址:
1)导致重定向的IP地址
2)发送重定向报文的路由器的IP地址
3)应该采用的路由器IP地址
4.ICMP重定向报文的规则:
1)只能由路由器生成而不能由主机生成
2)重定向报文是为主机而不是为路由器使用的。
3)路由器发送的只是对主机的重定向而不是对网络的重定向
1.RIP被UDP封装
2.RIPv1的报文格式
1)端口号520
2)命令字段为1表示请求报文,2表示响应报文
3.RIPv2的报文格式
选路标记是为了支持外部网关协议而存在的。它携带着一个EGP个BGP的自治系统号。
4.Internet是以一组自治系统的方式组织的,每个自治系统通常是由单个实体管理。常常将一个公司或大学校园定义为一个自治系统。
5.收敛的意思:是在路由发生变化后,例如在路由器关闭或链路出故障后,可以稳定下来。
6.OSPF直接被IP封装,协议号是89
7.1)BGP被TCP封装
2)通过定期keepalive报文给其邻站来检测TCP连接对端的链路或主机失败。两个报文之间的时间间隔建议值为30秒。
注意区分:应用层的keepalive与TCP的keepalive
8.CIDR 无类域间路由
超网,基本观点是采用一种分配多个IP地址的方式,使其能够将路由表中的许多个表选项总和成更少的数目。
9.OSPF报文格式中有一个检验和字段,而RIP报文则没有此项,为什么?
解答:RIP运行在UDP上,而UDP提供了UDP数据报中的数据部分的一个可选的检验和。然而,OSPF运行在IP上,IP的检验和只覆盖了IP首部,所以OSPF必须增加它自己的检验和字段。
1.UDP的封装
2.UDP首部
3.UDP长度可以是8(发送一份数据0字节的UDP数据报是允许的)
4.UDP校验和覆盖UDP首部和UDP数据,而IP校验和只覆盖IP首部。
UDP和TCPP在首部都有覆盖他们首部和数据的校验和。UDP的校验和是可选的,而TCP 的校验和是必须的。
1.多播和广播仅应用与UDP
2.多播提供的两类服务:
1)向多个目的地址传送数据
2)客户对服务的请求 例如:无盘工作站需要确定启动引导服务器。
3.广播是否增加了网络的通信量
解答:广播本身不会增加网络通信量,但它增加的了额外的主机处理时间。如果接收主机不正确地响应了诸如ICMP端口不可达直连的差错,那么广播也可能导致额外的网络通信量
。路由器一般不转发广播分组,而网桥一般转发,所以在一个网桥网络上的广播分组可能比在一个路由网络上走得更远。
1.Internet组管理协议:它让一个物理网络上的所有系统知道主机当前所在的多播组。
2.IGMP被IP封装,协议号为2
1.TCP首部长度20-60字节
2.首部长度表示32bit(4字节)的数目(所以最长是60字节,计算与IP首部是一样的)
3.TCP的断开是4次,由于TCP的传输是全双工的,两个方向传输数据是独立的