嵌入式linux的网络编程(1)--TCP/IP协议概述

2019-07-13 02:38发布

嵌入式linux的网络编程(1)--TCP/IP协议概述CSDN2013年度博客之星评选活动开始,本人有幸入围参加评选,如果博客中的文章对你有所帮助,请为 ce123 投上宝贵一票,非常感谢!
投票地址:http://vote.blog.csdn.net/blogstaritem/blogstar2013/ce123

1.OSI参考模型及TCP/IP参考模型

通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著名的OSI协议参考模型,它是基于国际标准化组织(ISO)的建议发展起来的,从上到下共分为7 层:应用层,表示层,会话层,传输层,网络层,数据链路层及物理层.这个7 层的协议模型虽然规定得非常细致和完善,但在实际中却得不到广泛的应用,其重要的原因之一就在于它过于复杂.但它仍是此后很多协议模型的基础,这种分层架构的思想在很多领域都得到了广泛的应用.
与此相区别的TCP/IP协议模型从一开始就遵循简单明确的设计思路,它将TCP/IP 的7层协议模型简化为4层,从而更有利于实现和使用.TCP/IP协议许多年来一直被人们所采用,而且越来越多成熟,大多数类型的计算机环境都有TCP/IP产品,它提供了文件传输,电子邮件,终端仿真,传输服务和网络管理等功能.TCP/IP的协议参考模型和OSI协议参考
模型的对应关系如下图所示.
下面分别对者TCP/IP的4层模型进行简要介绍.
  1. 网络接口层:负责将二进制流转换为数据帧,并进行数据帧的发送和接收.数据帧是网络信息传输的基本单元.
  2. 网络层:负责将数据帧封装成IP数据报,同时负责选择数据包的路径,也就是路由.
  3. 传输层:负责端对端之间的通信会话连接与建立.传输协议的选择根据数据传输方式而定.
  4. 应用层:负责应用程序的网络访问,这里通过端口号来识别各个不同的进程.

2.TCP/IP协议族

TCP/IP协议实际上是一个庞大的协议族,它包括了各个层次上的众多协议,为网际数据通信提供不同层次的通路,下图列举了各层中一些重要的协议,并给出了各个协议在不同层次中所处的位置如下.