当前位置:文档之家› IP协议详解

IP协议详解

IP协议详解

IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。

IP头部信息。IP头部信息出现在每个IP数据报中,用于指定IP通信的源端IP 地址、目的端IP地址,指导IP分片和重组,以及指定部分通信行为。

IP数据报的路由和转发。IP数据报的路由和转发发生在除目标机器之外的所有主机和路由器上。他们决定数据报是否应该转发以及如何转发。

IP服务的特点

IP协议为上层协议提供无状态、无连接、不可靠的服。

无状态指的是IP通信双方不同步传输数据的状态信息(IP数据报的发送、传输和接收相互独立)。

缺点:无法处理乱序和重复的IP数据报。—–只要收到IP数据报(分片则先重组),就将数据报的数据部分交给上层不管重复还是无序

TCP协议则可以处理乱序的,重复的报文段。

优点:简单高效。UDP和HTTP(一个浏览器的连续两次网页请求之间没有任何关联,被web服务器独立处理)都是无状态协议。

无连接是指IP通信双方都不长久地维持对方的任何信息。这样,上层协议每次发数据时,都要指明对方的IP地址。

(IPv6 traffic class->通信类型flow lable->流标签payload length->净荷长度不包括固定头部长度hop limit->跳数限制和TTL相同)

1.version 4位版本号

2.IHL 4位头部长度—标示IP头部有多少个4字节,IP头部最长是60字节。

3.Type of service(TOS) 8位服务类型

包含3位优先权字段,4位TOS字段和1位保留字段(必须置0。

4位TOS表示:最小延时,最大吞吐量,最高可靠性和最小费用。

ssh和telnet这样的登陆程序需要的是最小延时服务。

文件传输程序ftp需要最大吞吐量的服务。

4.Total length 16位总长度—-整个IP数据报的长度。

IP数据报的最大长度为65535(2的16次方-1)字节。(注意是字节)

由于MTU的限制,超过MTU的数据报将被分片传输

5.identification 16位标识—唯一地标识主机发送的每一个数据报,初始值系

统随机生成,每发一个数据报,值会加1,同一数据报所有分片具有相同的标识。

6.flag 3位标志第一位保留第二位(DF dont fragment)表示禁止分片。如果IP数据报长度超过MTU,IP模块将丢弃该数据报并返回一个ICMP差错报文第三位(MF more fragment)更多分片除了最后一位分片外,其他分片都要把它置为1。

7.fragment offset 13位分片偏移

8.time to live(TTL) 8位生存时间数据报到达目的地之前允许经过的路由器跳数。TTL减为0时,路由器将丢弃数据报,返回ICMP差错报文。

9.protocol 8位协议区分上层协议ICMP为1 TCP为6 更多情况请cat /etc/protocols

10.header checksum 16位检验ip包头部信息由发送端填充,接收端用CRC 算法检验IP头部

11.source address/destination address都是32位发出地/目的地

12.options padding选填性质区域

记录路由(record route):告诉数据报途径的所有路由器将自己的IP地址的选项部分

时间戳(timestamp):告诉每个路由器都将数据报被转发的时间,填入IP地址的选项部分

松散源路由选择(loose source routing),指定一个路由器IP列表,数据包发送过程中必须经过其中所有的路由器。

严格源路由选择(strict source routing),只能经过指定路由器

观察IPV4头部

1个终端执行sudotcpdump -ntx -i lo

1个终端执行 telnet 127.0.0.1

? 1

? 2 获取的数据

第一行第3个和第4个10表示TOS选项最小延时服务开启,因为telnet服

务使用具有最小延时服务。

IP分片

以太网MTU具有1500字节(在ifconfig里可以查看到)

IP数据报的数据部分最多占1480字节(IP头部占20字节)

要封装一个1481字节的ICMP报文(8个字节的头部,数据部分1473)则要分片传输。

1.分片长1500

2.分片长21字节

第一个IP头部的flag 第三位设为MF 第二个由于是最有一个分片不用设。第一个含ICMP头部信息第二个不含

IP模块工作流程

当收到数据链路层IP数据报时,首先队数据报的头部做CRC校验,确认没问题看是分析头部信息。如果头部设置源站选路选线,则IP模块会调用数据报转发子模块来处理数据报,如果数据报发送给本机,那么发送给指定的上层应用,如果不是,则也调用数据报转发子模块处理。

数据报转发子模块先查看系统释放允许转发,不允许IP模块丢弃数据报,允许则数据报转发子模块进行操作,然后交个IP数据报输出子模块。

IP模块核心数据结构是路由表。此表按数据报目标IP地址分类,同类型IP数据报将发往相同下一跳路由器。

IP输出队列存放所有等待发送的IP数据报,还包括封装本机上层数据(ICMP

报文、TCP报文段、UDP数据报)的IP数据报。

route命令可以查看路由表

IP路由机制

(1)查找路由表中和数据报的目标IP地址完全匹配的主机IP地址。如果找到使用路由项,没找到则转到步骤2

(2)查找路由表中和数据报的目标IP地址具有相同网路ID的网络IP地址,找到使用路由项,没找到则转到步骤3

(3)选择默认路由项,通常意味着下一跳路由是网关

sudo route del default //删除默认路由项,导致无法访问互联网

route命令修改路由表,是静态的路由更新方式。

对于大型的路由器,他们通过BGP(Border Gateway Protocol,边际网关协议)、RIP(Routing Information Protocol,路由信息协议)、OSPF等协议发现新路径,动态更新方式。

IP转发

对于允许IP数据报转发的系统,数据报转发子模块操作如下:

检查数据报头部TTL值。为0,丢弃

查看头部填充区域是否设置严格源路由选择项,设置了,则检测目标地址是否魏本机某个IP 地址,不是,发送ICMP失败信息。

如果有必要,给源端发ICMP重定向报文,以告诉它更合理的下一跳路由

TTL 减1

处理IP头部选项

有必要的话,执行IP分片

TCP和UDP协议简介

TCP和UDP协议简介 从专业的角度说,TCP的可靠保证,是它的三次握手机制,这一机制保证校验了数据,保证了他的可靠性。而UDP就没有了,所以不可靠。不过UDP的速度是TCP比不了的,而且UDP的反应速度更快,QQ就是用UDP协议传输的,HTTP是用TCP协议传输的,不用我说什么,自己体验一下就能发现区别了。再有就是UDP和TCP的目的端口不一样(这句话好象是多余的),而且两个协议不在同一层,TCP在三层,UDP不是在四层就是七层。TCP/IP协议介绍 TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP 协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line 等)来传送数据。 TCP/IP中的协议 以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的: 1.IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的

