图解TCP_IP读书笔记
第一章计算机网络基础
协议
计算机间的通信规则。类似人类系统中,大家使用统一语言才能交流。
协议分层
OSI参考模型将通信功能划分为7层,每层都有对应的协议。
- 应用层:定位通信的应用层地址,以及打包通信的数据;
- 表示层:转换数据格式 ;
- 会话层:标记数据的传送顺序;
- 传输层:建立连接、断开连接、重发数据保证数据可靠性;
- 网络层:实际传输数据的一层,负责传送至目标地址;
- 数据链路层:负责物理直连设备间的数据处理;
- 物理层:物理直连设备使用MAC地址(物理地址)进行传输数据;
传输方式分类
- 面向有连接和面向无连接
- 电路交换和分组交换:电路交换效率低,一条电路一次只能处理一台计算机收发信息的过程;分组交换类似并行处理,多计算机共享资源。
- 单播(1:1)、广播(1对所有)、多播(1对特定的多)、任播(1:1(特定多个选一个))
地址
计算机通信中,每层协议使用的地址都不同。
地址特性:
- 唯一性
- 层次性
网络构成要素
第二章 TCP/IP基础知识
TCP/IP协议分层模型
分层中包的结构
第三章 数据链路
相关技术
1. MAC地址:用于识别数据链路中互连的节点(物理设备),采用16进制,长为48比特
2. 共享介质网络:多个设备共用一个通信介质,采用半双工(只收、只发)通信方式。
介质访问控制方式:
争用(CSMA,载波监听多路访问,会发生冲突);
令牌传递(无冲突、数据链路利用率降低)。
2. 非共享介质网络:多个设备不共用通信介质,采用全双工(收发都可)通信方式。
以太网
一种共享介质型的数据链路。
无线通信
无线LAN(wi-fi:高质量的无线LAN)、蓝牙(针对小设备,最多连8台终端)、WIMAX(支持无线MAN)、ZIgBee(支持短距离、低功耗的无线通信,常用于家电控制)
PPP
一种纯数据链路层,与物理层无关,因此使用时必须有额外的物理层进行支持。
包含两种协议:
**LCP:**建立和断开连接、设置最大接收单元(MRU)、设置验证协议(PAP:两次握手验证用户名、密码(明文传送);CHAP:使用一次性的密码)以及设置通信质量监控。
NCP(上层为IP,也叫IPCP):设置IP地址、是否进行TCP/IP首部压缩。
第四章 IP协议
IP(IPv4、IPv6)相当于OSI中的网络层,可以使没有直连的设备间(即多个数据链路间)进行通信,为面向无连接型协议。
IP地址
用于标识连接到网络中的所有主机的目标地址
路由控制:实现分组数据最终到达目标IP地址的功能。
多条路由:路由器或主机在转发IP数据包时只指定下一个路由器或主机,而不是将整体路线都指定。
一跳:代表一个区间。
路由控制表:指明下一跳路由的表。
IPv4地址
用32位2进制表示,8个为一组,因此最多有43亿台电脑联网。
格式:10101100.00010100.00000001.00000001
172. 20. 1. 1
IP地址分类:IP地址实际由网络标识和主机标识组成。
- A类地址:前8位为网络标识,后24位为主机标识;
- B类地址:网络标识开头两位为10,总共为1-16位,后16位为主机标识;
- C类地址:网络标识开头两位为110,总共为1-24位,后8位为主机标识;
- D类地址:网络标识开头两位为1110,总共为1-32位,无主机标识,常用于多播;
广播地址:用于同一个链路内互连的主机间发数据。
- 本地广播:本地网络内广播
- 直接广播:不同网络内广播
子网掩码
可以自由的定义网络标识的位数,它从首位开始连续的1和连续的0的组合,1代表网络标识的位数,0为主机标识
例:IP地址172.20.100.52的前26位为网络地址对应的子网掩码如下:
IP地址: 172. 20. 100. 52
子网掩码:255.255.255.192
**子网掩码的后缀表示法:**172. 20. 100. 52 /26
IPv6
长度是128比特,目的是解决IPv4地址耗尽问题。
第五章 IP协议相关技术
DNS
可以将网址转换成IP地址,用于管理主机名与IP地址的映射,它可以通过主机名检索IP名。
域名
为了识别主机名和组织机构名的一种分层的名称,由英文字母和.组成。
ARP
是一种解决地址问题的协议,以IP地址为线索,定位下一跳路由的MAC地址,仅适于IPv4。
工作机制:借助ARP请求和ARP响应。首先主机A广播发送ARP请求包(含有需要知道MAC地址的主机IP地址),接收广播的主机B,若其IP与包中一致则会通过ARP响应包发送自己的MAC地址给主机A。
ARP缓存表:记录每次的MAC地址与IP地址的映射,减少ARP包的发送。
RARP
MAC地址到IP地址的协议,用于嵌入式设备接入网络获取IP地址。
ICMP
确认IP包是否成功送达目标地址,通知发送过程中ip包废弃的原因、改善网络设置等。常用于网络问题诊断。
ICMPv6
邻居探索消息:用于查询IPv6地址与MAC地址的对应关系。
DHCP
自动设置IP地址、统一管理IP地址分配的协议
NAT
实现本地私有网络连入互联网时使用全局IP地址的互换
IP隧道
实现IPv4与IPv6的正常通信。
第六章 TCP和UDP
守护进程
服务期端提前启动的用于监听客户端请求的程序。
端口号
用于识别同一计算机中不同的程序。
TCP
面向有连接型的通信协议,具备顺序控制、重发控制等机制,可以确保数据安全送达。但是数据会有延迟到达的现象。
建立和断开连接:需要来回发送7个包,即3次握手(确认建立连接),4次挥手(断开连接)
拥塞控制:防止一开始传送大量数据导致的网络瘫痪,使用慢启动初始时设定拥塞窗口为1字节,每次ACK后加1,发数据包时,数据包<min(拥塞窗口,接受端主机通知窗口大小),
为了防止拥塞窗口增长过快,设定慢启动阈值,限定拥塞窗口达到阈值后,的增长公式如下。
UDP
面向无连接的通信服务,可以随时发送数据,处理简单高效,适合即时通信。