当前位置:文档之家› TCPIP网络协议知识点的归纳

TCPIP网络协议知识点的归纳

TCPIP网络协议知识点的归纳

引导语:网络协议即网络中(包括互联网)传递、管理信息的一些规范以下是小编整理的TCP/IP网络协议知识点的归纳欢迎参考阅读

谁来制定这个网络协议

国际标准化组织(ISO)定义了网络协议的基本框架被称为OSI 模型要制定通讯规则内容会很多比如要考虑A电脑如何找到B电脑A 电脑在发送信息给B电脑时是否需要B电脑进行反馈A电脑传送给B 电脑的数据的格式又是怎样的内容太多太杂所以OSI模型将这些通讯标准进行层次划分每一层次解决一个类别的问题这样就使得标准的制定没那么复杂OSI模型制定的七层标准模型分别是:应用层表示层会话层传输层网络层数据链路层物理层

虽然国际标准化组织制定了这样一个网络协议的模型但是实际上互联网通讯使用的网络协议是TCP/IP网络协议

TCP/IP是一个协议族也是按照层次划分共四层:应用层传输层互连网络层网络接口层那么TCP/IP协议和OSI模型有什么区别呢OSI 网络协议模型是一个参考模型而TCP/IP协议是事实上的标准TCP/IP 协议参考了OSI模型但是并没有严格按照OSI规定的七层去划分标准而只划分了四层个人觉得这样会更简单点当划分太多层次时你很难区分某个协议是属于个层次的TCP/IP协议和OSI模型也并不冲突TCP/IP协议中的应用层协议就对应于OSI中的应用层表示层会话层就像以前有工业部和信息产业部现在实行大部制后只有工业和信息

化部一个部门但是这个部门还是要做以前两个部门一样多的事情本质上没有多大的差别TCP/IP中有两个重要的协议传输层的TCP协议和互连网络层的IP协议因此就拿这两个协议做代表来命名整个协议族了在说TCP/IP协议时是指整个协议族

TCP/IP协议分为四个层次但我们并不需要了解所有层次的协议我觉得主要关注应用层和传输层的协议就可以了拿寄送邮件举例A 寄邮件给BA关心的是用什么格式写什么内容给B(应用层内容)是寄挂号信还是寄平信(传输层内容)但是A是不会去关注邮件传送过程中采用了那条路线邮递员是如何把信件递送到B手里的(互连网络层网络接口层)

先说传输层传输层有多个协议但最主要的是TCP和UDP协议两则的区别在于TCP协议需要接收方反馈UDP协议不需要接收方反馈TCP就像挂号信A电脑发信息给B电脑后需要得到B电脑的反馈这样A电脑就能知道B电脑是否已经收到信息UDP就像平信A电脑发信息给B电脑后B电脑并不给A电脑发聩A电脑发送信息出去后并不知道B电脑是否已经收到因此TCP传输比UDP传送更可靠但是TCP传输的效率就不如UDP了至于在传送过程中具体选择种传送方式需要具体问题具体分析在不可靠的网络传送过程中一般选择TCP传送方式在讲求效率或者不在乎传送失误的情况下可以选择UDP方式来提高传输速率

应用层的协议有很多每一个协议代表一种类型的服务HTTP协议万维网服务FTP协议文件传送服务POP3邮件服务SOAP协议webService服务

在理解TCP/IP协议的过程中常见的问题

1.什么是socket?

以前有听说过socket编程这种说法也有的说套接字编程我在搜索关于socket的资料时发现有的说socket是指一个连接有的说socket是一指一个端点拿打电话做比喻A电话机和B电话机正在通话那么socket是指的A和B之间的连接线呢还是指电话机(端点)我现在的理解是socket就是一个连接中的一个端点一次通讯(连接)a,b端都会有一个socket一个socket对应一个连接

2.http协议属于应用层还是传输层

http超文本传送协议听上去像是传输层的协议一样但事实上大家都知道http和ftp一样都是属于应用层的协议我先前很纳闷的是既然是应用层的协议怎么就取这样一个误导人的名称啊在对TCP/IP 协议还不熟悉的时候这很容易让人误解和纳闷的后来我在wiki上发现这么一段话:

http中文译名问题

HTTP在中国大陆被翻译为“超文本传输协议”因为“transfer”在中文里有“传输”的含意但依据HTTP定制者之一的RoyFielding 博士的论文[1](6.5.3节)作者专门强调“transfer”表示的是“(表述状态的)转移”(RepresentationalStateTransfer)而不是“传

输”(transport)故其中文译名“超文本传输协议”恰恰引种反映了这种误解更符合原义的译名应该为“超文本转移协议”

这段话解除了我的疑惑那么http协议当然是应用层的协议

3.SOAP可以使用HTTP协议进行传输

在了解SOAP协议的过程中看到介绍说soap可以通过

tcp,udp,http协议来传送这也是让人困惑的描述一看这句话就会感觉http和tcp,udp协议并列了呢难道http还是属于传输层的协议再加上http中文译名的问题名字听上去像传输层初学者又要开始头大了

事实上http是应用层的协议这一点可以毫无怀疑那么现在新的问题来了soap和http都是应用层协议说soap能用http协议来传输呢应用层的协议可以用应用层的协议传送

我查阅了资料是这样一回事情soap将信息进行XML的序列化后再用http协议的方式再打包进行传送传送的方式还是tcp或者udp 做个比喻就好理解了tcp和udp都是公路暂且把tcp认为是一般公路udp高速公路soap和http就都是汽车那么soap和http都可以在tcp 和udp上跑说soap可以通过http来传送实际就是说soap是小轿车http是装轿车的卡车把soap的信息装到http里面然后再运输当然走的道路还是tcp或udp

说soap可以通过http协议来传输这句话不太准确比较准确第说法是:soap信息可以通过http协议包装后通过tcp或udp传输

相关主题