1946年,世界上第一台计算机ENIAC诞生时用打孔的纸袋向计算机输入程序......
一、网络:
主要是指跨越短距离和长距离与计算机连接所涉及的所有组件(硬件和软件)计算机之间的链接方式是多种多样的
可以通过铜线,光纤等有线介质,也可以通过微波,无线电等无线介质链接。当然,这些知识数据通信的物理基础
网络通信中有许多复杂的问题需要处理(例如数据丢失、出错等)。因此,计算机还需要特定的软件支持,这些软
件称为网络协议。网络协议用来协调双方的通信,解决网络中遇到的问题。
所以,计算机网络是网络硬件和网络协议的统一体。
建立一个网络需要3种类型的组件:计算机、联网设备、介质。
二、计算机网络类型:
局域网(Local Area Network Lan)
广域网(Wide Area Network Wan) 广域网是由多个局域网组成(相隔较远的时候会使用广域网)
三、OSI 七层参考模型:
其中图中发送方下面对应的7层就是我们要学习的七层参考模型。
需要注意的是,最开始的就是第七层而不是第一层。
第七层:应用层
第六层:表示层
第五层:会话层
第四层:传输层
第三层:网络层
第二层:数据链路层
第一层:物理层
应用层:
人与应用程序交互界面(命令行或者图形界面的交互)顾名思义,就是人与应用程序交互的过程,但需要注意的是
OSI参考模型中,值的是能感知网络的应用程序,成千上万种的应用程序并非所有的应用程序都有联网的功能,常
见的应用层程序有:telnet(远程登录)、ssh、FTP、web浏览器和E-mail。
注意:应用程序本身 ≠ 应用层
应用层为应用程序提供了知道网络存在和利用网络的方式,换句话说,应用层封装了一组协议和服务,应用使用它
就可以访问网络资源了。
表示层:
确定数据传输方式和呈现网络用户的方式(文本、图形、音频、视频)。
格式转换:有的使用ASCII码,有的使用Unicode编码。转换过程----> ASCII->公共编码->Unicode编码
加密解密:硬件加密在目前的网络安全中少见,软件加密方式的实现,执行的时候会占用大量的CPU
压缩、解压缩:音频\视频,压缩后减小传输量,提高效率。
会话层:
负责网络连接的建立、维持和终止,其实例包括:
RPC(远程过程调用)、NFS(网络文件系统)类似云存储
传输层:
网络连接的建立、维持和终止的技术细节,同时提供了可靠(TCP)和不可靠(UDP)的数据传输方式。
TCP:数据传输有检测,可重发数据
网络层:
定义IP地址,有相当多的功能(路由器)选择路由表,每个网段都有一个唯一的网络号。
数据链路层:
二层Mac地址(48比特),12F(16进制) 例如:6a:00:00:4b:01:01
所谓的Mac地址就是我们俗称的电脑网卡地址。
数据链路层将上一层传过来的数据封装成帧。
Mac地址前6位与网络接口厂商有关,OUI组织唯一标识
Mac地址是全球唯一的,我们每个人电脑网卡的地址都是全球唯一的。
物理层:
讲数据链路层封装的帧看成一长串的0和1的比特流发出去。
四、TCP/IP模型(传输控制协议/网际协议)
源自实际联网需求,ArpaNet扩大,不同网络需要和ArpaNet链接
功能与OSI七层参考模型类似,简化版,都是分层结构。
应用层
传输层
网际层
网络访问层
五、IP地址
IP地址:逻辑上的地址,与具体的网络技术和硬件无关,可以人为指定,也可以通过DHCP服务获取。
除了服务器需要人为手动指定IP地址,平日我们使用的网络设备均是通过DHCP服务动态获取到的IP地址。
六、IP地址的分类
A类:1.0.0.0 ~ 126.255.255.255 (其中127.0.0.0 ~ 127.255.255.255为本地回环地址)
B类:128.0.0.0 ~ 192.255.255.255
C类:192.0.0.0 ~ 223.255.255.255
D类:224.0.0.0 ~ 239.255.255.255 (一般用于路由器的组播)
E类:240.0.0.0 ~ 255.255.255.255 (此类IP地址 只用于科研使用)
每个网段中主机位全为0的时候,此时的IP地址就是本网络的主机地址
每个网段中主机位全为1的时候,此时的IP地址就是本网络广播地址
广播地址:给广播地址发消息,整个网络的所有电脑都能收到消息,所以广播地址是不安全的,平时我们是不允许使用广播地址的
同样,本网络的主机地址也不允许使用
私有IP地址:不允许在公共网络上传输数据
A:10.0.0.0 ~ 10.255.255.255
B:172.16.0.0 ~ 172.31.255.255
C:192.168.0.0 ~ 192.168.255.255
子网掩码:
初期用来区分网络的类型,后来用于优化网络VLSM(可变长度子网掩码)
七、端口号
什么是端口号?
我们的电脑中有很多可以和网络通信的软件,那当我们发出数据的时候怎么才能正确的接收到返回的数据呢?
所以要区分不同应用程序发的数据,确保对方能恰当的收到数据,就有端口号这种东西了。
公认:0 ~ 1023,由因特网号分配机构(IANA)分配,常用应用程序有:
HTTP(80端口)
FTP(21端口传命令,20端口传数据)
ICMP(1) TCP(6) UDP(17) SSH(22) Telnet(23) smtp(25) ipv6(41) Eigrp(88) OSPF(89)
POP3(110) SNMP(161) RIP(520) TFTP(69) DNS(53)
已注册:1024 ~ 49151 (已被其他公司注册的端口)
如何分配端口号?
动态分配: 49152 ~ 65535 源端口动态随机
目的端:公认的端口号 or 注册的端口号,需要看连接的应用程序是什么
服务器端口号:
理论上65535个端口,实际上常用的web(80)、ftp(21)、e-mail(25)
何可程序都可以用某种方法定义出一个特殊的端口来达到入侵的目的
windows:dos > cmd >netstat 可显示出活动的tcp链接
客户端端口号:
只需要保证该端口号在本机唯一即可,存在时间比较短,所以又称临时端口号
地址解析:
ARP:IP地址 > mac地址 将IP地址解析成网卡地址
RARP: mac地址 > IP地址
域名系统:
域名 <-------> IP地址,相互映射的一个分布式数据库