TCP/IP网络编程 学习笔记_4 --OSI七层网络模型

前言:本节将概括性的总结下网络通信的整体框架,其底层流程。

  • 我们之前了解到了套接字的创建及应用,其实我们只是在用套接字这个工具而已,其底层细节对我们是屏蔽的。要通过因特网完成数据传输,其实不光光是软件就能解决的,还需要构建硬件系统等。因此,为了解决这一难题,许多专家聚集在一起,这些人是硬件,系统,路由算法等各领域的顶级专家。他们把网络通信划分很多模块,通过层次化的结构把大问题分成若干小问题逐个攻破。每个层都有一套定义好的通信标准(协议),数据就是这样通过这个层次结构从上到下,再从下到上传输的。示例图如下(OSI七层网络模型):
    这里写图片描述

  • TCP/IP协议栈:数据通信中使用的协议栈分为7层,但TCP/IP协议栈只有4层,本系列教程也是主要讲TCP/IP协议。对于程序员来说,掌握4层协议栈就足够了。它们包括:链路层,网络层,传输层,应用层。
    1,链路层:网卡等网络硬件设备及驱动程序,专门定义LAN,WAN,MAN等网络标准。
    2,网络层:也叫IP层,数据传输的路径选择。IP本身是面向消息的,不可靠的协议。每次传输数据时会帮我们选择路径,但并不一致。如果传输中发生路径错误,则选择其他路径,但如果发生数据丢失或错误,则无法解决。换言之,IP协议无法应对数据错误。
    3,传输层:即TCP/UDP层,存在于IP层之上,决定主机之间的数据传输方式。如TCP协议确认后向不可靠的IP协议赋予可靠性。TCP每发送一个数据都会和接收端确认,如果接收端确认收到才发下一个数据,否则重新发送。
    4,应用层:套接字通信过程是自动处理的,如上面那些传输路径选择,数据确认过程等都被隐藏到套接字内部。总之,对于我们来说,套接字就是提供给我们的工具,我们只需要利用套接字编出程序即可。编写软件的过程中,需要根据程序特点决定服务端和客服端之间的数据传输规则,这便是应用层协议。网络编程的大部分内容就是设计并实现应用层协议。如:超文本传输协议HTTP,邮件传送协议SMTP等。
    注释:应用层才是提供给我们程序员自己根据项目需求设计的协议,即其它层已经定义好了各种数据传输的标准供选择(如传输层的tcp与udp协议选择),应用层就是根据其它层协议,选择适合自己的规则编写的协议。即我们常说地自己实现的网络通信框架。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值