总字符数: 31.48K

代码: 1.53K, 文本: 29.95K

预计阅读时间: 1.05 小时

Web请求过程剖析

Web(World Wide Web)是指全球范围内的一系列互联网资源和文件的集合,这些资源和文件通过超文本传输协议(HTTP)进行传输和访问.

我们通常所说的Web指的是面向大众的互联网,是一种基于互联网的信息传递和共享方式.

通俗来说,Web就像是一座大图书馆,里面收藏了无数的书籍和资料.

我们可以通过电脑、手机等设备连接到互联网,访问Web上的各种网站和应用,获取各种信息和服务.就像在图书馆里查阅书籍一样

我们可以在Web上搜索各种信息、浏览新闻、购买商品、观看视频、玩游戏等等.

同时,我们也可以通过Web来发布信息、分享知识、交流想法、开展业务等等,使得信息的传递和共享更加便捷和高效.

那就先引入一个叫URL的概念

URL构成

1
2
3
4
5
6
7
8
9
# 名词解释
scheme:协议
Domain Name:域名
Port:端口号
Path to the file:虚拟目录/或文件名
myfile.html:文件名
Parameters:参数
Anchor:锚点
# HTML中的锚点(Anchor)是指在同一页面内,通过添加链接到页面中的某个具体位置,使得用户可以直接跳转到该位置的标识.锚点的作用是可以方便用户快速定位到页面中的某个具体位置,而不需要手动滚动页面进行查找.锚点通常使用a标签和name属性来实现

上面又提到了一个名词:域名!那什么是域名呢?

域名

域名(Domain Name)是互联网上用于标识和定位网站的一种名称.它是由一串用点分隔的字符组成的,通常包含站点的名称、组织机构的名称、国家或地区的名称等等,最后以一个顶级域名结尾,如.com、.cn、.org等等.

域名的作用是将IP地址(Internet Protocol Address)转化为易于记忆的字符串,使人们更方便地访问互联网上的各种资源,如网站、电子邮件、FTP等等. 域名的注册和管理由全球互联网域名与地址分配机构(ICANN)负责,全球各地的注册商可以向ICANN申请注册和管理不同的顶级域名,如.com、.cn、.org等等.一般而言,注册商会向用户提供域名注册和管理服务,用户可以在注册商的网站上查询和申请域名、设置DNS服务器、管理域名等等. 总的来说,域名是互联网上的一个重要概念,它使人们更加方便地访问和管理各种网络资源,是互联网基础架构的重要组成部分.

以上提到的DNS服务器的作用就是将域名解析为IP地址

域名的作用是什么?为什么会出现这种东西?

域名在互联网上扮演着关键角色,其重要性可以从多个角度来理解:

  1. 便于记忆:就像名字比身份证号更易于记忆和传递,域名用易记的单词替代数字组成的IP地址,让人们轻松地记住和访问网站.
  2. 访问便利:域名作为网站的地址,使得用户可以快速访问到企业和组织的在线信息,而不需要记忆可能频繁变更的IP地址.
  3. 抽象层:域名隐藏了网络复杂性,用户不需要了解服务器的具体IP地址和网络连接细节,只需知道简单的域名.
  4. 品牌识别:域名与企业品牌紧密关联,成为企业在互联网上宣传品牌形象的有力工具.
  5. 组织结构:域名系统的层级结构,类似行政区划的级别,有助于组织和管理网络上复杂的身份与资源.
  6. 网络架构:在互联网的快速发展中,域名使得单个IP地址可以托管多个网站,并在服务器变更时为用户提供无缝访问体验.

综合以上各点,我们可以看到域名不仅仅是一个方便记忆和访问的标签,它还是网络上企业身份的象征、品牌宣传的平台,以及组织网络资源的有效工具.简而言之,域名是连接用户和互联网服务的桥梁,其重要性不言而喻.通过这个网络地址,人们可以轻松地在广阔的互联网世界中找到和接触到企业或个人的在线门户.

请求过程剖析

Web服务器的过程可以简单理解为以下几个步骤:

  1. 客户端发送请求:当用户在浏览器中输入网址或者点击链接时,浏览器会向Web服务器发送一个HTTP请求.

  2. Web服务器接收请求:Web服务器收到请求后,会根据请求的URL路径和参数等信息,找到对应的服务器程序,然后调用相应的处理函数.

  3. 服务器程序处理请求:服务器程序会根据请求的内容,执行相应的逻辑,比如读取数据库中的数据、生成动态页面等操作.

  4. 服务器程序返回响应:服务器程序处理完请求后,会将处理结果封装成HTTP响应,包括响应码、响应头、响应体等信息,发送给Web服务器.

    • Web服务器返回响应:Web服务器收到服务器程序返回的响应后,将其发送给客户端浏览器,浏览器根据响应内容进行解析和渲染,最终呈现给用户. 整个过程中,Web服务器起到了桥梁的作用,连接了客户端浏览器和服务器程序,并负责将双方的请求和响应进行转发和处理.

渲染模式

  1. 服务器渲染(MVC):在服务器那边直接把数据和html整合在一起,统一返回给浏览器,在页面源代码中可以看到数据

  2. 客户端渲染(MVVM):第一次请求只要一个html骨架.第二次请求拿到数据,进行数据展示.在页面源代码中看不到数据

客户端渲染和服务端渲染都是常见的Web开发方式,它们各自具有一些优缺点.

客户端渲染

优点:

  1. 用户交互体验好:由于客户端渲染使用了JavaScript的动态渲染,可以实现更加流畅的界面交互效果.

  2. 更好的分离前后端:前端只需要关注如何处理数据和呈现内容,不用关心后端如何生成页面,这样可以更加灵活地进行前后端的分离.

缺点:

  1. 首屏加载慢:由于客户端需要先下载页面的HTML和JavaScript代码,再通过JavaScript进行渲染,所以首屏加载速度相对较慢.

  2. 对浏览器性能要求高:客户端渲染需要大量的JavaScript计算和DOM操作,这对浏览器性能有较高的要求.

服务端渲染

优点:

  1. 首屏加载快:由于服务端渲染直接生成HTML页面,所以首屏渲染速度很快.

  2. 对浏览器性能要求低:服务端渲染不需要大量的JavaScript计算和DOM操作,对浏览器性能要求较低.

缺点:

  1. 用户交互体验差:由于服务端渲染只在页面加载时渲染HTML,不支持动态更新,所以用户交互效果相对较差.

  2. 前后端分离不够彻底:服务端渲染需要将前端和后端的逻辑结合在一起,相对较难实现真正的前后端分离.

  3. 对服务器性能要求高:服务端需要承担渲染页面的工作,所以对服务器的性能有较高的要求. 综上所述,客户端渲染和服务端渲染各自有其优缺点,选择哪种方式需要根据具体的应用场景和需求进行权衡.

网络专业术语

什么是网络?

网络(Network)是指连接在一起的计算机、设备和其他物体的集合,使它们能够相互通信和交换数据.

这些设备可以是电脑、手机、路由器、交换机、服务器等.

网络可以是局域网(Local Area Network,简称 LAN)、广域网(Wide Area Network,简称WAN)、城域网(Metropolitan Area Network,简称MAN) 等不同范围的连接.

在一个网络中,设备通过协议进行通信,这些协议规定了通信过程中需要遵守的规则和标准,例如TCP/IP协议就是一种常见的网络协议.通过网络,用户可以在不同的地理位置之间共享信息、资源和服务,例如电子邮件、网页浏览、在线视频、远程文件访问等.网络在现代社会中扮演着非常重要的角色,它不仅使人们更容易地获取信息和资源,还支持了商业、教育、娱乐、社交等各个领域的发展.

什么是OSI七层模型?

OSI(开放式系统互联)七层模型是一种标准的网络通信架构,它将网络通信过程划分为七个不同的层次. 每个层次都负责特定的功能,从物理传输到应用层面,通过定义每个层次之间的接口和协议,使得不同的网络设备和系统可以相互通信.

下面是OSI七层模型的层次及其功能:

  1. 物理层(Physical Layer):负责在物理介质上传输原始比特流,它定义了如何传输数据的物理媒介、 信号的编码和解码方式、电气和机械规范等.
  2. 数据链路层(Data Link Layer):将物理层提供的原始比特流转化为数据帧,以提供可靠的点对点通信,主要完成数据帧的组帧和解帧、差错检测和纠正等功能.
  3. 网络层(Network Layer):负责为数据包选择路由和传输,为不同的应用程序提供透明的通信服务. 主要包括寻址、路由选择、流量控制、拥塞控制等功能.
  4. 传输层(Transport Layer):提供端到端的数据传输服务,为应用程序提供可靠的数据传输机制.主要完成数据分段、流量控制、差错检测和纠正等功能.
  5. 会话层(Session Layer):负责建立、管理和维护应用程序之间的会话连接,包括会话的建立、维护 和结束等功能.
  6. 表示层(Presentation Layer):负责数据格式的转换,确保应用程序能够理解和处理来自其他应用程序的数据.主要完成加密、压缩、格式转换等功能.
  7. 应用层(Application Layer):提供网络应用程序与用户之间的接口,为用户提供各种网络应用服务, 如电子邮件、文件传输、远程登录等.

