您的位置:首页 > 理论基础 > 计算机网络

TCP/IP协议栈

2017-06-13 00:00 169 查看
摘要: TCP/IP协议栈

协议将复杂的网络元素有机的整合起来,实现资源的共享。

协议

通信双方事先约定并共同遵守的标准或规则。

数据通信是实现了相同协议的软硬件相互配合完成的。

通信系统是由若干个相互关联的协议(协议族)共同完成的。

定义了完成协议功能的协议包的格式。

控制通讯的方式和顺序。

常见的协议族有OSI七层参考模型和TCP/IP通信模型、SPX/IPX、AppleTalk。

为了解决各个不同的厂商的设备互联的问题,废弃私有协议,使用公有协议,要使得不同的厂家的产品能够如预期那样在一起工作,就必须用标准来保证,进行标准创建工作的组织有ISO,ITU-T,IEEE,EIA,ANSI.

OSI参考模型

OSI(Open System Interconnect)开放系统互连参考模型,是由ISO定义的,它是灵活的、稳健的和可互操作的模型,并不是协议,是用来了解和设计网络体系结构的。

OSI模型的目的

规范不同的系统的互联标准,使两个不同的系统能够较容易的通信,而不需要改变底层的硬件或者软件的逻辑。OSI RM定义了网络中设备所遵守的层次结构。

分层结构的优点

简化网络的操作。

提供设备间兼容性和标准接口。

促进标准化工作。

结构上可以分隔。

易于实现和维护。

重点是OSI并不是协议,是用来了解和设计网络体系结构的。

OSI七层功能如下:

应用层提供应用程序间通信
表示层处理数据格式、数据加密等
会话层建立、维护和管理会话
传输层建立主机端到端连接
网络层寻址和路由选择
数据链路层提供介质访问控制,链路管理
物理层比特流传输
其中,会话层以上主要面向用户应用,负责主机之间的数据传输。

传输层一下主要面向数据传输,负责网络数据的传输。

TCP/IP协议族

TCP/IP协议栈具有简单的分层设计,与OSI参考模型有着清晰的对应关系。

只是将应用层、表示层、会话层归纳为应用层。

通信原理

1.功能是由协议完成的,每层都有一些协议,完成各自独立的功能。

2.对等通信:相同层的相同协议之间交换PDU。

3.下层为上层提供服务:封装或拆装。

每一层利用下一层提供的服务于对等层进行通信,每一层使用自己的协议。相同层的相同协议之间交换协议数据单元PDU,PDU的格式为:|header|data|

数据封装和解封装过程

作为发送方把上层的数据,有一个由上而下逐层加协议头部组成本层协议包的过程--》封装;封装到二层为帧,由物理层串行化比特流(信号流),网络设备准备传输信号。

作为接收方,有一个由下而上逐层减去协议头部的过程--》拆装,到对等通信;

封装——每一层都把上层的协议包当成数据部分,加上自己的协议头部,组成自己的协议包.

中间网络设备基于自己的层次理解进行转发PDU,理解交换机、路由器他们也是层的设备,为通信提供服务的,看到不同层提供不层的服务。

应用层协议

和应用程序协同工作,利用基础网络交换应用程序专用的数据。

以HTTP协议为例子进行说明。

HTTP的流程示意图如下:



Hypertext Transfer Protocol-超文本传输协议

用于传输Internet浏览器使用的普通文本、超文本、音频和视频等数据

端口号为TCP的80。

访问www.oschina.com的过程。

对于发起通信段的数据封装过程:

1.用户在IE上输入URL地址:http://www.oschina.com.

2.发起http的请求--(HTTP协议封装请求内容)

3.发起TCP连接的请求--(TCP封装HTTP)

4.操作系统通过DNS查询URL地址域名对应的IP地址

5.发起IP通信(IP封装TCP数据)

6.MAC通信(发起ARP请求,请求网关的MAC地址,封装二层数据)

7.将数据编码成能在物理链链路上传输的bit流,发送数据

数据在网络中间的传输过程:

数据在网络上经过各种网络、设备,每个设备逐跳把数据发送给下一个设备,最后把数据发送到了目的网络,目的网络的网关把数据发送给最终的服务器(对端)

对端服务器收到数据后如何处理

1.逐层解封装

2.回应数据

反复同样的过程实现端到端的通信。

传输层协议

作用:提供端到端的传输服务;使用端口标识主机上的进程

使用源端口标识发送方的进程,随机分配>=1024

使用目标端口标识接收方的进程,人为指定<=1023,知名端口:如IP地址+端口号=socket

常用协议:

TCP(Transmission Control Protocol),传输控制协议。可靠的、面向连接的协议、传输效率低

UDP(User Datagram Protocol),用户数据报协议。不可靠的、无连接的服务、传输效率高

TCP:

在传输数据之前,必须先建立连接,协商资源预留,然后传输数 据,传完之后拆除连接。

在传输数据的过程中,解决可靠性、有序性、流量控制。

TCP报文格式:



UDP:

提供无连接的,不可靠无序的,无流量控制的传输服务

UDP报文格式:



网络层协议

l网络层也叫Internet层

负责将分组报文从源主机发送到目标主机

网络层作用

为网络中的设备提供逻辑地址

基于IP包和路由表决定如何转发数据;路由表的建立;负责数据包的寻径和转发

设备:路由器、多层交换机、防火墙

ICMP

ICMP(Internet Control Message Protocol)网络控制报文协议,是面向连接的协议,可以利用它得知网络的IP连通性,用于向源节点发送“错误报告”信息。

常用的工具有PING和TRACERT.

PING就是基于ICMP包测试网络层的连通性,带有TTL的存活时间,路由器每转发一次,则TTL-1。

设置TTL的目的是防止循环、探测IP包所经过的路径;PING通只能证明网络层及其下层的小的单播的少量的IP包能够双向联通。

Tracert主要是跟踪达到目标所经过的路径;

发送三个IP包,TTL=1,收到IP包 TTL-1;

如果TTL=0,则丢弃并报超时错误,如果是超时错误,则TTL+1.

ARP

地址解析协议。ARP Request和ARP Reply.

得到通信对端的IP地址所对应的MAC地址。

RARP

反向地址解析协议。

得到本机的IP地址。

数据链路层协议

局域网的数据链路层分为2个子层:

LLC子层和MAC子层。

数据链路层的功能是,定义物理地址;网络拓扑结构;链路参数;差错验证;物理介质访问;流控制。

MAC地址的长度是48bit,通常表示成12个十六进制数,前6个十六进制数由IEEE管理,用来标识生产商或者厂商,常把这一部分叫做OUI(组织唯一标识符),余下的部分表示为具体的接口序列号,这一部分由厂商自己定义。

广域网与数据链路层

WAN数据链路层标准:

HDLC

PPP

ISDN

X.25

Frame Relay

WAN数据链路层设备:

Modem、ISDN终端适配器

CSU/DSU、广域网交换机

物理层协议

物理层协议主要是定义电压、接口、线缆标准、传输距离等。

物理层的线缆主要有:

同轴电缆(coaxial cable):细缆和粗缆

双绞线(twisted pair):UTP、STP

光纤(fiber)

无线电波(wireless radio):无线局域网WLAN

线缆标准:

线缆标准:10Base-T、100Base-T、100Base-TX/FX、1000Base-T、1000Base-SX/LX;

网络设备:中继器、集线器等。

广域网的物理层:

DTE设备:路由器、终端主机等;

DCE设备:广域网交换机、Modem、CSU/DSU等;

常见接口:RS-232、V.24、V.35等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Internet