Liquan-gdut / computer-network

学习笔记丨计算机网络知识点小结

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

计算机网络丨基础知识小结

绪论:计算机网络体系结构

1、OSI七层模型

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

2、五层模型

物理层、数据链路层、网络层、传输层、应用层

物理层:

本质作用:将数据报文翻译成“110010”比特流,通过物理媒介“双绞线、同轴光缆、光纤”进行传输

数据链路层:

解决的三大问题:<br>
1、封装成MAC帧
2、透明传输
3、差错控制

网络层:IP、ICMP、转发分组流程

1.IP协议、ICMP协议
2.转发分组机制
3.路由选择协议:RIP、OSPF

1、概述

(1)作用:通过IP网络层,实现广域互联,中间设备为路由器。
(2)过程机制:通过路由器的选择算法,确定数据报的下一跳路由器,不断转发,最终达到目标主机/服务器所在的目标网络,在局域网内启用ARP协议,将报文交付到目标主机/服务器。

(3)转发流程:

1.拿到目标IP地址,并分析
2.如果是本网络,则直接交付,否则查阅路由表
3.有特定主机路由,则交付,否则继续查阅
4.有到达的目标网络的路由,则交付给指明的下一跳路由,否则交给默认路由
5.以上流程均未达成,则返回ICMP差错报文。

2、子网与CIDR

(1)目的:提高IP地址的利用率、降低路由器路由表的负担
(2)子网
①结构:三级IP地址结构:={<网络号><子网号><主机号>}
②如何找到子网与目标主机?:将目标IP地址和“子网掩码”“相与”,得到的地址即为子网地址,子网再通过局域广播的方式寻找到目标主机/服务器
(3)CIDR无分类编址
①结构:IP地址没有分类,只有二级结构:={<网络前缀><主机号>}
②如何找到目标地址块与目标主机?:与子网寻址过程一样。

3、ICMP网际控制报文协议

(1)作用:返回“差错报告”给源点主机、“询问报文”给目标主机(ping:测试连通性)
(2)类型:重点不可到达、源点抑制、时间超过、参数问题、重定向

4、路由选择协议

(1)RIP
特点:
与相邻路由器,进行路由表交换,每隔30s自动交换一次,适合小范围网络

距离向量算法:
1.拿到相邻路由表报文,与自己路由表比较
2.本机原路由表没有某个目标网络,则直接插入,有则比较下一跳地址
3.下一跳地址一样,直接插入,否则比较距离跳数
4.短的则插入,否则不作任何变化

(2)OSPF
特点:
泛洪法通知本系统内的所有路由器,告知与自己相邻的所有路由器链路状态及代价,当状态改变才交换,适合大范围网络 算法:通过最小总代价算法得出达到每个网络的最佳路径

本章小结:

1、IP转发分组的流程;(面试常考点) 2、ICMP报文类型

传输层:UDP、TCP

1.UDP、TCP特点与区别
2.TCP握手、挥手过程机制,及每一步的作用
3.TCP的可靠传输、流量控制、拥塞控制的实现过程

1、概述

(1)作用:IP网络层是解决主机到主机的通信服务,UDP、TCP是解决应用进程端到端的通信,即最后一公里。
(2)两个协议的特点区别:

UDP:
1.面向无连接、不可靠通信
2.面向报文,不对数据报进行操作,直接加上头部
3.没有拥塞控制、开销较小、可实现一对一、一对多、多对一、多对多
TCP:
1.面向连接、可靠通信
2.面向字节流、每个数据字节都有特定的序号,传输验证单位以字节为单位
3.有拥塞控制、流量控制、支持全双工,只能一对一

2、TCP协议

(1)可靠传输的实现:确保接收端能接受到正确报文

1.滑动窗口:以字节为单位,由接收端提供,每个字节都有确认机制
2.超时重传:每次传输过后,当计时器倒计时结束后,还未收到确认报文时,发送端则自动重传
3.选择确认:当接收到的序列没有按序到达时,接收端可以选择部分提前到达的序列段进行确认<br>

(2)流量控制的实现:告诉发送端不要传太快
通过滑动窗口数实现:接收方每次回复确认报文都捎带上,“滑动窗口”数目。
(3)拥塞控制的实现:保证全局性的网络传输效率。当总资源需求>现有资源,会出现网络拥塞,许多报文不能按时到达,要重传,大量重传将引起拥塞的恶性循环,因此,需要拥塞控制。
实现过程:

1.慢开始算法
2.拥塞避免算法
3.拥塞控制算法

image

改进算法:快重传+快恢复算法
(4)TCP连接、释放过程(重要点!!牢记)
TCP三次握手:
image

问:为什么要进行第三次握手?
答:避免无效请求报文再次到达服务端。建立连接请求过程,有可能某个“迟到的无效请求报文”滞留在网络的某个节点上,
在本次TCP通信结束后,到达了服务端,如果这时候就打开TCP连接的话,服务端就一直处于等待之中,浪费了服务端资源。

