0、前言
本专栏为个人备考软考嵌入式系统设计师的复习笔记,未经本人许可,请勿转载,如发现本笔记内容的错误还望各位不吝赐教(笔记内容可能有误怕产生错误引导)。
本章的主要内容见下图:
本章知识和计算机网络中知识存在大量重合,可惜当时没有学明白计算机网络。考试重点在前三个部分。
1、OSI/RM
OSI模型
OSI模型(Open Systems Interconnection model)是一种网络通信协议参考模型,由国际标准化组织(ISO)在1977年推出。该模型将网络通信分为七个层次,每个层次负责不同的功能和任务,各层之间通过协议进行交互。
以下是OSI模型的七个层次:
物理层(Physical Layer):负责将数据传输到物理媒介上,例如通过电缆或无线信号传输数据。
数据链路层(Data Link Layer):负责将原始数据转换为适合物理传输的格式,并确保数据的可靠传输。
网络层(Network Layer):负责处理不同网络之间的数据路由和寻址,确保数据能够从源地址传输到目的地址。
传输层(Transport Layer):负责对数据进行分段和重组,确保可靠传输,并提供流量控制和拥塞控制等功能。
会话层(Session Layer):负责建立、管理和终止会话,提供会话控制和同步功能。
表示层(Presentation Layer):负责数据的格式转换和加密,确保数据能够在不同系统之间正确解释和显示。
应用层(Application Layer):负责处理特定的网络应用,例如电子邮件、文件传输和网页浏览等。
OSI模型提供了一个通用的框架,使不同的网络设备和系统能够相互通信和交互。不同的协议和技术可以在不同层次上实现,从而实现不同的功能和应用。
2、TCP/IP协议族
TCP/IP协议的通信模型是指将通信过程分为四个层次,分别是应用层、传输层、网络层和链路层。
应用层:该层协议提供了应用程序之间的通信服务。常见的应用层协议有HTTP、FTP、SMTP等。
传输层:该层协议主要负责数据的传输和端到端的通信。常见的传输层协议有TCP和UDP。TCP提供可靠的数据传输,保证数据的完整性和顺序性;UDP提供无连接的数据传输,速度快但不保证可靠性。
网络层:该层协议主要负责网络之间的通信,将数据分组进行传输。常见的网络层协议有IP协议,负责数据包的传输和路由选择。
链路层:该层协议主要负责物理层和数据链路层之间的通信。常见的链路层协议有以太网协议、无线局域网协议等。
通过这四个层次的协议,TCP/IP协议可以实现不同设备之间的数据传输和通信,实现互联网的功能。
2.1电子邮件协议
电子邮件协议是指用于发送、接收和管理电子邮件的规则和标准。其中最常见的电子邮件协议是SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol 3)或IMAP(Internet Message Access Protocol)。
SMTP(Simple Mail Transfer Protocol):SMTP是用于发送电子邮件的标准协议。当您发送一封电子邮件时,您的电子邮件客户端会使用SMTP将邮件发送到电子邮件服务器,然后服务器将通过互联网将邮件传递到收件人的电子邮件服务器。
POP3(Post Office Protocol 3):POP3是一种用于接收电子邮件的协议。它允许您的电子邮件客户端从邮件服务器上下载您的电子邮件,并且通常会将邮件从服务器上删除(除非您设置为保留在服务器上)。
IMAP(Internet Message Access Protocol):IMAP也是一种用于接收电子邮件的协议。与POP3不同,IMAP允许用户在客户端和服务器之间保持同步,这意味着您可以在多个设备上查看邮件,并且可以在服务器上创建文件夹和标签等。
这些协议共同构成了电子邮件系统的基础,使得我们能够方便地发送、接收和管理电子邮件。
2.2WWW协议
WWW(World Wide Web)是一种基于互联网的信息系统,用于访问和检索互联网上的信息资源。WWW由许多不同的技术和协议组成,其中HTTP(Hypertext Transfer Protocol)是最常用的协议之一。当我们谈论WWW时,我们实际上是在谈论一种信息系统,它包括了许多不同的技术和协议,它使得用户能够通过互联网访问和浏览各种信息资源。
2.3FTP协议
FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。通过FTP,用户可以上传(将文件从本地计算机传输到远程服务器)和下载(将文件从远程服务器传输到本地计算机)文件。
以下是FTP协议的一些关键特点:
双向传输:FTP允许双向传输,用户可以上传和下载文件。
认证:用户需要提供用户名和密码来访问FTP服务器。有时候也可以以匿名方式访问,即使用"anonymous"作为用户名和电子邮件地址作为密码。
端口:FTP使用两个端口,一个用于控制连接(通常是端口21),另一个用于数据传输。数据传输端口可能是20(用于数据传输)或者是随机端口(用于被动模式)。
工作模式:FTP有两种工作模式,主动模式和被动模式。在主动模式下,客户端使用一个随机端口连接到服务器的端口20,而在被动模式下,服务器打开一个随机端口供客户端连接。
FTP协议在过去被广泛用于文件传输,但由于安全性方面的考虑,现在越来越多的组织和个人转向更安全的协议,如SFTP(SSH File Transfer Protocol)或FTPS(FTP Secure)。这些协议在FTP的基础上增加了加密功能,提供更安全的文件传输方式。
2.4其他
ARP(Address Resolution Protocol,地址解析协议):
是一种用于将网络层地址(如IPv4地址)映射到数据链路层地址(如MAC地址)的协议。在计算机网络中,当一个设备需要发送数据到另一个设备时,它通常知道目标设备的IP地址,但它需要知道目标设备的MAC地址才能正确地将数据帧发送到目标设备。
ARP通过在局域网中广播ARP请求来查找目标设备的MAC地址。目标设备在收到ARP请求后,会向发送请求的设备发送ARP响应,包含自己的MAC地址。一旦发送设备知道了目标设备的MAC地址,它就可以将数据帧直接发送到目标设备,而无需广播。
ARP缓存是一个存储最近ARP请求和响应的表格,用于加快后续通信的速度。当设备收到ARP响应时,它会将IP地址和MAC地址的映射关系存储在ARP缓存中,以便将来直接使用,而不必再次发送ARP请求。
ICMP(InternetControlMessages Protocol,网络控制报文协议):
是一种用于在IP网络上发送控制消息的协议。ICMP消息通常由网络设备(如路由器)或网络主机生成,用于报告错误、诊断问题、测试网络连接等。
以下是 ICMP 的一些常见用途:
错误报告:ICMP被用于报告网络通信中发生的错误,比如目标不可达、超时等。
网络诊断:ICMP消息可以用于执行网络诊断,比如通过发送 ICMP 回显请求和接收回显回复来测试主机是否可达(常见的 Ping 命令就是基于 ICMP 实现的)。
路径 MTU 发现:ICMP 用于帮助发现两个主机之间的最大传输单元(MTU),以避免数据包在传输过程中被分片。
路由器发现:ICMP 路由器发现消息可以用于发现网络中的路由器。
重定向:ICMP 重定向消息可以用于通知主机发送数据包的最佳路径。
ICMP消息通常被包含在 IP 数据包中,可以通过各种网络工具和命令(如 ping、traceroute)来发送和接收。ICMP在网络中扮演着重要的角色,帮助网络管理员诊断和解决网络问题,同时也用于提高网络性能和可靠性。
IP(Internet Protocol,网际协议):
是互联网中最重要的协议之一,它定义了在网络上发送数据包的规则。IP协议位于网络层,负责在不可靠的网络上路由数据包,并确保它们能够从源主机传输到目标主机。
以下是 IP 协议的一些关键特点:
IP地址:IP协议使用IP地址来唯一标识网络中的每个设备。IPv4地址由32位二进制数字表示(通常以点分十进制表示),而IPv6地址由128位表示。IP地址的分配由互联网号码分配机构(IANA)和其下属的地区互联网注册管理机构(RIR)负责管理。
数据包格式:IP数据包由首部和数据两部分组成。IP首部包含了源和目标IP地址、数据包长度、TTL(生存时间)、协议类型等信息。数据部分则包含传输的实际数据。
路由:IP协议负责将数据包从源主机传输到目标主机,通过路由器在网络中进行转发。路由器根据目标IP地址来决定数据包的下一跳路由。
不可靠性:IP是一种无连接的协议,不提供数据包传输的可靠性保证。数据包可能会丢失、重复、乱序到达,因此上层协议(如TCP)通常负责处理数据包的可靠传输。
IPv4和IPv6:IPv4是目前广泛使用的IP版本,但由于IPv4地址空间有限,IPv6被开发出来以解决地址耗尽的问题。IPv6提供了更大的地址空间和其他改进,以适应未来互联网的需求。
总的来说,IP协议是互联网的基石之一,它定义了数据包在网络中的传输方式,为互联网上的各种应用程序提供了基本的网络连接和通信能力。
TCP(Transfer ControlProtocol,传输控制协议):
TCP(Transmission Control Protocol,传输控制协议)是互联网中最重要的传输层协议之一,负责在通信的两个应用程序之间提供可靠的、面向连接的数据传输服务。
以下是 TCP 的一些关键特点:
可靠性:TCP提供可靠的数据传输,通过序列号、确认和重传机制来确保数据包的可靠性。如果一个数据包丢失或损坏,TCP会重新发送该数据包,直到接收方正确接收。
面向连接:TCP是面向连接的协议,通信双方在通信之前需要建立连接,数据传输完成后需要释放连接。这种连接方式确保了数据传输的顺序性和可靠性。
流量控制:TCP使用滑动窗口机制进行流量控制,确保发送方不会发送过多数据导致接收方无法处理。接收方通过通知发送方自己的接收窗口大小来控制数据流量。
拥塞控制:TCP具有拥塞控制机制,可以避免网络拥塞并调整发送速率以适应网络状况。TCP通过监视网络延迟和丢包率来调整发送速率,以避免网络拥塞。
面向字节流:TCP是一种面向字节流的协议,数据在发送和接收时被视为连续的字节流。TCP会将数据分割成适合网络传输的数据段,并在接收端重新组装。
端到端通信:TCP实现端到端的通信,即数据传输是从一个应用程序到另一个应用程序,而不考虑中间网络的具体细节。
TCP在互联网中被广泛应用于各种应用程序,如网页浏览、文件传输、电子邮件等,为这些应用程序提供了可靠的数据传输服务。TCP和IP协议一起构成了互联网协议套件的核心,支撑着互联网上的数据通信。
UDP(User Datagram Protocol,用户数据包协议):
UDP(User Datagram Protocol,用户数据包协议)是另一种互联网传输层协议,与TCP相比具有一些不同的特点和用途。
以下是 UDP 的一些关键特点:
无连接和无可靠性:UDP是一种无连接的协议,不像TCP那样需要在通信前建立连接。UDP也不提供数据包的可靠性保证,数据包可能会丢失、重复或乱序到达,接收方需要自行处理这些问题。
轻量级:相比于TCP,UDP是一种轻量级的协议,不需要像TCP那样维护连接状态和序列号,因此具有更低的开销和更快的速度。
面向数据报:UDP是一种面向数据报的协议,每个UDP数据包(数据报)都是独立的,没有像TCP那样的字节流概念。每个UDP数据包都包含了源端口号、目标端口号、数据长度等信息。
适用性:UDP适用于一些对实时性要求较高、能容忍少量数据丢失的应用场景,如音频/视频流传输、在线游戏、DNS查询等。
广播和多播:UDP支持广播和多播,可以将数据包同时发送给多个接收方,适合一对多的通信模式。
简单性:由于UDP的简单性和高效性,一些应用程序选择使用UDP来避免TCP的连接管理开销和延迟,尤其是在对实时性要求较高的情况下。
尽管UDP缺乏TCP提供的可靠性和流量控制机制,但在某些特定的应用场景下,UDP的简单性和高效性使其成为一个合适的选择。开发人员需要根据具体的应用需求来选择使用TCP还是UDP来实现数据传输
2.5协议端口号
- POP3:110端口,邮件收取SMTP:25端口,邮件发送
- FTP:20数据端口/21控制端口,文件传输协议
- HTTP:80端口,超文本传输协议,网页传输
- DHCP:67端口,IP地址自动分配
- HTTPS:443端口
- SNMP:161端口,简单网络管理协议
- DNS:53端口,域名解析协议,记录域名与IP的映射关系
- TCP:可靠的传输层协议
- UDP:不可靠的传输层协议
- ICMP:因特网差错控制协议,PING命令来自该协议
- IGMP:网际组管理协议
- ARP:地址解析协议,IP地址转换为MAC地址
- RARP:反向地址解析协议,MAC地址转IP地址,已经淘汰
2.6常见设备的部署位置与网络介质
广播域:
- 定义:广播域是指网络中可以接收特定广播消息的范围,即广播消息发送到广播域中的所有设备。
- 特点:广播消息是发送给广播域中的所有设备,无论是主机、路由器还是交换机,都会接收到这个广播消息。
- 实现:交换机会转发广播消息到所有连接的端口,而路由器通常会限制广播消息的传播范围,以避免网络中的广播风暴。
冲突域:
- 定义:冲突域是指在网络中可能发生数据冲突的范围,即在这个范围内的设备发送数据时可能会发生碰撞。
- 特点:当多个设备同时尝试发送数据时,可能会造成数据冲突,导致数据包丢失或损坏。
- 适用范围:冲突域通常与共享介质网络有关,如以太网中的冲突域指的是同一冲突域内的设备在发送数据时可能会发生碰撞。
在以太网中,广播域和冲突域的范围是有所不同的:
- 广播域:在以太网中,整个局域网通常是一个广播域,因为广播消息会被发送到整个局域网中的所有设备。
- 冲突域:在以太网中,冲突域通常是指共享同一冲突域的设备,例如连接到同一个集线器(hub)的设备将处于同一个冲突域中。
理解广播域和冲突域有助于设计和管理网络,避免网络中的广播风暴和数据冲突问题,提高网络性能和稳定性。随着网络技术的发展,一些设备和技术已经能够限制广播域和冲突域的范围,以改善网络的效率和可靠性。
3、IP地址与网络划分
3..1IPV4
是互联网使用最广泛的网络层协议之一,用于在网络中标识和定位设备。以下是关于IPv4的介绍:
地址格式:
- IPv4地址由32位二进制数字组成,通常以点分十进制表示,如
192.168.1.1
。- 每个IPv4地址由网络部分和主机部分组成,用于在网络中唯一标识一个设备。
地址分配:
- IPv4地址通常由互联网服务提供商(ISP)或网络管理员分配给网络中的设备。
- IPv4地址分为公有地址和私有地址。公有地址用于在互联网上唯一标识设备,私有地址用于内部网络通信,不直接暴露在互联网上。
子网掩码:
- 子网掩码用于确定一个IPv4地址中哪部分是网络部分,哪部分是主机部分。
- 通过子网掩码,可以将一个网络划分为多个子网,实现更有效的地址分配和路由。
路由:
- IPv4地址用于在网络中路由数据包,确保数据包能够准确到达目标设备。
- 路由器根据目标IPv4地址的网络部分来决定如何转发数据包,将数据包从源设备传输到目标设备。
NAT(Network Address Translation):
- NAT技术允许多个设备共享一个公有IPv4地址,通过转换源IP地址和端口来实现内部设备与外部网络的通信。
- NAT技术在IPv4地址短缺的情况下起到了重要作用,延长了IPv4地址的使用寿命。
限制:
- IPv4地址空间有限,只有约42亿个可用地址,导致IPv4地址短缺问题。
- IPv4地址短缺问题促使推出IPv6(Internet Protocol version 6)来扩大地址空间,以满足日益增长的互联网连接需求。
尽管IPv6在逐渐取代IPv4,但由于历史原因和设备兼容性,IPv4仍然广泛应用于互联网中。有效地管理IPv4地址资源和实施技术转换对于网络的可持续发展至关重要。
3.2地址组成
3.3 IP地址掩码
IP地址掩码(Subnet Mask)是用于确定一个IP地址中哪部分是网络部分,哪部分是主机部分的32位二进制数字。IP地址掩码与IP地址一起使用,以帮助路由器和其他网络设备识别一个IP地址的网络部分和主机部分。
IP地址掩码的作用包括:
划分网络:通过使用IP地址掩码,可以将一个IP地址空间划分为不同的子网,使网络管理员能够更有效地管理IP地址资源。
路由:路由器使用IP地址掩码来确定数据包应该被发送到哪个网络。路由器将目标IP地址与目标地址的掩码进行逻辑与运算,以确定目标地址所在的网络。
主机识别:IP地址掩码帮助确定一个IP地址中哪部分用于标识网络,哪部分用于标识主机。这有助于设备在网络中准确识别目标主机。
IP地址掩码通常以点分十进制表示,与IP地址的每个相应位进行逻辑与运算,以确定网络部分和主机部分。例如,在一个IPv4地址
192.168.1.1
和子网掩码255.255.255.0
的情况下:
- IP地址:
192.168.1.1
- 子网掩码:
255.255.255.0
将IP地址和子网掩码转换为二进制形式进行逻辑与运算:
- IP地址(二进制):
11000000.10101000.00000001.00000001
- 子网掩码(二进制):
11111111.11111111.11111111.00000000
进行逻辑与运算:
11000000.10101000.00000001.00000001 (IP地址)11111111.11111111.11111111.00000000 (子网掩码)-------------------------------------11000000.10101000.00000001.00000000 (网络部分)
在这种情况下,网络部分为
192.168.1.0
,主机部分为1
。路由器使用这个网络部分来确定数据包的路由。通过正确配置IP地址掩码,网络管理员可以有效地管理IP地址资源和实现网络中的子网划分,从而提高网络的性能和安全性
3.4变长子网掩码
求子网个数:
求子网可用IP地址数
3.5特殊含义的IP地址
3.6IPV6
尾言
本专栏我总结了大量的思维导图,但是因为思维导图太大与CSDN的排版不匹配,故我会把每篇博文绘制的思维导图上传到我的资源里,有需要的自取,我会设置为0积分下载的,创作不易还望各位大佬点赞支持一下谢谢