计算机网络基础
- 网络组成部分 主机:客户端和服务端(提供、接收信息)
路由器(转发主机之间的信息)
网络协议(提供统一格式,方便路由器或主机对信息进行编码或解码)
- 网络结构:网络的网络 比奇堡和小区网络:本地网络
北京和上海分店+比奇堡:三个本地网络节点的网络
全国通信网络:本地网络的网络
区域网络(小区网络与蟹堡王分店)、城域网(分店与每个城市间作为转化点的分店)和广域网(城域网组成的网络)
- 电路交换和分组交换
电路交换→电话,一个人打电话其他全部占线 分组交换→传真(多用)
- 网络分层(五层 低→高 每个层级对于别的层级来说都是黑盒子)
- 物理层
- 数据链路层
- 网络层(高速公路,不在乎跑什么车)
- 传输层(卡车,不在乎车里运送东西,不需要操心有没有路可以走)
- 应用层(快递公司,不在乎包裹里的内容,不担心怎么运输)
- 协议(存在依赖)于链接
协议定义了在两个或多个通信实体之间交换的报文和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作。
- 标头和载荷(信封套娃)
- HTTP协议示例
完整链路层(左边解析成果,右边原始数据)
Null Loopback表示这个帧是本机帧,不需要经过别的交换机
链路层定义18 00 00 00四个字节十进制表示为24,代表这个链路层帧使用的是IP v6
第三层为IP层
标题表明了使用IP v6,并且本机地址都为::1,IP协议的头部对应右边第5到第44个字节,这40个字节中包含了IP协议的版本、原IP地址、目标IP地址、载荷信息
第四层为TCP协议层包含20个字节
TCP协议最前面的两个字节是源端口号,往后的两个字节是目标端口号,在往后的四个字节是序列号再往后的字节是ACK号,再往后的四个位表示载荷。
TCP中头部和载荷的分割靠的是图中Data offset是注定的,永远在13和14字节
思考总结:蟹堡王理论给我一种计算机网络像一张大的蜘蛛网的感觉,虽然这种说法可能并不准确。计算机层级分明,逻辑严密,可以看作是从一个个分散的见算计系统联系起来,也可以看作是由一个大的计算机个体(蟹堡王总店)分散出了多条分支线连接多个计算机个体(蟹堡王省点分店),这些计算机个体再去联络更多分散的计算机个体(蟹堡王各地区分店),从而组成一个计算机网络系统。
HTTP协议依赖于网络的连接,每一层都有 不同的职责,并且不会去管其他层是如何工作的。