第一天所学
计算机基础
【1】冯· 诺依曼体系
ENIAC,1946/2/14诞生,世界上第一台通用计算机。
CPU(中央处理器,Central Processing Unit):运算器、控制器、寄存器、缓存
存储器:内存、RAM(Random Access Memory)存储器内部有大量的存储单元CELL,一个CELL是8bits,二进制
8bits=1Bytes,内存的最小存储单元是1Byte.
内存的编址是平面的
Input:下指令、提供数据等
Output:输出数据加工的结果
程序=指令+数据;算法+数据结构
另:
NIC: Network Interface Card,网络接口卡/网络适配器,是计算机连接网络的设备
显卡:Video Card,Graphic Card,显示接口卡/显示适配器,是计算机进行数模信号转换的设备—–承载计算机的所有网络数据
【2】计算机的启动过程
计算机的整个启动过程分成四个阶段:
1)BIOS:Basic Input/Output System,基本输出输入系统,进行硬件自检,通过则将控制权交给下一阶段的
启动程序—>启动顺序(Boot Sequence)
2)主引导记录,MBR(Master boot record),512字节。
3)硬盘启动:告知计算机操作系统在哪个分区
4)操作系统:控制权交给操作系统之后,操作系统的内核被载入内存
【3】部分DOS命令(windows+R,cmd回车)
dxdiag 查看计算机配置信息
systeminfo 查看计算机系统信息
wmic memorychip 查看内存信息
ipconfig 查看计算机IP地址信息
ipconfig/all 查看 计算机所有网卡信息
netsh interface ipv4 show interfaces 查看计算机网卡状态
wmic memorychip list brief 查看内存条数量
start msinfo32 查看系统信息
OSI七层参考模型(Open System Interconnect),即开放式系统互联
【1】应用层:通过人机交互的界面提供各种各样的服务
【2】表示层 :为上层用户解决用户信息语法问题,编码、解码、加密、解密
【3】会话层 :在两个节点之间建立端链接,提供对话控制机制,建立、维持、终止会话进程
【4】传输层 :通过端口号区分上层不同的服务 数据分段 TCP(面向连接的)/UDP(面向无连接)
提供可靠的传输机制 确认 重传 排序 流控
【5】网络层:IP 通过IP地址进行逻辑寻址,建立两个节点之间的连接 IP地址 路由器
【6】数据链路层 :逻辑链路控制层 LLC 为上层提供服务 提供FCS校验 数据分帧
媒介访问控制层 MAC—物理地址 网桥/交换机
【7】物理层 :定义电气、电压、光学特性、接口规范 中继器/集线器 传送比特流
PDU 桥协议数据单元—数据在不同层面的表现形式
上三层 数据 data message
传输层 数据段 segment
网络层 数据包 packet
数据链路层 数据帧 frame
物理层 比特流 bit
报文封装与解封装
当用户输入要浏览的网站信息后就由应用层产生相关的数据,通过表示层转换成为计算机可识别的ASCII码,再由会话层产生相应的主机进程传给传输层。传输层将以上信息作为数据并加上相应的端口号信息以便目的主机辨别此报文,得知具体应由本机的哪个任务来处理;在网络层加上IP地址使报文能确认应到达具体某个主机,再在数据链路层加上MAC地址,转成bit流信息,从而在网络上传输。报文在网络上被各主机接收,通过检查报文的目的MAC地址判断是否是自己需要处理的报文,如果发现MAC地址与自己不一致,则丢弃该报文,一致就去掉MAC信息送给网络层判断其IP地址;然后根据报文的目的端口号确定是由本机的哪个进程来处理,这就是报文的解封装过程。
/*网络通信,两个计算机之间的通信—网线直连;三个计算机之间的通信—HUB
HUB:集线器是一个标准的共享式设备,也就是同一时刻只有一个端口下联的设备可以发送数据。正常工作时,集线器随机选出某一端口设备并让它独占全部带宽与集线器上联设备(如交换机、路由器等)进行通信。因此,集线器设备的所有端口即形成了一个冲突域*/
CSMA-CD 带冲突检测的载波侦听多路访问技术
工作原理:发送数据前先侦听信道是否空闲,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试
/将CSMA/CD的工作过程形象的比喻成很多人在一间黑屋子中举行讨论会,参加会议的人都是只能听到其他人的声音。每个人在说话前必须先倾听,只有等会场安静下来后,他才能够发言。人们将发言前监听以确定是否已有人在发言的动作成为"载波侦听";将在会场安静的情况下每人都有平等机会讲话成为“多路访问”;如果有两人或两人以上同时说话,大家就无法听清其中任何一人的发言,这种情况称为发生“冲突”。发言人在发言过程中要及时发现是否发生冲突,这个动作称为“冲突检测”。如果发言人发现冲突已经发生,这时他需要停止讲话,然后随机后退延迟,再次重复上述过程,直至讲话成功。如果失败次数太多,他也许就放弃这次发言的想法/
隔离冲突域—网桥->交换机
网桥:二层的网络设备,端口分别有一条独立的交换信道(可以隔离冲突域)
也说明HUB是所有端口共用一条交换信道,共享同一背板总线。
交换机的作用
1、无限延长传输距离
2、实现单播—一对一传输
3、分割冲突域—交换机每个接口是一个冲突域,所有接口都是一个广播域
交换机转发数据原理:通过MAC地址进行物理寻址
交换机自学习功能–流量来到交换机接口后,交换机会查看数据包中的源MAC地址,并将其和接收到的接口编号记录下来,存储为MAC地址表(二进制表格,CAM表)
交换机则是工作在数据链路层的设备,在接收到数据后,基于数据包中的目标MAC地址,通过查找自身系统MAC地址表中的MAC地址与端口对应关系,将数据传送到目的端口。若没有记录,则将数据包从除了接收到的接口之外的其他接口全部发出(洪泛)交换机在同一时刻可进行多个端口之间的数据传输,每一端口都是独立的物理网段,连接在端口上的网络设备独自享有全部的带宽。因此,交换机起到了分割冲突域的作用,每一个端口为一个冲突域,如图所示。
洪泛范围:广播域
IP地址:32位二进制数 平时一般看到的是点分十进制 分为网络位和主机位
几种常见三层协议
IP 网际网络协议
ICMP 网络控制管理协议 Ping 测试连通性指令
ARP 地址解析协议
四层协议
TCP 传输控制协议
UDP 用户数据报文协议
端口号
0-65535 1-1023(著名端口) 1024-65535(动态端口、高端口)
几种常见的应用层服务及端口号
FTP 文件传输协议 TCP 21
Telnet 远程登录 TCP 23
HTTP 超文本传输协议 TCP 80
DNS 域名解析系统 UDP/TCP 53
HTTPS 安全HTTP TCP 443
MSS 最大段长度 以太网 1480B
MTU 最大传输单元 以太网 1500B
TCP/IP协议栈道
传输层:TCP/UDP
TCP–面向连接的可靠传输协议
面向连接–三次握手
可靠–可靠的传输机制 确认 重传 排序 流控(滑动窗口)
1Byte=8bit kB/s 200Mb/8=25MB80% 32bit=4B5=20BTCP标签
四次断开
1、端口号:用来标识同一台计算机的不同的应用进程。
1)源端口:源端口和IP地址的作用是标识报文的返回地址。
2)目的端口:端口指明接收方计算机上的应用程序接口。
TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。
2、序号和确认号:是TCP可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。e.g.一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0。
3、数据偏移/首部长度:4bits。由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为60字节。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。
4、保留:为将来定义新的用途保留,现在一般置0。
5、控制位:URG ACK PSH RST SYN FIN,共6个,每一个标志位表示一个控制功能。
1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。
2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。
3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。
4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。
5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。
6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。
6、窗口:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小是一个16bit字段,因而窗口大小最大为65535。
7、校验和:奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。
8、紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。
9、选项和填充:最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。
10、数据部分: TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。
TCP3次握手
ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1
SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此, SYN置1就表示这是一个连接请求或连接接受报文。
FIN (finis)即完,终结的意思, 用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放连接。
TCP4次断开 本端和对端各发送了一次请求和确认 
当客户A 没有东西要发送时就要释放 A 这边的连接,A会发送一个报文(没有数据),其中 FIN 设置为1, 服务器B收到后会给应用程序一个信,这时A那边的连接已经关闭,即A不再发送信息(但仍可接收信息)。 A收到B的确认后进入等待状态,等待B请求释放连接, B数据发送完成后就向A请求连接释放,也是用FIN=1 表示, 并且用 ack = u+1(如图), A收到后回复一个确认信息,并进入 TIME_WAIT 状态, 等待 2MSL 时间。
TCP窗口
UDP
UDP–非面向连接的不可靠传输协议 8Byte 报头
网络层:IP协议
IP协议:三层设备来查看 20B
版本:IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6。
首部长度:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。
服务类型:Type Of Service。
总长度:IP报文的总长度。报头的长度和数据部分的长度之和。
标识:唯一的标识主机发送的每一分数据报。通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时必须分片,这个标识字段的值被复制到所有数据分片的标识字段中,使得这些分片在达到最终目的地时可以依照标识字段的内容重新组成原先的数据。
标志:共3位。R、DF、MF三位。目前只有后两位有效,DF位:为1表示不分片,为0表示分片。MF:为1表示“更多的片”,为0表示这是最后一片。
片位移:本分片在原先数据报文中相对首位的偏移位。(需要再乘以8)
生存时间:IP报文所允许通过的路由器的最大数量。每经过一个路由器,TTL减1,当为0时,路由器将该数据报丢弃。TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64。发送 ICMP 回显应答时经常把 TTL 设为最大值 255。
协议:指出IP报文携带的数据使用的是那种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程(不同的协议有专门不同的进程处理)。和端口号类似,此处采用协议号,TCP的协议号为6,UDP的协议号为17。ICMP的协议号为1,IGMP的协议号为2.
首部校验和:计算IP头部的校验和,检查IP报头的完整性。
源IP地址:标识IP数据报的源端设备。
目的IP地址:标识IP数据报的目的地址。
TTL time to live 0-255 每经过一台路由器-1 当为0时路由器直接丢弃
协议 TCP 6 标识上层协议
UDP 17
EIGRP 88
OSPF 89
相同点: 2者都是模型化层次化
下层对上层提供服务支持
每层协议彼此相互独立
不同点:OSI先有模型才有协议 TCP/IP先有协议才有模型
TCP/IP协议栈只适用于TCP/IP网络
层数量不同
IPv4地址
32位二进制,分为网络位和主机位(网络位标识所在网段,主机位唯一标识某主机)
完整的IP地址需要网络掩码—32位二进制,和IP地址每一位对应,由连续的1和连续的0构成。掩码为1表示IP此位为网络位,掩码为0表示IP此位为主机位。
2^32=4294967296 42亿个地址
IPV6 128w位 2^128
分为ABCDE 五类,主类网
在默认情况下通过第一个8位就可以辨别类别;
A 0 0000000—0 1111111 0-127
B 10 000000—10 111111 128-191
C 110 00000—110 11111 192-223
D 1110 0000—1110 1111 224-239
E 1111 0000----1111 1110 240-254
单播地址:ABC 一对一
组播地址:D
科研使用:E
默认的掩码:
A 前8位为网络位 后24位为主机位 2^24-2 可用地址
B 16 16 2^16-2
C 24 8 2^8-2
在单播地址中还存在私有地址和公有地址分类:
公有地址:全球唯一性 需要付费使用
私有地址:本地唯一性 无需付费
私有地址:
A:10.0.0.0/8
B:172.16.0.0/16-172.31.0.0/16
C:192.168.0.0/24-192.168.255.0/24
特殊IPv4地址:
1)0.0.0.0/0 无效地址/缺省地址
2)255.255.255.255 受限广播地址
3)127.0.0.1/8 本地环回地址,测试TCP/IP协议栈能否正常工作(一般也代表本机)
4)主机位全0
举例:192.168.1.00000000/24 代表本网段内所有主机,即代表一个网络范围
5)主机位全1
举例:192.168.1.11111111/24 代表本网段内的广播地址
6)169.254.0.0/16 本地私有地址,PC通过自动获取IP地址的方式拿不到地址时,PC自己随机分配
子网划分
子网划分:通过从主机位借位到网络位的方式,达到将一个大网络划分为一些小网络
借出的位称为子网位,决定了能够划分的子网范围个数
VLSM:可变长子网掩码
举例:现有一个大的网络范围,172.16.0.0/22,希望满足有6个网络范围的条件。写出子网范围和可用IP地址范围
172.16.0.0/22
网络位 主机位
10101100 00010000 00000000 00000000----IP地址
11111111 11111111 11111100 00000000----网络掩码(255.255.252.0)
分析:
因为需要6个网络范围,所以基于借出的子网位决定子网数量的概念,需要至少借3位。从原本的网络位最后一位往后顺延借3位。最后的掩码为/25。
借出的子网位(蓝色)
10101100 00010000 00000000 00000000
构成的子网:蓝色的部分排列组合—
000 001 010 011 100 101 110 111—8个子网范围
则最终结果为:
子网范围 可用IP地址范围
172.16.0.0/25 0.1—0.126
172.16.0.128/25 0.129—0.254
172.16.1.0/25 1.1—1.126
172.16.1.128/25 1.129—1.254
172.16.2.0/25 2.1—2.126
172.16.2.128/25 2.129—2.254
172.16.3.0/25 3.1—3.126
172.16.3.128/25 3.129—3.254
子网汇总
子网汇总:将一些小网络汇聚成一个大网络
汇总须同时满足条件:1)母网相同 2)掩码一致
汇总方式:取相同位,去不同位
举例:
172.16.1.0/24
172.16.14.0/24
172.16.35.0/24
172.16.99.0/24
汇总后:
172.16.0 0000001.0/24
172.16.0 0001110.0/24
172.16.0 0100011.0/24
172.16.0 110001.0/24
总共17位相同,汇总后172.16.0.0/17
超网:汇总后掩码<主类掩码–192.168.0.0/17
CIDR:汇总后掩码>主类掩码–172.16.0.0/17