加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

IP /TCP协议及握手过程和数据包格式中级详解

发布时间:2019-03-28 22:05:59 所属栏目:教程 来源:剑云锋
导读:IP地址 定义: IP被称为网际协议,是Internet上使用的一个关键的底层协议。TCP/IP是通用的通信协议,使Internet成为一个允许连接不同类型的计算机和不同操作系统的网络。 特点: IP协议具有能适应各种各样网络硬件的灵活性,对底层网络硬件几乎没有任何要
副标题[/!--empirenews.page--]

IP地址

定义:

IP被称为网际协议,是Internet上使用的一个关键的底层协议。TCP/IP是通用的通信协议,使Internet成为一个允许连接不同类型的计算机和不同操作系统的网络。

特点:

IP协议具有能适应各种各样网络硬件的灵活性,对底层网络硬件几乎没有任何要求,任何一个网络只要可以从一个地点向另外一个地点传送二进制数据,记忆可以使用IP协议加入Internet。

要求:

为了通信的需求,连接Internet的每台计算机上都必须运行IP软件。,以便时刻准备发送或接收信息。

实质:

IP地址是由IP协议规定的,由32位的二进制数表示(IPv4)。最新的IPv6协议将IP地址升为128位,这使得IP地址更加广泛,能够很好的解决目前IP地址紧缺的情况。但是IPv6协议距离实际应用还有一段距离,目前多数操作系统和应用软件都是以32位的IP地址为基准。

组成:

32位的IP地址(IPv4)主要分为两个部分,即前缀和后缀。前缀表示计算机所属的物理网络(网络号),后缀确定该网络上的唯一一台计算机(主机号)。 即 :

IP地址=网络号+主机号

分类:

在Internet上,每一个物理网络都有一个唯一的网络号,根据网络号的不同,可以将IP地址分为5类,即A类、B类、C类、D类和E类。其中A类、B类和C类属于基本类,D类用于多播发送,E类属于保留类。各类IP地址的范围如下:

IP /TCP协议及握手过程和数据包格式中级详解

网络地址:

在IP地址中主机地址为0的表示网络地址。例如:128.111.0.0。

广播地址(全‘1’地址):

在网络号后所有为全是1的地址,表示广播地址。

回送地址:

127.0.0.1表示回送地址,也叫本机地址,用于测试。

全‘0’地址:

对应当前主机。

ABC主要类型地址保留区域:

IP /TCP协议及握手过程和数据包格式中级详解

域名系统(DNS)

域名系统是一个分布的数据库,它提供将主机名(即网址)转换成IP地址的服务。

RFC

Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件,包括了tcp/ip协议的标准文档。

端口(port)

端口(Port)包括逻辑端口和物理端口两种类型。

物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。

逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。

IP /TCP协议及握手过程和数据包格式中级详解

端口号(Port Code)

由于物理端口和逻辑端口数量较多,共(2^16-1)个,为了对端口进行区分,将每个端口进行了编号,这就是端口号。运输层的端口号分为服务端使用的端口号(0-49151[熟知端口号(0-1023)、登记端口号(1024-49151)])和客户端使用的端口号(49151-65535)。网络常用端口号 - 姜亚轲的博客 - CSDN博客

应用编程接口(API,Application Programming Interface)

API是一些预先定义的函数。常用的编程接口有socket和TLI。其功能主要包括:远程过程调用(RPC)、标准查询语言(SQL)、文件传输和信息交付等。API 可以应用于所有计算机平台和操作系统。

概要设计文档的接口部分简单,一般分为:用户接口、外部接口和内部接口三个部分。用户接口只要简述用户操作和反馈结果等;外部接口简述硬件输入输出、网络传输协议等;内部接口简述模块间传值、数据传递等即可。

IP /TCP协议及握手过程和数据包格式中级详解

数据包格式

TCP/IP协议的每层都会发送不同的数据包,常见的有IP书包,TCP数据包,UDP数据包和ICMP数据包。

IP数据包(IP Datagram):

IP数据包是在IP协议间发送的,主要在以太网与网际协议模块之间传输,提供无链接数据博爱传输。IP协议不保证数据包的发送,但最大限度的发送数据。IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。IP协议结构定义如下:

  1. typedef struct HeadIP { 
  2.  unsigned char headerlen: 4; //首部长度,占4位 
  3.  unsigned char version: 4 ; //版本,占4位 
  4.  unsigned char servertype ; //服务类型,占8位,即一个字节 
  5.  unsigned short totallen; //总长度,占16位 
  6.  unsigned short id ; // 与idoff构成表示,共占16位,前3位是标识,后13位是片偏移 
  7.  unsigned short idoff; 
  8.  unsigned char ttl ; //生存时间,占 8位 
  9.  unsigned char proto ;//协议,占8位 
  10.  unsigned short checksum ;// 首部检验和,占16位 
  11.  unsigned int sourceIP ; // 源IP地址 ,占32位 
  12.  unsigned int destIP ;// 目的IP地址,占32 位 
  13.  }HeadIP; 

注:理论上,IP数据包的最大长度时655535字节,这是由IP首部16位总长度字段所限制的。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读