【TCP/IP】模型简述

时间:2024-04-05 19:54:06

为什么要分层:

如果没有分层设计,一个厂商需要设计所有通信细节,包含物理层接口与信号编码,地址寻址,传输机制与保障等。分层后可以让更专业的厂商做更专业的事情,把复杂的问题分解成小的简单问题,也使各个厂商之间的设备具有兼容性,层次的划分有利于国际标志协议的制定。

 

OSI七层模型:

APDU                          应用层                        提供应用程序通信

PPDU                          表示层                        处理数据格式、数据加密等

SPDU                          会话层                        建立、维护和管理会话

Segment                     传输层                        建立主机端到端连接

Packet                         网络层                        寻址和路由选择

Frame                         数据链路层                 提供介质访问、链路管理等

Bit                               物理层                        比特流传输

 


TCP/IP模型

telnet,FTP和e-mail                应用层              处理特定的应用程序细节

TCP和UDP                               传输层          为两台主机上的应用程序提供端到端的通讯

IP,ICMP和IGMP                        网络层              处理分组在网络中的活动,例如分组选路

设备驱动程序及接口卡             数据链路层          处理与电缆的物理接口细节

 

TCP/IP不同层次的协议:

【TCP/IP】模型简述

   网络IP提供的是一种不可靠的服务,可靠性由传输层的TCP提供。

   TCP使用不可靠的IP服务,并提供一种可靠的运输层服务。

   UDP为应用程序发送和接收数据报,和TCP不同,UDP是不可靠的。但是UDP也有UDP的好处,有些应用必须使用UDP来提供服务(即时语音等)。

   IP是网络层上的主要协议,同时被TCP和UDP使用。

   ICMP和IGMP是IP协议的附属协议。



封装:

     【TCP/IP】模型简述

以太网数据帧的物理特性使其长度必须在46~1500字节之间

以太网的帧首部也有一个16bit的帧类型域(ip,arp,rarp)(以太网协议号)

IP在首部中存入一个长度为8bit的数值,称作协议域(icmp,igmp,tcp,udp,esp,gre)(IP协议号)

TCP和UDP都用一个16bit的端口号来表示不同的应用程序(ftp,telnet,http)

每层首部都带有标识下个头部是什么。

最基本协议号端口号:

以太网协议号:

(IP:0x0800 | ARP:0x0806| PPPOE:0x8863 0x8864)

IP协议号

(ICMP:1 | TCP:6 | UDP:17 | GRE:47|ESP:50 |AH:51)

端口号

TCP   TFTP:20 21 | SSH:22 | Telnet:23 | SMTP:25 | TACACS+:49 | HTTP:80

 | HTTPS:443 |

UDP    IKE:500 | Radius: 1645 1646 1812 1813

分用:

【TCP/IP】模型简述

当收到一个数据帧,通过以太网协议号来识别交给哪个协议,然后在根据IP协议号来识别交给上层哪个协议,最后根据端口号来识别交给哪个应用程序。

 

端口号:

服务器一般都使通过知名端口号来识别的(ftp 21,telnet 23)

客户端口号又称临时端口号(即存在时间很短暂)

大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。

大于5000的端口号使为其它服务器预留的(internet上并不常用的服务)


大多数知名端口为奇数的由来:

TCP的前身使NCP(网络控制协议),NCP是单工,不是全双工,因此每个应用程序需要两个连接。需要预留一对奇数偶数端口号。当TCP和UDP成为标准的传输层协议时,每个应用程序只需要一个端口号,因此就使用了NCP中的奇数。(HTTP例外,是因为它并不是最老一批网络协议)