一、计算机网络协议:OSI七层协议
网络连接过程是分层次的(Layer),每个层次都有特定的独立的功能,而且每个层次的程序代码可以独立撰写,因为每个层次之间的功能不会相互干扰。这样的话,当某个小环节出现问题,只要将该层次的程序代码重新编写就行。
OSI(Open System Interconnection) :OSI七层模型
越接近硬件的层次为底层(物理层),越接近应用程序的是最高层(应用层),不论是接收端还是发送端,每一层只认识对方的同一层次的数据。而整个传送过程就好像人们在玩游戏一样,通过应用程序将数据放到应用层的包裹里,然后应用层的包裹放到表示层的包裹里,依次一直放到物理层的最大的包裹里,然后传送出去给接收端。接收端的主机就得由第一个包裹开始,依次将每个包裹打开,然后一个一个交给负责的层次来查看。
这些包裹表面都会有个重要的信息,这些信息包括有来自哪里,要去哪里,接收者是谁等。,包裹里才是真正的数据。
在七层协议中,每一层都有自己独特的头部数据(header),告知对方这里的信息是什么,而真正的数据就附在后头。
仔细看上面的每个数据包的部分,上层的包裹是放入下层的数据中,而数据前面是这个数据的报头,其中特殊的是第二层数链层,主要位于软件包(package)以及硬件数据帧(frame)中间的一个阶层,它必须要将软件包装的包裹放入到硬件能够处理的包裹中,因此这个层次又分为两个子层来处理相应的数据。可以看出第二层的数据格式不同,尾端还有检查码。
OSI七层协议 | TCP/IP | 相关通信协议与标准 | ||
应用层,表示层,会话层 | 应用层 | HTTP | FTP | SMTP |
POP3 | NFS、DNS | SSH | ||
传输层 | 传输层 | TCP | UDP | |
网络层 | 网络层 | IP | ICMP | |
数据链路层 物理层 |
网络接口层 | LAN(局域网):Ethernet(以太网),Token Rain | ARP | |
WAN:Modem(调制解调器),ISDN(综合业务数字网),ATM(异步传输模式),Serial(串行接口) |
TCP/IP将应用,表示,会话三层整合成一个应用层,在应用层上工作的协议有HTTP,SMTP,DNS等。
传输层没有变,不过依据传送的可靠性又将数据报格式分为面向连接的TCP和无连接的UDP包格式。
网络也没有变,主要内容是提供了IP数据包,并可选择最佳路由来到达目标IP地址,数据链路层与物理层则整合成为一个
网络接口层,包括定义硬件信号,数据帧转换为比特流的编码等。主要与硬件有关(不论是局域网还是广域网)。
TCP/IP工作流程:
- 应用程序阶段:打开浏览器,在浏览器的地址栏输入网址,回车键,此时网址信息与相关数据会被浏览器打包成一个数据,并向下传给TCP/IP的应用层。
- 应用层:由引用层提供的HTTP通信协议,将来自浏览器的数据封装起来,并加一个报头,在给传输层。
- 传输层:由于HTTP为可靠连接,因此将该数据给TCP封装,并给一个TCP封装的报头,想网络层丢去。
- 网络层:将TCP数据封装到IP数据包内,在给予一个IP报头(主要就是目标IP和来源IP),然后向网络接口层丢去
- 网络接口层:如果使用以太网时,此时IP会根据CSMA/CD的标准,封装到MAC数据帧中,并给予MAC帧头,再转成比特流后,利用传输介质发送到远程主机上。
- 等到服务器收到你的数据包后,再以相反方向拆解开来,然后交给对应的层次进行分析,最后让网站的服务器软件获取你想要的数据,该服务器再根据你的要求,取得正确资料后,一层一层的封装起来,最后传送到你的手上。
by author:Foreordination
2018-02-01 14:15:59