计算机网络8_TCP/IP

Posted grooovvve

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络8_TCP/IP相关的知识,希望对你有一定的参考价值。

TCP Transmission Control Protocol

IP Internet Protocol

词汇:架构、对端、终端、协议、分组交换、应用、端口

=================================================

1、 TCP/IP出现的背景及其历史

分组交换技术应运而生,分布式通信,多个用户同一时间共享一条通信线路,提高线路的使用率,也降低搭建线路的成本。

 

ARPANET 1969年 全球互联网的鼻祖,从4个节点发展到34个节点的超大网络。

 

TCP/IP的诞生 1982年 TCP/IP的具体规范被最终确定下来,在1983年成为ARPANET网络唯一指定协议。

 

BSD UNIX系统1980年左右出现。BSD UNIX系统实现了TCP/IP协议。各个网路设备商开始想TCP/IP协议靠拢。

 

开发互联网最初目的是用于实验和研究,1990年左右开始逐渐被引入公司企业及一般家庭。

出现专门提供互联网接入服务的公司(ISP)

=================================================

2 、TCP/IP的标准化

TCP/IP协议是协议群的统称

应用协议、传输协议、网际协议、路由控制协议

标准化过程中:开放性、实用性

TCP/IP是由IETF讨论制定的

那些需要被标准化的协议,被人们列入RFC(Request For Comment)文档并在互联网上公布

RFC文档通过编号 组织每个协议的标准化要求

=================================================

3、 互联网基础知识

互联网的协议就是TCP/IP

有层次的网络

互联网的每个网络都是由骨干网和末端网组成的

每个网络之间通过网络操作中心(NOC)

如果网络运营商不同,它的网络连接方式和使用方法也会不同。

连接异构网络需要有网络交换中心(IX)的支持

总之网络就是众多异构网络通过交换中心互连的一个巨型网络。

 

连接互联网需要向英特网服务提供商(Internet Server Provider)ISP或区域提出申请。

=================================================

4、 TCP/IP协议分层模型

TCP/IP知识对于那些想 构筑网络、搭建网络、管理网络、设计和制造网络设备、做网络设备编程 都是至关重要的。

设备驱动程序与网络接口(硬件、网卡层)、操作系统(传输、互联网)、应用程序(应用)

4.1 硬件(物理层)

最底层负责数据传输的硬件,相当于以太网或电话线等物理层的设备。内容一直无法统一定义。只要人们在物理层使用的传输媒介不同,网络的带宽、可靠性、安全性、延迟等都会有所不同,而在这方面没有一个既定的指标。总之,TCP/IP是在网络互连的设备之间能够通信的前提下才被提出的协议。

4.2 网络接口层(数据链路层)

利用以太网中的数据链路层进行通信,因此属于接口层。驱动程序是连接操作系统与硬件之间的桥梁。

4.2 互联网层(网络层)

互联网层使用IP协议,IP协议基于IP地址转发分包数据。IP协议的作用是将分组数据包发送到目的主机。通过互联网层,可以抽象甚至忽略网络结构的细节。从相互通信的主机角度看,对端主机就如同在一个巨大云层的对面。

TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供。连接互联网的所有主机和路由器必须都实现IP的功能,尤其是路由器,它必须实现通过互联网层转发分组数据包的功能。其他设备就没必要一定实现IP或TCP的功能(网桥、中继器、集线器)。

IP:跨越网络传送数据包,IP地址作为主机的标识。IP还隐含着数据链路层的功能,通过IP,相互通信的主机之间不论经过怎样的底层数据链路都能实现通信。IP也是分组交换的一种协议,但是不具有重发机制。因此,属于非可靠性传输协议。

ICMP:一旦IP数据包在发送途中发送异常而无法到达对端目的地址时,需要给发送端发送一个异常通知。这个功能就是通过ICMP实现的。它有时也被用来诊断网络的健康状况。