TCP四次挥手:
image

问:为什么四次挥手后,客户端还要等待两个MSL才能关闭连接?
答:1、确保最后一个确认报文能到达服务端。2、确保所有“无效报文”都消失。跟第三次握手类似,防止迟到无效报文再次到达服务端。

传输层整体小结:
1、TCP三次握手、四次挥手过程,及最后一步的目的
2、TCP可靠传输、流量控制、拥塞控制的实现机制

应用层:DNS、FTP、URL、HTTP

1、DNS域名系统

(1)作用:根据映射表,将“域名”转换成“IP地址”,在建立TCP连接之前,返回服务器IP地址给客户端。
(2)执行机制:

1.客户端将“待解析的域名”放在DNS请求报文中,发送给本地域名服务器,本地’有则返回IP地址,否则将向根域名服务器发送请求;
2.根域名服务器有则返回IP地址,否则告诉本地域名服务器,顶级域名服务器的地址;
3.本地’将向顶级服务器发送请求,顶级’有则返回IP地址,否则告诉本地’下一级域名服务器的地址;
4.如此递归查询

2、FTP文件传输协议

(1)作用:减少或消除不同操作系统下的文件传送的兼容性。
(2)执行机制:

1.FTP是基于tCP传输的。通过建立两个连接实现的:TCP控制连接、TCP数据连接,使得协议变得更加简单
2.首先建立控制连接,控制链接决定数据的传输与终止;
3.接着建立数据连接,数据传送通道。

3、万维网运行机制:web请求、与服务器响应

(1)整体机制:
整个万维网就是有许多服务器、主机构成,服务器上部署了许多站点(存放各个网站的文档与程序),当主机客户通过“IP地址”找到服务器后,发送 HTTP请求,如想要获取某个web页面,服务器接受请求后,通过服务端程序判读用户访问的合法性,合法则返回用户请求的web页面,否则返回错误信息。
(2)什么是URL统一资源定位符?
“URL资源定位符”,将唯一标识服务器上存放的文件,用户通过URL唯一确定请求想要的文档。
(3)HTTP:规定了客户请求、服务器响应的规则
①HTTP请求响应过程、执行机制?从用户点击鼠标到浏览到web页面,中间发生了什么?(重中之重,烂熟于心!)

1.第一步:域名解析。客户端通过发送包含服务器域名的报文给DNS服务器,从而获取到服务器IP地址;
2.第二步:建立TCP连接。通过三次握手,客户端和服务器建立TCP连接,在第三次握手时,将HTTP请求报文丢给服务器,比如要get某一个主页;
3.这些数据报文就通过一个个路由器转发到服务器上,如果中间出现差错,则ICMP协议返回差错报告;
4.当顺利到达服务器后,服务器将通过程序来验证请求的合法性,合法则返回响应,非法则返回错误报告;
5.当客户端收到响应报文时,一次完整的HTTP请求响应过程到此结束;
6.最后,通过四次挥手,释放TCP连接(后来HTTP版本,会保留一段时间)

②HTTP报文格式,及常见状态码

请求报文:
请求行:方法  URL  版本 
首部行:字段名:值   (此处可有可无,Cookie的值就是自动装在此处的,或告知本次数据传输后TCP的状态,“connection属性值”决定,
或附加其他消息)实体行(通常不用)
响应报文:
状态行:版本  状态码  状态解释
首部行:字段名:值
常见状态码:(重要!要熟练!)
1xx:已接受到请求,正在处理中
2xx:成功
3xx:重定向
4xx:请求错误,客户端请求有误
5xx:服务错误,服务器出错
状态码小结:
“200”表示“一切正常”;“301”表示“您访问的文档在别的地方,请您重新访问”;
“400”表示“请求的语法有误”,“403”表示“禁止访问该资源”,“404”表示“您访问的资源不存在”;
“500”表示“服务器出错了”

(4)Cookie:标记用户,识别用户,跟踪用户足迹
机制与作用:Cookie是保存在浏览器本地的文件,在每次HTTP请求中,会自动发送给服务器,可通过程序进行“创建、修改、读取、删除” ,可通过Cookie的值来“识别用户”,从而对用户进行“个性化推荐”等操作。

(5)搜索引擎系统:通过“线性代数稀疏矩阵”的计算,得出搜索的重要性排名

本章重点小结:

1、HTTP请求响应过程机制;
2、HTTP状态码、报文格式;(这两点烂熟于心,必考)
3、Cookie的机制作用理解
4、FTP、DNS执行机制

全书重点总结:

1、整体数据传输机制
2、IP分组转发机制
3、TCP三次握手、四次挥手机制,及最后一次的目的
4、HTTP完整的请求响应机制、HTTP常见状态码含义

About

学习笔记丨计算机网络知识点小结