Ethernet/IP协议简介

目录 1 现场总线控制技术与工业以太网........................................................................................ - 1 - 2 工业以太网实时性问题........................................................................................................ - 3 - 2.1 通讯确定性和实时性技术........................................................................................... - 3 - 3 Ethernet/IP协议简介.......................................................................................................... - 4 - 3.1 Ethernet/IP工业以太网.............................................................................................. - 4 - 3.1.1 Ethernet/IP协议模型及协议内容................................................................... - 5 - 3.1.2 EtherNet/IP 的通信机制.................................................................................... - 7 - 3.2 ProfitNet工业以太网................................................................................................. - 8 - 3.2.1 基本介绍............................................................................................................ - 8 - 3.2.2 实时通信............................................................................................................ - 8 - 3.2.3 PROFINET .......................................................................................................... - 9 - 3.2.4 安全.................................................................................................................. - 10 - 3.3 Modbus-IDA工业以太网 ........................................................................................ - 11 - 3.3.1 基本信息.......................................................................................................... - 11 - 3.3.2 特点.................................................................................................................. - 12 - 3.3.3 传输方式.......................................................................................................... - 13 - 3.3.4 CRC ................................................................................................................... - 15 - 3.4 Controlnet工业以太网............................................................................................. - 17 - 3.4.1 原理.................................................................................................................. - 17 - 3.4.2 ControlNet网络................................................................................................ - 18 - 3.4.3 控制网国际有限公司...................................................................................... - 18 - 3.4.4 可建造ControlNet的设备.............................................................................. - 18 - 3.5 World FIP工业以太网............................................................................................. - 20 - 3.5.1 概述.................................................................................................................. - 20 - 3.5.2 WorldFip的特点 .............................................................................................. - 20 - 3.5.3 WorldFip 协议 ................................................................................................. - 21 - 3.5.4 WorldFip总线典型器件 .................................................................................. - 22 - 3.5.5 开发工具.......................................................................................................... - 23 - 3.5.6 目前存在的一些问题和应用前景.................................................................. - 23 - 4 Ethernet/I P通信适配器硬件设计与实现....................................................................... - 2 5 - 4.1 硬件系统总体架构.................................................................................................. - 25 - 4.2电源设计................................................................................................................... - 25 - 4.3复位电路设计........................................................................................................... - 26 - 4.4以太网通讯接口设计............................................................................................... - 26 - 4.4.1以太网电路原理......................................................................................... - 27 - 4.4.2以太网芯片CS8900A-IQ3功能描述........................................................ - 27 - 4.5串行通讯接口设计...................................................................................................... - 29 - 4.6 主从USB接口设计.............................................................................................. - 29 - 4.7 外部I/0扩展接口设计 ........................................................................................ - 30 - 5 EtherNet/IP 工业以太网优缺点及发展前景..................................................................... - 31 -

