计算机网络期末思维导图总结

用gitmind思维导图结合网上的一些资料和书本写的思维导图

点这里!!计算机网络 - GitMind

其中文字部分(图片有问题,强烈建议看上面):

计算机网络

概述

OSI七层与TCP/IP四层协议与五层协议的关系

OSI (Open System Interconnect) 开放系统互连是一个模型,而TCP/IP是一个协议 ,

TCP/IP 四层是 OSI 七层的简化版

TCP/IP 是由一些交互性的模块做成的分层次的协议,其中每个模块提供特定的功能;OSI 则指定了哪个功能是属于哪一层的。

物理层

传输比特流,通过电气,机械通信信道,以及确定机械及电气规范

数据链路层

负责把比特流组装成帧并在数据链路(逻辑线路)上传输

网络层

将数据从源端经过若干中间节点传送到目的端,从而实现向传输层提供最基本的端到端的数据传送服务。                具体功能包括寻址和路由的选择、连接的建立、保持和终止等。

运输层

运行在不同主机的进程之间提供直接的通信服务

会话层

建立、管理和终止会话

表示层

对数据进行翻译、加密和压缩

应用层

用于通信的应用程序和用于消息传输的底层网络提供接口

总结图片

物理层

传输数据的单位

比特

数据传输系统

源系统(源点、发送器) --> 传输系统 --> 目的系统(接收器、终点)

信道

信道概念

一般用来表示向某一个方向传送信息的媒体

单工通信

只有一个方向上的通信

半双工通信

双方都可以发送信息,但不能同时发送

全双工通信

双方都可以同时发送信息

信道复用技术

复用概念

共享同一个信道

频分复用(FDM,Frequency Division Multiplexing)

 在同一时间占用不同的带宽资源

时分复用(TDM,Time Division Multiplexing)

不同数据占用同样的带宽资源

波分复用(WDM,Wavelength Division Multiplexing)

光的频分复用

码分复用(CDM,Code Division Multiplexing)

不同用户使用不同码型

常用编码方式

曼彻斯特编码

上跳为1下跳为0

差分曼彻斯特编码

有跳变为0无跳变为1

编码概念

数字信号转化成另一种数字信号

信道极限容量

奈氏准则

在带宽为W(Hz)的信道中,码元的最高传输速率为2W

香农公式

C = Wlog2(1+S/N) 

W为信道带宽,S为信号平均功率,N为高斯噪声功率,S

信噪比 (db) = 10log10(S/N)

宽带接入技术

ADSL(非对称数字用户线)

用数字技术对现有的模拟电话用户线进行改造

光纤同轴混合网(HFC网)

Fttx技术

数据链路层

点对点信道

数据单元

三大基本问题

封装成帧

把网络层的 IP 数据报封装成帧,SOH - 数据部分 - EOT

透明化传输

不管数据部分什么字符,都能传输出去;可以通过字节填充方法解决(冲突字符前加转义字符)。

透明化解释

数据链路层对于这些数据就像是透明的一样

差错检测

目的

降低误码率(BER)

方法

CRC(Cyclic Redundancy Check)循环冗余检测

