OSI五层网络结构
2017-12-16 本文已影响0人
yzw12138
一、简介
计算机网络中的五层协议分别包括应用层、传输层、网络层、数据链路层、物理层,其中应用层又包括应用层、会话层和表示层,通常情况下我们将这三层统称为应用层。数据在两台主机间传输时,经过每一层都会根据该层的协议为数据加上一个头部。
image.png
二、功能
-
1、应用层
应用层是面向用户的,主要为了满足用户的需求,为用户的应用程序提供网络服务。包括http,ftp,git等。他的整个数据包结构如下:
image.png -
2、传输层
每台电脑都会有多个应用程序,我们接收到应用层的数据信息,那么如何判断这些信息是传送给哪个应用程序呢?此时便用到了TCP或UDP协议。我们为每一个应用程序分配一个端口将这个端口作为参数加到数据包前面并传送到下一层。
TCP和UDP区别:TCP是面向连接的协议,通俗的讲就是在发送数据之前首先要通知对方。“我要给你发东西了,注意查收。”对方说:“好的,我知道了,你发吧。”此时才会把数据发送给对方;这个过程就是三次握手。而UDP是一个非连接的协议,就是直接把数据发送给对方,不管对方是否能接到。因此便于实现,但是可靠性比较差。
- 3、网络层
通过传输层我们完成了端口到端口的通信,接下来就要完成主机间的通信,这个功能是由网络层的IP协议来完成。互联网是由无数个子网组成的一个巨型网络,发送方和接受方可能存在于两个不同的子网中,当两者不再同一子网下时,必须为数据包添加一个IP头部,通过路由方式找到另一方所在的子网建立连接。 - 4、数据链路层
想要完成数据传输,我们还必须知道对方的MAC地址,每台电脑都有自己唯一的MAC地址。可是如果发送方和接受方在两个子网中,就无法获取对方的MAC地址,此时只能将数据发送给该子网的网关,由网关处理如果在一个子网内,可以通过ARP协议(以广播形式给子网内的每一太主机放松数据包,每台主机都会比较自己的IP和数据包IP是否相同,相同则回复自己的MAC地址)来获取对方MAC地址。 - 5、物理层
通过网线、路由器等方式将电脑连接起来的物理手段。
三、举例
从一个http求情到页面显示全过程
- 1、用户在页面上输入一个域名,发送http请求;
- 2、获取IP:首先浏览器会检查本地的hoots文件是否有绑定的IP,如果没有向本地的DNS服务器发送请求,获取地方IP地址;
DNS:因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。
- 3、通过OSI逐层封装请求信息,向web服务器发送一个http请求;