通过将网络通信过程划分为不同的层次,OSI七层模型可以促进不同厂商、不同类型的网络设备之间的互操作性,从而实现全球范围内的互联网通信.

物理层

物理层是OSI七层模型中的第一层,也是整个网络体系结构的底层.该层的主要任务是将比特流(0和1)转换为物理信号,并在网络中传输这些信号.

物理层的功能包括:

  1. 建立和维护物理连接:物理层负责在通信设备之间建立物理连接,如使用网线、光缆等连接设备.
  2. 传输数据:物理层负责将比特流通过物理信号传输到另一台设备,以实现数据的传输.
  3. 编码和调制:物理层负责将数字信号转换成模拟信号,以便在物理介质上传输.
  4. 时钟同步:物理层负责保证发送和接收设备的时钟同步,以确保正确地传输数据.
  5. 电气和机械规范:物理层定义了物理媒介、信号电压、频率和传输速率等方面的规范,以确保不同设备 之间的互操作性.

总之,物理层的主要作用是将数字信号转换为物理信号并将其传输到目标设备,以便在网络中进行通信.

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

物理层设备:

物理层是网络模型中的第一层,负责将比特流转换为物理信号,并在物理媒介上传输这些信号.以下是一些在物理层中使用的设备:

  1. 网卡(Network Interface Card):也称为网络适配器或网卡,是连接计算机到网络中的硬件设备.它 负责将比特流转换为物理信号,并通过物理媒介传输这些信号.
  2. 集线器(Hub):是一种被动设备,用于将多个计算机连接到网络上.它的主要功能是将来自一个端口 的数据广播到所有其他端口.
  3. 中继器(Repeater):是一种放大信号的设备,用于扩展网络的物理距离.中继器接收信号后,放大并 重新发送到下一个设备.
  4. 光纤收发器(Optical Transceiver):是一种用于将数字信号转换成光信号的设备.它通常用于连接两 个网络设备之间的光纤.
  5. 传输介质(Transmission Media):包括电缆、光缆、无线电波等物理媒介,用于在网络设备之间传输信号.

这些设备和媒介都是物理层中使用的基本元素,它们共同构成了计算机网络的基础设施,使得计算机之间能 够通过物理媒介进行通信.

数据链路层

数据链路层是OSI七层模型中的第二层,位于物理层之上,它的主要功能是将数据帧从一个物理节点传输到另一个物理节点,保证数据在物理层的传输的可靠性和正确性.

数据链路层的主要功能包括:

  1. 帧同步:数据链路层负责将物理层传输的比特流组成数据帧,并在帧之间进行同步,以确保帧的可靠传输.
  2. 帧的识别:数据链路层负责在数据帧中添加头部和尾部,以便识别帧的起始和结束位置,并进行帧的检错和纠错处理.
  3. 访问控制:数据链路层实现了访问控制,以管理多个设备之间的共享物理媒介,例如以太网中的 CSMA/CD协议.
  4. 流量控制:数据链路层负责管理传输数据的速率,以确保数据不会被发送端发送太快,而接收端无法及时处理.
  5. 错误检测和纠正:数据链路层负责检测和纠正数据传输过程中出现的错误,例如奇偶校验、CRC检验等.

在数据链路层中,常用的设备包括网桥(Bridge)和交换机(Switch).网桥用于连接两个不同的局域网, 而交换机则用于连接多个局域网,并将数据帧从一个端口传输到另一个端口.这些设备在数据链路层起着重 要的作用,帮助实现了数据的可靠传输和访问控制.

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

  • 数据链路层为网络层提供可靠的数据传输.
  • 基本数据单位为帧.
  • 主要的协议:以太网协议.
  • 两个重要设备名称:网桥和交换机.
  • 封装成帧:”帧”是数据链路层数据的基本单位.

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

以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输

网络层

网络层(Network Layer)是计算机网络体系结构中的第三层,也被称为互联网层(Internet Layer).它负责将网络上的数据包从源主机传输到目的主机,实现不同网络之间的互联互通.

网络层的主要功能包括:

  1. 网络寻址:网络层使用IP地址来标识不同的主机和网络.源主机将数据包发送到目的主机时,需要知道目的主机的IP地址,这样才能将数据包正确地路由到目的主机.
  2. 路由选择:当数据包经过多个网络时,网络层需要根据不同的路由算法选择最佳的路径将数据包传输到目的主机.
  3. 分段和重组:如果数据包的大小超过了网络层所支持的最大传输单元(MTU),网络层需要将数据包分 段,然后将每个分段单独传输,并在目的主机处将它们重组成原始的数据包.

网络层的重要协议包括IP协议、ICMP协议、ARP协议等.IP协议是网络层的核心协议,它定义了IP地址的格 式、数据包的封装和路由选择等重要功能.ICMP协议用于传输网络层的控制消息,例如错误报告和网络故障 信息等.ARP协议则用于将IP地址转换为物理地址,以便网络层能够将数据包正确地发送到目的主机.

网络层的主要协议:

  • IP协议(Internet Protocol,因特网互联协议)
  • ICMP协议(Internet Control Message Protocol,因特网控制报文协议)
  • ARP协议(Address Resolution Protocol,地址解析协议)
  • RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)
注意

网络层重要的设备:路由器

传输层

传输层是计算机网络体系结构中的一个重要层次,它负责在网络之间传输数据,并为应用程序提供端到端的数据传输服务.传输层协议位于网络层和应用层之间,主要负责以下几个方面:

  1. 端口标识和多路复用:传输层使用端口号标识不同的应用程序,并提供多路复用和多路分解功能,使得多个应用程序可以共享网络连接.
  2. 数据传输可靠性:传输层使用TCP协议提供可靠的数据传输服务,保证数据传输的完整性和可靠性;使用UDP协议提供无连接的数据传输服务,速度较快但不可靠.
  3. 拥塞控制和流量控制:传输层使用TCP协议实现拥塞控制和流量控制,防止网络拥塞和数据包丢失.

常见的传输层协议包括TCP和UDP协议.

  • TCP协议提供面向连接的、可靠的数据传输服务,适用于要求数据传输可靠性和完整性的应用场景
  • UDP协议提供无连接的、不可靠的数据传输服务,适用于要求数据传输速度和实时性的应用场景

有关网络层的重点:

  • 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题

  • 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议)

  • 重要设备:网关

会话层

会话层(Session Layer)是OSI模型中的第五层,它提供了建立、管理和终止通信会话的机制.通信会话是指在网络中两个或多个设备之间的一系列交互,这些交互通常涉及数据交换、传输控制、错误检测和纠正等功能.

会话层的主要功能包括以下几个方面:

  1. 建立会话:会话层负责建立两个设备之间的通信会话,并确定通信双方的身份.
  2. 维护会话:在通信会话期间,会话层负责保持会话的状态信息,并确保通信双方之间的通信顺畅.
  3. 终止会话:当通信会话结束时,会话层负责关闭会话,并清除所有相关的状态信息.
  4. 管理会话:会话层还负责管理会话期间可能出现的各种错误和异常情况,以确保通信的可靠性和稳定 性.

总之,会话层在网络通信中扮演着重要的角色,它确保通信会话的顺利进行,并提供了各种必要的功能,以确保通信的可靠性、安全性和稳定性.

表示层

表示层(Presentation Layer)是OSI模型中的第六层,它主要负责处理数据的表示和编码,以确保通信双方能够理解和解释彼此发送的数据.

表示层的主要功能包括以下几个方面:

  1. 数据格式化:表示层将数据从应用层接收后,负责将其转换为一种标准格式,以便于传输和接收.
  2. 数据加密和解密:为了确保通信的安全性,表示层可以对传输的数据进行加密和解密处理,以保护数据 的机密性和完整性.
  3. 数据压缩和解压缩:在网络传输过程中,数据传输的速度往往是非常重要的.表示层可以通过对数据进 行压缩和解压缩处理,以减小数据传输的大小,提高传输效率.
  4. 数据编码和解码:不同的计算机系统和应用程序之间,可能会使用不同的数据编码格式.表示层可以将 不同编码格式之间的数据进行转换和解码,以确保数据的正确传输和解释.

总之,表示层是网络通信中非常重要的一层,它确保了数据在传输过程中的正确性、可读性和安全性,同时也提高了数据传输的效率和可靠性.

应用层

应用层是计算机网络体系结构中的最高层,它为用户提供了许多网络应用程序,如电子邮件、文件传输、 Web浏览器等.

应用层协议是在应用层之上运行的协议,用于定义应用程序之间的通信规则.常见的应用层协议包括HTTP、FTP、SMTP、POP3、IMAP、DNS等.

应用层的主要功能是实现应用程序之间的通信和数据交换,应用层协议负责规定数据的格式、编码和传输方式,以及通信双方的行为.应用层协议通常使用基于TCP或UDP协议的传输层协议来传输数据,因此应用层协议的功能和性能往往受限于传输层协议的限制.

什么是寻址?什么是路由?

寻址就是通过一个地址来找到存储器中的数据或者设备中的寄存器,就好像你知道了一个房间的地址,就可以去到这个房间里找到你需要的东西一样.在计算机中,寻址是非常重要的过程,因为计算机需要通过地址来访问内存中的指令和数据,才能完成各种操作.

