《图解TCP/IP》

从事B/S相关的软件开发逃不掉和协议打交道,也应该较为全面和系统的学习理解,TCP/IP 是易懂难精的网络通讯协议群,也是一项基本内功。

封面

这边书讲的范围很大,但是有的细节不够细。

主要偏入门讲个大概笼统的知识。

网络编程这一块还是要去啃《TCP/IP详解 卷2》,可以巩固大学时教的那些网络知识。

子网划分,网络分层模型,TCP/UDP 滑动窗口 写得比较生易懂。

只做了前几章的总结大致如下


协议

协议的出现,目的是为了统一标准。让不同厂商不同设备之前实现互通。

OSI产考模型

OSI 协议是为了让异构的设备之间实现通信而存在的保准化的网络体系结构

分层名称 功能
应用层 针对应用的协议
表示层 设备固有数据格式,和网络标准格式转换
会话层 通信连接管理,负责建立和断开连接
传输层 管理2个节点间的数据传输
网络层 管理地址和路由选择
数据链路层 互连设备之间传送和识别数据帧
物理层 0,1信号传输

应用层

为应用程序提供规定的相关协议,比如redis的通信协议,http协议等都是在应用层

表示层

将设备固有格式转化为网络标准格式,或讲下层的网络标准格式转为上层的设备固有格式

会话层

负责建立和断开通信连接,以及数据的分割等数据传输相关管理

传输层

起到可靠传输的作用,只在通信双方节点上进行处理,而无需在路由器上处理。是物理上的传输逻辑,有重发机制

网络层

将数据传输到目标地址。负责寻址,路由选择。交换机在这一层和下一层

数据链路层

数据帧的生成与接收,负责把0,1转换成电脉冲。网络层负责整个数据发送给目标,数据链路只负责一个分段的数据

物理层

负责0,1比特流

传输方式分类

有连接

TCP是比较典型的有连接方式,会2端对答后发生数据

无连接

UDP是比较典型的无连接方式,直接抛出数据

电路交互&&分组交换

电路交换

  • 交换机直接建立双端通信,直到连接断开
  • 不支持多端通信

分组交换

  • 在交换路由上有缓存队列
  • 多个数据包发送到对机,不直接连接对端而是通过路由交换转发数据

#地址

IP/MAC 地址都具有唯一性,但是只有IP地址具有层次性,MAC地址是真正负责通信的地址。他们通过路由映射表关联起来。

TCP/IP协议

TCP/IP最早用在军业用途,具有开放性和实用性,它的协议繁指协议群包括。
OSI之所以没普及是因为没有尽快制定可行性较强的协议,没有提出应对技术快速革新的协议,以及没有及时后期改良

应用协议

* HTTP
* SMTP
* FTP
* TELNET
* SNMP

传输协议

* TCP
* UDP

网际协议

* IP
* ICMP
* ARP

路由控制协议

* RIP
* OSPF
* BGP

RFC

是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件

包,帧,数据报,段,消息

* 包 
    全能术语
* 帧
    表示数据链路中包的单位
* 数据报
    IP/UDP等网络层以上的包单位
* 段
    TCP数据流中的信息
* 消息
    协议中数据的单位
    

数据收发包

包流动时,从前往后依次附加 以太网包首部,IP包首部,TCP/UDP 包首部, 应用的包首部,数据
每个包首部至少包含两个信息 1.发生接收地址 2.上层协议类型 。经过每个协议分层时,必须有识别包发送端和接收端的信息


以太网帧格式

以太网帧本体前端是以太网首部占14字节
6个字节的目标MAC,6个字节源MAC 2字节类型
46~1500字节的数据
尾部一个FCS(帧验证序列)4字节

常见类型如下


TCP/IP 协议

TCP/IP在OSI参考模型中的 第3层-网络层
网络层的目的是为了实现点对点通信
他的下一层数据链路层是为了互连同一种数据链路的节点之间进行包投递
需要跨不同的数据链路就需要借助网络层

数据链路层负责直连两个网络进行通信传输
网络层IP负责在没有直连的两个网络之间进行通信

IP 采用面向无连接通信,原因有2,1为了简化 2为了提速

IP地址的定义

IP 地址由32位 每8位一组进行表示 ,及一类IP地址有 2 的 32立方个。用子网掩码的方式来进行分组标识

IP地址分类

  • A类

IP地址首位”0”开头 1-8位是网络标识。十进制表示 0.0.0.0 ~ 127.0.0.1,后24位是主机标识

  • B类

IP地址首2位”10” 开头 1-16位是网络表示。十进制表示 128.0.0.1 ~ 191.255.0.0 后 16位表示主机标识

  • C类

IP地址首3位”110” 开头 1-24位是网络表示。十进制表示 192.168.0.0 ~ 239.255.255.0 后 8位表示主机标识

  • D类

IP地址首3位”1110” 开头 1-32位是网络表示。十进制表示 224.0.0.0 ~ 239.255.255.255 没有主机标识,通常用于广播

ps:主机标识位不能全部为0或1,全部为0表示对应信息不可获知,全部为1表示广播

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~