ARP:从分组数据包的IP地址中解析出物理地址(MAC)的一种协议。Address Resolution Protocol

4.5 传输层

目的是实现应用程序之间的通信。计算机内部通常运行着多个程序。必须分清哪些程序与哪些程序再进行通信。识别这些应用程序的是端口号。

TCP:面向有连接的传输层协议,保证通信主机之间的通信可达。可以处理传输过程中丢包、传输顺序乱掉等异常情况,有效利用带宽,缓解网络拥堵。但是为了建立连接,需要至少7次收发包,导致网络流量的浪费。为了提高利用率,TCP协议定义了各种各样复杂的规范。

UDP:面向无连接的传输层协议。不会关注对端是否真的收到了传送过去的数据。需要检查对端是否收到分组数据包,则需要在应用程序中实现。

4.6 应用层(会话层以上的分层)

TCP/IP分层中,将OSI参考模型中的会话层、表示层和应用层的功能都集中到了应用程序中实现。这些功能有时候由一个单一程序实现,有时候由多个程序实现。所以TCP/IP的应用程序不仅实现了OSI模型中应用层的内容,还要实现会话层和表示层的功能。

TCP/IP应用的架构绝大多数属于客户端/服务端模型。在这种通信模式中,提供服务的程序会预先被部署到主机上,等待接收任何时刻客户可能发送的请求。客户端可以随时发送请求给服务端。有时候服务端可能会有处理异常、超出负载等情况,客户端可以再等待片刻后重发一次请求。

WWW:是互联网能够如此普及的一个重要原动力。浏览器和服务端之间通信所用的协议是HTTP协议(HyperText Transfer Protocol)。HTTP属于OSI应用层协议。html属于表示层协议。

电子邮件:SMTP(Simple Mail Transfer Protocol)

文件传输:FTP(File Transfer Protocol),会创建两个TCP连接,分别是控制连接和数据连接。

远程登录(TELNET 与 SSH):登录要远程的计算机上

网络管理(SNMP):Simple Network Management Protocol。使用SNMP管理的主机、网桥、路由器等称作SNMP代理(Agent)。进行管理的那一段叫做管理器(Manager)。SNMP是Manager和Agent所要用到的协议。一个网络范围越大,结构越复杂,就越需要对其进行有效的管理。SNMP可以让管理员及时网络拥堵情况,及早发现故障,为以后扩大网络收集必要信息。

=================================================

2.5、 TCP/IP分层模型与通信示例

TCP/IP如何在媒介上进行传输。应用层到物理媒介为止数据处理的流程

5.1 数据包首部

每一个分层都会对发送的数据附加一个首部。首部包含了改层必要的信息。包括目的地址和协议的相关信息。为协议提供的信息叫首部,要发送的内容为数据。在下一层的角度上看,上一分层收到的包全部都被认为是本层的数据。

包、帧、数据报、段、消息

包:全能性术语。

帧:用于表示数据链路层中包的单位

数据报:IP和UDP等网络层以上分层中包的单位

段:TCP数据流中的信息

消息:应用协议中数据的单位

包首部就像是协议的脸。看到包的首部就像看到协议的规范。告诉了这一层如何处理数据、提供一些必要信息。

5.2 发送数据包

数据链路层-MAC地址级别

网络层-IP地址级别

传输层-端口号级别

 

5.3 经过数据链路的包

 

5.4 数据包接收处理

包的接收流程是发送流程的逆序过程

网络接口(以太网驱动)的处理

IP模块的处理

TCP模块的处理

 

以上是关于计算机网络8_TCP/IP的主要内容,如果未能解决你的问题,请参考以下文章

TCP/IP__TCP/IP协议

8计算机网络模型了解,TCP/IP模型介绍和OSI七层模型对比

Python网络_TCP/IP简介

Python网络_TCP/IP简介

20160402_TCP/IP协议簇

第12章 网络基础_网络分层和TCP/IP协议族