例如,当你打开一个软件或者浏览器时,计算机就需要通过地址来寻找这个软件或者浏览器的指令和数据,才能把它们加载到内存中,然后运行起来.在计算机指令中,也常常需要使用寻址的方式来访问内存中的数据,例如,将一个内存单元中的数据移动到寄存器中时,需要指定内存单元的地址.

通俗来讲寻址,就是要通过地址找某一样东西.

路由就是计算机网络中用来实现不同网络之间通信的一种设备或者技术.

比如,你家用的无线路由器就是一种路由设备.它会将来自不同设备的数据包进行分类,并将它们发送到不同的目标网络,从而实现了不同设备之间的通信.

在计算机网络中,每个设备都有一个唯一的IP地址,路由器就是通过这些IP地址来进行数据包的转发.

当一个设备需要发送数据到另一个设备时,它会将数据包发送给它所在的网络中的路由器,路由器会根据目标IP地址来判断这个数据包应该被发送到哪个网络中,然后将数据包发送给下一个路由器,直到最终到达目标设备所在的网络,然后被目标设备接收.

路由技术在互联网中尤其重要,因为互联网是由众多的网络组成的,不同的网络可能使用不同的协议和技术,但通过路由器可以实现它们之间的互联互通.

这样,我们才能在任何地方都能访问互联网上的各种资源,包括网站、文件、视频等等.

路由器本质上是一种网关,是互联网的一个结点设备.实现的功能是对不同网络之间的数据包进行存储和分组转发.简单来说,大家可以把路由器理解为网络分发工具.

通俗来讲路由可以看做现实生活中的”路标”,就是路牌.它的作用就是给数据包指路的,而现实生活中,路标是给汽车指路的.

代理(Proxy)是什么?

代理:

代理(Proxy)是一种网络通信模式,它充当了客户端和服务器之间的中间人,将客户端的请求转发给服务器,并将服务器的响应返回给客户端.代理的作用是隐藏客户端和服务器之间的真实IP地址,保护用户的隐私和安全,同时可以优化网络通信,提高访问速度和稳定性.代理常见的类型有正向代理和反向代理.

正向代理:

正向代理(Forward Proxy)是代表客户端向服务器发送请求的代理服务器.在正向代理的情况下,客户端需要将请求发送给代理服务器,然后由代理服务器向服务器发送请求,并将服务器的响应返回给客户端.正向代理常用于访问被封锁的网站,保护客户端IP地址隐私,以及优化网络通信等.

反向代理:

反向代理(Reverse Proxy)是代表服务器向客户端发送响应的代理服务器.在反向代理的情况下,客户端将请求发送给反向代理服务器,然后由反向代理服务器向服务器发送请求,并将服务器的响应返回给客户端.反向代理常用于负载均衡、高可用性(HA)和安全性等方面,可以将请求分发到不同的服务器上,从而提高访问速度和稳定性,同时也可以隐藏服务器的真实IP地址,提高安全性.

单工、半双工、全双工又是什么?

  • 单工:简单的说就是一方只能发信息,另一方则只能收信息,通信是单向的.
  • 半双工:比单工先进一点,就是双方都能发信息,但同一时间则只能一方发信息.
  • 全双工:比半双工再先进一点,就是双方不仅都能发信息,而且能够同时发送.

单播、广播、组播?哪款用来表白好呢?

表白为什么要表白?

通信方式分类

在IPv4网络中,主机可采用的通信方式有如下三种:

  1. 单播:单台主机与单台主机之间的数据通信
  2. 广播:单台主机向网络中所有主机发送数据包的过程
  3. 组播:单台主机向选定的一组主机发送数据包的过程
    单播、广播以及组播的用途各不相同,并且使用不同的IP地址做为目的地址.

单播

单播是指单台设备与单台设备之间的通信,源地址和目的地址都是单一的IPv4地址,单播数据包的通信可以在网络之间转发.在实际的网络通信中,大多数的通信都属于单播.

广播(组播)

广播是一台主机向网络中所有主机发送数据包,广播的目的地址不同于单播单一的地址.

扩展知识

广播有两类:定向广播和有限广播

  1. 定向广播是将数据包发送到向本网络之外的特定网络所有主机,定向广播的目的地址是定向网络的广播地址,如当前网络为192.168.0.0/24,要向192.168.1.0/24的网络发送定向广播,那么定向广播的目的地址是:192.168.1.255.可以配置路由器让其转发定向广播
  2. 有限广播是将数据包发送到本地网络的所有主机,有限广播使用的目的地址是:255.255.255.255.路由器不转发此广播.

组播(多播)

通信类型 描述 优点 缺点 注意事项
单播 单台设备与单台设备之间的通信 数据直达特定接收者,隐私性好 在多接收者时效率低,重复数据多 -
广播 单台设备向网络中所有主机发送数据 简单,无需特定路由,所有节点均可接收 可能导致网络拥塞,安全性低 一般限于单个广播域内,不跨越路由
组播 向指定的一组主机发送数据 相比广播减少网络流量,比单播更高效 需要网络支持IGMP等组播协议 接收组播的客户机需要安装相应的客户端程序,网络设备需要配置

吞吐量?难道指的是我们吐的量吗?

吞吐量是指在一定时间内系统或设备处理的数据量或事务数量.通俗理解吞吐量就好比是一条河流的水流量,河流的水流量表示在一定时间内河流中流过的水的数量.

吞吐量表示在一定时间内系统或设备处理的数据量或事务数量.如果一条河流水流量大,就能够承载更多的水和物质,同样地,如果一个系统的吞吐量大,就能够处理更多的数据或事务.因此,提高系统吞吐量是提高系统性能的一个重要指标.

端口

在计算机网络中,端口(Port)是一种逻辑标识符,用于标识网络应用程序.每个网络应用程序都可以选择使用一个或多个端口来进行通信

比如学校同一个食堂卖菜的管卖菜,卖饮料的管饮料

同一台电脑对外来说只有一个IP,但是一台电脑可以提供各种不同的服务,比如WEB服务,FTP服务,SMTP邮件服务.

端口就是用来区别服务的,也就是说网络上的服务是用IP+端口这样的形式来区别的.

不同的服务或协议通常会使用不同的端口号,比如FTP服务使用的是21端口,SSH服务使用的是22端口,SMTP服务使用的是25端口,等等.

端口号的范围是从0到65535

端口被分为三类:

  1. 熟知端口(Well-Known Ports):它们的端口号在0到1023之间,通常用于一些系统或常用服务,如 HTTP(端口80)、FTP(端口21)、SSH(端口22)、Telnet(端口23)等.
  2. 注册端口(Registered Ports):它们的端口号在1024到49151之间,通常用于一些应用程序或服务, 如Oracle数据库(端口1521)、MySQL数据库(端口3306)等.
  3. 动态/私有端口(Dynamic/Private Ports):它们的端口号在49152到65535之间,通常用于客户端应用程序临时分配的端口号.

了解常用的端口号可以帮助我们更好地理解网络协议和应用程序的通信方式.在网络故障排除和安全管理中,端口号也经常被用来诊断和解决问题.

以下是常见的端口:

端口号 协议/服务 全称/说明
21 FTP File Transfer Protocol,文件传输协议。
22 SSH Secure Shell,安全外壳协议,用于加密远程登录。
23 Telnet Telecommunication Network,远程终端协议(明文传输,不安全)。
25 SMTP Simple Mail Transfer Protocol,简单邮件传输协议(用于发送邮件)。
53 DNS Domain Name System,域名系统,用于域名解析。
80 HTTP HyperText Transfer Protocol,超文本传输协议(未加密网页)。
110 POP3 Post Office Protocol version 3,邮局协议版本3(邮件接收)。
143 IMAP Internet Message Access Protocol,互联网消息访问协议(邮件管理)。
161 SNMP Simple Network Management Protocol,简单网络管理协议(设备监控)。
443 HTTPS HyperText Transfer Protocol Secure,安全超文本传输协议(加密网页)。
465 SMTPS SMTP Secure,早期加密SMTP(SMTP over SSL)。
587 SMTP SMTP with STARTTLS,邮件提交端口(推荐用于现代邮件发送)。
993 IMAPS IMAP Secure,IMAP over SSL/TLS(加密邮件访问)。
995 POP3S POP3 Secure,POP3 over SSL/TLS(加密邮件下载)。
1433 Microsoft SQL Server SQL Server 数据库默认通信端口。
1521 Oracle数据库 Oracle 数据库默认监听端口(用于客户端连接)。
3306 MySQL MySQL 数据库默认端口。
5432 PostgreSQL PostgreSQL 数据库默认端口。
27017 MongoDB MongoDB 默认端口(主从节点通信)。
6379 Redis Redis 内存数据库默认端口,用于缓存和键值存储。
3389 RDP Remote Desktop Protocol,Windows 远程桌面协议。
注意

上面这些是默认端口号具体端口号还要取决于具体的配置.

B/S C/S

目前PC端应用有两种开发模式,分别为CS和BS

CS

