目录
1.计算机组成原理
2.计算机体系结构
计算机组成原理、计算机体系结构(ISA指令集、intel开发手册)、CSAPP (深入理解计算机系统)、汇编语言、编译原理(ELF、汇编器)、操作系统
2.1 计算机网络体系结构
网络协议定义:计算机网络在交换数据过程中事先约定好的规则
为何需要对网络协议进行分层:简化问题难度和复杂度;灵活性好,当其中一层技术变化时,只要层间接口关系保持不变,其他层不受影响;易于实现和维护;促进标准化工作;
网络协议分层缺点:功能可能出现在多个层中,出现了额外开销
2.2 TCP/IP协议
应用层:通过应用进程间的交互来完成特定网络应用。定义应用进程间交互和通信的规则。不同网络需要使用不同的应用层协议,例如域名系统DNS,支持万维网的HTTP,支持电子邮件的SMTP
运输层:负责向两台主机进程之间的通信提供通用的数据传输服务。主要使用以下两种协议
TCP(传输控制协议):提供面向连接、可靠的数据传输服务
UDP(用户数据协议):提供无连接、尽最大努力的数据传输服务(不保证数据传输的可靠性)
每个应用层一般会用到两个传输层协议之一
运行在TCP协议上的协议:
HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。
HTTPS(HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
FTP(File Transfer Protocol,文件传输协议),用于文件传输。
POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。
SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。
运行在UDP上的协议:
BOOTP(Boot Protocol,启动协议),应用于无盘设备。
NTP(Network Time Protocol,网络时间协议),用于网络同步。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
运行在TCP和UDP上的协议
DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作。
网络层:选择合适的网间路由和交换节点,确保计算机通信的数据及时传送。互联网使用的网络协议是无连接的网际协议(Intet Prococol)和许多路由选择协议,因此互联网的网络层也称网际层或IP层。
数据链路层:通常称为链路层。两台主机之间的数据传输,通常是在一段一段的链路上进行的,链路层协议由此诞生。
物理层:实现相邻计算机节点之间比特流的透明传送,尽可能频闭掉具体传输介质和物理设备的差异。
CP/IP协议族:互联网中常用的两个协议,但并非单只TCP和IP两个协议,而是指整个TCP/IP协议族。
应用协议:HTTP、SMTP、FTP、TELNET、SNMP
传输协议:TCP、UDP
网际协议:IP、ICMP、ARP
路由控制协议:RIP、OSPF、BGP
互联网协议套件(英语:Internet Protocol Suite,缩写IPS)是一个网络通讯模型,以及一整个网络传输协议家族,为网际网络的基础通讯架构。它常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。因为该协定家族的两个核心协定:TCP(传输控制协议)和IP(网际协议),为该家族中最早通过的标准。
TCP(传输控制协议)和IP(网际协议) 是最先定义的两个核心协议,所以才统称为TCP/IP协议族
2.3 TCP的三次握手四次挥手
一个TCP连接由4个元组构成,分别是2个IP和2个端口。
一个TCP连接通常有3个阶段,分别是连接、数据传输、关闭
通过三次握手来建立一个连接,通过四次挥手来释放一个连接。
当一个连接被建立或终止时,交换的报文只包含TCP头部,没有数据
三次握手的本质是确认通信双方收发数据的能力。
通俗语言解释三次握手:
我通过信使给某人寄送一封信件,对方收到了,对方得知我的发件能力和他的收件能力没问题;
对方给我回信,我收到后,得知我的发件能力和他的收件能力没问题,并且他的发件能力和我的收件能力也是可以的
最后我回馈一次,他收到后,便也清楚他的发件能力和我的收件能力也是没问题的
第一次握手:客户端向服务端发起请求
第二次握手:服务端收到客户端请求,并回复客户端
第三次握手:客户端收到服务端回复,得知服务端同此此次连接,然后客户端再次回复服务端,服务端就通过TCP和客户端建立连接
四次挥手的目的是关闭一个连接
第一次挥手:客户端向服务端发送释放连接报文
第二次挥手:服务端收到客户端发送报文后,准备给客户端发送回复确认报文。此时服务端处于关闭等待状态,因为有可能数据还没有发完
第三次挥手:服务端将最后数据发送完毕之后,就发出连接释放报文
第四次挥手:客户端收到服务端发起的报文后,向服务端发起确认报文。客户端发起确认报文后并非立即释放连接,而是等待最长报文时长的2倍后释放连接,服务端一旦收到客户端的确认报文后立即释放连接,因此服务端结束TCP连接要早于客户端。
参考资料:https://blog.csdn.net/ThinkWon/article/details/104903925
1.3 CSAPP(深入理解计算机系统)
1.4 汇编语言
1.5 编译原理
1.6 操作系统
1.7 C语言
指针、结构体、汇编语言下的C语言(编译原理、指令)
参考资料:
cnblogs较老基础知识汇总:https://www.cnblogs.com/xdp-gacl/tag/
java学习笔记目录索引在线:Java学习笔记目录索引 (持续更新中)_孙帅 springboot-CSDN博客
java知识体系总结:https://blog.csdn.net/ThinkWon/article/details/103592572