TCP/IP协议簇
2015-06-05 12:47
465 查看
TCP/IP协议簇
本来想了解HTTP协议的,发现TCP/IP协议簇已经忘得差不多了,还是先来回顾一下她吧,人们都说好记性不如烂笔头,还真是啊,更何况记性还很差,OMG!TCP/IP,4层
TCP/IP是一个分层协议簇,包括链路层、网络层、传输层、应用层。每一层处理不同的功能,换句话说TCP/IP是一组不同层次上不同协议的组合。其逻辑图如下图所示,不同层次间可以上下传输(封包/解包);同一层次间使用协议可以传输(网络应用程序一般为客户机/服务器模式)。每个层次的主要功能如下所述:
1. 链路层:又名数据链路层/网络接口层,包括设备驱动程序和网卡,处理物理接口细节。
2. 网络层:实现节点到节点的传输,具有路由选择。节点到节点为源节点IP地址到目的节点IP地址。
3. 传输层:实现端到端的传输,没有路由选择功能,区别于网络层主要原因。
4. 应用层:实现具体应用细节。
TCP/IP,封包/解包
TCP/IP每一层处理特定的功能,如应用层处理应用的细节,而链路层处理物理接口细节。层与层间通过封包/解包进行“上下”传输。封包:在原有数据的基础上加控制头部;
解包:与封包过程相反。
下图为数据封装图:
TCP/IP,各层协议
TCP/IP每一层使用不同的协议,一层可以使用一种或者多种协议。下图为TCP/IP层次图。每个层次使用的协议如下所述:
链路层:以太网协议、ARP、RARP;
ARP:Address Resolution Protocol/地址解析协议,根据IP地址获取物理地址。(发送的是广播信息,每个主机都可以应答,所以存在ARP欺骗)
RARP:Reverse Address Resolution Protocol/逆地址解析协议,根据物理地址获取IP地址。(RARP客户端向RARP服务器获取IP地址)
网络层:IP、ICMP、IGMP;
IP协议:Internet Protocol/英特网协议
ICMP:Internet Control Message Protocol/英特网控制报文协议,用于在主机/路由器间传递控制消息,如主机/路由器是否可达。
IGMP:Internet Group Manage Protocol/英特网组播管理协议,用在主机与组播路由器间,IGMPv1/v2/3。
传输层:TCP、UDP;
TCP:Transfer Control Protocol/传输控制协议,TCP是面向连接的可靠传输。
UDP:User Datagram Protofol/用户数据报协议,UDP是不可靠传输,不保证数据到达目的地。
应用层:Telnet、FTP、HTTP、SMTP、SNMP、DNS、NFS、RTP。
Telnet:远程登录
FTP:File Transfer Protocol/文件传输协议
HTTP:Hyper Text Transfer Protocol/超文本传输协议
SMTP:Simple Mail Transfer Protofol/简单邮件传输协议
SNMP:Simple Network Manage Protocol/简单网络管理协议
DNS:Domain Name System/域名服务系统
NFS:Network File System/网络文件系统
RTP:Realtime Transport Protocol/ 实时传输协议(流媒体/音视频)
OSI参考模式,7层
OSI参考模式/Open System Interconnect Reference Model,开放系统参考模型是一种逻辑定义,TCP/IP 4层协议簇就是参考OSI 7而来,是实际实现的协议簇。OSI参考模式有7层,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。OSI 7与TCP/IP 4关系对比图
下面描述下OSI 7各层的主要功能:
物理层:定义传输介质的标准,如电缆、接口类型,传送信号的电压等。
数据链路层:定义在单个链路上如何传输数据。
网络层:与TCP/IP 4一样
传输层:与TCP/IP 4一样
会话层:定义会话的开始、控制、结束,如只完成连续消息的一部分可以通知应用层,让表示层看到连续的数据。
表示层:定义数据的格式与加密方式。
应用层:与TCP/IP 4一样
使用的图来自网络
以上都是个人笔记 如果有错还望指出 唯有时间了解爱
相关文章推荐
- CCNA学习指南 TCP/IP
- Android 网络请求的方式
- 计划任务访问网络存储NAS的问题
- Android Webview https ssl 空白页解决方法
- Android一个Fragment展示列表网络数据
- httpclient请求百度palceAPI
- SB eclipse之程序包javax.servlet.http不存在
- 七层模型实例解析
- 学习笔记:架构 移动应用架构 网络层设计方案(三)
- HttpClient模拟表单传图片
- http 错误代码一览表
- TCP长连接与短连接的区别
- 黑马程序员——Java基础—网络编程
- 博客地址更换http://my.oschina.net/conniewu
- Android网络请求库android-async-http介绍
- C#中检查网络是否连通的二种方法
- unix网络编程-第3,4章套接字编程
- CentOS 6系统kvm虚拟机中配置桥接网络
- http中post提交的两种格式
- 根据网络包内容过滤