其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,这里的数也是二进制序列的,下同),生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除(注意,这里不是直接采用二进制除法,而是采用一种称之为“ 模2除法”)。到达接收端后,再把接收到的新帧除以(同样采用“ 模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。

PPP协议

广播信道

CSMA/CD(Carrier Sense Multiple Access/collision detection)载波监听多点接入/碰撞检测

载波监听

边发送边监听

多点接入

总线型网络,采用多点接入方式连接

碰撞检测

先听后发,边发边听,冲突停发,随机延迟后重发

二进制指数退避算法

算法过程

强化碰撞

在检测到冲突时还会发送人为干扰信号,以便所有用户都知道已经发生碰撞

硬件地址(物理地址、MAC 地址)

三种帧

单播(unicast)帧(一对一)

收到的帧的 MAC 地址与本站的硬件地址相同

广播(broadcast)帧(一对全体)

发送给本局域网上所有站点的帧

多播(multicast)帧(一对多)

发送给本局域网上一部分站点的帧

结构

共48位的(6个字节)

网络层

IP(Internet Protocol,网际协议)

IP地址

IP 地址 ::= {<网络号>,<主机号>}

分类的IP地址

A类

网络号:8bit,第一位固定为 0

B类

网络号:16bit,前两位固定为 10

C类

网络号:24bit,前三位固定为 110

D类

网络号:前四位固定为 1110,后面为多播地址

E类

网络号:前五位固定为 11110,后面保留为今后所用

总结

无分类编制CIDR

即在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的比特数

IP数据报格式

分支主题 1

ARP(Address Resolution Protocol,地址解析协议)

ICMP(Internet Control Message Protocol,网际控制报文协议)

格式

类型

ICMP差错报告报文

终点不可达

时间超过

参数问题

改变路由

ICMP询问报文

应用

PING(Packet InterNet Groper,分组网间探测)测试两个主机之间的连通性

TTL(Time To Live,生存时间)该字段指定 IP 包被路由器丢弃之前允许通过的最大网段数量

内部网关协议

RIP(Routing Information Protocol,路由信息协议)

下一跳相同直接更新,不同则取最优

OSPF(Open Sortest Path First,开放最短路径优先)

外部网关协议

BGP(Border Gateway Protocol,边界网关协议)

IGMP(Internet Group Management Protocol,网际组管理协议)

运输层

端口号

作用

表示一台计算机中的特定进程所提供的服务

分类

0-1023:知名端口号 1024-65535:操作系统动态分配的端口号,

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

概念

一种面向连接的、可靠的、基于字节流的传输层通信协议,其传输的单位是报文段。

TCP报文格式

首部格式

TCP flags(6字节)

URG:紧急比特(urgent)

ACK:确认比特(Acknowledge)

PSH:(Push function)若为 1 时,代表要求对方立即传送缓冲区内的其他对应封包,而无需等缓冲满了才送。

RST:复位比特(Reset)

SYN:同步比特(Synchronous)

FIN:终止比特(Final)

特征

面向连接

只能点对点(一对一)通信

可靠交互

全双工通信

面向字节流

如何保证可靠传输

确认和超时重传

TCP的运输连接管理

连接建立

图示

三报文握手过程

过程

1.客户发送(建立连接)SYN给服务器,表示想要建立连接

2.服务端收到SYN,发送确认报文ACK和SYN给客户,并消耗一个序号(SYN = 1的报文段不能携带数据,但要消耗一个序号),进入SYN-SENT同步已发送

3.客户收到ACK和SYN,并发送一个ACK报文给服务端,,进入SYN-RCVD同步收到

 4.服务端收到ACK,进入连接已建立(ESTAB-LISHED)状态

为什么不使用二报文握手

防止已失效的连接请求报文段突然又传送到服务端(计算机网络(谢希仁))

因为信道不可靠,而 TCP 想在不可靠信道上建立可靠地传输,那么三次通信是理论上的最小值。(而 UDP 则不需建立可靠传输,因此 UDP 不需要三次握手。)(Google Groups)

因为双方都需要确认对方收到了自己发送的序列号,确认过程最少要进行三次通信。(知乎)

报文发送超时的特殊情况

连接释放

图示

TCP 四次挥手释放连接

过程

客户向服务器发送FIN报文,主动关闭TCP连接

服务器接收到客户端发的 FIN,并回复 ACK 给客户端,ack为之前传过最后一个字节的序号+1,处于半关闭状态

服务端继续发送剩余数据

发送FIN=1,ACK =1给客户并重复的确认号ack,表示发送完了数据

客户端收到服务端的 FIN+ACK,并回复 ACK 给服务端

为什么客户端释放最后需要 TIME-WAIT 等待 2MSL 呢?

为了保证客户端发送的最后一个 ACK 报文能够到达服务端。若未成功到达,则服务端超时重传 FIN+ACK 报文段,客户端再重传 ACK,并重新计时

防止已失效的连接请求报文段出现在本连接中。TIME-WAIT 持续 2MSL 可使本连接持续的时间内所产生的所有报文段都从网络中消失,这样可使下次连接中不会出现旧的连接报文段。

TCP 为什么要进行四次挥手?

因为TCP是全双工通信,客户向用户端发送报文后,用户端向客户发送报文(一二次挥手),然后服务端还要传输剩下的数据,发送完后服务端再与客户端断开连接(三四次挥手)

 为什么 TCP 建立连接需要三次,而释放连接则需要四次

因为TCP释放连接的FIN和ACK是分开传输,而TCP建立连接时是一起把SYN和ACK传输

为什么 TCP 连接时可以 ACK 和 SYN 一起发送,而释放时则 ACK 和 FIN 分开发送呢?

因为释放连接时,服务端还有没发放的数据包,因此第一次只能先发送ACK,等待数据发送完毕后才能发送FIN断开连接,而建立连接时无中间的数据传输,因此可以一起传输

TCP的有限状态机

数据合理分片和排序

流量控制

原因

接受方和发送方的速率不同

作用

使发送方和接收方保持动态平衡

方法

接受方在每次收到数据包时,可以发送确认报文,告诉发送方自己接受窗口的大小,即还能接收多少数据包

特殊情况:当确认报文丢失

解决

当发送方收到接受窗口 win = 0 时,这时发送方停止发送报文,并且同时开启一个定时器,每隔一段时间就发个测试报文去询问接收方,打听是否可以继续发送数据了,如果可以,接收方就告诉他此时接受窗口的大小;如果接受窗口大小还是为0,则发送方再次刷新启动定时器。

图示

分支主题 1

拥塞控制

概念

防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。

方法

慢开始

概括

指的是不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。

具体方法

从一开始以2的倍数递增,1,2,4,8,16·····

拥塞避免

概括

拥塞避免算法让拥塞窗口缓慢增长,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1

具体方法

当只要发送方判断网络出现拥塞,依据是否收到确认报文,就把慢开始门限(ssthresh)设置为出现拥塞时的发送窗口大小的一半。然后把拥塞窗口(cwnd)设置为1,执行慢开始算法。

快重传

思想

接收方每收到一个失序的报文段就立即发出重复确认(为的是使发送方及早的知道有报文段没有到达对方)

图示

快恢复

具体方法

慢开始门限ssthresh设置为拥塞窗口(cwnd)的一半,把cwnd设置为ssthresh的值加3,然后重传丢失的报文段

使用时间

如果连续收到三个重复ACK,进入快重传

图示

流程图

数据校验

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

UDP 报文结构

首部结构

分支主题 2

TCP与UDP的区别

应用层

DNS(Domain Name System,域名系统)

概述

一种互联网服务,它可以将域名和IP地址互相映射的一个分布式数据库,使用端口53

域名定义

域名 ::= {<三级域名>.<二级域名>.<顶级域名>},如:blog.huihut.com

FTP(File Transfer Protocol,文件传输协议)

是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式,使用 TCP 数据报,提供交互式访问,双向传输。

TFTP(Trivial File Transfer Protocol,简单文件传输协议)

一个小且易实现的文件传输协议,也使用客户-服务器方式,使用UDP数据报,只支持文件传输而不支持交互,没有列目录,不能对用户进行身份鉴定

TELNET

 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力

WWW(World Wide Web,环球信息网,万维网)

概念

是一个由许多互相链接的超文本组成的系统,通过互联网访问

URL(Uniform Resource Locator,统一资源定位符)

标准格式

协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]

HTTP(HyperText Transfer Protocol,超文本传输协议)

概念

是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网的数据通信的基础。

请求方法

OPTIONS

请求一些选项信息,允许客户端查看服务器的性能

GET

请求指定的页面信息,并返回实体主体

HEAD

类似于 get 请求,只不过返回的响应中没有具体的内容,用于获取报头

POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改

PUT

从客户端向服务器传送的数据取代指定的文档的内容

DELETE

 请求服务器删除指定的页面

TRACE

回显服务器收到的请求,主要用于测试或诊断

状态码

 (100–199) 信息响应

100 继续

101 切换协议

(200–299) 成功响应

200 请求成功

(300-399)重定向消息

301 永久移动

302 该资源原本确实存在,但已经被临时改变了位置

(400-499)客户端错误响应

400 客户端请求的语法错误

401 请求用户的身份认证

403 服务器理解请求客户端的请求,但是拒绝执行此请求(权限不够)

404 服务器找不到请求的资源

408 服务器等待客户端发情的请求时间过长

(500-599)服务端错误响应

500 服务端内部错误

503 系统维护或超载,服务器找不到请求的资源

504

当网关或代理的服务器,未及时从远端服务器获取请求

HTTP 响应状态码 - HTTP | MDN

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值