CS即Client/Server(客户机/服务器)结构,C/S结构在技能上非常成熟,它的重要特征就是交互性强、拥有安全的存取形式、网络通信数量低、响应速度快、利于处置大量数据.

可是这个结构的程序就是针对性开发,变更不够灵活,维护与管理的难度较大.常常只局限在小型局域网,不利于扩展.

而且,因为这个结构的每台客户机全部须要安装相对应的客户端程序,分布功能弱并且兼容性差,不可以完成迅速部署安装与配置,因为这样缺少通用性,拥有比较大的局限性.请求拥有肯定专业水准的技能人员去结束.

BS

BS即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端选用浏览器(Browser)运行软件.

B/S结构应用程序相对于传统的C/S结构应用程序就是一个特别大的进步. B/S结构的重要特征就是分布性强、维护方便、开发简单并且共享性强、总体拥有费用低.

但数据安全性问题、对服务器需要过高、数据传输速度慢、软件的个性化特征明显减少,这些缺点就是有目共睹的,难以完成传统形式下的特殊功能请求.

比如通过浏览器实行大量的数据输入或实行报表的应答、专用性打印输出全部相对比较困难与不便.另外,完成复杂的应用构造有较大的困难.

CS架构优缺点

优点:

  • 可以足够表现客户端PC的处置才能,很多工作能够在客户端处置以后再提交给服务器,于是CS客户端响应速度快.
  • 操作界面漂亮、形式多样,能够足够满足客户自己的个性化要求.
  • C/S结构的管理信息系统拥有比较强的事务处置才能,可以完成复杂的业务过程.
  • 安全性能能够非常容易确保,C/S通常面向相比固定的用户群,程序越发注重过程,它能够对权限实行多层次校验,提供了更安全的存取形式,对信息安全的控制才能非常强.通常高度机密的信息系统选用C/S结构适宜.

缺点:

  • 须要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不可以完成迅速部署安装与配置.
  • 兼容性差,关于不一样的开发工具,拥有比较大的局限性.假如选用不一样工具,须要重新改写程序.
  • 开发、维护费用较高,须要拥有肯定专业水准的技术人员才可以结束,发生一次升级,就全部客户端的程序全部须要更改.
  • 用户群固定.因为程序须要安装就可使用,因为这样不符合面向一些不可知的用户,于是实用面窄,常常用来局域网中.

BS架构优缺点

优点:

  • 分布性强,客户端零维护.只需有网络、浏览器,能够随时随地实行查询、浏览等业务处理.
  • 业务扩展简单便利,通过添加网页就可以添加服务器功能
  • 维护简单便利,只须要更改网页,就可以完成全部用户的同步更新.
  • 开发简单,共享性强.

缺点:

  • 个性化特征明显减少,没办法完成拥有个性化的功能要求
  • 在跨浏览器上,BS架构不尽如人意.
  • 客户端服务器端的交互就是请求-响应形式,常常动态刷新页面,响应速度明显减少(Ajax能够肯定程度上处理这个问题).没办法完成分页显示,给数据库访问导致较大的压力.
  • 在速度与安全性上须要花费超大的设计费用.
  • 功能弱化,难以完成传统形式下的特殊功能需要.

网络分类

网络可以按照不同的标准进行分类,以下是一些常见的分类方式:

按照地理范围分类

网络类型描述优点缺点应用场景
局域网 (LAN)涵盖小范围地理区域,如家庭、办公室或学校数据传输速度快,建设成本低覆盖范围有限家庭、小型至中型办公室、学校
城域网 (MAN)涵盖城市范围,通常由多个LAN连接而成能连接远距离的局域网,速度相对较快建设和维护成本比LAN高城市或大型企业,如市政机构或教育机构网络
广域网 (WAN)涵盖更广泛的地理范围,跨越国家或大陆覆盖范围广,能连接国际间的网络建设成本高,维护复杂,速度可能有限互联网、大型跨国公司和研究机构之间的网络

按照拓扑结构分类

网络拓扑类型描述优点缺点应用场景
总线型网络所有设备连接到一条中央总线上成本低廉,易于实施,适合小规模网络总线出现故障会影响所有设备,通信可能会发生碰撞小型办公室、学校网络
星型网络所有设备连接到一个中央设备上易于监控和管理,单点故障不影响其他设备中央设备故障可能导致整个网络瘫痪,成本高于总线型网络家庭网络、企业网络
环型网络所有设备沿着一个环形线路连接起来数据传输延迟相对固定,适合有固定数据路径需求的场景增减节点可能会影响网络的运作,单点故障影响整个网络一些特定要求稳定传输的工业控制环境
网状型网络多个设备之间直接连接提高了网络的可靠性和冗余性成本较高,管理和配置相对复杂需要高可靠性的应用,如互联网的核心网络
树型网络结合了星型和总线型网络的特点易于扩展成大型网络,分层管理可以简化网络管理顶层中央节点故障会影响下面的所有设备大型组织或分布式组织,如ISP网络

按照使用者分类

网络类型描述优点缺点应用场景
公共网络对任何人开放,如互联网存取开放,资源丰富,连接全球安全风险较高,隐私控制较弱一般互联网活动,信息共享,社交媒体
私有网络只对特定组织或个人开放,如企业内部网络或个人家庭网络安全性较高,可定制化强,控制访问权限建设成本和管理成本可能较高,资源有限企业网络,家庭网络

以下是IANA定义的标准私网IP地址范围:10.0.0.010.255.255.255172.16.0.0172.31.255.255192.168.0.0192.168.255.255其余的都是公网网段

按照技术分类

网络类型描述优点缺点应用场景
有线网络使用电缆或光纤等有线媒介进行通信的网络传输速度稳定快速,受干扰小,安全性相对较高需要布线,灵活性相对较低办公楼、数据中心、学校
无线网络使用无线电波等无线媒介进行通信的网络,如Wi-Fi和蓝牙网络布置灵活,扩展容易,便于移动设备连接受环境影响大,安全性和速度可能较低家庭、咖啡店、公共场所
混合网络同时使用有线和无线媒介进行通信的网络结合有线和无线的优点,灵活且功能全面建设和维护相对复杂,成本可能较高大型企业、校园网、智能家居系统

网络的分类可以根据不同的标准进行,不同的分类方式可以从不同的角度切入,对于不同应用场景的网络建 设有着重要的指导意义.

地理范围分类

局域网

局域网((Network Layer)3)是指在一个较小的地理范围内,由多台计算机和设备组成的通信网络.通常情况下,这个范围不会超过几个建筑物或者一个校园.

局域网通常由一些硬件设备(例如交换机、路由器、网桥等)和软件设备(例如操作系统、网络协议、应用 程序等)组成.

局域网中的设备可以通过有线或者无线方式进行连接,使得设备之间可以互相通信和共享资源,例如打印机、文件服务器、数据库等.

局域网的优点包括传输速度快、安全性高、成本低等.由于其覆盖范围较小,因此可以使用较低功率的网络 设备进行建设和维护,同时也可以更加容易地实现管理和控制.

常见的局域网应用包括企业内部网络、学校网络、家庭网络等.

城域网

城域网((Network Layer)4)是指连接在一个城市范围内的计算机和网络设备组成的局域网.城域网的覆盖范围比局域网更广,通常是几个到几十个公里.

城域网通常是由多个局域网通过网桥、路由器等网络设备相互连接而成.这些设备可以将局域网之间的数据进行转发和路由,从而实现城域网之间的通信.城域网中的计算机和设备可以共享资源,例如文件、打印机、数据库等.

城域网的优点包括传输速度快、可靠性高、覆盖范围广等.它可以为一个城市内的不同组织和企业提供通信和资源共享的平台,支持城市范围内的电子商务、远程教育、视频会议等应用.

常见的城域网应用包括大型企业内部网络、政府机构网络、医院网络等.

广域网

广域网((Network Layer)5)是指连接在不同地理位置上的计算机和网络设备组成的网络.广域网的覆盖范围比城域网和局域网更广,可以跨越多个城市、地区、甚至是国家和大洲.

广域网通常是由多个城域网或者局域网通过路由器、交换机等网络设备相互连接而成.广域网中的数据通常 通过互联网或者专用线路进行传输.广域网中的计算机和设备可以互相通信和共享资源,例如文件、数据库、应用程序等.

广域网的优点包括覆盖范围广、连接速度快、可靠性高等.它可以为跨越不同地理位置的组织和企业提供通信和资源共享的平台,支持远程办公、远程教育、视频会议、云计算等应用.

常见的广域网应用包括跨国企业网络、电信运营商网络、云服务提供商网络等.

互联网

互联网((Network Layer)6)是指全球范围内相互连接的计算机网络,其目的是为了实现信息的共享和交流.互联网的发展始于20世纪60年代,经过几十年的演进和发展,如今已成为全球最大的信息资源库和通信平台之一.

互联网的特点包括开放性、去中心化、信息共享和交互性.任何人都可以通过互联网来获取和发布信息,无需事先获得任何特殊权限或授权.互联网是去中心化的,没有一个中心控制机构可以掌控整个互联网,而是由许多不同的网络和服务器组成.

互联网还具有信息共享和交互性的特点,使得人们可以通过电子邮件、社 交媒体、在线聊天等方式与世界各地的人们进行交流和互动.

