亲宝软件园·资讯

展开

TCP&IP基础概念复习

我是脑瘫 人气:0

第一章概述

 

NII(National Information Infrastructure):国家信息基础设施

 

GII(Global Information Infrastructure):全球信息基础设施

 

WWW(World Wide Web):万维网

 

ISOC(Internet Society):因特网协会,因特网最高管理机构

 

IAB(Internet Architecture Lab):因特网体系结构委员会

1. 建立因特网标准

2. 管理RFC文档的发布

3. 建立因特网的策略性研究计划

 

IEFT(Internet Engineering Task Force):因特网工程任务组

1. 负责因特网标准的制定

2. 应用研究,通用研究,国际互联研究,操作与管理,实时应用与基础设施,路由研究,安全研究,传输研究。

 

IRTF(Internet Research Task Force):因特网研究任务组

1. 负责与因特网发展相关的长远的理论研究

2. 下设若干个研究小组

 

InterNIC(Internet Network information Center):因特网网络信息中心

 

CNNIC(China Internet Network Information Center):中国互联网络信息中心

 

ICANN(Internet Corporation for Assigned Names and Numbers):因特网名称与数字数字地址分配机构

 

W3C(World Wide Web Consortium):WWW协会

 

RFC(Request For Comments):请求注解

八种状态:

1.标准化轨迹的RFC:

a. 提案标准

b. 草案标准

c. 因特网标准

2.非标准化轨迹的RFC:

a. 实验性的RFC

b. 信息性的RFC

c. 历史性的RFC

3.其他状态的RFC:

a. 最佳当前实现的RFC

b. 未知性的RFC

第二章计算机网络与因特网体系结构

 

计算机网络的概念:利用通信介质和通信设备连接起来的,通过网络协议实现信息传递和资源共享的计算机的集合。

 

计算机网络的分类:

按照拓扑结构:

1. 总线型

2. 星型

3. 环型

4. 网状

按照覆盖范围:

1. 广域网 (Wide Area Network, WAN)

2. 城域网 (Metropolitan Area Network, MAN)

3. 局域网 (Local Area Network, LAN)

4. 个域网 (Personal Area Network, PAN)

 

网络协议(network protocol):通信双方事先约定好和通信时必须遵守的规则的集合。

三要素:

1. 语法:定义用户数据和控制信息的格式

2. 语义:解释控制信息每个部分的意义

3. 同步规则(时序):定义事件发生的详细顺序

 

网络体系结构分层的优点:

1. 有利于将复杂的问题分解成多个相对独立的简单问题,分而治之:越下面的层次越具体,越上面的层次越高级。上层调用下层功能。

2. 新技术的引入,不会对所有层次产生影响。

3. 网络互联时只需考虑底层某一个或几个异构的层次,而不是所有层次。

 

WLAN = Wi-Fi(Wireless LAN):无线局域网

 

WMAN = WiMAX(Wireless MAN):无线城域网 

 

WiMAX的本义:Worldwide Interoperability for Microwave Access,无线城域网相关组织

 

Ad-hoc:自组织模式

 

网络互联的三个基本问题:协议转换,寻址,路径选择

 

TCP/IP网络体系结构

 

网络接口层:对应OSI模型的物理层和链路层,TCP/IP未对这层内容进行定义,支持和包容各种底层网络技术和标准。

网络层:实现主机到主机的IP分组的传递。具体功能包括路由选择,流量控制和拥塞控制。包含IP,ICMP,IGMP,ARP,RARP协议和一些路由选择协议等。

 

传输层:实现不同主机上的进程之间的数据通信服务。包含TCP和UDP协议。

 

应用层:为应用程序提供网络服务接口。包含大量的应用协议,例如HTTP,SMTP,FTP。

 

第三章 IP地址

 

IP = 网络号 + 主机号

 

长度

IPV4:32比特(四个字节)

IPV6:128比特

 

现大多是IPV4,32个比特,四个字节

 

IP地址的分类:

1. A类:0开头,第一个字节0~127,网络号占一个字节,单播,全0和全1不能分配,即0和 127不分配

2. B类:10开头,第一个字节128~191,网络号占两个字节,单播

3. C类:110开头,第一个字节192~223,网络号占三个字节,单播

4. D类:1110开头,第一个字节224~239,组播,只能用作目的地址,无法分配给主机

5. E类:11110开头,第一个字节240~255,保留地址,实验用,无法分配给主机

 

全0全1用作特殊用途,无法分配给主机

 

IP地址的本质:标识设备的网络接口

 

特殊IP地址:不能分配给设备的IP地址

1. 网络地址:主机号全0

作用:

a. 用于标识网络

b. 在设备的路由表中使用,用于减少路由表的长度

2. 直接广播地址:主机号全1

作用:

