计算机网络体系结构图解(计算机网络体系结构快速梳理)
一 、TCP/IP网络模型
应用层负责在不同的应用层协议的约束下 ,如http 、dns、ftp ,通过应用进程间的交互来完成特定网络应用
应用层只需要专注于为用户提供应用功能即可,无需关心数据如何传输
应用层是工作在操作系统中的用户态 ,传输层及以下则工作在内核态
传输层负责进一步为两台主机设备中进程之间的通信提供数据传输服务
有两个传输协议:TCP(可靠)和UDP(不可靠)
当应用层需要传输的数据较大 ,超过了传输层的MSS(TCP最大报文段长度) ,就要将数据包进行分块 ,然后分块传输
传输层负责将数据传输给指定主机设备的应用 ,这些应用使用端口号
进行区分
传输层的报文中会携带端口号
网络层负责将将数据在互联网之中从一个设备传输到另一个设备
最常使用的是IP协议 ,当IP报文大小超过MTU(以太网一般为1500字节)就会进行分片
有两个重要作用:寻址和路由
寻址
IP地址分为网络号和主机号 ,分别通过与子网掩码和子网掩码的反码进行按位与运算即可得到
通过网络号和主机号进行寻址
路由
当IP数据包到达一个网络节点(路由器 、交换机等等)时 ,通过路由选择算法决定走哪条路
所以 ,IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径 。寻址更像在导航 ,路由更像在操作方向盘 。
网络接口层网络接口层主要为网络层提供「链路级别」传输的服务 ,负责在以太网 、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次 ,使用 MAC 地址来标识网络上的设备 。
此处 ,涉及到IP地址与MAC地址的转换,需要使用ARP协议
总结二 、键入网址到网页显示 ,期间发生了什么?
HTTP请求——DNS——协议栈——TCP——IP——MAC——网卡——交换机——路由器——交换机——服务器
第一步浏览器解析URL地址然后根据url地址 ,获得Web服务器域名 ,生成http请求
第二步查询服务器域名对应的IP地址此时就需要使用DNS地址查询服务 ,现在本地缓存中查 ,没有再去各个层级去查 ,直到获得目标服务器IP地址
第三步将请求送往操作系统的协议栈协议栈分为两部分 ,上部分是TCP 、UDP协议 ,下部分是IP协议 ,IP协议中还包含ICMP和ARP
然后通过上述协议完成一系列操作
TCP协议
重要概念:可靠 、序列号 、确认号 、状态位 、窗口大小 、流量控制、拥塞控制 、三次握手 、四次挥手
MSS:除去 IP 和 TCP 头部之后,一个网络包所能容纳的 TCP 数据的最大长度 ,超过则拆解为一块块
IP协议
重要概念:IP地址、网络号 、主机号 、子网掩码、根据路由表选择发送的网卡
MTU:一个网络包的最大长度 ,以太网中一般为 1500 字节 。
MAC帧
重要概念:
发送方MAC地址在本机网卡中的ROM中
通过查询路由表得知目的方的MAC地址
ARP协议找MAC地址,其中有ARP缓存(只缓存几分钟) ,也会以广播的形式在以太网中(局域网内)询问MAC地址
第四步到达网卡经过上述步骤 ,将形成一个网络包,(MAC头部(IP头部(TCP头部(HTTP报文))))
然后通过网卡将上述数字信号(网络包)转化为电信号
网卡中有缓存 ,将上述网络包添加帧首部和帧尾部 ,FCS帧校验序列
第五步到达交换机上述数据帧从网卡发出后 ,首先送到在同一局域网内的交换机
交换机不具有MAC地址 ,而是接收记录所有包
交换机有MAC地址表存着两个信息:
存着设备的MAC地址和该设备连接在交换机的哪个端口上
于是根据目的MAC地址在交换机的MAC表中匹配从而将数据帧发出对应的端口
如果没有匹配到 ,则发往所有端口
因为路由器是基于 IP 设计的 ,俗称三层网络设备 ,路由器的各个端口都具有 MAC 地址和 IP 地址; 而交换机是基于以太网设计的 ,俗称二层网络设备 ,交换机的端口不具有 MAC 地址 。 第六步到达路由器经过不断重复第五步,数据帧最终会到达路由器
路由器也是通过查找路由表来转发数据帧的
首先通过MAC地址判断是否发给自己 ,然后去掉MAC头部 ,得到IP头部,查询路由表从而转发目标
查询路由表的过程就是将目的IP不断与子网掩码进行&运算 ,得到网络号进行对比
在上述过程中IP永远不会变 ,MAC一直变化
最终到达目标IP地址服务器
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!