随着技术的不断进步,互联网正在不断地发生变化和演进.例如,移动互联网、物联网、人工智能等技术的发展和应用,正在为互联网带来更多的新功能和应用场景,使得互联网对人们的生活和工作产生越来越深远的影响.

使用者分类

公共网络(外网)

公共网络是指由政府或私人机构建立和运营的开放式网络,供公众使用.这些网络通常是基于互联网协议的,使得用户可以通过任何连接到该网络的设备(例如电脑、手机、平板电脑等)访问互联网上的信息和服务.

公共网络的优点在于其开放性和普及性.公共网络为人们提供了广泛的网络连接选择,方便用户在任何时间和任何地点访问互联网.它还促进了信息共享和知识传播,为个人和企业提供了更广阔的市场和机会.

公共网络通常分为两种类型:有线网络和无线网络.有线网络主要通过光纤、电缆等有线传输介质进行数据传输,其速度和可靠性较高;而无线网络则使用无线电波传输数据,提供了更大的灵活性和移动性,但速度和稳定性可能不如有线网络.

尽管公共网络为人们提供了许多便利,但也存在一些安全和隐私问题,例如网络攻击、黑客入侵、数据泄露 等.因此,用户需要采取适当的安全措施来保护自己的信息和设备.

私有网络(内网)

私有网络是指由企业、组织或个人自行搭建和管理的局域网,通常是为了实现更安全、更高效的信息交流和 共享.私有网络与公共网络不同,私有网络通常只对授权的用户和设备开放,并且数据传输经过加密和其他安全措施的保护.

私有网络的优点在于其安全性和控制性.企业或组织可以根据自己的需求和安全要求来设计和配置网络,确保其敏感数据和信息不会泄露或被黑客入侵.此外,私有网络也可以提高数据传输的效率和速度,减少网络延迟和拥堵.

私有网络通常分为两种类型:远程访问VPN和专用网络.远程访问VPN可以让用户通过互联网远程连接到企业或组织内部的网络,从而实现远程办公或者远程访问企业内部资源的目的.专用网络则是由企业或组织自行搭建的局域网,通常用于内部员工之间的信息交流和共享.

尽管私有网络具有许多优点,但其建设和维护成本较高,需要专业人员来进行设计、配置和管理.此外,私有网络的可扩展性和适应性可能也不如公共网络,因此企业或组织需要仔细评估其需求和资源,选择最适合自己的网络方案.

常见网络拓扑图

网络拓扑图是用来描述计算机网络中各个节点之间物理连接和逻辑关系的图形化表示,可以帮助人们更直观 地了解网络的结构和布局.根据网络拓扑的不同特点,常见的网络拓扑图包括以下几种:

  1. 星型拓扑:所有的设备都连接到一个中心设备(如交换机、集线器等),中心设备负责转发数据.这种 拓扑结构简单,易于管理,但是中心设备故障会导致整个网络瘫痪.
  2. 总线型拓扑:所有的设备都连接到一条共享的电缆上,数据从一端传输到另一端.这种拓扑结构适用于 规模较小的网络,但是随着网络规模的增大,总线上的数据冲突会增加,导致网络效率降低.
  3. 环型拓扑:所有的设备连接成一个环形的链路,数据沿着环形链路传输,每个设备负责转发数据.这种 拓扑结构适用于数据传输要求高的网络,但是如果一个节点出现故障,整个环形链路就会中断.
  4. 树型拓扑:设备按照树状结构相连,中心节点连接多个分支节点,分支节点又连接其他节点.这种拓扑 结构适用于大型网络,具有高可扩展性和灵活性,但是管理和维护较为复杂.
  5. 网状拓扑:所有的设备都相互连接,没有中心节点.这种拓扑结构适用于要求高可靠性和高容错性的网 络,但是设备之间的连接和数据流向较为复杂.

不同的拓扑结构适用于不同的网络场景和需求,企业和个人可以根据自己的实际情况选择最适合自己的网络拓扑结构.

星型结构

星型拓扑是计算机网络中的一种常见拓扑结构,它的特点是所有的设备都连接到一个中心节点上,这个中心 节点通常是一个集线器、交换机或路由器.中心节点负责转发数据,并控制设备之间的通信.

在星型拓扑中,每个设备都只需要与中心节点直接相连,因此网络结构简单,易于管理和维护.当一个设备需要与其他设备通信时,它只需要向中心节点发送数据包,中心节点则会将数据包转发到目标设备.

与其他拓扑结构相比,星型拓扑有以下优点:

  1. 易于管理和维护:由于所有的设备都连接到中心节点上,因此网络结构简单,易于管理和维护.
  2. 易于扩展:当需要增加新的设备时,只需要将新设备连接到中心节点上即可,不会对其他设备产生影 响.
  3. 数据传输稳定:由于每个设备只需要与中心节点直接相连,因此数据传输稳定,不会出现数据冲突的情 况.

但是,星型拓扑也存在一些缺点:

  1. 中心节点故障会导致整个网络瘫痪:如果中心节点出现故障,整个网络将无法正常运行.
  2. 中心节点带宽有限:由于所有的设备都需要通过中心节点进行通信,因此中心节点的带宽可能会成为瓶 颈,影响网络性能.
  3. 成本较高:由于每个设备都需要连接到中心节点上,因此需要更多的网络线缆和端口,相对来说成本较 高.

总的来说,星型拓扑是一种简单易用的拓扑结构,适用于小型网络或需要集中管理的网络.

环形结构

环型拓扑是一种计算机网络拓扑结构,其特点是所有的设备都按照环的形式连接起来,每个设备都与相邻的 两个设备相连.数据在环上流动,当一个设备向另一个设备发送数据时,数据会沿着环路传输,直到到达目标设备.

环型拓扑的优点包括:

  1. 成本低:相比于星型拓扑和总线型拓扑,环型拓扑所需的线缆数量较少,因此成本相对较低.
  2. 易于扩展:当需要增加新的设备时,只需要在环上添加一个新节点即可.
  3. 数据传输高效:由于数据只会在环上流动一次,因此数据传输效率较高.

但是,环型拓扑也存在一些缺点:

  1. 单点故障:如果一个节点出现故障,可能会导致整个环路中断.
  2. 不易管理:由于每个设备都与相邻的两个设备相连,因此网络结构较为复杂,不易管理和维护.
  3. 信号干扰:当环路较长时,信号会经过多次传输,容易受到干扰和损失.

总的来说,环型拓扑适用于小型网络,具有成本低、易于扩展和高效的传输优势.但在大型网络中,单点故 障和信号干扰等问题可能会限制其应用.这种拓扑结构网络示意图如图所示.

总线型结构

总线型拓扑是一种计算机网络拓扑结构,其特点是所有的设备都连接到一条中央总线上,数据通过总线传 输,每个设备只能通过总线与其他设备通信.

总线型拓扑的优点包括:

  1. 成本低:相比于星型拓扑和环型拓扑,总线型拓扑所需的线缆数量和端口较少,因此成本相对较低.
  2. 易于扩展:当需要增加新的设备时,只需要将新设备连接到总线上即可,不会对其他设备产生影响.
  3. 数据传输高效:由于所有设备都连接到同一条总线上,数据传输效率较高.

但是,总线型拓扑也存在一些缺点:

  1. 单点故障:如果总线出现故障,整个网络将无法正常运行.
  2. 总线带宽有限:由于所有设备都需要通过总线进行通信,因此总线的带宽可能会成为瓶颈,影响网络性 能.
  3. 数据冲突:当多个设备同时向总线发送数据时,可能会发生数据冲突,导致数据丢失.

总的来说,总线型拓扑适用于小型网络,具有成本低、易于扩展和高效的传输优势.但在大型网络中,单点 故障和总线带宽等问题可能会限制其应用.它的结构示意图如图所示.

树形结构

树型拓扑是一种计算机网络拓扑结构,其结构类似于一棵倒置的树,由一个根节点和若干个子节点组成.每个子节点可以连接若干个其他节点,形成一个子树,整个网络结构就形成了一个树状结构.

树型拓扑的优点包括:

  1. 灵活性强:树型拓扑可以根据需要增加或删除节点,具有较强的灵活性.
  2. 故障范围小:当一个节点出现故障时,只会影响其下属子树中的设备,不会影响整个网络.
  3. 数据传输高效:由于数据可以沿着树的分支传输,因此数据传输效率较高.

但是,树型拓扑也存在一些缺点:

  1. 成本较高:相比于其他拓扑结构,树型拓扑所需的线缆数量和端口较多,因此成本较高.
  2. 管理和维护难度较大:由于树型拓扑的结构较为复杂,管理和维护难度较大.
  3. 单点故障:如果根节点出现故障,整个网络将无法正常运行.

总的来说,树型拓扑适用于中等规模的网络,具有灵活性强、故障范围小和传输效率高的优点.但在大型网 络中,成本和管理维护等问题可能会限制其应用.

网状结构

网状拓扑是计算机网络中一种拓扑结构,也被称为星型拓扑.在网状拓扑中,每个节点都与一个中央节点相 连,这个中央节点可以是一个集线器、交换机或路由器.节点之间不直接相连,它们之间的通信需要经过中 央节点进行中转.