a. 向某个网络上的所有主机(包括计算机和路由器)发送信息 

b. 只能作为分组的目的地址

3. 受限广播地址:32位比特全为1

作用:

a. 只能作为信息的目的地址

b. 表示该信息发往本网络上的所有主机(设备接口)

注意:

路由器将隔离受限广播信息,不向其他网络进行转发。

4. 本网络地址:网络号全为0,分为两种

4.1 本网络特定主机地址:网络号全为0,主机号不为0

作用:

a. 只能作为信息的目的地址

b. 表示信息发给本网络的指定主机(设备接口)

4.2 本网络本机地址:32比特全为0

作用:

a. 只能作为信息的源地址

b. 表示信息来自于本设备,但具体的地址未知

5. 环回地址:以127开头的IP地址

作用:

a. 只能作为信息的目的地址

b. 表示信息的接受者是本机,不会被网卡传到网络上去

c. 用于一个设备中客户机程序与服务器程序的通信测试

 

IP地址的配置原则:

1. 同一网络的IP地址应该具有相同的网络号

2. 网络号第一字节应该是1~223,但不能是127(环回地址)

3. 主机号不能为全0

4. 主机号不能为全1

5. 不能为特殊IP地址

6. 在本网络必须唯一

 

超网划分的规则:

1. 待合并的地址块必须是连续的

2. 待合并的地址块的数量必须是2^m个

3. 待合并的如果是C类地址块,则第一个地址的第三字节的值必须是地址块数量的整数倍

 

CIDR掩码:a.b.c.d /n (n为掩码中连续的1的个数)

 

第四章地址解析

 

网络层的两个协议:

1. 地址解析协议ARP(Address Resolution Protocol):IP地址到物理地址

2. 逆向地址解析协议RARP(Reverse ARP):物理地址到IP地址

 

ARP过程:

1. A广播ARP请求(请求B的物理地址,广播)

2. B单播应答(应答B的物理地址,单播)

 

ARP高速缓存:

作用:记录最近解析过的地址映射信息,减少开销。

实现:每一个表项设置一个超时值,超时就不再使用。、

 

静态表项:永不超时的地址映射表项。通常用于地址映射固定的设备,如服务器。

静态表项的改变:

1. 当收到的地址映射与高速缓存不一致时,修改,设置超时值,不再是静态表项。

2. 设备重启时丢失。(因为高速缓存在内存中)

3. 管理员可使用ARP程序删除静态表项。

 

RARP:RARP服务器应答与物理地址对应的IP地址

 

过程:

1. A广播RARP请求

2. RARP服务器应答对应的IP地址,单播方式返回

 

 

第五章 IP协议

 

5.1 IP数据报的格式(Wireshark)

 

TTL(Time To Live):生存时间(跳数)

 

5.2 IP数据报的传输

 

IP数据报的封装:使用网络底层的帧进行封装

 

无连接的数据报传输:

每个IP数据报携带源和目的地址,采用无连接的方式独立传输

每经过一个路由器:

1. 首部校验

  2. 路由选择

3. 数据分片(在需要时)

 

首部校验:十六个比特的首部校验和字段,实现点到点的首部校验

 

分片:在信源机和路由器分片,但不超过下一网络的MTU(帧的最大传输单元)

 

重组:在信宿机重组

 

5.3 IP选项

 

位置:位于IP首部的尾端,可包含零到多个选项

 

长度:必须为四字节的整数倍,且不能超过四十字节

 

作用:用于网络控制和测试,如指定路由,记录路由,记录时间戳等

 

源路由选项:

作用:在信源机上人为指定数据报的传输路径

使用方法:

1. 严格源路由选项

2. 宽松源路由选项

 

严格源路由选项:

目的地址:指向下一跳地址

指针:永远指向下下一跳地址

 

宽松源路由选项

指定数据报经过的某些路由器

 

时间戳选项

5.4 IP模块的结构

 

第六章差错与控制报文协议

 

6.1 ICMP协议概述

 

ICMP:因特网控制报文协议

 

位置:位于网络层,IP协议之上,所以ICMP报文使用IP数据报进行封装。

 

作用:是IP协议的补充,用于IP传输时的差错报告,拥塞控制,路径控制以及时间,掩码等信息的获取。

 

6.2 ICMP报文格式与类型

 

6.3 ICMP差错报告报文

 

差错报告的特点:

1. 丢弃出错的IP数据报

2. 向信源机报告差错,不纠错,纠错留给高层协议

3. 报文的数据区包含出错数据报的首部及前64比特的数据,帮助信源机确定出错分组

4. 报文作为一般数据传输,不享受特别传输服务

 

差错报告的类型:

1. 信宿不可达:当路由器无法转发数据报,或新宿机无法向上层提交数据时,丢弃当前的IP数据报,并向信源发送ICMP信宿不可达报告。

