我是靠谱客的博主 慈祥世界,最近开发中收集的这篇文章主要介绍TCP/IP协议体系结构以及主要协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

TCP/IP协议体系结构以及主要协议

在说TCP/IP协议体系结构之前我们首先来看看最早用的OSI七层参考模型,自底向上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。下图则为由OSI七层参考模型到TCP/IP体系结构产生过程。
这里写图片描述

TCP/IP体系结构的优点:

(1)简化了计算机网络的结构,由原来的七层编导现在的四层,但是其功能并没有减少。
(2)每一层即独立又有联系,独立是因为如果那一层出现问题了不会影响其他层的工作,联系是因为上层协议又使用下层协议提供的服务。
由上也可以看到TCP/IP协议族是一个四层的协议系统,从下到上依次是数据链路层、网络层、传输层、应用层。每一层通过若干协议完成不同的功能,上层协议使用下层协议提供的服务。下来我就谈一下每一层的功能和常用协议。

这里写图片描述
1、数据链路层

功能:实现了网卡接口的网络驱动程序,以处理数据在物理媒介(如以太网、令牌环等)上的传输。

常用协议:

(1)ARP(地址解析协议):它实现IP地址到物理地址(通常是MAC地址,通俗的理解就是网卡地址)的转换。

(2)RARP(逆地址解析协议):顾名思义,它和ARP是相反的,它是实现从物理地址到IP地址的转换。

那有人就会问它们的用途是什么呢???

ARP用途:网络层使用IP地址寻找一台机器,而数据链路层则是使用物理地址寻找一台机器,因此网络层必须先将目标机器的IP地址转化成物理地址,才能使用数据链路层提供的服务。

RARP用途:RARP协议仅用于网络上的某些无盘工作站,因为缺少储存设备,无盘工作站无法记录自己的IP地址,然而通过RARP就可以看到从物理地址到IP地址的映射。

2、网络层

功能:实现数据包的选路和转发。

常用协议:

(1)IP协议(英特网协议)据数据包的目的IP地址来决定如何将它发送给目标主机。如果数据包不能直接发送给目标主机,那么IP协议为它寻找一个合适的下一跳路由器,将数据包交给路由器来转发,多次之后数据包将到达目标主机,或者因发送失败而被丢弃。

(2)ICMP协议是网络层的另一个重要协议,它是IP协议的重要补充,主要用于检测网络连接。

8位类型:将ICMP报文分为两大类:一类是差错报文,比如目标不可达(类型值为3)和重定向(类型值为5);另一类是查询报文,用来查询网络信息。

有的ICMP报文还用8位代码字段细分不同的条件。比如代码值0表示网络重定向,代码值1表示主机重定向。

16位校验和:对整个报文(包括头部和内容部分)进行循环冗余校验(CRC)。

注意:ICMP协议并非严格意义上的网络层协议,因为它使用了处于同一层的IP协议提供的服务,而一般来说,上层协议使用下层协议提供的服务。

3、传输层

功能:为两台主机上的应用程序提供端到端的通信。与网络层使用的逐跳通信方式不同,传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程。

主要协议:

(1)TCP协议(传输控制协议):为应用层提供可靠的、面向连接的和流式服务。

(2)UDP协议(用户数据报协议):为应用层提供不可靠的、无连接的和数据报服务。(TCP和UDP协议的详解和区别将在下一篇详讲)

(3)SCTP协议(流控制传输协议)它是为在英特网上传输电话信号而设计的,这里不再细说。

4、应用层

功能:负责处理应用程序的逻辑,比如文件传输,名称查询和网络管理等。

注意:数据链路层、网络层、传输层复制处理网络通信 细节,所以这些部分必须稳定且高效,因此它们都在内核空间实现(如上图二),而应用层在用户空间中实现,因为它负责众多逻辑,在内核中实现的话,则会使内核变得非常庞大。也有少数服务器程序是在内核中实现,这样代码就不用在用户空间和内核空间中来回切换(主要是数据的复制)提高了工作效率。

常用协议:

(1)OSPF(开放最短路径优先)协议:是一种动态路由更新协议,用于路由器之间的通信,以告知对方各自的路由信息。

(2)DNS(域名服务)协议:提供机器域名到IP地址的转换。(如将www.baidu.com转化成百度的IP,输入域名就直接可以进入。因为IP地址记的时候太麻烦,就像每个人都是由身份证唯一标识的,但为了好记就起了名字。DNS就是一个将姓名与身份证对应的过程)

(3)telnet协议是一种远程登陆协议,使我们能在本地完成远程任务。

(4)HTTP协议(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式。

说完这些我再简单的说一下数据传输的过程都经历了什么!!!
这里写图片描述

下面是一个封装过程:

这里写图片描述

一个数据从一台主机应用程序上发出后,传输层根据协议选择传输方式,如选择TCP协议,则在数据前面加上自己的头部,到达网络层后,网络层又选择协议,再加上自己的头部信息交给下一层,再到数据链路层后加上以太网头部后成为一个以太网帧,经过路由转发,到达目标主机后有一层层的根据头部信息选择协议,然后去掉各自的头部,一层层的交给上一层,最终到达目标主机的应用程序上。

参考:
http://blog.sina.com.cn/s/blog_15466a1370102xw32.html

最后

以上就是慈祥世界为你收集整理的TCP/IP协议体系结构以及主要协议的全部内容,希望文章能够帮你解决TCP/IP协议体系结构以及主要协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部