计算机网络|计算机网络——初识网络

在计算机通信诞生之初,系统化与标准化未得到重视。每家计算机厂商都出产各自的网络产品来实现计算机通信,所以不同生产厂家的网络体系结构如果不同,那么两台计算机就如果实现通信。
为了解决这个问题,ISO(国际标准化组织)制定了一个国际标准OSI。OSI所定义的协议没有得到普及,但是却作为了一种参考模型。
OSI参考模型
OSI参考模型将协议分成了7层,通过分层使复杂的网络协议简单化。上下层之间进行交互所遵循的约定叫做接口,同一层之间交互的约定叫做协议。
OSI参考模型将协议定位一下7层:
(7)应用层
(6)表示层
(5)会话层
(4)传输层
(3)网络层
(2)数据链路层
(1)物理层
接下来说一下每一层的作用:
应用层:这是针对特定应用的协议,为应用程序提供服务并规定应用程序通信的细节。
表示层:主要负责数据格式转换。
会话层:负责建立和断开连接,以及数据的分割等。
传输层:管理两个节点之间的数据传输。
网络层:数据包的路由。
数据链路层:负责互联设备之间数据帧的传输。
物理层:负责01比特流和高低电压之间的转换。
TCP/IP
【计算机网络|计算机网络——初识网络】tcp/ip协议族是具体实现的协议,其中包含了很多协议。
TCP/IP主要分为四层:
(4)应用层
(3)传输层
(2)网络层(或者网际层)
(1)网络接口层
下面是OSI和TCP/IP之间的映射关系
计算机网络|计算机网络——初识网络
文章图片

网络通信其实是一个数据封装,传输到目的地后进行数据拆封的一个过程。
详细的网络通信过程
接下来是web浏览器访问web服务器来说,从地址栏输入域名按下回车开始:
首先是DNS解析:首先会查浏览器的DNS缓存,如果没有查到,那么就查询系统的host文件的域名ip映射,如果没有查到,那么像本地DNS服务器发起请求,也就是网络配置中的DNS服务器地址,如果本地DNS服务器也没有缓存,那么就向根域名服务器请求解析然后返回对应的域名服务器的地址,然后本地域名服务器向目的域名服务器查询地址,得到后将ip地址返回给用户。
接着客户端与服务器通过tcp三次握手建立连接,
tcp是建立在ip协议上协议,在传输层会给实体数据加上一个首部,拿tcp协议来说就是tcp首部,然后再把传输层封装后的数据传给网络层,然后加上ip首部,通过路由表查询到下一跳的ip地址,然后根据下一跳的ip地址通过arp协议找到该ip地址所对应的mac地址,然后将数据包传到数据链路层,数据链路层拿以太网来说,会把上层协议拿到的数据加上以太网首部和尾部,最后通过交换机传到下一跳。
当tcp建立完连接后,发起http请求,然后收到http请求,浏览器进行解析。
如果在没有长连接的情况下,通过tcp四次挥手断开连接。
以上就是数据传输的整个过程。

    推荐阅读