两学一做网站飘窗,郴州必去三个景点,如何制作一个动态的网站的登录详细步骤页面,成都微网站设计网络编程开发
两台计算机要互相传送文件需解决很多问题#xff1a;
必须有一条传送数据的通路。发起方必须激活通路。要告诉网络如何识别接收方。发起方要清楚对方是否已开机#xff0c;且与网络连接正常。发起方要清楚对方是否准备好接收和存储文件。若文件格式不兼容
必须有一条传送数据的通路。发起方必须激活通路。要告诉网络如何识别接收方。发起方要清楚对方是否已开机且与网络连接正常。发起方要清楚对方是否准备好接收和存储文件。若文件格式不兼容要完成格式的转换。要处理各种差错和意外事故保证收到正确的文件。
1.网络结构
OSI七层体系结构、TCP/IP四层协议与五层体系结构是计算机网络中三个关键的概念它们各自代表了不同的网络设计哲学和实现方式。
首先OSI开放式系统互联七层模型是由国际标准化组织ISO提出的一个用于理解和设计网络系统的框架。它包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有特定的功能和协议旨在促进不同计算机系统之间的互操作性。
其次TCP/IP传输控制协议/网际协议四层模型则是实际在互联网中使用的模型它包括网络接口层、网际层、传输层和应用层。TCP/IP模型以其实用性和灵活性而广受欢迎是目前互联网的基础。
最后五层体系结构是一个折中的模型结合了OSI和TCP/IP的优点通常用于教学和简化概念的理解。它包括物理层、数据链路层、网络层、运输层和应用层。
下面是 OSI七层模型与 TCP/IP四层模型历史渊源
网络分层的必要性网络分层是为了将复杂的网络问题分解成更小、更易管理的子问题。每一层只与紧邻的层直接通信降低了设计的复杂性并允许每一层独立地进行改进和发展。早期网络体系结构的多样性在OSI模型提出之前不同的公司和组织开发了自己的网络体系结构如IBM的SNA。这些体系结构虽然采用了分层的方法但层次划分和功能分配各不相同。ISO的介入与OSI模型的诞生为了统一网络体系结构ISO在1977年提出了OSI参考模型旨在创建一个统一的标准使不同的网络能够互联。TCP/IP的兴起尽管OSI模型得到了国际标准的地位但TCP/IP因其早期在ARPANET中的应用和互联网的迅速发展而成为了事实上的标准。五层体系结构的提出为了在教学和设计中简化概念同时保留OSI和TCP/IP的优点提出了五层体系结构。这种模型在保持层次化设计的同时减少了层次的数量使得理解和应用更为直观。
OSI七层体系结构 高层负责主机之间的数据传输功能应用层Applications Layer网络服务与最终用户的一个接口表示层Presentation Layer数据的表示、安全、压缩会话层 Session Layer建立、管理、中止会话
低层负责网络之间的数据传输功能运输层 Transport Layer定义传输数据的协议端口号以及流控和差错校验网络层 Network Layer进行逻辑地址寻址、差错校验等功能数据链路层 Data Link Layer建立逻辑连接、进行硬件地址寻址、差错校验等功能物理层 Physical Layer建立、维护、断开物理连接
TCP/IP四层体系结构 是事实上的国际标准 实质上TCP/IP只有最上面的三层最下面的网络接口层链路层并没有具体内容 链路层所使用的各种局域网标准是由IEEE的802委员会下属的各工作组负责制定的 路由器在转发分组时最高只用到网际层没有使用运输层和应用层。 现在互联网使用的 TCP/IP 体系结构已经发生了演变即某些应用程序可以直接使用 IP 层或甚至直接使用最下面的网络接口层。 五层体系结构 计算机网络的五层体系结构包括应用层、运输层、网络层、数据链路层和物理层。这个模型结合了OSI七层模型和TCP/IP四层模型的优点旨在简化网络设计并易于理解。以下是对各层功能的详细分析
应用层 主要功能应用层是五层体系结构中的最高层直接为用户的应用程序提供服务。它负责确定进程之间通信的性质以满足用户的需要。应用层处理数据的格式和语义使得源端和目标端能够理解和处理数据内容。常见协议应用层协议包括HTTP用于网页浏览、FTP文件传输协议、SMTP简单邮件传输协议等。这些协议定义了如何通过网络进行特定的数据处理和传输。 运输层 主要功能运输层负责主机中两个进程之间的通信。它提供了端到端的数据传输服务确保数据的完整性和顺序。运输层通过端口号来区分同一台机器上运行的不同应用程序从而实现多路复用。核心协议运输层的核心协议包括TCP传输控制协议和UDP用户数据报协议。TCP提供可靠的连接导向服务而UDP则提供快速的无连接服务。 网络层 主要功能网络层负责为分组交换网上的不同主机提供通信。它通过使用逻辑地址如IP地址来确定数据包的最佳传输路径。网络层还处理路由选择、分组的分段与重组以及拥塞控制。关键设备路由器是网络层的关键设备它根据网络层的地址信息来决定数据包的转发路径。 数据链路层 主要功能数据链路层的主要任务是将原始比特流划分为逻辑数据单元帧并通过物理网络进行传输。这一层还负责错误检测和校正以确保数据的可靠传输。它还定义了如何格式化数据以进行传输以及如何控制对物理介质的访问。设备例子交换机是数据链路层的关键设备它根据数据帧的MAC地址来进行局部网络内的数据传递。 物理层 主要功能物理层负责在传输媒体如电缆、光纤上建立、维护和终止物理连接。它处理与物理设备相关的所有功能包括电压变化、信号调制和比特率控制等。物理层的主要作用是传输比特流即由1和0组成的数据序列。硬件标准物理层的硬件标准包括网线的接口类型、光纤的接口类型以及各种传输介质的传输速率等。
这种分层的设计思想不仅简化了网络系统的设计与教学也促进了不同网络系统之间的互操作性和兼容性。
2.IP地址与端口号
IP地址简介
IP地址是互联网协议IP提供的一种统一的地址格式它为互联网上的每一个网络和每一台主机分配一个逻辑地址以此来屏蔽物理地址的差异。
为了全面理解IP地址的重要性和功能以下将从多个角度进行分析
IP地址的定义与作用 定义IP地址是一个由数字组成的标识符用于标识互联网上的设备。这个地址确保数据能够被正确地发送到目标设备。作用IP地址使得终端设备之间的通信成为可能无论这些设备的物理位置如何。它允许数据包在全球范围内的网络中路由和传输。 IP地址的发展历程 起源随着互联网的发展需要一个统一的地址系统来识别和定位连网的设备。因此IP地址的概念应运而生。发展最初的IP地址设计是基于32位的IPv4协议随着互联网用户数量的增加IPv4地址逐渐不足以满足需求这导致了新版本IPv6的推出它使用128位地址长度极大地扩展了地址空间。 IP地址的类型 公有地址公有地址在互联网中是唯一的用于公网上的设备使得这些设备可以直接从互联网访问。私有地址私有地址用于内部网络中如家庭、企业的内部网络。这些地址不能直接在互联网中使用需要通过网络地址转换NAT技术转换为公有地址后才能访问互联网。 IP地址的编址方式 IP地址根据网络ID的不同分为5种类型分别是A类地址、B类地址、C类地址、D类地址和E类地址 IP地址的分配与管理 手动分配网络管理员可以手动配置每个设备的IP地址这种方法适用于小规模网络。自动分配通过DHCP动态主机配置协议服务器自动分配IP地址当设备连接到网络时会自动获取一个IP地址。这种方式简化了网络管理特别是在设备频繁变动的大型网络中。
此外在深入了解IP地址的配置和管理之后还需要考虑一些实际操作时的注意事项
子网划分通过子网划分可以将一个大网络划分为多个小网络有助于优化网络的管理和安全性。无类间路由无类间路由CIDR是一种用于IP网络路由的技术它旨在解决IPv4地址耗尽的问题通过更灵活的路由策略来减少IP浪费。IPv6过渡随着IPv4地址的耗尽越来越多的网络正在向IPv6过渡。这一过程中需要解决两种协议的兼容性问题确保平滑过渡。
IP地址表示方法 IP地址的分类 IP地址根据网络ID的不同分为5种类型分别是A类地址、B类地址、C类地址、D类地址和E类地址。以下是对各类IP地址的详细阐述
A类IP地址A类地址主要设计用于大型网络其由1字节的网络地址和3字节的主机地址组成。网络地址的最高位必须是“0”可用的A类网络有127个每个网络能容纳约1677万个主机。地址范围从1.0.0.0到127.0.0.0其中127.0.0.1是特殊的回环测试地址用于本地机器的测试。B类IP地址B类地址适用于中型网络包含2个字节的网络地址和2个字节的主机地址。这类地址的网络部分以“10”开头地址范围为128.0.0.0至191.255.255.255。每个B类网络可以容纳约6万多个主机。C类IP地址C类地址是为小型网络设计的包括3字节的网络地址和1字节的主机地址。这些地址的网络部分以“110”开始地址范围从192.0.0.0到223.255.255.255。每个C类网络可容纳254个主机。D类IP地址D类地址用于多点广播Multicast。它们的第一个字节以“1110”开始专门保留用于多点广播。多点广播地址用来一次寻址一组计算机通常标识共享同一协议的一组计算机。这类地址的范围是从224.0.0.0到239.255.255.255。E类IP地址E类地址以“1111”开始被保留用于将来使用或研究目的。这类地址的范围是从240.0.0.0到255.255.255.254而255.255.255.255被定义为广播地址。
此外在IP地址中还特别定义了一些私有地址范围这些地址不会被路由到互联网上而是用于内部网络中。私有地址范围包括
A类私有地址10.0.0.0至10.255.255.255B类私有地址172.16.0.0至172.31.255.255C类私有地址192.168.0.0至192.168.255.255
了解这些分类对于正确配置网络设备和进行网络规划至关重要。每一类地址的设计都旨在满足不同规模网络的需求从而有效管理IP地址资源并优化网络性能。
无类间路由CIDR CIDR表示法将IP地址与斜杠“/”和前缀长度结合例如192.168.1.1/24其中24是前缀长度表示网络部分的位数。
优点
CIDR通过精确的地址分配避免了传统分类方式中的地址浪费尤其在IPv4地址资源紧张的情况下这一点显得尤为重要。通过聚合相邻的地址块CIDR减少了路由表中的条目数量从而提高了路由器的性能和网络的稳定性。CIDR允许根据需要划分子网不再受传统类别的限制这使得网络管理员可以更好地适应组织内部结构的变化。
子网掩码
位数32 位。目的让机器从 IP 地址迅速算出网络地址。由一连串 1 和接着的一连串 0 组成而 1 的个数就是网络前缀的长度。 默认地址的子网掩码 在实际应用中子网掩码与IP地址结合使用通过对IP地址和子网掩码进行逻辑AND操作可以得到网络地址从而确定某台主机是否处于同一网络或子网内。
IPv6表示
在 IPv6 中每个地址占 128 位地址空间大于 3.4 1038 。使用冒号十六进制记法(colon hexadecimal notation, 简写为 colon hex)16 位的值用十六进制值表示各值之间用冒号分隔。
//点分十进制数记法
104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255
//冒号十六进制记法
68E6:8C64:FFFF:FFFF:0000:1180:960A:FFFF
//冒号十六进制记法零压缩
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF零压缩
零压缩 (zero compression)一串连续的零可以用一对冒号取代。
例
FF05:0:0:0:0:0:0:B3
//压缩为
FF05::B3注意在任一地址中只能使用一次零压缩。
端口号
端口号的作用是区分不同的应用程序和会话解决的问题是网络通信中不同应用的识别和服务定位。在深入理解端口号的重要性和应用之后可以发现端口号不仅仅是简单的数字标识而是网络通信中不可或缺的一部分。 区分应用程序 识别服务端口号使得操作系统能够识别并转发数据到正确的应用程序。多任务处理通过端口号同一台计算机上的多个程序可以同时进行网络通信而不会相互干扰。 支持并发操作 独立通信每个应用程序可以独立地发起和接收数据端口号确保了数据传输的准确性和独立性。资源优化系统能更有效地管理网络资源和处理进程提高了整体的网络效率。 网络安全控制 过滤数据端口号使防火墙能够基于特定的端口来允许或阻止数据流增强了安全性。防止冲突为不同的应用程序分配不同的端口号避免了地址冲突和服务混乱的问题。 实现动态分配 灵活通信系统可以根据需要动态分配端口号使得网络通信更为灵活和高效。自动释放使用完的端口可以被释放重用优化了端口资源的利用率。 提供远程访问 访问控制端口号允许外部设备通过特定的端口访问内部运行的服务如HTTP服务通常监听80端口。安全隔离通过限制可访问的端口系统可以更好地控制哪些服务可以从外部访问增加了安全性。
端口的类型 常用端口 BSD端口
BSD端口也称为BSD套接口是UNIX系统中通用的网络接口支持多种网络类型和内部进程间的通信机制。
概念功能 BSD套接口是UNIX系统下用于网络通信的一种标准接口。它不仅支持各种网络类型还能用于同一台计算机内部不同进程之间的通信。 主要特点 BSD套接口能够处理多种类型的套接口每种套接口都有自己的寻址方法。与管道不同套接口对于可以容纳的数据大小没有限制。 套接口类型 流式套接口提供可靠的双向顺序数据流连接如TCP协议所使用。数据报套接口提供双向数据传输但不保证数据的完整到达如UDP协议所使用。 通信模式 在客户机/服务器模式下服务器通过套接口提供服务而客户机则使用这些服务。服务器创建一个套接口并绑定到特定地址然后监听来自客户机的连接请求。
BSD保留端口和用户端口的不同用途
0-1023 BSD保留端口也叫系统端口这些端口只有系统特许的进程才能使用1024~65535为用户端口其中 1024-5000 BSD临时端口一般的应用程序使用1024到4999来进行通讯5001-65535BSD服务器(非特权)端口用来给用户自定义端口。
3.字节序
字节序分为大端序和小端序大端序和小端序是两种不同的字节存储顺序。在计算机系统中由于历史和技术的原因不同的处理器架构采用了不同的字节序策略。以下是对大端序和小端序的相关介绍
概念理解 大端序Big-endian将最高位字节即最重要的字节存储在内存的最低地址处最低位字节存储在最高地址处。小端序Little-endian将最低位字节存储在内存的最低地址处最高位字节存储在最高地址处。 实例演示 假设有一个32位整数0x12345678如果采用大端序存储则内存中从低地址到高地址的顺序为0x12 0x34 0x56 0x78而采用小端序时顺序则为0x78 0x56 0x34 0x12。这种区别对于设计跨平台的软件和进行网络通信尤为重要因为不同的处理器可能采用不同的字节序。 应用场景 大端序通常被许多网络协议采用因此也被称为网络字节序。此外某些处理器如PowerPC也默认使用大端序。小端序多数现代个人电脑和服务器采用的x86及x86_64架构支持小端序。由于其与处理器的读取顺序一致这在一定程度上能提高数据处理的效率。
示例 查看主机字节序 #include stdio.h
uint32_t val32 0x11223344;
uint8_t val8 *( (uint8_t *)val32 );
if(val8 0x44)printf(本机是小端字节序\n);
elseprintf(本机是大端字节序\n);定义了一个无符号32位整型变量val32并且初始化为0x11223344 定义一个8位的无符号整型变量val8并且将强转以后的val32的数据赋值给val8 这样做的目的是获取变量val32第一个字节的值后面就可通过判断val8的值是0x44或者0x11来确定主机字节序是大端还是小端