计算机网络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的主要内容,如果未能解决你的问题,请参考以下文章