前言
- 以公众号:小林coding的《图解网络-TCP篇&IP篇》为重点;以《图解TCP/IP》(第5版)为专业参考书籍进行学习。
《图解网络》TCP篇
3.1 TCP三次握手与四次握手
必问知识
TCP三次握手和四次挥手的面试题型
- TCP基本认识
- TCP连接建立
- TCP连接断开
- Socket编程
TCP基本认识
瞧瞧TCP头格式
我们先来看看TCP头的格式,标注颜色的表示与本文关联比较大的字段,其他字段不做详细阐述
- 序列号:用来解决网络包乱序问题。
- 确认应答号:用来解决不丢包的问题。
- 控制位:
- ACK:
3.2 TCP重传、滑动窗口、流量控制、拥塞控制
3.3 TCP实战抓包分析
3.4 TCP半连接队列和全连接队列
3.5 TCP内核参数
《图解网络》IP篇
4.1 IP基础知识全家桶
4.2 ping的工作原理
《图解TCP/IP》随机看(系统地过一遍)
第1章:网络基础知识
OSI参考模型:
1.1 计算机网络出现的背景
1.1.1 计算机的普及与多样化 1.1.2 从独立模式到网络互连模式 1.1.3 从计算机通信到信息通信
- 从私有到公共
1.1.4 计算机网络的作用
1.2 计算机与网络发展的7个阶段
如果能够了解计算机与网络发展的历史与现状,也就能够理解TCP/IP的重要性了。
1.2.1 批处理
- 批处理时代的计算机主要用于大规模计算或处理,因此那时的计算机尚不是一个便于普通人使用的工具。
1.2.2 分时系统
- 分时系统是指多个终端(由键盘、显示器等输入输出设备组成。最初还包括打字机。)与同一个计算机连接,允许多个用户同时使用一台计算机的系统。
- 分时系统的产生则实现了“一人一机”的目的,让用户感觉就好像“完全是自己在使用一台计算机一样”。
1.2.3 计算机之间的通信
- 计算机与每个终端之间用通信线路连接,这并不意味着计算机与计算机之间也已相互连接。
1.2.4 计算机网络的产生
1.2.5 互联网的普及
- 然而,想要连接所有类型的计算机(如大型主机、小型机、UNIX工作站以及个人电脑),TCP/IP技术则更受人关注。
1.2.6 以互联网技术为中心的时代
1.2.7 从“单纯建立连接”到“安全建立连接”
1.2.8 手握金刚钻的TCP/IP
TCP/IP是通信协议的统称。
1.3 协议
1.3.1 随处可见的协议
- 互联网中常用的具有代表性的协议由IP、TCP、HTTP等;而LAN(局域网)中常用的协议由IPX/SPX(Novell 公司开发的NetWare系统的协议)等。
- TCP/IP就是IP、TCP、HTTP等协议的集合。
1.3.2 协议的重要性
- 简单来说,协议就是计算机与计算机之间通过网络实现通信时实现达成的一种“约定”。
- 协议可以分为很多种,每一种协议都明确地界定了它的行为规范。
- 两台计算机之间必须能够支持相同的协议,并遵循相同协议进行处理, 这样才能实现相互通信。
- CPU与OS
- CPU中央处理器,OS操作系统
- 一台计算机中可运行的指令,因其CPU、操作系统的不同而有所差异。
- 一个CPU通常在同一时间只能运行一个程序。为了让多个程序同时运行,操作系统采用CPU时间片轮转机制,在多个程序之间进行切换,合理调度。这种方式叫做多任务调度。(前面1.2.2节中提到的分时系统的实现,实际上就是采用了这种方式)。
1.3.3 协议如同人与人的对话
1.3.4 计算机中的协议
- 其实,计算机从物理连接层面到应用程序的软件层面,各个组件都必须严格遵循着实现达成的约定才能实现真正的通信。
- 在计算机通信中,事先达成一个详细的约定,并遵循这一约定进行处理尤为重要。这种约定其实就是“协议”。
1.3.5 分组交换协议
-
分组交换是指将大数据分割为一个个叫做包(Packet)的较小单位进行传输的方法。 -
当人们邮寄包裹时,通常会填写一个寄件单贴在包裹上再交给邮局,寄件单上一般会有寄件人和收件人的详细地址。
- 类似地,计算机通信也会在每一个分组中附加上源主机地址和目标主机地址送给通信线路。
- 这些发送端地址、接收端地址以及分组序号写入的部分称为“报文首部”。
- 数据被分组时,有必要将分组的序号写入包中。
1.4 协议由谁规定
1.4.1 计算机通信的诞生及其标准化
1.4.2 协议的标准化
- OSI参考模型:OSI协议虽然没有普及,但是再OSI协议设计之初作为其指导方针的OSI参考模型却常被用于网络协议的制定当中。
- 本书将要说明的TCP/IP并非ISO所指定的某种国际标准。而是由IETF(Internet Engineering Task Force)所建议的、致力于推进其标准化作业的一种协议。
1.5 协议分层与OSI参考模型
1.5.1 协议的分层
- OSI参考模型:在这一模型中,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做 “接口”。同一层之间的交互所遵循的约定叫做 “协议 ”。
1.5.2 通过对话理解分层
1.5.3 OSI参考模型
1.5.4 OSI参考模型中各个分层的作用
1.6 OSI参考模型通信处理举例
这个过程很重要,但是我没有细看,只是了解了emm
- 按照OSI的惯例,进行通信的计算机称为节点。然而在TCP/IP中则被叫做主机。
- 不过,严格来讲OSI与互联网的电子邮件的实际运行机制并非图例所示那么简单。此例只是为了便于读者理解OSI参考模型而设计的。
1.6.1 7层通信
在7层OSI模型中,如何模块化通信传输?
1.6.2 会话层以上的处理
1.6.3 传输层以下的处理
1.7 传输方式的分类
- 注意:会话层负责决定建立连接和断开连接的时机,而传输层进行实际的建立和断开处理。
B站视频系统地随机看(帮助理解&抓要学习的重点)
- 神了!两位清华大佬把困扰我多年的【TCP/IP 协议丨IO/NIO原理丨Redis/Netty 】一次搞定了!
- 主要内容:
p1 什么是MCA架构师课程?
略了
p2 为什么要学TCP/IP?
收获与动力
p3 TCP/IP应用层协议
Linux很重要,要非常熟练
p4 TCP面向连接的,可靠的连接到底是什么?
- TCP:面向连接的,可靠的。
- 连接到底是什么?
- 长连接、短连接
- 三次握手->数据传输->四次挥手
p5 TCP/IP协议三次握手怎么实现的?socket的作用
- 三次握手
- Client->Server:syn
- Server->Client:syn+ack(ack:确认收到)
- Client->Server:ack
- Socket、IO模型
- 绝对唯一的连接
- xxxx理论上可以建立的连接的数量是多少?
p6 TCP/IP协议如何实现四次分手
- 四次分手,分的是什么?连接
- 分的连接,即资源释放
- 具体过程
- S->C:fin
- C->S:fin+ack
- C->S:fin
- S->C:ack
- 是否可以感知断开?
p7 TCP/IP协议三次握手,四次分手,实操验证流程
- 简历?各种歧视?
- 你的知识的深度和宽度,应该符合你的年龄
- 不与时俱进,说明成长能力不够
- 学哪些东西?哪些东西可以先不学?
- 不进则退。向马龙,苏炳添一样,一直坚持下去。
- 看起来可以去了解一下他们的课程hhh
p8 为什么要去学IO去学EPOLL
p9 Redis介绍及NIO原理介绍(上)
p10 Redid介绍及NIO原理介绍(下)
p11 简历写上这句话让你涨薪5k
|