图解TCP-IP

笔记

Posted by 松一老贼 on January 5, 2018

网络知识基础

计算机发展的7个阶段

  • 批处理 20世纪50年代

    磁带,卡带 COBOL FORTRAN

  • 分时系统 20世纪60年代

    一人一机 BASIC

  • 计算机之间的通信 20世纪70年代

  • 计算机网络诞生 20世纪80年代

  • 互联网普及 20世纪90年代

  • 以互联网技术为中心的时代 2000年

    电话网—>IP网络

  • 单纯连接到安全连接 TCP/IP的时代

协议

网络体系结构 协议 主要用途
TCP/IP IP/ICMP/TCP/UDP/HTTP/TELENT/SNMP/SMTP… 互联网、局域网
IPX/SPX(NetWare) IPX/SPX/NPC… 个人电脑局域网
AppleTalk DDP/RTMP/AEP/ATP/ZIP… 苹果现有产品局域网
DECnet DPR/NSP/SCP… 前DEC小型机
XNS IDP/SPP/PEP 施乐公司网络
OSI FTAM/MOTIS/VT/CMIS/CMIP/CLNP/CONP  

分组交换协议

该协议将大数据分割成一个个叫做(Packet)的较小单位进行传输。

关于标准化

ISO 国际级别的标准制定者,但是所制定的OSI并没有普及开,但是OSI设计之初的指导方针:OSI参考模型却常别用于网络协议定制中。

当前的业界标准为 TCP/IP,由IETF所建议并推进其标准化的一种协议。

协议分层与 OSI 参考模型

协议分层

将通信协议中必要功能分成了7层,每个分层都接受由它下一层所提供的特定服务,并负责为自己的上一层提供特定服务,上下层之间交互遵循的约定叫做接口,同层之间交互遵循的约定叫做协议

OSI 参考模型

OSI 将通信功能划分为7个分层,称作 OSI 参考模型。

OSI 协议以 OSI 参考模型为基础界定了每个阶层的协议和每个阶层之间接口相关的标准。

遵循 OSI 协议的产品叫 OSI 产品,遵循的通信称为 OSI 通信。

OSI 参考模型中各个分层的作用

  • 应用层

    应用程序提供服务并规定应用程序中通信相关细节。包括文件传输、电子邮件、远程登录等协议。

  • 表示层

    将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上一层能够处理的格式。因此,主要负责数据格式转换

  • 会话层

    负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。

  • 传输层

    起可靠传输作用。只在通信双方节点上进行处理,无需再路由器上处理。

  • 网络层

    将数据传输到目标地址。目标地址可能是多个网络通过路由器连接而成的某个地址。因此,该层主要负责寻址、路由选择

  • 数据链路层

    负责[物理层面上互连的]、[节点之间的]通信传输。

  • 物理层

    负责 01 比特流(0、1序列)与电压的高低、光的闪灭之间的互换。

OSI 参考模型通信处理举例

7 层通信

举例:用户 A 在主机 A 上新建一份Email,内容为“早上好”,指定收件人为 B:

->用户 A 点击 『发送』

->进入应用层

->应用层协议开始处理:附加首部信息(打标签):首部标明邮件内容为早上好,收件人为 B

当用户 B 点击 『收信』,主机 B 上的邮件应用程序接收到主机 A 发送过来的数据,分析数据首部和数据正文,若正确无误保存银盘,如果 B 的邮箱已满,返回一个错误给主机 A。

->进入表示层

-> 将“早上好”根据编码转换为“统一的网络数据格式”

-> 附加首部信息:标明编码格式等

->进入会话层

->决定采用何种连接方式,使之更加有效传输

->附加首部信息:标明数据传送顺序

->进入传输层

->建立连接或断开连接的预设,传输如果失败的重新发送设置

->附加首部信息:标明预设的信息

->进入网络层 开始真正的传输

->把从上层接收的数据和地址信息(记录在附加首部信息中)等发送给数据链路层

->进入数据链路层物理层

->数据链路层在【传输介质互联的设备】之间进行数据传递。

->物理层中,将数据 0、1 转换为电压和脉冲光传输给物理介质,而相互直连的设备通过物理地址(MAC)实现传输。

主机 B 接收的顺序正好与 A 相反。

传输方式分类