IP协议相关知识简介(doc 15页)

IP协议相关知识简介(doc 15页)

第1章Internet概述 什么是Internet?在英语中“Inter”的含义是“交互的”,“net”是指“网络”。简单而言,Internet是指一个由计算机构成的交互网络。它是一个世界范围内的巨大的计算机网络体系,它把全球数万个计算机网络,数千万台主机连接起来,包含了难以计数的信息资源,向全世界提供信息服务。它的出现,是世界由工业化走向信息化的必然和象征,但这并不是对Internet的一种定义,而仅仅是对它的一种解释。从网络通信的角度来看,Internet是一个以TCP/IP网络协议连接各个国家、各个地区、各个机构的计算机网络的数据通信网。从信息资源的角度来看,Internet是一个集各个部门、各个领域的各种信息资源为一体,供网上用户共享的信息资源网。现在的Internet已经远远超过了一个网络的涵

义,它是一个信息社会的缩影。虽然至今还没有一个准确的定义来概括Internet,但是这个定义应从通信协议、物理连接、资源共享、相互联系、相互通信等角度来综合加以考虑。 了解一个事物的最有效方法莫过于先了解它的历史,在本章中,先简要回顾一下Internet的发展历史,再介绍与Internet相关的管理结构,并对当前的Internet应用现状与发展趋势作一简单介绍。 1.1 Internet发展历史 Internet最早来源于美国国防部高级研究计划局DARPA(Defense advanced Research Projects Agency)的前身ARPA建立的ARPAnet,该网于1969年投入使用。从20世纪60年代开始,ARPA就开始向美国国内大学的计算机系和一些公司提供经费,以促进基于分组交换技术的计算机网络的研究。1968年,ARPA为ARPAnet 网络项目立项,该项目基于这样一种主导思想:网络必须能够经受住故障的考验而维持正常工作,一旦发生战争,当网络的某一部分因遭受攻击而失去工作能力时,网络的其他部分应当能够

TCP IP协议常见问题总结(一)