网状拓扑的优点是在出现故障时可以更好地保持网络的可靠性.因为每个节点都与中央节点相连,如果某个 节点出现故障,其他节点仍然可以通过中央节点进行通信.此外,网状拓扑具有良好的扩展性,可以方便地 添加新的节点.

然而,网状拓扑也存在一些缺点.首先,因为每个节点都需要与中央节点相连,所以需要更多的电缆和设 备,这会增加网络的成本.其次,由于通信需要经过中央节点进行中转,所以在网络中增加节点会增加通信 的延迟.

网状拓扑在许多局域网和广域网中得到广泛应用,例如以太网和互联网.

网络相关协议

网络中常用的协议包括但不限于以下几种:

  1. TCP/IP协议:是互联网最基本的协议,包含了一系列协议,如IP协议、TCP协议、UDP协议等,用于在网络上传输数据.
  2. HTTP协议:超文本传输协议,是一种用于在计算机网络上传输超文本文档的应用层协议.
  3. FTP协议:文件传输协议,是一种用于在网络上进行文件传输的标准协议.
  4. SMTP协议:简单邮件传输协议,是一种用于发送电子邮件的协议.
  5. POP3协议:邮局协议版本3,是一种用于接收电子邮件的协议.
  6. DNS协议:域名系统,是一种将域名转换为IP地址的协议,使得用户可以使用易记的域名来访问互联网上的服务.

这些协议在计算机网络中都扮演着重要的角色,使得不同的设备和系统可以互相通信和交换数据.

ARP协议(地址解析协议)

地址解析协议(英语:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址来找寻数据 链路层地址的网络传输协议,它在 IPv4 中极其重要.ARP 是通过网络地址来定位 MAC 地址

MAC地址又是啥?

MAC地址(Media Access Control Address)和IP地址(Internet Protocol Address)都是用于网络通信的地址,但它们所代表的不同层次的信息.

MAC地址是网卡的物理地址,每个网卡都有一个唯一的MAC地址,由48位二进制数表示,通常表示为12位十六进制数,如:00-1C-C0-6E-DE-4A.MAC地址用于在局域网中唯一标识一台设备,设备使用MAC地址进行通信时,直接向网络中的其他设备发送数据包,数据包传输的目标地址即为目标设备的MAC地址.

MAC地址的作用是用于在局域网中唯一标识一个设备,它可以在数据链路层(第二层)上实现设备之间的通信和数据传输.当一个设备要发送数据时,它会将数据包发送到目标设备的MAC地址,数据包会经过多个设备的转发和处理,直到到达目标设备.
MAC地址的另一个重要作用是实现网络安全,通过MAC地址过滤可以控制哪些设备可以访问网络和资源.例如,企业可以通过路由器或交换机的MAC地址过滤功能,只允许授权的设备接入局域网,从而提高网络的安全性和管理效率.

注意

MAC地址只在局域网内有效,它不具备跨网络的功能。在跨网络通信时,需要使用IP地址和路由器来实现数据的传输和路由。

由于MAC地址不具备跨网络的功能,这个时候就引出了我们的IP地址

那跨网络又是什么鬼呢?

跨网络是指在不同的网络之间进行通信和数据传输.

在计算机网络中,每个网络都有自己的网络地址和标识,网络之间通过路由器进行连接和交换数据.

在跨网络通信时,需要使用IP地址和路由器来实现数据的传输和路由.

通俗来讲,我们整个学校属于一个大的网络架构,学校下面直属培训部、教学部、设计部、行政部、每个部门都有不同的IP

1
2
3
10.10.10.0/24  # 培训部
10.10.20.0/24 # 教学部
10.10.30.0/24 # 设计部等等

因为不同部门的IP地址段是不同的,所以不同部门互相访问就做跨网络

RARP协议(逆地址解析协议)

可以把数据链路层MAC48位地址转化为网络层32位地址.

ICMP协议(因特网控制报文协议)

ICMP,全称是 Internet Control Message Protocol,即互联网控制报文协议,所谓控制,就是通过下发指令来感知和控制网络环境,所以它一定是配合一个无法感知网络环境的协议来工作的,这个协议就是IP(包括IPv4和IPv6).

所以,ICMP通常被认为是IP协议的一部分,它封装在IP层中,使用IP协议进行传输.因此,严格来说, ICMP既不是一个网络层协议,也不是一个传输层协议,而是介于两者之间的一个协议.

功能

它的主要功能是传输网络诊断信息

信息主要包括两类:

  1. 查询类报文 :主要用于信息的查询和采集,比如采集传输路径上的每个路由器都是谁,本次传输的报文是否达到目的地等等.

  2. 差错诊断类报文 :主要用于诊断网络故障,比如传输报文被丢弃的原因是什么等等. 可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中.

ICMP协议的应用:

  • Ping应用:网络故障的排查;
  • Traceroute应用:可以探测IP数据报在网络中走过的路径.

TCP协议(传输控制协议)

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议.TCP通过三次握手建立连接,保证数据可靠传输,并通过流量控制、拥塞控制等机制维护网络通信的稳定性.TCP协议常用于应用层协议(如HTTP、FTP、Telnet等)的底层传输.

UDP协议(用户数据报协议)

UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的传输层协议.UDP协议与 TCP协议不同,它不保证数据传输的可靠性和顺序,也不提供流量控制和拥塞控制等机制.UDP协议适用于对传输速度和实时性要求较高,但对数据可靠性和完整性要求较低的应用场景,如语音、视频、DNS等.由 于UDP协议的简单性和高效性,它在实时传输和广播等方面得到广泛应用.

TCP协议和UDP协议的区别

TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协 议)是两种不同的传输层协议,它们有以下几个主要区别:

  1. 连接方式:TCP是面向连接的协议,UDP是无连接的协议.
  2. 可靠性:TCP提供可靠的数据传输,确保数据按照正确的顺序到达目的地,而UDP不保证数据传输的可靠性.
  3. 传输速度:TCP相对于UDP而言,传输速度较慢,因为它需要在数据传输前进行三次握手、数据分段、 确认等过程,而UDP则不需要这些过程,传输速度较快.
  4. 数据量限制:TCP能够处理的数据量比UDP要大,因为TCP在传输数据时会将数据分段,而UDP没有这个限制.
  5. 应用场景:TCP适用于对数据可靠性和完整性要求较高的应用场景,如网页浏览、文件传输等,而UDP 适用于对数据传输速度和实时性要求较高的应用场景,如视频、音频等.
TCP UDP
是否连接 面向连接 无连接
传输可靠性 可靠的 不可靠的
应用场景 传输大量数据 传输少量数据
速度
  • TCP 传输控制协议–面向连接的可靠传输协议

  • UDP 用户数据报文协议–非面向连接的不可靠传输协议

IP协议(因特网互联协议)

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

注意

且解决了在虚拟网络中数据报传输路径的问题.

HTTP协议(超文本传输协议)

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,用于在Web浏览器和Web服务器之间传输数据.HTTP协议使用客户端-服务器模型,客户端向服务器发送HTTP请求,服务器接收并响应 HTTP请求.HTTP请求由HTTP方法、URL、HTTP版本、请求头和请求体等组成,而HTTP响应则由HTTP版本、状态码、响应头和响应体等组成.HTTP协议的主要功能包括建立连接、传输数据、断开连接等.HTTP 协议常用的方法包括GET、POST、PUT、DELETE等.HTTP协议是Web应用程序开发的基础,也是互联网上 最重要的协议之一.

是可靠的数据传输协议,浏览器向服务器发收报文前,先建立TCP连接,HTTP使用TCP连接方式(HTTP自身无连接).

HTTP协议定义了客户端和服务器之间进行通信的规则和格式,其中常用的方法有以下几种:

  1. GET:获取资源
    • GET方法用于从服务器请求指定的资源,可以在请求中添加参数来指定资源的具体内容.GET方法是HTTP协议中最常用的方法之一,通常用于获取网页、图片等静态资源.
  2. POST:提交数据
    • POST方法用于向服务器提交数据,可以向服务器发送大量的数据,如表单数据、文件上传等.POST方法常用于向服务器提交表单数据,如登录、注册等操作.
  3. PUT:更新资源
    • PUT方法用于向服务器上传新的资源或者更新现有资源,客户端需要向服务器上传整个资源,而不是单独的部分.PUT方法常用于更新文档、图片等资源.
  4. DELETE:删除资源
    • DELETE方法用于从服务器删除指定的资源,客户端需要向服务器发送要删除的资源的标识.DELETE方法常用于删除文档、图片等资源.
  5. HEAD:获取资源的元信息
    • HEAD方法和GET方法类似,但是它只返回请求的资源的元信息(如资源的类型、大小、修改日期等),而不返回资源本身.HEAD方法常用于检查资源是否存在、是否被修改等操作.
  6. OPTIONS:获取服务器支持的方法
    • OPTIONS方法用于获取服务器支持的HTTP方法,客户端可以向服务器发送一个OPTIONS请求,以获取服务器支持的所有HTTP方法.OPTIONS方法可以帮助客户端了解服务器的功能和限制,从而更好地进行资源访问. 总之,HTTP协议定义了客户端和服务器之间进行通信的规则和格式,常用的方法包括GET、POST、PUT、DELETE、HEAD和OPTIONS等.不同的方法适用于不同的场景,开发者可以根据具体的需求选择合适的方法.

