目录
1.OSI七层模型及各层作用
2.TCP/IP模型
3.ARP地址解析协议(工作在网络层和数据链路层)
4.MAC层的功能&MAC地址的作用
MAC层功能:
MAC地址作用什么是mac地址 mac地址有什么作用【详细介绍】-太平洋IT百科
5.交换机如何学习MAC地址表
6.二层交换机与三层交换机(路由表中包含的路由信息)
二层交换机:
三层交换机:
区别:
7.冲突域与广播域
8.VLAN&子网
VLAN:
子网:(子网掩码、CIDR等知识略)
二者区别:
9.二层网络拓扑通信过程
10.三层网络拓扑通信过程
11.关于路由
交换机/路由器等三层设备的路由中包含的路由信息:
三层路由知识_NaZhiMiao的博客-CSDN博客_三层路由
路由选路原则:
路由分类及优先级:
12.重要动态路由协议(RIP&OSPF&BGP)
内部网关协议(IGP):
外部网关协议(EGP):
13.单播/组播/广播对比&IPv6地址包含的类型
IPv6地址包含的类型:
14.DHCP协议
15.TCP/IP三次握手与四次挥手
16.TCP与UDP(TCP的流量控制与拥塞控制)
17.TCP对应的应用层协议(FTP是重点)
18.UDP对应的应用层协议(DNS是重点)
18.Web页面请求过程
19.IPv4头部中的TTL
20.NAT协议
21.STP 生成树协议!!
其他常考问题:
Linux的一些常用语句
TCP的连接安全(SSL)
5G技术及应用场景
防火墙
DDoS拒绝服务攻击
物理层:确保原始数据在各种物理媒体上传输
协议:IEEE802.A、IEEEE802.2 传输数据:bit流 相关设备:光纤、双绞线、中继器、集线器、网线接口
数据链路层:在不可靠的物理介质上提供可靠传输
协议:ARP、MAC、PPP、PDN 传输数据:frame帧 相关设备:网桥、二层交换机
网络层:负责对子网间的数据包进行路由选择
协议:IP、ICMP、ARP、RARP、IGMP 传输数据:packet数据包 相关设备:路由器、三层交换机
传输层:端到端,即主机到主机的层次,将数据分段,并提供端到端的可靠的或不可靠的传输,处理差错控制,流量控制。
协议:TCP、UDP 传输数据:segment数据段 相关设备:四层交换机
会话层:这一层管理主机之间的会话进程,即负责建立、管理、终止进层之间的会话。
协议:SMTP、DNS 传输数据:报文 相关设备:QoS
表示层:这一层主要解决用户信息的语法表示问题,提供格式化的表示和转换数据服务
协议:Telnet、SNMP 传输数据:报文
应用层:为操作系统或网络应用程序访问网络服务的接口
协议:FTP、HTTP、DNS
(图片参考如水印)
四层模型:网络接口层、网络层、传输层、应用层
五层模型:物理层、数据链路层、网络层、传输层、应用层
更详细的知识点:TCP/IP五层模型
更详细的知识点:TCP/IP四层模型(里面的协议也需了解,不过后面会有详细总结)
参考网址(详细知识):什么是ARP?它是如何进行地址解析的? - 华为
ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和静态ARP表项。
ARP作用:在局域网中,当主机或其它三层网络设备有数据要发送给另一台主机或三层网络设备时,需要知道对方的网络层地址(即IP地址)。但是仅有IP地址是不够的,因为IP报文必须封装成帧才能通过物理网络发送,因此发送方还需要知道接收方的物理地址(即MAC地址),这就需要一个通过IP地址获取物理地址的协议,以完成从IP地址到MAC地址的映射。地址解析协议ARP即可实现将IP地址解析为MAC地址。
MAC(Media Access Control,介质访问控制)
参考网址:MAC层作用 - 夜雨阑珊 - 博客园
MAC层即媒体介入控制层,属于OSI模型中数据链路层下层子层。它定义了数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知(不纠正)、帧的传递顺序和可选择的流量控制也在这一子层实现。
该协议位于OSI七层协议中数据链路层,数据链路层分为上层LLC(逻辑链路控制),和下层的MAC(介质访问控制),MAC主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。
MAC(Media Access Control, 介质访问控制),或称为 MAC位址、硬件位址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC位址。因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。MAC地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符”(Organizationally Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成2^24个不同的地址。MAC地址实际上就是适配器地址或适配器标识符EUI-48。
比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始结点出发,从一个结点传递到另一个结点,最终传送到目的结点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。
参考网址(相当于二层网络拓扑实验练习,建议大家进行实操):交换机MAC地址学习_奋斗小白Ain的博客-CSDN博客_交换机mac地址
当交换机收到某接口的数据帧时,将该数据帧的源mac地址记录到交换机的mac地址表并标明来源接口,下一次收到数据帧时,并通过mac地址表进行转发。
(初始状态下,映射表是空的。现在,主机 A 向 B 发送一个数据帧 FRAME1 。因为映射表中没有地址 B 的记录,交换机便将数据帧广播到其他所有端口。由于交换机是从 Fa0/1
端口收到数据帧的,便知道 A 连接 Fa0/1
端口,而数据帧的源地址就是 A 的地址!此时,交换机可以将 A 的地址和端口 Fa0/1
作为一条记录加入映射表。交换机学习到 A 的地址!接着,主机 B 向 A 回复一个数据帧 FRAME2 。由于映射表中已经存在地址 A 的记录了,因此交换机将数据帧精准转发到端口 Fa0/1
。同理,交换机学习到主机 B 的地址。)
当主机 C 开始发送数据时,交换机同样学到其地址,学习过程完成!
1.泛洪:收到目的mac地址为ff:ff:ff:ff:ff:ff,向同一广播域的接口复制转发(一对所有)
2.转发:从一个接口接收到数据帧后,查看mac地址表,存在目的mac地址,然后一对一接口转发(一对一)
3.丢弃:从一个接口接收到数据帧后,mac地址表不存在对应mac地址或数据帧不合法,丢弃
一些碎知识点:25 张图详解交换机:秒懂二层交换机的 16 个问题 - 知乎
参考网址:图解:二层与三层交换机之间到底有什么区别? - 腾讯云开发者社区-腾讯云
二层交换机属数据链路层设备,可以将计算机网络系统的各种终端设备连接在一个平台上。二层交换机使用ARP地址解析协议(不遵循路由算法),可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。MAC地址表为二层设备提供了唯一地址,用于标识数据下发的终端设备和节点。
特点:
应用:
二层交换机用于小型的局域网络,它的快速交换功能(无需物理连接)、多个接入端口和相对便宜的价格为小型网络用户提供了很完善的解决方案。
三层交换机为带有路由功能的交换机,能够做到一次路由,多次转发。此外,三层交换机可以执行静态路由和动态路由。这意味着三层交换机同时具有MAC地址表和IP路由表,并且还处理VLAN内通信以及不同VLAN之间的数据包路由。三层交换机还包括一些功能,这些功能需要能够理解进入交换机的数据的IP地址信息,例如基于IP地址标记VLAN流量,而不是手动配置端口。三层交换机的功率和安全性得到了提高。
路由:第3层中的源端设备首先查看自己的路由表,路由表中包含了源IP地址、目的IP地址和子网掩码的所有信息。然后,根据它从路由表中收集的信息,将数据包发送到目的地,并可以在不同的LAN、MAN和WAN网络之间进一步传递数据。它遵循最短且安全的路径在终端设备之间传递数据。
特点:
应用:
三层交换机有路由功能,但不能完全取代路由器,因为基础原理并不相同.
三层交换机从某种意义上来说会比路由器策略转发快的多!
三层交换机能很方便的节约网络资源,防止拥塞现象.
工作层级不同:二层交换机工作在数据链路层,三层交换机工作在网络层,三层交换机不仅实现了数据包的高速转发,还可以根据不同网络状况达到最优网络性能。
原理不同:二层交换机的原理是当交换机从某个端口收到一个数据包,它会先读取包中的源MAC地址,再去读取包中的目的MAC地址,并在地址表中查找对应的端口,如表中有和目的MAC地址对应的端口,就把数据包直接复制到这个端口上。三层交换机的原理比较简单,就是一次路由多次交换,通俗来说就是第一次进行源到目的的路由,三层交换机会将此数据转到二层,那么下次无论是目的到源还是源到目的都可以进行快速交换。
应用不同:二层交换机主要用于网络接入层和汇聚层,而三层交换机主要用于网络核心层,但是也存在少部分三层交换机用于汇聚层的现象,下图是三层交换机的实际应用实例。
PS:三层交换机与路由器之间的区别:
深入解读路由器、交换机、三层交换机的区别 - 知乎
网络工程师必知:三层交换机与路由器如何选择?它们之间有哪些本质区别?网络技术联盟站-网络技术-网络技术联盟站瑞哥-网络工程师-网络工程网络技术联盟站
参考网址:详解广播域和冲突域的区别_WenjieDai的博客-CSDN博客_冲突域和广播域的区别
冲突域(基于物理层):
连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合或以太网上竞争同一带宽的节点集合。
广播域(基于数据链路层):
接收同样广播消息的节点的集合。由于广播域被认为是OSI中的第二层概念,所以像Hub(集线器),交换机等第一,第二层设备连接的节点被认为都是在同一个广播域。而路由器,第三层交换机则可以划分广播域,即可以连接不同的广播域。
区别:
参考网址:什么是VLAN?VLAN是如何工作的? - 华为
VLAN 基础知识 - 知乎
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。
每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则不能直接互通。这样,广播报文就被限制在一个VLAN内。(减少冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。)
VLAN具备以下优点:
VLAN的划分:
根据端口定义;根据MAC地址划分;根据网络层划分:IP组播作为VLAN;基于组合策略划分VLAN;
VLAN接口类型:
现网中属于同一个VLAN的用户可能会被连接在不同的交换机上,且跨越交换机的VLAN可能不止一个,如果需要用户间的互通,就需要交换机间的接口能够同时识别和发送多个VLAN的数据帧。根据接口连接对象以及对收发数据帧处理的不同,当前有VLAN的多种接口类型,以适应不同的连接和组网。
Access接口:Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器)相连,或者不需要区分不同VLAN成员时使用。
在一个VLAN交换网络中,以太网数据帧主要有以下两种形式:
Access接口大部分情况只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。交换机内部只处理Tagged帧,所以Access接口需要给收到的数据帧添加VLAN Tag,也就必须配置缺省VLAN。配置缺省VLAN后,该Access接口也就加入了该VLAN。
当Access接口收到带有Tag的帧,并且帧中VID与PVID相同时,Access接口也能接收并处理该帧。
在发送带有Tag的帧前,Access接口会剥离Tag。
Trunk接口:Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许属于缺省VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Trunk接口上的缺省VLAN,有的厂商也将它定义为native VLAN。当Trunk接口收到Untagged帧时,会为Untagged帧打上Native VLAN对应的Tag。
Hybrid接口:Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。
Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口。比如在灵活QinQ中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk接口不能实现该功能,因为Trunk接口只能使该接口缺省VLAN的报文不带VLAN Tag通过。
VLAN使用场景:VLAN间用户的二层隔离;VLAN间用户的三层互访。
IP地址可以在逻辑上划分(也称为子网划分)为两个部分:网络号(路由前缀)和主机标识符。属于子网的网络设备在其IP地址中共享公共网络前缀。网络前缀是通过在IP地址和子网掩码(通常为255.255.255.0)之间应用按位与运算来确定的。使用示例地址192.168.5.130,网络前缀(子网)为192.168.5.0,而主机标识符为0.0.0.130。
当源地址和目的地址的网络 前缀不同时,流量将通过路由器在子网之间交换或路由(许多现代交换机还具有路由器功能)。路由器构成子网之间的逻辑和物理边界。
作用:
VLAN和子网之间的区别与联系 - &Yhao - 博客园
VLAN是数据链路层(OSI L2)的构造,而子网是网络层(OSI L3)的IP构造,它们解决网络上的不同问题。尽管在VLAN和子网之间创建一对一关系是一种常见的做法,但是它们是独立的第2层和第3层构造,这在设计网络时增加了灵活性。
(该图片摘自什么是VLAN?VLAN是如何工作的? - 华为
数据帧的转发流程如下:
PS: L2FDB表中MAC地址通过老化机制来更新;
在转发的过程中,不会对帧的内容进行修改
跨VLAN的数据经由网关通信,网关不一定是路由器,还可以是三层交换机或插了两块网卡的电脑。
首先,二层交换机借助硬件部分的MAC地址表来定位目标主机。然后从MAC表中学习接收主机的目的地址。之后,三层交换机根据IP地址和子网掩码进行交换和路由,它将明确PC1希望和哪个VLAN网络的目标PC通信。一旦它收集了所有必要的信息,将在它们之间建立链接,并将数据从发送端路由到接收端。这样就完成了不同VLAN间的通信。
18张图带你详解IP路由表七大要素:路由前缀、协议类型、优先级等_网络工程师笔记的博客-CSDN博客_ip路由表
***Destination/Mask:目标网络:你想去往目标地的网络
**Proto:路由来源:要么是通过直连学习到 要么是通过静态或者动态构建出来的
**Pre:优先级:直连是0 OSPF是10和150 静态是60 rip是100 BGP是255
**Cost:度量值(cost):可以理解为花销成本
*Flags:标志位
***NextHop:下一跳:你想要去往目标地的下一站 127.0.0.1表示的是抵达设备自身流量
***Interface:出接口:数据包发送的接口
注意:一般来说 出接口和下一跳在同一个网段
路由选路三原则_运维密码的博客-CSDN博客
最长掩码匹配原则;管理性距离(AD)选路原则(越小);度量值(越小)
路由的分类和优先级 - 知乎
1.直连路由:路由器接口上配置的网段地址会自动出现在路由表中并与接口关联
优点:自动发现,开销小
缺点:只能发现本接口所属网段
2.静态路由:系统管理员手工设置的路由称为静态(static)路由,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络拓扑结构的改变而自动改变。
适用场景:网络规模不大,网络拓扑稳定
优点:配置简单,不占用网络和系统资源,安全
缺点:当一个网络模块故障发生后,静态路由不会自动修正,需网络管理员手工逐条配置,不能自动对网络状态变化做出相应的调整。
一条静态路由配置命令中要有以下几个要素:
3.动态路由:路由器根据路由选择协议所定义的规则来交换路由信息,并且独立地选择最佳路径
适用场景:网络规模大,网络拓扑复杂
优点:通过路由信息交换生成并维护路由表,简化管理员维护工作。当网络结构发生变化时,可以自动做出调整,优化路由表。
缺点:需占用路由器资源(CPU、内存)和网络带宽资源
分类:
根据作用的范围,路由协议可分为:
根据使用的算法,路由协议可分为:
以上两种算法的主要区别在于发现路由和计算路由的方法。
4.默认路由(缺省路由):是一个路由表条目,用来指明一些在下一跳没有明确地列于路由表中的数据单元该如何转发。对于在路由表中找不到明确路由条目的所有的数据包都将按照缺省路由指定的接口和下一跳地址进行转发。(并不一定都是手工配置的静态路由,有时也可以由动态路由协议产生)
在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的路由形式出现。可通过命令Show ip route的输出看它是否被设置。如果报文的目的地址不能与路由表的任何入口项相匹配,那么该报文将选取缺省路由。如果没有缺省路由且报文的目的地址不在路由表中,那么该报文被丢弃的同时,将返回源一个ICMP报文指出该目的地址或网络不可达。缺省路由是否出现在路由表中取决于本地出口状态。使用缺省路由意味着采用适当带宽的链路来替代高带宽的链路以满足大量用户通信的需求。
优点:使用缺省路由可以极大减少路由表条目
缺点:一旦配置不正确可能导致路由环路;可能导致非最佳路由。
RIP协议详解_TheCarol的博客-CSDN博客_rip
RIP(Routing Information Protocol,路由信息协议):RIP协议基于距离矢量算法(Bellham-Ford)(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。实现简单,开销较小,用于小规模网络。
三个要点:仅与相邻路由器交换信息;交换的是本路由器得全部信息(路由表);按固定时间间隔周期性交换。
工作过程:
特点:好消息传得快:在自治系统中所有的节点都得到正确的路由选择信息得过程较快;坏消息传得慢 ,要一直循环到跳数达到16时才发现。可能产生路由环路。
OSPF路由协议 - 知乎 OSPF路由协议_百度百科
OSPF协议原理详解_Carry丶的博客-CSDN博客_ospf
OSPF(Open Shortest Path First,开放最短路径优先):基于链路状态的协议。链路:路由器接口;状态:描述接口以及其与邻居路由器之间的关系。以开销作为度量值,收敛速度快,适合在大范围的网络。
工作过程:
网络类型:
点到点连接;广播;非广播多路访问;点到多点;
特点:
适合在大范围的网络:路由的跳数无限制;组播触发式更新:减小干扰;收敛速度快;以开销作为度量值:选路基于带宽因素;可以避免路由环路:在最短路径算法下,收到路由中的链路状态,生成路径,不会产生环路;应用广泛;配置复杂;路由自身的负载分担能力低。
OSPF特殊区域:
ospf 的特殊区域_m0_51828898的博客-CSDN博客
RIP与OSPF区别:
BGP基础知识_曹世宏的博客的博客-CSDN博客_bgp 边界网关协议_百度百科
BGP(Border Gateway Protocol,边界网关协议):是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。BGP路由选择协议执行中使用4种分组:打开分组(open)、更新分组(update)、存活分组(keepalive)、通告分组(notification)。
自治系统AS(Autonomous System):AS是指在一个实体管辖下的拥有相同选路策略的IP网络。
BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。这个节点可以是一个主机。但通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router)。虽然BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP。比如在数据中心上行的连入Internet的出口上,为了避免Internet海量路由对数据中心内部网络的影响,设备采用静态路由代替BGP与外部网络通信。
BGP按照运行方式分为EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)。
什么是组播?组播和单播的区别是什么? - 华为
单播:在同一网络内,两个设备点对点的通信就是单播通信。单播是主机间一对一的通讯模式,网络中的设备根据网络报文中包含的目的地址选择传输路径,将单播报文传送到指定的目的地,只对接收到的数据进行转发,不会进行复制。它能够针对每台主机及时的响应,现在的网页浏览全部都是采用单播模式。
组播:在同一网络可达范围内,一个网络设备与关心其数据的部分设备进行通信就是组播。组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。
单播传输适用于用户稀少的网络,如果用户量较大时,网络将会出现多份相同的流量,会大量占用处理器资源而且非常浪费网络的带宽,而通过组播方式传输,网络中每条链路中仅有一条数据流。组播相比于单播的优势在于相同的报文在每条链路上最多有一份。
广播:在同一网络可达范围内,一个网络设备向本网络内所有设备进行通信就是广播。广播是主机间一对所有的通讯模式,设备会将报文发送到网络中的所有可能接收者。设备简单地将它收到的任何广播报文都复制并转发到除该报文到达的接口外的每个接口。广播处理流程简单,不用选择路径。
IPv6的地址类型_姜亚轲的博客-CSDN博客_ipv6地址类型
组播、单播、任意播。
什么是DHCP?为什么要用DHCP? - 华为
DHCP(Dynamic Host Configuration Protocol动态主机配置协议):DHCP协议采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,DHCP Server为网络上的每个设备动态分配IP地址、子网掩码、默认网关地址,域名服务器(DNS)地址和其他相关配置参数,以便可以与其他IP网络通信。
在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。DHCP实现的自动化分配IP地址不仅降低了配置和部署设备的时间,同时也降低了发生配置错误的可能性。另外DHCP服务器可以管理多个网段的配置信息,当某个网段的配置发生变化时,管理员只需要更新DHCP服务器上的相关配置即可,实现了集中化管理。
优势:
强推!!强推这个知乎回答!一文搞定TCP UDP - 搜索结果 - 知乎
三次握手:
假设 A 为客户端,B 为服务器端。
首先 B 处于 LISTEN(监听)状态,等待客户的连接请求。
B 收到 A 的确认后,连接建立。
第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开链接。
四次挥手:
为什么四次挥手:TCP双向通道互相独立。TCP半关闭:TCP提供了连接的乙方在结束他的发送后还能接受来自另一端数据的能力,不
TCP(Transmission Control Protocol,传输控制协议)
UDP(User Data Protocol,用户数据报协议)
TCP的拥塞控制:慢开始、拥塞避免、快重传、快恢复
发送的最初执行慢开始,令 cwnd = 1,发送方只能发送 1 个报文段;当收到确认后,将 cwnd 加倍,因此之后发送方能够发送的报文段数量为:2、4、8 ...
注意到慢开始每个轮次都将 cwnd 加倍,这样会让 cwnd 增长速度非常快,从而使得发送方发送的速度增长速度过快,网络拥塞的可能性也就更高。设置一个慢开始门限 ssthresh,当 cwnd >= ssthresh 时,进入拥塞避免,每个轮次只将 cwnd 加 1。
如果出现了超时,则令 ssthresh = cwnd / 2,然后重新执行慢开始。
在接收方,要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认。例如已经接收到 M1 和 M2,此时收到 M4,应当发送对 M2 的确认。
在发送方,如果收到三个重复确认,那么可以知道下一个报文段丢失,此时执行快重传,立即重传下一个报文段。例如收到三个 M2,则 M3 丢失,立即重传 M3。
在这种情况下,只是丢失个别报文段,而不是网络拥塞。因此执行快恢复,令 ssthresh = cwnd / 2 ,cwnd = ssthresh,注意到此时直接进入拥塞避免。
慢开始和快恢复的快慢指的是 cwnd 的设定值,而不是 cwnd 的增长速率。慢开始 cwnd 设定为 1,而快恢复 cwnd 设定为 ssthresh。
TCP流量控制:滑动窗口机制
TCP协议-TCP的流量控制_yunfan188的博客-CSDN博客_tcp流量控制
二者区别:
基于TCP或UDP的应用层协议有哪些?——Linux网络编程_博雅勇士的博客-CSDN博客_应用层协议依赖于tcp和udp
基于TCP协议的都用C/S模式(客户端/服务器模式)
HTTP(HyperText Transfer Protocol 超文本传输协议):从Web服务器传输超文本到本地浏览器的传送协议。
FTP(File Transfer Protocol 文件传输协议):用于Internet上控制文件的双向传输。命令与数据分开传送,提高了效率。提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了计算机系统的各种细节,可减少或消除在不同操作系统下处理文件的不兼容性,因而适合于在异构网络中任意计算机之间传送文件。
FTP的服务器进程:一个主进程:负责接收新的请求;若干个从属进程:负责处理单个请求。
两个端口:命令端口(端口号21)负责FTP命令的发送,并接收返回的响应信息。数据端口(端口号20):对于有数据传输的操作,主要显示目录列表、上传、下载文件。
两种模式:
SMTP(Simple Mail Transfer Protocol 简单邮件传输协议):定义了简单邮件传送协议,用于发送邮件,使用的是25端口。
Telnet(Teletype over the Network 网络电传):一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。
基于TCP或UDP的应用层协议有哪些?——Linux网络编程_博雅勇士的博客-CSDN博客_应用层协议依赖于tcp和udp
什么是DNS? - 知乎
DNS(Domain Name Service 域名服务):因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。使用53号端口。
例如:www.sina.com.cn, 其中最高域名是cn, 表示这台主机在中国。 第二级域名是com, 表示这个主机属于公司机构; 接下来是sina表示这台主机属于新浪网, 最左边的是www,表示该主机是一台web服务器。人们可以很容易的就记住它的域名,而不用他的IP地址。
DNS域名解析过程:
1,在浏览器中输入http://pool.btc.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2,如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3,如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4,如果要查询的域名,不在本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5,如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(http://BTC.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找http://pool.btc.com域服务器,重复上面的动作,进行查询,直至找到http://pool.btc.com主机。
6,如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
TFTP(Trivial File Transfer Protocol 简单文件传输协议):该协议在熟知端口69上使用UDP服务。
SNMP(Simple Network Management Protocol 简单网络管理协议):使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出优势。
NTP(Network Time Protocol 网络时间协议)
超详细的"Web页面请求过程"之旅_笨小孩k的博客-CSDN博客
书《计算机网络自顶向下方法(第六版)》第329页也有这个,实在是懒得打啦!改日再打
TTL(Time to Live 存活时间):在网络中标识数据包最大存活时间,用来防止路由环路,每经过一台路由器则TTL字段减去1,直到为0,此数据包直接被丢弃。其值最大为255,单位为s。然而现在路由器转发数据包都是用跳数来作为衡量单位。
IPv6的报文头部中有:HL(Hop Limit):跳数限制于IPv4报文中的TTL字段类似,指定了报文可以有效转发的次数,该字段长度为8比特位。报文每经过一个路由器结点,跳数值就减1,当此字段值减到0时,则直接丢弃该报文。
网络地址转换协议NAT功能详解及NAT基础知识介绍 - 知乎
nat(网络地址转换)_百度百科
NAT(Network Address Translation 网络地址转换):把主机的本地IP地址(即仅在本专用网内使用的专用地址)转化为公网IP地址。
这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。
功能:
什么是STP?为什么需要STP? - 华为
STP(Spanning Tree Protocol 生成树协议):STP通过将部分冗余链路强制为阻塞状态,其他链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构,可实现消除环路。当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复恢复网络连通性。
从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。
根桥:对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。在进行根桥的选择时,一般会选择性能高、网络层次高的交换设备作为根桥。根桥会根据网络拓扑的变化而动态变化。
根端口:去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据路径开销判定。在一台设备上所有使能STP的端口中,根路径开销最小者,就是根端口。很显然,在一个运行STP协议的设备上根端口有且只有一个,根桥上没有根端口。
指定端口:对于一台设备而言,即为指定桥向本机转发配置消息的端口;对于一个局域网而言,即为指定桥向本网段转发配置消息的端口。
STP的基本实现过程如下:
如果计算出的配置消息更优,则该端口被确定为指定端口,其配置消息也被计算出的配置消息替换,并周期性地向外发送;
如果该端口自己的配置消息更优,则不更新该端口的配置消息并将该端口阻塞。该端口将不再转发数据,且只接收不发送配置消息。