TCP/IP FAQ系列,以古老经典的4.4BSD-Lite实现为准,参考《TCP/IP协议详解》3卷,加入个人的思考理解,理清主干,不深究细枝末节,皆在总结基本原理和实现。 本篇涵盖了数据链路层、ARP、RARP、IP、ICMP、TCP、UDP方面的问题与解答。 【Data Link】 1. 环回接口地址必须是127.0.0.1吗? 形如127.x.x.x的A类IP都可作为环回接口的地址,但常用的是127.0.0.1。 2. 环回接口为什么没有输入处理? 发送到环回接口的数据报实质上被送到网络层的输入队列中,因此数据报没有离开网络,也就不可能从链路上接收到目标地址为环回接口地址的数据帧,所以不存在输入处理。 3. SLIP、环回和以太网接口,三者有何不同? SLIP和环回接口没有链路层首部和硬件地址,环回接口没有输入处理,而以太网接口都有。 4. SLIP和以太网接口如何分用输入帧,环回接口如何分用输出分组? SLIP将帧直接放进IP输入队列中,以太网接口则根据帧类型字段放到对应的协议输入队列中,环回接口则按目的地址族放到对应的输入队列中。 5. 接口和地址有什么关联? 一个接口的编址信息包括主机地址、广播地址和网络掩码,当内核初始化时,每个接口分配一个链路层地址,可以配置有多个相同或不同的网络层地址,例如2个IP地址,或者1个IP地址、1个OSI 地址。 【ARP & RARP】1. 何时发送ARP请求,何时应答ARP请求? 当单播发送IP数据并且查询ARP高速缓存失败时,就会广播一个询问目的主机硬件地址的ARP请求;当接收到ARP请求的主机就是该请求所要查找的目的主机或目的主机的ARP代理服务器时,就会单播一个ARP应答。 2. 为什么两者的以太网帧类型不同? ARP值为0x0806,RARP为0x8035,其实对于发送方来说,利用ARP的op字段可以区分RARP,但对于接收方,由于ARP实现在内核中,而RARP一般实现为服务器,所以为了更易区分,就单独用另一个值标识。 3. 设计RARP服务器有哪些问题? 一是怎么发送以太网帧以响应请求,这与系统相关。二是当存在多个服务器时,同时发送响应帧会造成以太网冲突,这可以通过分主从服务器和随机延时来优化避免。 4. ARP在等待应答时,它会如何处理发往给定目的的多个报文? 在大多数的实现中,在等待一个ARP应答时,只将最后一个报文发给特定目的主机。Host Requirements RFC要求实现中必须防止这种类型的ARP洪泛,建议最高速率是每秒一次。 5. 免费ARP有什么作用? 一般的ARP请求用于查询目标硬件地址,并等待应答。而免费的ARP发出请求并不一定期望应答,这可以有两方面的作用: 1)一个主机可以确定是否存在相同IP地址的另一主机 2)当本机硬件地址改变时,通知其它主机更新ARP高速缓存。 6. ARP如何映射一个IP多播地址? 先获取IP多播地址的低23位,再与常量0x01005e7f0000按位或,结果就是对应的多播硬件地址。 【IP】 1. 何时何地分片?

MODBUS-TCP协议介绍

MODBUS-TCP ~ ~~ IEEE 802.3 CSMA/CD 10Mb/s (1)10 Base 5 RG-8 500m (2)10 Base 2 RG-58 185m (3)10 Base T UTP STP 100m ~~ 100Mb/s 802.3a 100 Base Tx 100 Base Fx ~~ 10/100M 100M “ ” (UTP) 100m 2 3km 100km 1000Mb/s 802.3z/802.3ab 10Gb/s 802.3ae ~ ~~ IEEE802.3 EN50081-2 EN50082-2 1 DIN UTP STP( ) ~TCP/IP 1. TCP/IP ~~ TCP/IP 20 80 X.25 TCP/IP ( ) TCP/IP TCP/IP TCP/IP

Internet TCP/IP TCP/IP ~~ TCP/IP OSI OSI TCP/IP 1 TCP/IP 2. Internet Protocol(IP) ~~IP Internet http://biz.doczj.com/doc/3e15163968.html, RFC79 ( RFC: Request For Comments ) ~~IP IP “ ” I/O IP IP IP “IP ” “ ” “ ” “ ” IP IP ~~IP IP 2

~~IP 4 ( 3 ) A 16387064 (1 126) B 64516 ( 128 191) C 254 ( 192 223) D (“0.0.0.0”) 1 (“255.255.255.255”) 3. Transmission Control Protocol (TCP) ~~TCP ( 4 ) RFC793 TCP TCP TCP

TCPIP协议分析

