TCP/IP-概述

TCP/IP-概述

作者:Danbo 2015-8-21

TCP/IP协议簇的四个层次:

1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。比如MAC地址寻址、ARP等。
2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在T C P / I P协议族中,网络层协议包括I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。IP、ICMP、IGMP是无状态的。指的是:下一次传输可以记住这次传输信息的能力。HTTP无状态,而DNS是有状态的。
3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在T C P / I P协议族中,有两个互不相同的传输协议: T C P(传输控制协议)和U D P(用户数据报协议)。T C P为两台主机提供高可靠性的数据通信它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的T C P / I P实现都会提供下面这些通用的应用程序:
• Telnet 远程登录。
• FTP 文件传输协议。
• SMTP 简单邮件传送协议。
• SNMP 简单网络管理协议。

通过路由器连接的两个网络:

大多数的网络应用程序都被设计成客户-服务器模式。
双方都有相应的一个或多个协议进行通讯。
应用程序通常是用户进程,而下三层一般在内核执行。
应用层关心应用程序的细节,下三层处理通讯细节。

我们可以划分出端系统( End system )(两边的两台主机)和中间系统(Intermediate system)(中间的路由器)。应用层和运输层使用端到端( En d - t o - e n d)协议。在上图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳( Ho p - b y - h o p)协议,两个端系统和每个中间系统都要使用它。

在T C P / I P协议族中,网络层I P提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, T C P在不可靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。互联网的目的之一就是在应用程序中隐藏所有的物理细节。开发程序只需要调用相应的API即可。

TCP/IP的分层

数据进入协议栈时的封装过程

以太网数据帧的物理特性是其长度必须在46~1500字节之间;以太网首部有16bit的帧类型字段(IP是0x0800);IP首部有8bit的协议字段(1ICMP,2IGMP,6TCP,17UDP,);TCP和UDP有16bit的端口号(23Telnet)。

分用过程

为什么常用端口号都是奇数端口,之前老的协议是NCP,这是个半双工的,收和发用各自的端口号,后来有了TCP,TCP是全双工的,于是就只保留了奇数端口号,于是目前我们常见的端口号都是奇数的。

原文地址:https://www.cnblogs.com/danbo/p/4747382.html