在HTTP协议中,GET和POST请求中提交的字符串都有长度限制.
对于GET请求,由于数据是通过URL传递的,因此URL的长度限制会影响GET请求的字符串长度限制.通常情况下,不同的浏览器和服务器对URL长度的限制不同,但是一般不会超过2048个字符如果URL的长度超过限制,就会出现截断或错误的情况.

对于POST请求,由于数据是通过请求体传递的,因此POST请求的字符串长度限制取决于服务器的配置和应用程序的限制.通常情况下,服务器会设置POST请求的最大限制,一般为2MB到4MB不等.如果POST请求的字符串长度超过限制,就会出现超时或错误的情况.

需要注意的是,如果提交的数据量比较大,建议使用POST请求而不是GET请求,因为GET请求的数据是暴露在URL上的,容易被拦截或篡改,而POST请求的数据是加密传输的,相对来说更安全.另外,在实际的应用程序中,应该根据具体情况来限制字符串长度,以避免出现性能和安全问题.

get和post最根本的区别是什么?

  1. 语义区别:
    • GET 请求通常用于请求服务器发送某个资源,用于获取数据,按照HTTP/1.1标准,GET请求应该是幂等的,即多次执行同样的GET请求,资源的状态不会改变.
    • POST 请求通常用于向服务器发送数据以创建或更新资源,它不是幂等的,意味着执行相同的多个POST请求,可能会在服务器上创建或修改多次资源.
  2. 使用场景:
    • GET 请求一般用于请求读取服务器上的某个资源,不应当导致服务器上数据的改变.GET请求可以被缓存,保留在浏览器历史记录中,也可以被书签.
    • POST 请求一般用于提交表单数据或者上传文件,数据在请求体中发送给服务器,因此适合传输大量数据.POST请求不会被缓存,也不会保留在浏览器历史记录中,不能被书签.
  3. 数据传输方式:
    • GET 请求通过URL传输数据,数据附加在URL之后,因此数据大小受URL长度限制(服务器和浏览器均有限制),且对数据类型有限制,不适合传输敏感信息,因为URL可能会被留在浏览器历史、Web服务器日志等地方.
    • POST 请求把提交的数据放置在HTTP请求的消息体中,没有数据大小限制,可以传输更复杂的数据类型,适合传输敏感信息,因为数据不会被暴露在URL中.

常见的HTTP状态码有哪些?

  • 200(OK)
  • 301(Moved Permanently)代表永久性转移
  • 302(Found)代表暂时性转移
  • 403(Forbidden)
  • 404(Not Found)
  • 502(Bad Gateway)

Request/Response

在Web通信中,requestresponse 是客户端与服务器之间交换信息的两个主要概念

Request(请求)

当你在浏览器中输入一个网址或者通过一个应用向服务器发送数据时,这个过程就开始了一个request.这是客户端(通常是用户的Web浏览器或应用程序)发起的,目的是从服务器获取信息或请求服务器执行某个操作.一个HTTP请求通常包括以下几个部分:

  • HTTP方法:定义请求的类型,常见的方法有GET、POST、PUT、DELETE等.
  • URL/URI:统一资源定位符,指明请求的资源.
  • HTTP版本:指明使用的HTTP协议版本.
  • 请求头(Headers):包含请求的元数据,如客户端的类型、接受的响应类型、cookie等.
  • 请求体(Body):在某些HTTP方法(如POST或PUT)中,请求体包含发送给服务器的数据.

Response(响应)

当服务器接收并处理完客户端的请求后,它会回送一个response.这是服务器对客户端请求的回应,包含了请求所需的数据或执行结果的状态信息.一个HTTP响应通常包括以下几个部分:

  • 状态码:一个三位数的代码,表示请求处理的结果(例如200表示成功,404表示未找到,500表示服务器错误等).
  • 响应头(Headers):包含响应的元数据,如内容类型、缓存控制、设置cookie等.
  • 响应体(Body):实际的响应数据,比如HTML文档、图片、应用程序数据等.

DHCP协议

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种自动分配IP地址和其他网络配置信息的网络协议.DHCP协议允许计算机自动获取IP地址、网关地址、DNS服务器地址、子网掩码等网络配置信息,从而使计算机无需手动进行网络配置.

DHCP协议通常由DHCP服务器和DHCP客户端两部分组成.

DHCP服务器负责为网络中的客户端分配IP地址和其他配置信息,

DHCP客户端则负责向DHCP服务器发送请求,并接收和应用DHCP服务器分配的配置信息.

DHCP协议是网络管理和配置的重要工具,它可以大大减轻网络管理员的工作负担,提高网络配置的灵活性和可管理性.

SSL/TLS协议

SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是用于加密通信的协议.

SSL最初是由Netscape开发的,后来被IETF(Internet Engineering Task Force)更新和标准化为TLS.

SSL/TLS协议的目的是在客户端和服务器之间提供加密通信,以保护敏感信息的传输,如登录凭证、信用卡 信息等.

SSL/TLS协议使用公钥加密算法、对称密钥加密算法和哈希算法来实现加密和身份验证.

**那么什么是对称密钥呢?既然都有对称密钥了是不是还会有非对称密钥?**

对称密钥及非对称密钥属于我们的密码学

密码学基础

  • 密码学主要由密码编码和密码分析两个部分组成
    • 密码编码学:研究信息的变换处理以实现信息的安全保护
    • 密码分析学:则研究通过密文获取对应的明文信息
  • <中华人民共和国密码法>于2020年1月1日起实施.2005年4月1日起国家施行<中华人民共和国电子签名法>.

密码学相关概念:

概念 解释
明文 需要采用密码技术进行保护的消息
密文 用密码技术处理过明文的结果,通常称为加密消息
加密 将明文变换成密文的过程
解密 由密文恢复出原明文的过程
加密算法 加密过程所使用的一组操作运算规则
解密算法 解密过程所使用的一组操作运算规则
密钥 加密和解密算法的操作通常都是在密钥控制下进行的,分别称为加密密钥和解密密钥

密码体制分类

密码体制分为私钥和公钥密码体制两种,而介于私钥和公钥之间的密码体制称为混合密码体制

私钥密码体制又称对称密码体制,该体制的特点是加密和解密使用相同的密钥消息的收发双方必须事先通过安全渠道交换密钥

  • 优点:加解密速度快、密文紧凑、使用长密钥时的难破解
  • 缺点:密钥分配问题、密钥管理问题、无法认证源

常见的对称密钥加密算法如下:DES、3DES、AES、RC4/5、IDEA

例子

甲对乙说,我这有一把锁,以后我们互相传消息,就把消息放盒子里,然后用这个锁锁上再传,这个锁有两把一模一样的钥匙,咱俩一人一把

公钥密码体制又称为非对称加密体制,就是对数据加密和解密的密钥是不同的

  • 优点:密钥分发方便、密钥保管量少、支持数字签名
  • 缺点:加密速度慢(计算量大,不适合加密大数据)、数据膨胀率高

每个实体有两个密钥:公钥公开,私钥自己保存

  • 公钥加密,私钥解密,可实现保密通信
  • 私钥加密,公钥解密,可实现数字签名
例子

甲对乙说,我这里有A型号锁(公钥),对应钥匙A(私钥),我给你一大箱子A锁,但是钥匙A不给你,以后你给我发消息就用A锁锁在盒子里给我,然后我自己用钥匙A就能打开看. 乙对甲说,我这里有B型号锁,对应钥匙B,我给你一大箱子B锁,但是钥匙B不给你,以后你给我发消息就用B锁锁在盒子里给我,然后我自己用钥匙B就能打开看.

混合密码体制:发送方用对称密钥加密需要发送的消息,再用接收方的公钥加密对称密钥,然后一起发送给接收方;接收方先用自己的私钥解密得到对称密钥,然后用对称密钥解密得到明文

SSL/TLS协议的基本工作流程如下:

  1. 客户端发起一个加密连接请求,并与服务器协商SSL/TLS协议的版本和加密算法等参数.
  2. 服务器回应客户端的请求,并向客户端提供证书,证明其身份和公钥.
  3. 客户端验证服务器的证书,确认服务器的身份和公钥的有效性.
  4. 客户端生成一个随机的对称密钥,使用服务器的公钥进行加密,并将加密后的密钥发送给服务器.
  5. 服务器使用私钥解密客户端发送的对称密钥,并使用对称密钥进行加密通信.
  6. 客户端和服务器使用对称密钥进行通信,保证数据的保密性和完整性.

SSL/TLS协议广泛应用于Web浏览器和服务器之间的安全通信,如HTTPS协议.同时,也可以用于其他应用程序的安全通信,如邮件、即时通信等.

加密的意义是什么?他是保护网络信息安全基本属性的哪一个属性

