一 概述
网络协议通常分不同层次进行开发,每一层分别负责不同的功能。下面主要基于TCP/IP协议族进行讲解:
4 | 应用层 | HTTP、FTP、DNS |
---|---|---|
3 | 传输层 | TCP、UDP、RTP、SCTP |
2 | 网络层 | IP、ICMP、IGMP |
1 | 链路层 | 以太网、WIFI |
1.1 应用层
负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:
• Telnet 远程登录。
• FTP 文件传输协议。
• SMTP 简单邮件传送协议。
• SNMP 简单网络管理协议。
1.2 运输层
运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
TCP使用不可靠的IP 服务,提供一种可靠的运输层服务,为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面,UDP则为应用层提供一种非常简单的服务,UDP为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。但是与TCP不同的是,UDP是不可靠的,它不能保证数据报能安全无误地到达最终目的。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
1.3 网络层
网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路、路由选择。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
1.4 链路层
链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
最后
以上就是坚强身影最近收集整理的关于Linux内核网络协议栈TCP/IP分析之一:协议概述的全部内容,更多相关Linux内核网络协议栈TCP/IP分析之一内容请搜索靠谱客的其他文章。
发表评论 取消回复