计算机网络基础知识点梳理

计算机网络

一、 计算机分层结构

1.1 TCP/IP四层模型与OSI体系结构对比

在这里插入图片描述
在这里插入图片描述
含有中间系统的分层模型
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、物理层

物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
物理层设备:
中继器【Repeater,也叫放大器】:同一局域网的再生信号
集线器:同一局域网的再生、放大信号(多端口的中继器)

三、数据链路层

3.1 数据链路层的作用

通过链路将一个结点向相邻的另一个结点发送数据报数据链路层在不可靠的物理介质上提供可靠的传输。
链路层为上面网络层提供的服务: 无确认无连接服务,有确认无连接服务,有确认面向连接服务

该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

流量控制

3.2 有关数据链路层的重要知识点

数据链路层为网络层提供可靠的数据传输;
基本数据单位为帧;
主要的协议:以太网协议;
两个重要设备名称:网桥和交换机。
**

在这里插入图片描述
说明:最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。控制字符前加上转义字符ESC,或者采用零比特填充法,或者违规编码法。换句话说:看不见传输的数据
说明违规编码法
在这里插入图片描述
零比特填充法
在这里插入图片描述

3.3 数据链路层的差错监测

差错检测:奇偶校验码、循环冗余校验码CRC

3.4 以太网协议详解

MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。

以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:
在这里插入图片描述
以太网帧结构:
1. 类型:标识上层协议(2字节)
2. 目的地址和源地址:MAC地址(每个6字节)
3. 数据:封装的上层协议的分组(46~1500字节)
4. CRC:循环冗余码(4字节)
5. 以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;

MAC地址(物理地址、局域网地址)
MAC地址长度为6字节,48位;
MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
MAC广播地址:FF-FF-FF-FF-FF-FF。

四、网络层

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括==寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文
包含的主要协议:
IP协议(Internet Protocol,因特网互联协议);
ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。

4.1 ip协议详解

IP协议非常简单,仅仅提供不可靠、无连接的传送服务。
虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。

在这里插入图片描述
其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。

4.2 IP协议的转发流程

在这里插入图片描述
在这里插入图片描述

4.4 网络地址转换NAT技术

用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。
NAT 工作原理:
从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;
从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。

4.5 ARP协议与RARP协议

地址解析协议 ARP(Address Resolution Protocol):可以把网络层32位地址转化为数据链路层MAC48位地址。
ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。

在这里插入图片描述
RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。

4.6 ICMP协议详解

在这里插入图片描述

静态路由人工配置,难度和复杂度高;
动态路由链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);

五、传输层

有关网络层的重点:
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
重要设备:网关。

5.1 UDP协议详解

UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议
在这里插入图片描述UDP协议的特点:

  • UDP是无连接协议;
  • UDP不能保证可靠的交付数据
  • UDP是面向报文传输的
  • UDP没有拥塞控制
  • UDP首部开销很小
    在这里插入图片描述

5.2 TCP协议详解

在这里插入图片描述
TCP协议的功能:
对应用层报文进行分段和重组;
面向应用层实现复用与分解;
实现端到端的流量控制;
拥塞控制;
传输层寻址;
对收到的报文进行差错检测(首部和数据部分都检错);
实现进程间的端到端可靠数据传输控制。

TCP协议的特点:
TCP是面向连接的协议;
TCP是面向字节流的协议;
TCP的一个连接有两端,即点对点通信;
TCP提供可靠的传输服务;
TCP协议提供全双工通信(每条TCP连接只能一对一);
在这里插入图片描述

5.3 TCP协议的流量控制

在这里插入图片描述

5.4 TCP协议的拥塞控制

什么是拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。

拥塞问题:当需求的资源 > 可用资源

避免拥塞问题的方法:
TCP 一共使用了四种算法来实现拥塞控制:
慢开始 (slow-start) ;
拥塞避免 (congestion avoidance);
快速重传 (fast retransmit);
快速恢复 (fast recovery)。

在这里插入图片描述

5.5 TCP为什么比UDP慢?

在这里插入图片描述

5.6 TCP三次握手和四次挥手