加密的主要意义在于确保信息安全,它涉及到网络信息安全的以下基本属性:

  1. 保密性(Confidentiality):加密最直接的意义就是保护数据的保密性,即确保信息只能被授权的用户访问和理解.通过将明文数据转换成只有拥有正确密钥的人才能解密的密文,加密防止未授权的人查看或窃取信息.
  2. 完整性(Integrity):虽然加密本身是为了保护数据的保密性,但结合数字签名等技术,它也可以确保信息在传输或存储过程中未被篡改,维护数据的完整性.
  3. 可用性(Availability):尽管加密本身不直接确保可用性,但它支持实现高安全性环境,其中数据对授权用户保持可用,而对未授权用户则不可用.
  4. 认证(Authentication):加密技术还可以帮助验证通信双方的身份,这是通过公钥基础设施(PKI)和数字证书来实现的.
  5. 不可否认性(Non-Repudiation):使用数字签名结合加密可以提供不可否认性,确保发送者不能否认其发送的信息.

DNS服务

DNS(Domain Name System)是一种互联网服务,用于将域名解析成IP地址.它是一个分布式数据库系统,包括域名服务器和DNS客户端,可以将域名转换为对应的IP地址,以便网络设备可以找到相应的服务器.

**分布式是个什么鬼?在生活中哪些东西是分布式的?**

分布式是指一个系统或服务不是由单一的中心节点来控制和管理,而是由多个节点分布在不同的地方,相互协作和通信来完成整个系统或服务的功能和任务.

每个节点都可以独立地处理和存储数据,而且节点之间的通信和数据交换是通过网络实现的.

分布式的好处在于可以提高系统的可靠性、安全性和可扩展性.

因为分布式系统中的每个节点都是独立的,所以即使某个节点出现故障,整个系统也不会崩溃.

同时,由于数据和任务可以分布在多个节点上,所以分布式系统可以处理大量的数据和请求,从而提高系统的可扩展性.另外,分布式系统还可以通过多个节点之间的数据备份和冗余来提高系统的安全性和可靠性.

举个例子来说,现在很多大型互联网企业都使用分布式系统来支持其业务,比如搜索引擎、电商平台和社交网络等.这些系统通常由数百或数千个节点组成,每个节点都可以独立地处理和存储数据,同时节点之间通过网络来实现数据交换和通信.这种分布式系统可以处理海量的数据和请求,同时还可以提高系统的可靠性和安全性.

通俗来讲一个篱笆三个桩,一个好汉三个帮.其实分布式系统就是集体的力量,让更多的服务器进行协作,提供更强大的数据处理能力.

DNS系统的工作过程可以概括为以下几个步骤:

  1. DNS客户端将需要解析的域名发送给本地DNS服务器.
  2. 如果本地DNS服务器已经缓存了该域名对应的IP地址,它将直接返回给DNS客户端;否则它将向根域名 服务器发送请求.
  3. 根域名服务器将返回包含所查询域名的顶级域名服务器地址的响应.
  4. 本地DNS服务器将向顶级域名服务器发起查询,以获取下一级域名服务器的地址.
  5. DNS服务器将向下一级域名服务器发送查询请求,直到找到包含所查询域名的IP地址的域名服务器为 止.
  6. 当找到目标域名的IP地址后,DNS服务器将返回给DNS客户端.

DNS是互联网的重要基础设施之一,可以加速域名解析,提高网络应用的性能和可靠性.

DNS(Domain Name System)查询的方式有以下几种:

  1. 递归查询(Recursive Query):递归查询是最常见的DNS查询方式,它是一种从DNS客户端向DNS服 务器发起的请求,要求DNS服务器查找并返回指定域名的IP地址.如果DNS服务器无法解析该域名,它 将继续向其他DNS服务器查询,直到找到指定的IP地址并返回给客户端.
  2. 迭代查询(Iterative Query):迭代查询是一种从DNS客户端向DNS服务器发起的请求,DNS服务器返 回它所知道的最接近目标域名的IP地址.如果DNS服务器无法解析该域名,它会告诉客户端下一个可能 具有相关信息的DNS服务器,并将查询转发给它.客户端将继续向其他DNS服务器进行查询,直到找到 目标域名的IP地址.
  3. 反向查询(Reverse Query):反向查询是一种通过IP地址查找域名的DNS查询方式.DNS客户端将IP 地址反转,并添加”In-Addr.Arpa”域,然后向DNS服务器发起请求.DNS服务器将返回与该IP地址关联 的域名.

以上三种DNS查询方式都是DNS解析过程中的常见操作.递归查询是最常用的DNS查询方式,因为它可以在 多个DNS服务器之间传递查询,直到找到正确的IP地址.迭代查询可以在本地DNS服务器上快速解析,但通 常需要多次查询才能找到正确的IP地址.反向查询则是通过IP地址查找域名的一种查询方式.

TCP 三次握手和四次挥手的过程

相关名词

ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1

SYN(SYNchronization) : 在连接建立时用来同步序号.当SYN=1而ACK=0时,表明这是一个连接请求报 文.对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此, SYN=1就表示这是一个连接请求或连 接接受报文.

FIN (Finis)即完,终结的意思, 用来释放一个连接.当 FIN = 1 时,表明此报文段的发送方的数据已经发 送完毕,并要求释放连接.

TCP三次握手过程:

  1. 首先由Client发出请求连接即 SYN=1,声明自己的序号是 Seq=X

  2. 然后Server 进行回复确认,即 SYN=1 ,声明自己的序号是 Seq=Y, 并设置为ack=X+1

  3. 最后Client 再进行一次确认,设置 Ack=Y+1

1
2
3
4
5
6
7
8
9
"面试常客:为什么需要三次握手?"

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

建立连接(三次握手)
YAML_BLOCK_0YAML_BLOCK_0YAML_BLOCK_0YAML_BLOCK_0YAML_BLOCK_0YAML_BLOCK_0YAML_BLOCK_0YAML_BLOCK_0YAML_BLOCK_0--
#第一次:客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的 序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN\_SEND (同步发送状态);
#第二次:服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告 诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1 的报文段(ack\_seq=x+1);服务器由LISTEN进入SYN\_RCVD (同步收到状态);
#第三次:客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是 x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack\_seq=y+1);当客户发送ack时,客户端进入 ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;

TCP四次挥手过程:

1、发送方发送FIN报文:当应用程序完成数据传输后,发送方向接收方发送一个FIN报文,表示数据传输完 成,要求关闭连接.此时,发送方进入FIN_WAIT_1状态,等待接收到确认报文.

2、接收方发送ACK报文:接收方收到发送方的FIN报文后,向发送方发送一个确认报文,表示已经收到了关 闭连接的请求,此时,接收方进入CLOSE_WAIT状态.

3、接收方发送FIN报文:接收方在发送ACK报文后,通知自己的应用程序可以关闭连接了,向发送方发送一 个FIN报文,此时,接收方进入LAST_ACK状态. 4、发送方发送ACK报文:发送方收到接收方的FIN报文后,向接收方发送一个确认报文,表示已经收到了关 闭连接的请求,此时,发送方进入TIME_WAIT状态.接收方在收到这个确认报文后,进入CLOSED状态,整 个连接关闭.

需要注意的是,第四次挥手后,发送方并不是立即进入CLOSED状态,而是等待一段时间(称为2MSL,即两 倍的最长报文段寿命),这是为了保证在这段时间内可以收到可能在传输中丢失的ACK报文.如果在2MSL时 间内没有收到回复,发送方会认为连接已经被完全关闭,进入CLOSED状态.

为什么需要等待2MSL?

  1. 最后一个报文没有确认;
  2. 确保发送方的ACK可以到达接收方;
  3. 2MSL时间内没有收到,则接收方会重发;
  4. 确保当前连接的所有报文都已经过期.
1
2
3
4
5
6
TCP释放连接的四次挥手
#第一次:客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据 字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN\_WAIT\_1(终止等待1状态);
#第二次:服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器 期望接收客户数据序号为x+1(ack\_seq=x+1);服务器状态由ESTABLISHED进入CLOSE\_WAIT(关闭等待); 客户端收到ACK段后,由FIN\_WAIT\_1进入FIN\_WAIT\_2;
#第三次:服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器 期望接收客户数据序号为x+1(ack\_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状 态由CLOSE\_WAIT 进入 LAST\_ACK (最后确认状态);

#第四次:客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1), 表示客户期望接收服务器数据序号为y+1+1(ack\_seq=y+1+1);客户端状态由FIN\_WAIT\_2进入TIME\_WAIT, 等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST\_ACK进入CLOSED;

IP地址分类:A类、B类、C类地址

IP类别 地址和二进制格式 子网掩码及主机数 适用范围
A类 网络号: 第1段
主机号: 后3段
二进制: 1字节网络 + 3字节主机
最高位: 0
范围: 1.0.0.1 - 126.255.255.254
子网掩码: 255.0.0.0 /8
主机数: 约1.67亿
大型网络
B类 网络号: 前2段
主机号: 后2段
二进制: 2字节网络 + 2字节主机
最高位: 10
范围: 128.0.0.1 - 191.255.255.254
子网掩码: 255.255.0.0 /16
主机数: 约6.5万
中型网络
C类 网络号: 前3段
主机号: 第4段
二进制: 3字节网络 + 1字节主机
最高位: 110
范围: 192.0.0.1 - 223.255.255.254
子网掩码: 255.255.255.0 /24
主机数: 254台
小型网络