面向有连接型 与 面向无连接型

  • 面向有连接型

    需要在收发主机之间先建立一条通信线路,然后才可发送数据。

  • 面向无线连接型

    无需建立和断开连接,发送端可在任何时候自由发送数据。

    甚至不需要确认接收端是否存在,及时不存在接收端或者接收端无法接收数据,发送端也能将数据成功发送出去。

    电路交换 与 分组交换

    当前,网络通信方式大致分为两种:电路交换分组交换

    • 电路交换技术 历史久远,主要用于过去的电话网
    • 分组交换技术是一种较新的通信方式,TCP/IP就是分组交换技术

    电路交换中,交换机主要负责数据的中转。不适用于并发数过大的通信。

    为了解决电路交换不能处理高并发的缺点,人们让连接到通信电路的计算机将所要发送的数据分成多个数据包,按照一定顺序排列之后分别发送。这就是分组交换

    分组交换的大致处理过程:发送端将数据分组发送给分组交换机(路由器),路由器接收分组数据后缓存到自己的缓冲区,然后转发给目标计算机。因此,分组交换也叫蓄积交换.

    路由器接收数据后按照顺序缓存到相应的队列中,然后以先进先出的顺序发送出去。

    由于分组交换计算机与路由、路由和路由之间通常只有一条通信线路,所以通信线路的速度根据网络拥堵情况有所不同,路由缓存饱和或溢出甚至会导致分组数据丢失、无法发送到对端的情况。

    电路交换中,计算机之间的传输速度不变。

根据接收端数量分类

单播(Unicast)/广播(Broadcast)/多播(Multicast)/任播(Anycast)

地址

TCP/IP 通信中使用 MAC 地址、IP 地址、端口号等作为地址标识。

通信地址特点:

  • 唯一性

  • 层次性

    MAC 地址和 IP 地址在标识一个通信主体时都具有唯一性,但是 MAC 不具有层次性,因为并不能拿来寻址。

IP 地址由网络号主机号组成。主机号不同而网络号相同说明处于同一网段

网络的构成要素

通信媒介 与 数据链路

数据链路(Datalink):相互直连的设备之间进行通信所涉及的协议及其网络。

不同的数据链路、通信媒介及其标准传输速率:

传输速率

数据传输过程中,两个设备之间数据流动的物理速度称为传输速率。

单位为 bps(Bits Per Second,每秒比特数)。

严格意义上,各种媒介中信号流动速度是恒定的,因为光和电的传输速度是恒定的。因此,传输速率高(带宽,Bandwidth)是指单位时间内传输数据量的多少,而非单位数据流动的速度有多快。

吞吐量

主机之间实际的传输速率被称作吞吐量。不仅与带宽有关,还与cpu、网络拥堵情况、报文中数据字段所占份额(不含报文首部,只计算数据字段本身)等有关。

网卡

网络接口卡(NIC)、网络适配器、网卡、LAN卡

中继器

中继器(Repeater)是 OSI 模型的第 1 层——物理层面延长网络的设备。

  • 中继器对减弱的信号进行放大并发送
  • 中继器通过物理层的连接延长网络
  • 及时在数据链路层出现某些错误,中继器仍然发送数据
  • 中继器无法改变传输速度

网桥/2 层交换机

网桥在 OSI 模型的第 2 层——数据链路层上连接两个网络的设备。

  • 网桥根据数据帧的内容转发数据给相邻的其他网络
  • 网桥没有连接网段个数的限制
  • 网桥基本只用于连接相同类型的网络。但有时也可以连接传输速率不同的网络

路由器/3 层交换机

  • 路由器是连接网络与网络的设备
  • 可以将分组报文发送给另一个目标路由器地址
  • 基本上可以选择任意两个数据链路

路由器在 OSI 模型第 3 层——网络层面上连接两个网络、并对分组报文进行转发的设备。

网桥是根据物理地址(MAC) 进行处理,而路由器/3 层交换机则是根据 IP 地址进行处理的。因此,TCP/IP 中网络层的地址就成了 IP 地址。

4~7 层交换机

负责处理 OSI 模型中从传输层到应用层的数据。

如果用 TCP/IP 分层模型来描述,就是以 TCP 等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定处理。

应用:带宽控制、广域网加速器、特殊应用访问加速器、防火墙

网关

  • 负责协议的转换与数据的转发
  • 在同一种类型的协议之间转发数据叫做应用网关

OSI 模型中负责将从传输层到应用层的数据进行转换和转发的设备。

TCP/IP 基础

TCP(Transmission Control Protocol)

IP(Internet Protocol)

互联网的协议就是 TCP/IP.

几个名词:

ISP:Internet Service Provider 网络服务提供商

IX:Internet Exchage 网络交换中心

NOC:Network Operation Center 网络操作中心

TCP/IP 协议分层模型

硬件(物理层)