面试常客:为什么需要三次握手?

第一次握手:客户发送请求,此时服务器知道客户能发;
第二次握手:服务器发送确认,此时客户知道服务器能发能收;
第三次握手:客户发送确认,此时服务器知道客户能收。

在这里插入图片描述
建立连接(三次握手):
第一次握手:客户端请求建立连接,向服务端发送一个 同步报文(SYN=1) ,同时选择一个随机数 seq = x 作为初始序列号,并进入 SYN_SENT 状态,等待服务器确认。

第二次握手:服务端收到连接请求报文后,如果同意建立连接,则向客户端发送 同步确认报文(SYN=1,ACK=1) ,确认号为 ack = x + 1,同时选择一个随机数 seq = y 作为初始序列号,此时服务器进入 SYN_RECV 状态。

第三次握手:客户端收到服务端的确认后,向服务端发送一个 确认报文(ACK=1) ,确认号为 ack= y + 1,序列号为 seq = x + 1,客户端和服务器进入 ESTABLISHED 状态,完成三次握手。

为什么需要三次握手,而不是两次?
在这里插入图片描述
四次挥手
简述 TCP 四次挥手过程

在这里插入图片描述
在这里插入图片描述
为什么连接的时候是三次握手,关闭的时候却是四次握手?
服务器在收到客户端的 FIN 报文段后,可能还有一些数据要传输,所以不能马上关闭连接,但是会做出应答,返回 ACK 报文段。
服务器的ACK和FIN一般都会分开发送,从而导致多了一次,因此一共需要四次挥手。

在这里插入图片描述

六、应用层

应用层重点:
数据传输基本单位为报文;
包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。

6.1 DNS详解

DNS(Domain Name System:域名系统)【C/S,UDP,端口53】:解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的 域名 到 IP 地址的映射。

6.2 HTTP协议

HTTP协议的特点?
HTTP允许传输 任意类型 的数据。传输的类型由 Content-Type 加以标记。
无状态 。对于客户端每次发送的请求,服务器都认为是一个新的请求,上一次会话和下一次会话之间没有联系。
支持客户端/服务器模式。

在这里插入图片描述

6.3 HTTP1.0和HTTP1.1的区别?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4 什么是 Cookie 和 Session ?

什么是 Cookie

HTTP Cookie(也叫 Web Cookie或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据
它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。
通常,用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。
什么是 Session

Session 代表着服务器和客户端一次会话的过程。
Session 对象存储特定用户会话所需的 属性及配置信息 。
这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
当 客户端关闭会话 或者 Session 超时失效时 会话结束。
Cookie和Session的区别?
作用范围不同,Cookie 保存在客户端,Session 保存在服务器端。
有效期不同,Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般失效时间较短,客户端关闭或者 Session 超时都会失效。
隐私策略不同,Cookie 存储在客户端,容易被窃取;Session 存储在服务端,安全性相对 Cookie 要好一些 。
存储大小不同, 单个 Cookie 保存的数据不能超过 4K;对于 Session 来说存储没有上限,但出于对服务器的性能考虑,Session 内不要存放过多的数据,并且需要设置 Session 删除机制。
Cookie 和 Session 是如何配合的呢?(SessionID)
用户第一次请求服务器的时候
服务器根据用户提交的相关信息,创建对应的 Session ,请求返回时将此 Session 的唯一标识信息 SessionID 返回给浏览器;
浏览器接收到服务器返回的 SessionID 信息后,会将此信息存入到 Cookie 中,同时 Cookie 记录此 SessionID 属于哪个域名。当用户第二次访问服务器的时候请求会 自动判断此域名下是否存在 Cookie 信息 ,如果存在自动将Cookie 信息也发送给服务端;服务器端会从 Cookie 中获取 SessionID,再根据 SessionID 查找对应的Session 信息;
如果没有找到说明用户没有登录或者登录失效;
如果找到 Session 证明用户已经登录可执行后面操作。
根据以上流程可知,SessionID 是连接 Cookie 和 Session 的一道桥梁,大部分系统也是根据此原理来验证用户登录状态。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值