TCP/IP协议分析及应用 在计算机网络的发展过程中,TCP/IP网络是迄今为止对人类社会影响最重要的一种网络。TCP和IP是两种网络通信协议,以这两种协议为核心协议的网络总称为TCP/IP网络。人们常说的国际互联网或因特网就是一种TCP/IP网络,大多数企业的内部网也是TCP/IP网络。 作为一名学习计算机的学生,我们一定要对TCP/IP协议进行深刻的解析。通过对协议的分析进一步了解网络上数据的传送方式和网络上出现的问题的解决方法。本实验就是对文件传输协议进行分析来确定FTP协议工作方式。 目的:通过访问FTP:202.207.112.32,向FTP服务器上传和下载文件。用抓包工作来捕捉数据在网络上的传送过程。为的方便数据包的分析,通过上传一个内容为全A的TXT文件,来更直观的分析文件传输的过程。 过程: 1.在本机上安装科莱抓包软件 2.对科莱进行进滤器的设置(arp、ftp、ftp ctrl、ftp data) 3.通过运行CMD窗口进行FTP的访问 4.用PUT和GET进行文件的上传与下载 5.对抓到的包进行详细的分析 CMD中的工作过程: C:\Documents and Settings\Administrator>ftp 202.207.112.32 Connected to 202.207.112.32. 220 Serv-U FTP Server v5.1 for WinSock ready... User (202.207.112.32:(none)): anonymous //通过匿名方式访问 331 User name okay, please send complete E-mail address as password. Password: 230 User logged in, proceed. ftp> cd 学生作业上传区/暂存文件夹 250 Directory changed to /学生作业上传区/暂存文件夹 ftp> put d:\aaa123.txt //上传aaa123.txt文件 200 PORT Command successful. 150 Opening ASCII mode data connection for aaa123.txt.

IP协议详解

IP协议详解 IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。 IP头部信息。IP头部信息出现在每个IP数据报中,用于指定IP通信的源端IP 地址、目的端IP地址,指导IP分片和重组,以及指定部分通信行为。 IP数据报的路由和转发。IP数据报的路由和转发发生在除目标机器之外的所有主机和路由器上。他们决定数据报是否应该转发以及如何转发。 IP服务的特点 IP协议为上层协议提供无状态、无连接、不可靠的服。 无状态指的是IP通信双方不同步传输数据的状态信息(IP数据报的发送、传输和接收相互独立)。 缺点:无法处理乱序和重复的IP数据报。—–只要收到IP数据报(分片则先重组),就将数据报的数据部分交给上层不管重复还是无序 TCP协议则可以处理乱序的,重复的报文段。 优点:简单高效。UDP和HTTP(一个浏览器的连续两次网页请求之间没有任何关联,被web服务器独立处理)都是无状态协议。 无连接是指IP通信双方都不长久地维持对方的任何信息。这样,上层协议每次发数据时,都要指明对方的IP地址。