2. 数据报超时:

a. TTL超时:若路由器发现某数据报TTL减为0,就丢弃此数据报,并向信源发送ICMP数据报超时报告。类型3

b. 分片重组超时:信宿机分片重组时会启动定时器,一旦定时器超时,就丢弃正在重组的数据报,并向信源发送ICMP数据报超时报告。类型11

3. 数据报参数错:路由器或信宿机发现IP首部的字段值有问题或空缺,就丢弃该数据报,并向信源发送ICMP数据报超时报告。类型12

 

6.4 ICMP控制报文

 

分类:

1. 源抑制报文:用于拥塞控制。类型4。

2. 重定向报文:用于路径控制。类型5。

 

重定向报文:用于主机路由表的更新,最终实现路径控制。

6.5 ICMP请求与应答报文

 

作用:获取信息:

1. 设备的可达性

2. 时间戳信息

3. 地址掩码信息

4. 默认路由器信息

 

时间戳信息:

往返时延 = (t当前 - t初始)- (t发送 - t接受)

假设请求和应答传输时延相同,单程时延 = 往返时延 / 2

两设备时间差 = t接受 -(t初始 + 单程时延)

结果为正数,表示应答方的时间比请求方快

 

6.6 ICMP报文的封装

 

使用IP数据报进行封装

 

第七章 IP路由

 

7.1 路由选择

 

直接传递和间接传递

 

IP数据报的传输过程:一个直接传递 + 零到多个间接传递

 

直接传递:在信宿网络中,直接传到信宿的过程。

 

间接传递:在非信宿网络中的传递过程

 

TCP/IP采用表驱动方式寻找从信源机去往信宿机的较好路径,即每台主机和路由器中都有一个路由表。

 

7.2 路由表

 

内容:信宿地址 + 去往信宿的路径

 

信宿地址一般采用信宿网络地址的好处:

1. 网络远少于主机,减少路由表

2. 与网络拓扑结构相对应。网络拓扑中,只有路由器和网络,没有主机。

3. 主机的增减不会对路由表产生影响

4. 减小使用和维护的开销,简化设备的设计和实现。

 

路由表:去往信宿的路径为下一跳设备,而不是完整路径,减少路由表规模。

路由表位于内存中,设备重启后需要重新建立。

 

路由表表项:

1. 普通路由表项

2. 特定主机路由表项

3. 默认路由表项

 

直接交付表项 > 特定主机路由表项 > 普通路由表项 > 默认路由表项

 

7.3 静态路由

 

即非自适应路由选择,特点是简单和开销较小,但不能及时适应网络状态的变化。

 

静态路由的不足:

1. 手工添加,工作量大容易出错。

2. 不能及时地反映网络的变化。

3. 用于不经常变动的小型网。

 

7.4 动态路由

 

即自适应路由选择,其特点是能较好适应网络状态的变化,但实现起来较为复杂,开销也比较大。

 

按照最短路优先原则,计算并刷新路由表。

 

路由协议算法的分类:

向量-距离算法(Vector-Distance, V-D算法)

优点:

1. 简单,易实现

缺点:

1. 收敛慢

2. 信息交换量大,不适合大的网络和频繁变化的网络

链路-状态算法(Link-Status, LS算法,记录最短路径生成树)

优点:

1. 收敛速度较快。

2. 信息交换量较小。

3. 扩展能力强,适合大型网络。

缺点:

1. 计算量大。

 

路由协议

因特网划分为自治系统AS(Autonomy System),每个AS由一个单位管理,并自主决定所用路由协议和控制策略。

 

1. 内部网关协议:运行于AS内部,包括

a. 路由信息协议RIP(Routing information Protocol):应用层协议,采用V-D算法。最大路径长度不能大于15。可用水平分割法,毒性逆转法,保持法解决慢收敛等问题。封装于UDP数据报中。

b. 开放最短路径优先OSPF(Open Shortest Path First):网络层协议,采用LS算法。AS内部被划分为区域(Area)。有一个主干区域0,其他区域连接到主干区域。这么做的好处是引入了层次的概念,减少了每一个路由器需要处理的信息量。用IP数据报封装。

2. 外部网关协议:运行于自治系统之间

a. 边界网关协议BGP(Border Gateway Protocol):应用层协议,封装于TCP。

 

第八章传输层协议

 

8.1 进程间通信

 

传输层:实现不同主机进程间的通信。

 

进程:计算机中并发执行的程序

 

端口:应用层与传输层之间的SAP(Service Access Point)

 

TCP(Transmission Control Protocol):传输控制协议

特点:基于无连接、不可靠的IP协议,采取了一系列措施,例如建立和拆除逻辑连接,流量控制、拥塞控制、差错控制等,向应用层提供面向连接的、可靠的字节流传输服务。

 

