计算机网络总结

OSI七层模型

物理层:

连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输

数据链路层:

作用:为网络层提供可靠的数据传输
数据的成帧 :把网络层数据报加头 尾,封装成帧
流量控制: 控制发送的传输速度,使得接收方来得及接收, 传输层TCP也有流量控制功能,但TCP是端到端的流量控制,链路层是点到点(比如一个路由器到下一个路由器)
数据的检错: 接收者检测错误,如果发现差错,丢弃该帧
方法:奇偶校验码-局限性:出错两位,检测不到
== 循环冗余检验码CPC==:根据传输和保存的数据产生固定位数的校验码
透明传输: “透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。 即在控制字符前加上转义字符 ESC

网络层:

网络层负责对子网间的数据包进行路由选择
发送端和接收端之间建立一条虚拟路径,IP协议
ARP与RARP协议实现网络地址(IP)与物理地址的转换
如果在数据传输过程中出现问题,该层的ICMP协议将产生错误的报文( 差错报告报文和询问报文)
基本数据单位:IP 数据报

IP 协议(网际协议):是 Internet 网络层最核心的协议。虚拟互联网络的产生: 实际的计算机网络错综复杂;物理设备通过使用 IP 协议,屏蔽了物理网络之间的差异; 当网络中主机使用 IP 协议连接时,无需关注网络细节,于是形成了虚拟网络

传输层:

提供源端与目的端之间(应用程序之间的通信)的数据传输
TCP(传输控制协议, 面向连接,面向字节流的协议,保证数据的完整性,顺序性,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),提供全双工通信(每条 TCP 连接只能一对一),
UDP(用户数据报协议, 不面向连接,是面向报文传输的 。与 TCP 特性恰恰相反,用于传输可靠性要求不高,数据量小的数据)

主要是将从下层接收的数据进行分段进行传输,到达目的地址后在进行重组。 常常把这一层数据叫做段
还有差错控制和流量控制的功能

TCP 协议的流量控制:
让发送方发送速率不要太快,TCP 协议使用滑动窗 口实现流量控制

会话层:

是用户应用程序和网络之间的接口,负责在网络中的两节点之间建立、维持、终止通信。

表示层:

主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够 识别的东西转换成人能够能识别的东西

应用层:

为用户的应用进程提供网络通信服务,完成和实现用户请求的各种服务

TCP/IP模型

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议

交换机与路由器的区别:

(1)工作所处的OSI层次不一样,交换机工作在OSI第二层数据链路层,路由器工作在OSI第三层网络层;
(2)寻址方式不同:交换机根据MAC地址寻址,路由器根据IP地址寻址;
(3)转发速不同:交换机的转发速度快,路由器转发速度相对较慢。

TCP 和 UDP 的适用场景:

(1)当对网络通讯质量要求不高时,并且要求网络通讯速度能尽量的快,这时就可以使用UDP。比如即使通信: 语音、 视频 、直播等

(2)当对网络通讯质量有要求时,要求整个数据准确无误可靠的传递给对方,这时就适用使用 TCP 协议,一般用于文件传输、发送和接收邮件等场景。比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议都是使用 TCP 协议

TCP

请添加图片描述

1)源端口和目的端口:分别占16位,指发送方应用程序的端口和目的方应用程序的端口号,通过 IP 地址 + 端口号就可以确定一个进程地址

(2)序号(Sequense Number,SN):在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,该字段表示本报文段所发送数据的第一个字节的序号。

(3)确认号 ack:期望收到对方下一个报文段的第一个数据字节的序号。若确认号为 N,则表明:到序号 N-1 为止的所有数据都已正确收到。

(4)头部长度:指出 TCP报文段的数据起始处 距离 TCP报文段的起始处有多远。这个字段实际上是指出TCP报文段的首部长度。

(5)保留位:占6位,应置为 0,保留为今后使用。

(6)6个控制位:用于说明该报文段的性质:

(7)窗口大小:16位,用于控制发送端的滑动窗口大小

(8)校检和:16位,校验数据段是否未被修改

(9)紧急指针:16位

什么是SYN洪泛:

    SYN 洪泛是指利用 TCP 需要三次握手的特性,攻击者伪造 SYN 报文向服务器发起连接,服务器在收到报文后用 ACK 应答,但之后攻击者不再对该响应进行应答,造成一个半连接。假设攻击者发送大量这样的报文,那么被攻击主机就会造成大量的半连接,耗尽其资源,导致正常的 SYN 请求因为队列满而被丢弃,使得正常用户无法访问
半连接队列:服务器第一次收到客户端的 SYN 之后,就会处于 SYN_RCVD 状态,此时双方还没有完全建立其连接,服务器会把这种状态下的请求连接放在一个队列里,我们把这种队列称之为半连接队列。当然还有一个全连接队列,完成三次握手后建立起的连接就会放在全连接队列中。

三次握手过程中是否可以携带数据:

第三次握手时是可以携带数据的,但第一二次握手时不可以携带数据。

(1)假如第一次握手可以携带数据的话,那么会放大 SYN 洪泛。如果有人要恶意攻击服务器,每次都在第一次握手中的 SYN 报文中放入大量的数据,然后疯狂重复发送 SYN 报文的话,就会让服务器开辟大量的缓存来接收这些报文,内存会很容易耗尽,从而拒绝服务。

(2) 第三次握手时客户端已经处于 ESTABLISHED 状态,对于客户端来说,他已经建立起连接了,并且已经知道服务器的接收和发送能力是正常的,所以也就可以携带数据了

TCP可靠性传输:

1、TCP 如何保证可靠性传输:
(1)三次握手
(2)应答机制与超时重传:TCP接收端收到发送端的数据时,它将发送一个确认。当TCP发送端发出一个报文段后,它会启动一个定时器,等待接收端的确认报文段,如果不能及时收到一个确认,将重发这个报文段。
(3)数据包校验与丢弃重复数据:TCP会检测数据在传输过程中的任何变化,若校验出包有错,则丢弃报文段并且不给出响应,这时TCP会超时重发数据;对于重复数据,则进行丢弃;
(4)对失序数据包进行重排序:既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。TCP将对失序数据进行重新排序,然后才交给应用层;
(5)流量控制:TCP 连接的每一方都有固定大小的缓冲空间。TCP 的接收端只允许另一端发送接收端缓冲区所能接纳的数据,防止较快主机致使较慢主机的缓冲区溢出。TCP使用的流量控制协议是可变大小的滑动窗口协议。
(6)拥塞控制:网络拥塞时,减少数据的发送。

2、TCP的流量控制:
所谓流量控制就是让发送方的发送速率不要太快,让接收方来得及接收。因为如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。TCP的流量控制是通过大小可变的滑动窗口来实现的。接收端将自己可以接收的缓冲区大小放入TCP首部中的“窗口大小”字段,通过ACK报文来通知发送端,滑动窗口是接收端用来控制发送端发送数据的大小,从而达到流量控制

3、TCP 协议的拥塞控制 拥塞控制与流量控制的区别:
流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。
拥塞控制的方法:慢启动算法+拥塞避免算法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值