(IPv6 traffic class->通信类型flow lable->流标签payload length->净荷长度不包括固定头部长度hop limit->跳数限制和TTL相同) 1.version 4位版本号 2.IHL 4位头部长度—标示IP头部有多少个4字节,IP头部最长是60字节。 3.Type of service(TOS) 8位服务类型 包含3位优先权字段,4位TOS字段和1位保留字段(必须置0。 4位TOS表示:最小延时,最大吞吐量,最高可靠性和最小费用。 ssh和telnet这样的登陆程序需要的是最小延时服务。 文件传输程序ftp需要最大吞吐量的服务。 4.Total length 16位总长度—-整个IP数据报的长度。 IP数据报的最大长度为65535(2的16次方-1)字节。(注意是字节) 由于MTU的限制,超过MTU的数据报将被分片传输 5.identification 16位标识—唯一地标识主机发送的每一个数据报,初始值系

ip协议字段解析

IP包的协议字段 switch(Protocol){ case 0: return "HOPOPT"; //IPv6逐跳选项 case 1: return "ICMP"; //控制消息 case 2: return "IGMP"; //组管理 case 3: return "GGP"; //网关对网关 case 4: return "IP in IP"; //IP中的IP(封装) case 5: return "ST"; //流 case 6: return "TCP"; //TCP传输控制 case 7: return "CBT"; //CBT case 8: return "EGP"; //外部网关协议 case 9: return "IGB"; //任何专用内部网关(Cisco将其用于IGRP)case 10: return "BBN-RCC-MON"; //BBN RCC监视 case 11: return "NVP-II"; //网络语音协议 case 12: return "PUP"; //PUP case 13: return "ARGUS"; //ARGUS case 14: return "EMCON"; //EMCON case 15: return "XNET"; //跨网调试器 case 16: return "CHAOS"; //Chaos case 17: return "UDP"; //用户数据报 case 18: return "MUX"; //多路复用 case 19: return "DCN-MEAS"; //DCN测量子系统 case 20: return "HMP"; //主机监视 case 21: return "PRM"; //数据包无线测量 case 22: return "Xns_IDP"; //XEROX NS IDP case 23: return "TRUNK-1"; //第1主干 case 24: return "TRUNK-2"; //第2主干 case 25: return "LEAF-1"; //第1叶 case 26: return "LEAF-2"; //第2叶 case 27: return "RDP"; //可靠数据协议 case 28: return "IRTP"; //Internet可靠事务 case 29: return "ISO-TP4"; //ISO传输协议第4类 case 30: return "NETBLT"; //批量数据传输协议 case 31: return "MFE-NSP"; //MFE网络服务协议 case 32: return "MERIT-INP"; //MERIT节点间协议 case 33: return "SEP"; //顺序交换协议 case 34: return "3PC"; //第三方连接协议 case 35: return "IDPR"; //IDPR域间策略路由协议 case 36: return "XTP"; //XTP case 37: return "DDP"; //数据报传送协议 case 38: return "IDPR-CMTP"; //IDPR控制消息传输协议 case 39: return "TP++"; //TP++传输协议 case 40: return "IL"; //IL传输协议 case 41: return "IPv6"; //IPv6

详解TCPIP协议总结

TCP/IP 协议 TCP/IP 不是一个协议,而是一个协议族的统称。里面包括IP 协议、 IMCP 协议、TCP 协议。 这里有儿个需要注意的知识点: ?互联网地址:也就是IP 地址,一般为网络号+子网号+主机号 ?域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP 地址 ? RFC : TCP/IP 协议的标准文档 ?端口号:一个逻辑号码,IP 包所带有的标记 ? Socket :应用编程接口 数据链路层的工作特性: ?为IP 模块发送和接收IP 数据报 ?为ARP 模块发送ARP 请求和接收ARP 应答(ARP :地址解析协议,将IP 地 址转换 成MAC 地址) ? 为RARP 发送RARP 请求和接收RARP 应答 接下来我们了解一下TCP/IP 的工作流 程: 数据链路层从ARP 得到数据的传递信息,再从IP 得到具体的数据信息 IP 协议 IP 协议头当中,最重要的就是TTL (IP 允许通过的最大网段数量)字 段(八位),规定该数据包能穿过儿个路山之后才会被抛弃。 IP 路由选择 版本首部长圍区分服务 总长度 标识 标志 片偏移 生存时间 协议 首部检验利 源地址 目的地址 可选字段(长度可变) 填充 I 4 8 24 31 部分 16 19 数 据 部 分 固 皆定 部分 发送在前 IP 数据

箝古畫帕igiKMudeu ICMP 协议(网络控制文协议) 将IP 数据包不能传送的错误信息传送给主机 查询报文 1. ping 査询:主机是否可达,通过计算间隔时间和传送多少个包的数量 2. 子网掩码 3. 时间戳:获得当询时间 优元幔萦匹配 ?SEE 失? ■ 匹杞同孑協1的跨用器 ?成切? 发送冷總民避 丿 1 丿 V / 、 Z 、 匹配同网号杓路Fh 器 ?或6 发送IP SS 冕包绘跑国器 1 丿 1 丿 芨索SKIAB^田 发迭IP 数据给淫呂器 艾败 丢弃担个? ARP 协议工作原理 ( e?*Aw>?a? r^?WARpr?s 爸旁丰0?榜 ?ommeu

tcp,ip详解卷1,协议,下载

竭诚为您提供优质文档/双击可除tcp,ip详解卷1,协议,下载 篇一:tcp_ip协议详解 tcp/ip协议详解 这部分简要介绍一下tcp/ip的内部结构,为讨论与互联网有关的安全问题打下基础。tcp/ip协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如t1和x.25、以太网以及Rs-232串行接口)之上。确切地说,tcp/ip协议是一组包括tcp协议和ip协议,udp (userdatagramprotocol)协议、icmp (internetcontrolmessageprotocol)协议和其他一些协议的协议组。 tcp/ip整体构架概述 tcp/ip协议并不完全符合osi的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而tcp/ip通讯协议采用了4层的层级结构,每一层都呼叫它的

下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(smtp)、文件传输协议(Ftp)、网络远程访问协议(telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(tcp)、用户数据报协议(udp)等,tcp和udp给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(ip)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如ethernet、serialline等)来传送数据。 tcp/ip中的协议 以下简单介绍tcp/ip中的协议都具备什么样的功能,都是如何工作的: 1.ip 网际协议ip是tcp/ip的心脏,也是网络层中最重要的协议。 ip层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---tcp或udp层;相反,ip层也把从tcp或udp层接收来的数据包传

TCPIP协议详解卷1学习笔记-IP校验和与ICMP协议

TCP/IP协议详解卷1学习笔记-IP校验和与ICMP协议 IP数据报的检验和: 为了计算一份数据报的I P检验和,首先把检验和字段置为0。然后,对首部中每个16 bit 进行二进制反码求和(整个首部看成是由一串16 bit的字组成),结果存在检验和字段中。当 收到一份I P数据报后,同样对首部中每个16 bit进行二进制反码的求和。由于接收方在计算过 程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错, 那么接收方计算的结果应该为全1。 这个是原文。看一些网络程序的源码时,发现几乎都是用同一种程序来计算检验和的: USHORT checksum(USHORT *buffer, int size) { unsigned long cksum=0; while(size >1) { cksum+=*buffer++; size -=sizeof(USHORT); } if(size ) { cksum += *(UCHAR*)buffer; } cksum = (cksum >> 16) + (cksum & 0xffff); cksum += (cksum >>16); return (USHORT)(~cksum); } 摘自 ping 源码。 大家都用的东西看来是不会错的了,不过还是要按协议说的方法用笨办法试试看。 今天看的是ICMP协议,基本格式: |-------- IP 数据报 ------------+ +--20 bytes --+----------------+

+ IP首部 + ICMP 报文 + +------------------------------+ ICMP报文还是通过IP报文发送出去的。 ICMP的格式: +----8---+----8---+-------- --------+ + 8位类型 + 8位代码 + 16位检验和 + +-----------------------------------+ + 不同类型有不同的内容和长度 + +-----------------------------------+ ICMP的报文类型有很多种,而每种类型里又有多种代码。 报文分查询报文和差错报文。差错报文不会嵌套产生。差错报文中包含导致差错的IP首部和数据部分的前8个字节,并据此与具体的协议和进程联系起来。因为TCP和UDP的前8个字节中包含有源端口和目的端口,可以据此查找到与此联系的用户进程。大部分的实现中只返回8个字节,有系统返回的是前64个字节。如果是UDP报文产生差错,而又没有预先通过 connect与指定端口联系起来,用户进程将收不到这个差错报文。内核在处理后将丢弃。 讨论了部分tftp实现中的的简单的差错重传机制,等待5秒重传,已被RFC 禁用。我在串口通讯中用的还是这种简单的重传方式,看来要改了。 详细讨论了时间截请求与回复的过程,以及地址掩码请求与回应数据包的格式。对端口不可达错误,差错报文为: +----------------- 端口不可达的ICMP差错报文 -------------------------------+ + 以太网首部 + IP首部 + ICMP首部 + 产生差错的IP首部 + IP 报数据域 + +- 14 bytes +--- 20 bytes ---+ 8 bytes +---- 20 bytes ----+-- 8 bytes -+ 根据标准,列出5种情况下,不会产生差错报文,基本上都是为了避免出现ICMP广播风暴的。 这个协议因为类型与具体的细节太多,比较的费事,不过也比较简单。如果不做协议的分析,倒不需要对每个类型都搞得十分清楚。好像这个并没有多少利用的空间。不过如果在一个主机试图发起连接时,发送一个伪装的ICMP包告诉它“端口不可达”,结果会怎么样?值得试试。 第2卷第13章 HTTP协议

tcp-ip协议详细讲解

TCP/IP协议详解 这部分简要介绍一下TCP/IP的部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 TCP/IP中的协议 以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的: 1. IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一

ethereal使用以及IP协议解析

1.主界面介绍 随着3G的普及,手机数据业务量(如浏览器,彩信等)的日益增长,对手机侧网络包的分析显得越来越重要。 一般来说,手机数据业务的抓包工具为QXDM,在抓LOG指导里面已经有了详细参数的配置介绍(详情见《IP数据包抓取方法.doc》)。但需要注意的是,在将LOG转化为.pcap文件时,必须保证当前电脑里安装有Ethereal软件,否者PCAPGenerator这个工具不会出现。(针对使用Tools->PCAPGenerator转化.isf文件出错的情况,可以做如下尝试:先使用Tools->ISF File Converter将刚刚保存的.isf文件其转化为.dlf文件,然后使用Tools->PCAPGenerator将.dlf 文件转换成.pcap文件)。 这里主要针对抓到IP包后,怎么样使用Ethereal软件对IP包进行分析,以及一些简单的TCP/IP协议介绍。 直接点击打开.pcap文件,可以看到如下图1所示界面。 图1 中间彩色的区域就是IP数据包。从左到右,字段分别是No.,Time,Source,Destination,Protocol以及Info。IP包是按照流经手机网卡的时间顺序排列的,NO.是标示抓到的IP包是该抓包文件中的第几个,Time则是计算的所有包与第一个包之间的间隔时间,单位毫秒ms。Source和Destination字段分别表示IP包的源地址和目的地址。Protocol显示当前IP包的上层协议,如TCP,UDP,如果应用层协议头也在该IP包中,优先显示应用层协议,如RTSP,HTTP等。 注意中间的彩色显示,不同的颜色代表该IP包中包含了不同内容,这是方便我们对IP 包查看。如上面的大红色,表示的是该数据包损坏,可能是只有一半的内容,也可能是指在该包与其他包的序号不连续(指在协议层不连续),中间可能出现丢包的现象。很多时候,Ethereal是用不同颜色来区分上层协议的不同(注意IP包中必须包含上层协议的包头,才能以该应用的颜色进行标示。因为很多数据包比较大,是通过几个IP包进行传输的,那么就只有第一个包是以上层应用的颜色进行标示,后面的显示为协议层颜色)。如下图2中,可以看到DNS是以淡蓝色标示,ICMP是以黑色标示,TCP的同步(SYN&FIN建立TCP连接的三次握手)以深灰色进行标示,而其它的TCP包则以浅灰色标示,HTTP协议使用绿色进

TCPIP协议详解-配置选项

附录E 配置选项 我们已经看到了许多冠以“依赖于具体配置”的T C P/I P特征。典型的例子包括是否使能U D P的检验和(11 .3节),具有同样的网络号但不同的子网号的目的I P地址是本地的还是非本地的(1 8.4节)以及是否转发直接的广播(1 2.3节)。实际上,一个特定的T C P/I P实现的许多操作特征都可以被系统管理员修改。 这个附录列举了本书中用到的一些不同的T C P/I P实现可以配置的选项。就像你可能想到的,每个厂商都提供了与其他实现不同的方案。不过,这个附录给出的是不同的实现可以修改的参数类型。一些与实现联系紧密的选项,如内存缓存池的低水平线,没有描述。 这些描述的变量只用于报告的目的。在不同的实现版本中,它们的名字、默认值、或含义都可以改变。所以你必须检查你的厂商的文档(或向他们要更充分的文档)来 了解这些变量实际使用的单词。 这个附录没有覆盖每次系统引导时发生的初始化工作:对每个网络接口使用i f c o n f i g 进行初始化(设置I P地址、子网掩码等等)、往路由表中输入静态路由等等。这个附录集中描述了影响T C P/I P操作的那些配置选项。 E.1 BSD/386 版本1.0 这个系统是自从4 .2B S D以来使用的“经典”B S D配置的一个例子。因为源代码是和系统一起发布的,所以管理员可以指明配置选项,内核也可重编译。存在两种类型的选项:在内核配置文件中定义的常量(参见c o n f i g( 8)手册)和在不同的C源文件中的变量初始化。大胆而又经验丰富的管理员也可以使用排错工具修改正在运行的内核或者内核的磁盘映像中这些变量的值,以避免重新构造内核。 下面列出的是在内核配置文件中可以修改的常量。 IPFORWARDING 这个常量的值初始化内核变量i p f o r w a r d i n g。如果值为0(默认),就不转发I P数据报。如果是1,就总是使能转发功能。 GATEWAY 如果定义了这个常量,就使得I P F O R WA R D I N G的值被置为1。另外,定义这个常量还使得特定的系统表格(A R P快速缓存表和路由表)更大。 SUBNETSARELOCAL 这个常量的值初始化内核变量s u b n e t s a r e l o c a l。如果值为1(默认),一个和发送主 I P地址被认为是本地的。如果是0,只有在同一个子

相关主题