TCP&IP基础概念复习
Posted i-am-dumbass
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP&IP基础概念复习相关的知识,希望对你有一定的参考价值。
第一章概述
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上只增加了进程通信和可选的校验功能。不进行流量控制、拥塞控制;不对收到的数据进行确认。用于小数据的传输,如数据库查询。
以上是关于TCP&IP基础概念复习的主要内容,如果未能解决你的问题,请参考以下文章