8.2 TCP段的格式

 

将应用层要传输的字节流分块,封装成若干个TCP段:

段首部:固定首部(20个字节)+  选项(0到40个字节,且必须是4字节的整数倍)

数据:2字节的整数倍

 

TCP连接中传送的数据流中的每一个字节都编上一个序号。

 

序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

 

序号的特点:

1. 代表了报文的顺序关系

2. 代表了数据流的位置,更便于流的复原

3. 报文的序号不连续。

 

TCP选项:

MSS(Maximum Sequence Size):最大段大小,内容字段告诉了对方本机所在网络能够接受的最大TCP段数据区的字节数。

窗口规模因子选项:固定首部窗口字段中最多只能表示65535个字节的空闲接受缓存大小。本选项用来扩大其表示。

时间戳选项:发送方在时间戳字段填写发送TCP段的时间,接收方将其复制到确认段的回显应答字段,并在时间戳字段填写确认段发送时间。发送方收到确认段后,可算出TCP段的往返时间RTT(Round Trip Time)。

 

8.3 TCP连接

 

TCP使用超时重传来解决IP不可靠问题。根据TCP段的序号来查重。

 

三次握手:

第一次握手:客户进程发出SYN(SYN = 1)段,请求建立连接。序号为客户选择的初始序号。建立连接钱,服务器进程在其熟知端口进行监听。

第二次握手:服务器进程返回ACK + SYN段(ACK = 1,SYN = 1),序号为服务器初始序号。确认号为客户序号加1。此时完成了一个方向上的TCP连接。

第三次握手:客户机返回ACK段(ACK = 1),确认号为服务器初始序号加1。此时完成了另一个方向上的TCP连接。

 

作用:

1. 结合超时重传和序号去重,可靠建立TCP连接。

2. 确认了对方的初始序号。

3. 确认了对方的MSS值。

 

TCP连接的拆除:

四次握手:

1. 一方传送完毕,发送FIN报文。

2. 等到收到对方ACK,拆除一个半连接。(不可发,可收数据)

3. 对方在发送完毕后,也发送FIN报文。

4. 对方在收到己方ACK报文后断开另一个方向上的半连接。

 

8.4 TCP流量控制

 

TCP的流量控制:滑动窗口法。

 

8.5 TCP拥塞控制

 

拥塞:网络中传输的数据过多,造成路由器缓存溢出导致数据丢失。数据丢失引起超时重传,进一步加剧网络拥塞。

 

TCP拥塞控制:控制发送方的发送速率,使得网络来得及传输。

 

TCP流量控制只考虑了接收方的接受能力,未考虑网络的转发能力。

 

拥塞窗口(cwnd):表示当前网络的转发能力,由发送方根据网络状况动态设置。

 

发送窗口 = min(接收窗口,拥塞窗口)

 

慢启动:

1. 一开始cwnd = 1MSS

2. 每收到一个段的ACK cwnd += 1MSS(指数级增长)

3. 当达到一个预设的阈值,进入拥塞避免。

4. 当出现报文丢失(超时)时,慢启动阈值(ssthresh)设为当前cwnd的一半大小,ssthresh = cwnd / 2。

5. 同时重置cwnd,则cwnd = 1MSS。

 

拥塞避免阶段:cwnd缓慢增大,即每经过一个往返时间RTT就把cwnd++,而不是加倍,使拥塞窗口cwnd按线性规律缓慢增长。

 

快速重传:

前提:要求接收方每收到一个失序的报文段后就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。

基本思想:发送方只要一连收到三个重复确认的ACK就认为报文段丢失,并立即重传对方尚未收到ACK的报文段。

 

快速恢复:

当在快速重传阶段连续收到三个重复的ACK时,不执行慢启动算法,即拥塞窗口不重置为1,而是设置为慢开始阈值ssthresh减少后的数值,进行快速恢复。

 

8.6 TCP差错控制

 

差错类型:

1. 段丢失:检测:发送方使用重传计时器。处理:超时重传。确认段的丢失不需处理,因为TCP采用累计确认。

2. 段损坏:检测:接收方使用校验和字段。处理:丢弃出错的段,不返回确认段,由发送方超时重传。

3. 段重复:一般由超时重传造成。检测:接收方分析段序号。处理,直接丢弃重复段。

4. 段失序:由于TCP基于IP,不能保证按序到达。处理:接收方对先到达的段暂不确认,放入接收缓存,直到前面的段都到齐了再一起向上提交并返回确认。

 

8.7 UDP(User Datagram Protocol):用户数据报协议

 

UDP:无连接,不可靠的传输层协议。在IP上只增加了进程通信和可选的校验功能。不进行流量控制、拥塞控制;不对收到的数据进行确认。用于小数据的传输,如数据库查询。

加载全部内容

相关教程
猜你喜欢
用户评论