一、计算机网络基础知识
1.什么是计算机网络
把分布在不同地理位置的计算机与专门的网络设备用通信线路互相连成一个规模大、功能强的系统,从而使众多计算机可以方便地互相传递信息、共享软件、硬件、数据信息等。
计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的的集合,它是计算机技术和通信技术相结合的产物。
2.计算机网络的功能
数据通信、资源共享、提高系统的可靠性、分布式网络处理和负载均衡。
3.计算机网络的组成
•1、通信子网 ◦网卡:网络接口卡或网络适配器、它负责将数据发送网络中去,也负责从网络中获取数据。
◦线缆、中继器:传输信号,放大信号。
◦交换机:是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算机。
◦路由器:路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。
它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。
•2、资源子网
由连网的服务器、工作站、共享的打印机和其它设备及相关软件所组成。
•3、计算机网络软件 ◦协议软件:它规定了计算机之间通信的准则,按网络所采用的协议层次模型(如ISO建议的开放系统互连基本参考模型)组织而成。除物理层外,其余各层协议大都由软件实现。
每层协议软件通常由一个或多个进程组成,其主要任务是完成相应层协议所规定的功能,以及与上、下层的接口功能。
◦网络通信软件:主要工作是监督和控制通信工作的软件,是计算机网络软件的基础组成部分。还可以让计算机与其它计算机通信。
通信软件一般由线路缓冲区管理程序、线路控制程序以及报文管理程序组成。报文管理程序一般由接收、发送、收发记录、差错控制、开始和终了5个部分组成。
◦网络操作系统:网络操作系统是用于管理网络软、硬资源,提供简单网络管理的系统软件。常见的网络操作系统有UNIX、Netware、Windows NT、Linux等。
◦网络应用软件:主要任务是实现网络总体规划所规定的各项功能,提供网络服务和资源共享。网络应用软件有通用和专用之分。
通用网络应用系统适用于较广泛的领域和行业,如数据收集系统、数据转发系统和数据库查询系统等。
专用网络应用系统只适用于特定的行业和领域,如银行核算、铁路控制、军事指挥等。
4.计算机网络的分类
•1、按网络的作用范围划分
局域网、城域网、广域网
•2、按网络传播技术划分
广播式网络、点到点网络
•3、传输介质划分
有线网、无线网、微波通信、卫星通信
6.计算机网络的发展过程
•1、以计算机为中心的联机系统
•2、分组交换网络的诞生
•3、网络体系结构与协议标准化。
20世纪80年代 ISO组织提出 开放式系统互联参考模型OSI,由于这个模型照顾到了各方和利益所以太过庞大,因此至今没有推出成熟的产品,TCP/IP是一套符合OSI标准的协议。
异构:windows C/C+±>socket->TCP/IP ->TCP/IP ->socket->Linux JAVA
•4、高速计算机网络 5G 6G
7.OSI/RM结构与TCP/IP模型
网络协议是为网络数据交换而制定的规则、约定、标准, 一个功能完备的计算机网络需要制定一整套复杂的协议集,网络协议是按层次结构来组织的,网络层次结构模型与各层协议的集合称为网络体系结构。
•OSI/RM结构七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
•TCP/IP模型四层:
物理层:负责通信网络收发数据包
网络层:选择、流量控制、与网络拥塞问题,IP协议是该层核心。
传输层:机器之间建立用于会话的端到端连接(用于数据的传输),该层的核心协议是TCP、UDP协议。
应用层:主要为用户提供针对性的服务,该层代表性的协议有:HTTP、SMTP、FTP、TELNET。
8.MAC地址、IP地址、域名
•MAC地址
也叫物理地址,每张网卡在生产时厂家就是固化一个48位的地址(6个字节,通常表示为12个16进制数,如:00-16-EA-AE-3C-40),此地址全世界唯一,交换机路由器以此来确认网络设备位置的位址,缺点是不方便记忆,不够灵活。
•IP地址
IP 地址是基于逻辑的,比较灵活,不受硬件的限制,也容易记忆,方便划分子网,因此在计算机网络中表面上使用IP进行通信,目前由4个不超过255的整数组成,一般用点分十进制表示(192.168.2.180)。
而在交换机、路由器中有张ARP表,一列记录MAC,另一列记录IP地址,通过ARP协议的RARP协议可以对IP地址和MAC地址进行转换。
•域名
由于普通人很难记忆大量IP地址,便有了代替IP地址的文字,但需要最终翻译成IP地址才能通信,提供翻译服务的计算机叫DNS服务器,需要在政府部分备案才能加入DNS服务器。
•ip地址的分类: ◦A类:第一个二进制位必须是0
0.0.0.0~127.255.255.255
◦B类:前两位的二进制位必须是10
128.0.0.0~191.255.255.255
◦C类:前三位的二进制位必须是110
192.0.0.0~223.255.255.255
◦D类:前四位的二进制位必须是1110
224.0.0.0~239.255.255.255
◦E类:前四位的二进制位必须是1111
240.0.0.0~255.255.255.255
9.公有IP和私有IP
•公有ip:在网络服务提供商登记过的ip地址叫公有ip
•私有ip:由一此公司或组织自己分配的,不能在网络公开直接访问的ip。
10.子网掩码和网络地址
由4个不超过255的整数组成,一般用点分十进制表示(255.255.255.0)。
子网掩码&ip地址 = 网络地址,如果两人个ip地址的网络地址相同,那么说明它们在同一个子网内,就可以直接通信而不需要路由。
11.网关地址
负责子网出口的计算机,一般由路由器担任(路由器就是一台具有路由功能的计算机)。
12.端口号
操作系统为需要通信的进程分配一个独一无二的编号,端口号可能确定与哪个进程来通信。
1~1024基本上已经被操作系统占用,一般编程要使用1024以上的,http:80、ftp:21、telnet:23、ssh:22
二、网络通信的基本概念
1.TCP协议
TCP (Transmission Control Protocol, 传输控制协议) 面向连接的服务,相当于打电话。
2.UDP协议
UDP (User Datagram Protocol, 用户数据报文协议) 面向无连接的服务,相当于发短信。
UDP TCP
是否连接 无连接 面向连接
是否可靠 不可靠传输,不使用流量控制和拥塞控制 可靠传输,使用流量控制和拥塞控制
连接对象个数 支持一对一,一对多,多对一和多对多交互通信 只能是一对一通信
传输方式 面向报文 面向字节流
首部开销 首部开销小,仅8字节 首部最小20字节,最大60字节
适用场景 适用于实时应用(IP电话、视频会议、直播等) 适用于要求可靠传输的应用,例如文件传输
3.总结
TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务。
虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为。
对数据准确性要求高,速度可以相对较慢的,可以选用TCP。