TCPIP网络协议族简单的入门自学手册内有详细实验结果
- 格式:docx
- 大小:17.51 KB
- 文档页数:17
竭诚为您提供优质文档/双击可除tcpip协议详解,pdf篇一:tcpip详解-卷一-协议-3.11小结3.11小结本章开始描述了ip首部的格式,并简要讨论了首部中的各个字段。
我们还介绍了ip路由选择,并指出主机的路由选择可以非常简单:如果目的主机在直接相连的网络上,那么就把数据报直接传给目的主机,否则传给默认路由器。
在进行路由选择决策时,主机和路由器都使用路由表。
在表中有三种类型的路由:特定主机型、特定网络型和默认路由型。
路由表中的表目具有一定的优先级。
在选择路由时,主机路由优先于网络路由,最后在没有其他可选路由存在时才选择默认路由。
ip路由选择是通过逐跳来实现的。
数据报在各站的传输过程中目的ip地址始终不变,但是封装和目的链路层地址在每一站都可以改变。
大多数的主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器。
a类和b类地址一般都要进行子网划分。
用于子网号的比特数通过子网掩码来指定。
我们为此举了一个实例来详细说明,即作者所在的子网,并介绍了变长子网的概念。
子网的划分缩小了internet路由表的规模,因为许多网络经常可以通过单个表目就可以访问了。
接口和网络的有关信息通过ifconfig和netstat命令可以获得,包括接口的ip地址、子网掩码、广播地址以及mtu等。
在本章的最后,我们对internet协议族潜在的改进建议—下一代ip进行了讨论。
习题3.1环回地址必须是127.0.0.1吗?3.2在图3-6中指出有两个网络接口的路由器。
3.3子网号为16bit的a类地址与子网号为8bit的b类地址的子网掩码有什么不同?3.4阅读RFc1219[tsuchiya1991],学习分配子网号和主机号的有关推荐技术。
3.5子网掩码255.255.0.255是否对a类地址有效?3.6你认为为什么3.9小节中打印出来的环回接口的mtu要设置为1536?3.7tcp/ip协议族是基于一种数据报的网络技术,即ip 层,其他的协议族则基于面向连接的网络技术。
.实验一网络常用命令及协议分析工具软件使用【实验目的】⏹常见网络命令的使用;⏹掌握常用的网络分析及管理软件使用方法;⏹加深对协议、协议封装及协议数据单元的理解。
【实验内容】⏹学习使用常见的网络命令,并了解相关的参数;⏹通过前两项的实验内容,思考如下问题:什么是协议、协议封装及协议数据单元?1.常见网络命令的使用Windows XP 内置了很多网络测试工具,使我们管理网络更加简便、有效。
运行环境在DOS 命令提示符下(开始→运行→ cmd 或者开始→所有程序→附件→命令提示符),这些实用程序均可以在命令标识后加斜线和问号,得到该命令的功能、参数和使用说明的帮助信息,例如:C:\>ipconfig /?。
一些常用网络测试命令有以下几个:(1)PingPing是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最常用的命令。
Ping向目标主机(地址)发送一个32 字节的IP 数据报到目标站点的主机上,记录下主机的响应时间。
从而判断网络的响应时间和本机是否与目标主机(地址)连通。
如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线故障,网络适配器配置不正确,IP地址不正确。
如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证本机与目标主机间存在一条连通的物理路径。
命令格式:ping IP地址或主机名[-t] [-a] [-n count] [-l size]参数含义:-t不停地向目标主机发送数据;-a 以IP地址格式来显示目标主机的网络地址;-n count 指定要Ping多少次,具体次数由count来指定;-l size 指定发送到目标主机的数据包的大小。
例如:ping 202.116.24.100 所得结果如下:(2)ipconfigipconfig 实用程序可以测试出本地主机的IP 地址、网卡地址等信息,可以查看配置的情况。
实验一TCP/IP 属性设置与测试【一】实验目的1. 通过实验学习局域网接入Internet 时的TCP/IP 属性的设置;2. 掌握ping 、ipconfig 等命令的使用;3. 熟悉使用相关命令测试和验证TCP/IP 配置的正确性及网络的连通性。
【二】实验要求1. 设备要求:计算机2台以上(装有Windows 2000/XP/2003操作系统、装有网卡已联网);2. 分组要求:2人一组,合作完成。
【三】实验预备知识1. IP 地址、子网掩码、默认网关、DNS 服务器(1)IP 地址IP 地址(IP IP Address Address )就是给每个连接在Internet 上的主机分配的一个32bit 二进制地址,为了方便人们的使用,IP 地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节,IP 地址它就像一个人可以合法的在社会上办理银行卡、移动电话等社会活动所需要一个身份证号标识一样。
所有的IP 地址都由国际组织NIC (Network Information Center )负责统一分配,目前全)负责统一分配,目前全世界共有三个这样的网络信息中心:InterNIC (负责美国及其他地区)、ENIC (负责欧洲地区)、APNIC (负责亚太地区),我国申请IP 地址要通过APNIC ,APNIC 的总部设在澳大利亚布里斯班。
申请时要考虑申请哪一类的IP 地址,然后向国内的代理机构提出。
(2)子网掩码子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP 地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。
子网掩码不能单独存在,它必须结合IP 地址一起使用。
子网掩码只有一个作用,就是将某个IP 地址划分成网络地址和主机地址两部分。
(3)默认网关默认网关(Default Default GatewayGateway )是一个可直接到达的IP 路由器的IP 地址,配置默认网关可以在IP 路由表中创建一个默认路径,一台主机可以有多个网关。
TCPIP协议与网络编程实验指导书实验一Ethernet帧的封装与解析1.实验目的:2.掌握数据链路层的基本原理,通过封装与解析标准格式的Ethernet帧,了解帧结构中各个字段的含义和用途;3.掌握Ethernet帧的CRC校验的编程过程。
2. 实验学时2学时3.实验类型综合性实验4.实验原理帧结构帧是网络通信的基本传输单元,熟悉帧结构对于理解网络协议的概念、协议执行过程以及网络层次结构具有重要的意义。
本次作业的目的是应用数据链路层与介质访问控制子层的知识,根据数据链路层的基本原理,通过封装和解析Ethernet 帧,了解Ethernet 帧结构中各个字段的含义,从而深入理解Internet 协议族中的最底层协议——数据链路层协议。
网络节点间发送数据都要将它放在帧的有效部分,分为一个或多个帧进行传送。
节点之间可靠的帧传输不仅是通信的保障,而且还可以实现网络控制等各种功能。
1980年,Xerox、DEC与Intel等三家公司合作,第一次公布了Ethernet的物理层、数据链路层规范;1981年Ethernet V2.0规范公布;IEEE 802.3 标准是在Ethernet V2.0规范的基础上制定的,IEEE 802.3针对整个CSMA/CD网络,它的制定推动了Ethernet技术的发展和广泛应用。
Ethernet V2.0规范和IEEE802.3标准中的Ethernet帧结构有一些差别,这里我们按Ethernet V2.0的帧结构进行讨论。
图1给出了Ethernet帧结构图。
图 1.1 IEEE802.3标准Ethernet帧结构如图1.1所示,802.3标准中Ethernet帧结构由以下几个部分组成:(1)前导码和帧前定界符前导码由56位(7Byte)的10101010…1010比特序列组成,帧前定界符由一个8位的字节组成,其比特序列位10101011。
前导码用于使接收端同步,不计入帧头长度。
实验一常用网络命令的使用与TCP/IP协议配置(3学时)一、实验目的:1.了解各种查看网络参数的方法;2.认识IE 的功能与一般使用方法,理解IE 各项参数的意义并会合理设置;3.了解ping命令各项参数的含义,掌握ping命令的使用方法,了解ping命令的工作原理。
4.掌握Tracert命令的使用方法,掌握pathping命令的使用方法,了解Tracert和pathping命令的工作原理。
5.了解ARP命令的主要功能,掌握ARP命令的使用方法,了解ARP命令的工作原理。
6.掌握netstat网络命令的使用方法,了解netstat网络命令的工作原理。
二、实验设备:1.计算机,网卡2.交换机(或集线器)3.网线4.路由器5.网络三、实验内容及实验步骤:(一)网络参数的查看(以windows XP为例)1.方法一(1)在桌面上右击“网上邻居”,从快捷菜单中选择“属性”,如图1.1 所示;图1.1 点击网上邻居查看网络属性(2)从打开的窗口中右击“本地连接”,从快捷菜单中选择“属性”,打开如图1.2 所示的对话框;图1.2 本地连接属性在“本地连接属性”对话框中,有很多网络组件,可以选定某组件,然后点击“属性”或“删除”进行相应的操作,也可以根据需要点击“安装”,安装新的网络组件。
“ Microsoft 网络客户端” ---- 是Microsoft 公司在Windows 软件中内置的一个客户端程序,是Windows 环境下进行网络通讯的客户端基础,如果不安装“ Microsoft 网络客户端”,大部分网络功能无法实现;“ Microsoft 网络的文件和打印机共享” ---- 安装本组件后,将允许用户将本机的软件(磁盘上的文件)和打印机作为共享资源,提供给网络中其它的计算机。
网络中拥有合适权限的其它计算机将可以使用本机提供的软件或打印机;“ Internet 协议(TCP/IP )” ---- 表示在本机上已经安装了TCP/IP 协议,点击“属性”按钮后,将进入TCP/IP 的属性设置对话框。
tcp/ip入门(认真读完后会对会对互连网有一个深刻的认识)[1][入库:2006年2月23日][更新:2007年3月24日]本文简介:首页下页尾页[1][2]作者:rickhao1. 前言本文用于介绍TCP/IP协议的最基本内容,十分简单,也十分基本,如果希望了解详细的内容,请参阅其它资料,这只是给初学者用的。
2. TCP/IP介绍TCP/IP通常指的是关于TCP和IP的任何东西,它是一个统称,它既可以包括其它协议,其它应用程序,还可以包括网络介质。
2.1 基本结构这个结构存在于Internet中计算机之中,它决定了计算机在网络上的动作。
2.2 名词数据块的名称会因为它处于不同的协议栈而不同。
这里给出一个总结:在以太网时,它称为一个以太网帧,在IP上时,它称为IP包,如果数据在IP和UPD之间一般称为UDP数据报,而数据如果在IP和TCP之间,则称为TCP段(或消息),而数据在应用程序中时,则称为应用程序消息。
这种定义不是绝对的,不同的文章会有不同的说法。
2.3 数据流数据流从应用程序流向TCP或UDP,我们通常知道的FTP是应用TCP协议的,而SNMP协议却是使用UDP 协议的。
数据由不同协议模块流向同一个以太网适配器。
由适配器将数据传送到网络介质上去。
上面的过程在接收方反向发生。
以太帧传送到ARP或IP模块中,而以太帧中的数据决定此数据是由IP还是由ARP处理。
如果是供IP 处理的包,则由IP模块直接传送给TCP或UPD,具体传送给谁这由IP包头决定。
而UDP包内的数据决定了应该由UPD协议上层的哪一个应用程序接收这个数据,这一点和TCP是一致的。
数据在从应用程序下传到网络时,过程比较简单,各层把在数据上加入自己的包头信息,然后传送给下一层就行了。
虽然Internet支持多种网络介质,但是一般我们都拿以太网范例。
这里我们需要记住的是以太地址是唯一的,全球唯一的。
计算机同时也拥有一个四个字节的IP地址,这个地址用于标记IP模块的地址,但对于Internet来说,IP地址不见得是唯一的。
tcpip网络与协议课后习题答案【篇一:《网络协议分析》习题答案】考给出更好的答案。
第一章1. 讨论tcp/ip成功地得到推广和应用的原因tcp/ip是最早出现的互联网协议,它的成功得益于顺应了社会的需求;darpa采用开放策略推广tcp/ip,鼓励厂商、大学开发tcp/ip产品;tcp/ip与流行的unix系统结合是其成功的主要源泉;相对iso的osi模型,tcp/ip更加精简实用;tcp/ip技术来自于实践,并在实践中不断改进。
2. 讨论网络协议分层的优缺点优点:简化问题,分而治之,有利于升级更新;缺点:各层之间相互独立,都要对数据进行分别处理;每层处理完毕都要加一个头结构,增加了通信数据量。
3. 列出tcp/ip参考模型中各层间的接口数据单元(idu)应用层/传输层:应用层报文;传输层/ip层:tcp报文段或udp分组;ip层/网络接口层:ip数据报;网络接口层/底层物理网络:帧。
4. tcp/ip在哪个协议层次上将不同的网络进行互联?ip层。
5. 了解一些进行协议分析的辅助工具可在互联网上搜索获取适用于不同操作系统工具,比如sniffer pro、wireshark以及tcpdump等。
利用这些工具,可以截获网络中的各种协议报文,并进一步分析协议的流程、报文格式等。
6. 麻省理工学院的david clark是众多rfc的设计者,在论及tcp/ip标准的形成及效果时,曾经讲过这样一段话:”we reject kings, presidents and voting. we believe in rough consensus and running code.” 你对他的观点有什么评价。
智者见智,我认为这就是“实践是检验真理的唯一标准”。
7. 你认为一个路由器最基本的功能应该包含哪些?对于网桥、网关、路由器等设备的分界已经逐渐模糊。
现代路由器通常具有不同类型的接口模块并具有模块可扩展性,由此可以连接不同的物理网络;路由表的维护、更新以及ip数据报的选路转发等,都是路由器的基本功能。
tcpip网络与协议课后习题答案【篇一:《网络协议分析》习题答案】考给出更好的答案。
第一章1. 讨论tcp/ip成功地得到推广和应用的原因tcp/ip是最早出现的互联网协议,它的成功得益于顺应了社会的需求;darpa采用开放策略推广tcp/ip,鼓励厂商、大学开发tcp/ip产品;tcp/ip与流行的unix系统结合是其成功的主要源泉;相对iso的osi模型,tcp/ip更加精简实用;tcp/ip技术来自于实践,并在实践中不断改进。
2. 讨论网络协议分层的优缺点优点:简化问题,分而治之,有利于升级更新;缺点:各层之间相互独立,都要对数据进行分别处理;每层处理完毕都要加一个头结构,增加了通信数据量。
3. 列出tcp/ip参考模型中各层间的接口数据单元(idu)应用层/传输层:应用层报文;传输层/ip层:tcp报文段或udp分组;ip层/网络接口层:ip数据报;网络接口层/底层物理网络:帧。
4. tcp/ip在哪个协议层次上将不同的网络进行互联?ip层。
5. 了解一些进行协议分析的辅助工具可在互联网上搜索获取适用于不同操作系统工具,比如sniffer pro、wireshark以及tcpdump等。
利用这些工具,可以截获网络中的各种协议报文,并进一步分析协议的流程、报文格式等。
6. 麻省理工学院的david clark是众多rfc的设计者,在论及tcp/ip标准的形成及效果时,曾经讲过这样一段话:”we reject kings, presidents and voting. we believe in rough consensus and running code.” 你对他的观点有什么评价。
智者见智,我认为这就是“实践是检验真理的唯一标准”。
7. 你认为一个路由器最基本的功能应该包含哪些?对于网桥、网关、路由器等设备的分界已经逐渐模糊。
现代路由器通常具有不同类型的接口模块并具有模块可扩展性,由此可以连接不同的物理网络;路由表的维护、更新以及ip数据报的选路转发等,都是路由器的基本功能。
实验二--配置T C P I P协议本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March实验二配置TCP/IP协议一、实验目的了解TCP/IP协议的工作原理;掌握TCP/IP协议的安装及配置方法;掌握常用的TCP/IP网络故障诊断和排除方法;二、实验环境多台装有Windows 2008 Server的计算机。
三、实验内容及步骤1、安装TCP/IP协议控制面板—>网络连接—>本地连接—>右键调出属性面板—>添加—>协议—>选择TCP/IP协议—>开始安装2、设置TCP/IP协议右击网上邻居—>属性—>右击本地连接—>属性—>选择TCP/IP协议—>属性●设置IP地址:192.168.0.机器号+10●设置子网掩码:255.255.255.0●设置默认网关:192.168.0.1●设置DNS服务器:192.168.0.13、常用网络测试命令的使用(1)PingPing是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最常用的命令。
Ping向目标主机(地址)发送一个回送请求数据包,要求目标主机收到请求后给予答复,从而判断网络的响应时间和本机是否与目标主机(地址)联通。
如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线故障,网络适配器配置不正确,IP地址不正确。
如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证本机与目标主机间存在一条连通的物理路径。
命令格式:参数含义:-t不停地向目标主机发送数据;直到用户按ctrl+c结束-a 以IP地址格式来显示目标主机的网络地址;-n count 指定要Ping多少次,具体次数由count来指定;-l size 指定发送到目标主机的数据包的大小。
实习五 TCP/IP网络协议配置一、实习目的1.了解网络基本配置中包含的协议、服务、客户端,以及基本参数,并了解各种协议的作用,以及安装方法;2.掌握Windows支持的网络协议及参数设置方法;3.练习并掌握简单网络命令的使用。
二、实习内容1.查看所在机器的主机名称和网络属性,包括网络基本配置中包含的协议、服务、客户端,以及有关的基本参数;2.修改网络配置参数,建立小组内的局域网;3.网络协议、服务、客户端等组件的安装和卸载方法;4.常用网络命令的使用。
三、预备知识1.TCP/IP协议和IP地址的有关知识;2.Windows命令方式的有关知识。
四、实习步骤1. 常用网络命令的使用提示:Windows命令使用方法:单击【开始】按钮→选择【程序】→选择【附件】→选择【命令提示符】即可打开命令操作窗口,可在命令提示符下执行Windows命令。
命令的格式一般为:“命令 /参数”,如:IPConfig /?,?参数可以查看命令的使用说明。
(1)IPConfigIPConfig命令可用于显示当前的TCP/IP配置信息,这些信息一般用来检验人工配置的TCP/IP设置是否正确。
但是,如果你的计算机和所在的局域网使用了动态主机配置协议,这个程序所显示的信息也许更加实用。
这时,IPConfig可以让你了解你的计算机是否成功的租用到一个IP地址,如果租用到则可以了解它目前分配到的是什么地址。
了解计算机当前的IP地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。
该命令用来显示当前的TCP/IP 配置,也可显示本机网卡的物理地址。
加all参数可以查看配置全部信息。
在命令行下键入:ipconfig/all ,显示类似以下信息,阅读并解释。
记录本机IP地址、MAC地址等信息(注:每台计算机配置信息不同)。
Windows IP ConfigurationHost Name . . . . . . . . . . . . : sjm(主机名)Primary Dns Suffix . . . . . . . :(DNS后缀)Node Type . . . . . . . . . . . . : Unknown(结点类型)IP Routing Enabled. . . . . . . . : No(IP路由器是否可用)WINS Proxy Enabled. . . . . . . . : NoEthernet adapter 本地连接:Connection-specific DNS Suffix . :Description . . . . : 3Com 3C920 Integrated Fast Ethernet(网卡型号)Controller (3C905C-TX Compatible)Physical Address. . . . . . . . . : 00-06-5B-75-53-C1(物理地址MAC) Dhcp Enabled. . . . . . . . . . . : No(动态IP是否可用)IP Address. . . . . . . . . . . . : 202.117.179.10(IP地址)Subnet Mask . . . . . . . . . . . : 255.255.255.0(子网掩码)Default Gateway . . . . . . . . . : 192.168.0.1(网关)DNS Servers . . . . . . . . . . . : 61.150.47.1(域名服务器IP地址) 210.27.80.3(2) ping命令Ping命令实际是通过ICMP协议来测试网络的连接情况的,即将数据发送到另一台主机,并要求在应答中返回这个数据,以确定连接的情况,所以用ping命令可以确定本地主机是否能和另一台主机通信。
By韩大卫@吉林师范大学主要学习TCP/IP协议族中传输层,网络层,链路层的协议。
总体思想:网络间的数据传输是在链路层间实现的,用户层的数据如果想进入链路层,要经过逐层封装,最后封装成以太网帧格式进行发送,这样将不同的数据都包装成以太网帧,实现了在不同网络的数据互联和通信。
例如:一个用户层数据data经过传输层TCP协议data经过网络层IP协议TCP协议data链路层以太网祯首部IP协议TCP协议data CRC以太网帧格式:目的MAC地址(6字节源MAC地址(6字节帧类型(2字节data(4 1500CRC(4 字节常见帧类型:0800: IP协议0806: ARP 协议IP报文格式:4bit协议格式4bit首部长度8bit TOS16bitlP报文总长度16bitlP报文标志16bit分片信息8bitTTL8bit上层协议16bit检验和32bit源IP地址32bit目的IP地址data上层协议:06: TCP协议01: ICMP 协议17:UDP协议TCP段格式:16bit源端口号16bit目的端口号32bit序列号32bit确认序号4bitTCP首部长度6bit保留6bit标志位。
ACK。
SYN FIN16bit窗口大小16bit检验和16bit紧急指针可选项dataUDP段格式:16bit源端口号16bit目的端口号16bitUDP长度16bit检验和dataTCP是面向连接的协议,UDP是面向不连接的协议。
TCP:提供可靠的,有连接的传输UDP:提供不可靠的,无连接的传输TCP是面向连接的协议,所以在双方通信前要建立连接,建立连接的过程分为三部,简称三次握手:第一次:A发送SYN,1000(0,mss<1460>第二次:B 发送SYN, 8000(0,ACK 1001, mss<1024>第三此:A发送ACK 8001从TCP状态迁移图中得知,这个过程中客户端的状态变化是:CLOSED----SYS_SENT----ESTABLISHED服务器端:CLOSED----LISTEN----SYS_RCVD—ESTABLISHED实例:IP 192.168.10.50.50258 > 123.125.115.43.80: Flags [S], seq 2916403917, win 14600, optio ns [mss 1460,sackOK,TS val 1163706 ecr 0,no p,wscale 4], le ngth 0 0x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 ."?.t....P....E.0x0010: 003c 0b77 4000 4006 75c2 c0a8 0a32 7b7d .<.w@.@.u....2{}0x0020: 732b c452 0050 add4 cacd 0000 0000 a002 s+.R.P ........ 〃a0 得知,SYN置位0x0030: 3908 b9b1 0000 0204 05b4 0402 080a 0011 9 .............0x0040: c1ba 0000 0000 0103 0304 ........本机向目的IP发送SYN(注:如看不懂tcpdump的输出结果,请看文档尾部的解释10:54:29.692916 IP 123.125.115.43.80 > 192.168.10.50.50258: Flags [S.], seq 3002973477, ack 2916403918, win 14600, optio ns [mss1452,sackOK ,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,no p], le ngth0 0x0000: ac81 1250 b016 0022 3f11 74b2 0800 4500 ...P..."?.t...E.0x0010: 003c 0b77 4000 3606 7fc2 7b7d 732b c0a8 .<.w@.6...{}s+..0x0020: 0a32 0050 c452 b2fd bd25 add4 cace a012 .2.P.R...%......〃a012ACK,SYN0x0030: 3908 ad10 0000 0204 05ac 0402 0101 0101 9 ..............0x0040: 0101 0101 0101 0101 0101 ........服务器向本机发送ACK,同时发送SYN10:54:29.692963 IP 192.168.10.50.50258 > 123.125.115.43.80: Flags [.], ack 1, win 14600, length 00x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 ."?.t....P....E.0x0010: 0028 0b78 4000 4006 75d5 c0a8 0a32 7b7d .(.x@.@.u....2{}0x0020: 732b c452 0050 add4 cace b2fd bd26 5010 s+.R.P.......&P.//5010 A CK0x0030: 3908 b99d 0000本机向服务器发送ACK至此,本机与服务器双方的连接就连立起来了。
关闭连接是分为四部,简称四次握手。
实例如下:IP 192.168.10.50.39309 > 123.125.115.126.80: Flags [F.], seq 1094, ack 188, win 15544, length 00x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 ."?.t....P....E.0x0010: 0028 a994 4000 4006 d765 c0a8 0a32 7b7d .(..@.@..e...2{}0x0020: 737e 998d 0050 2b7a e5e2 4eea 2fb6 5011 s~...P+z..N./.P.0x0030: 3cb8 b9f0 0000 <..…通过5011得知,ACK,FIN置位,本机发送了FIN请求14:38:34.395871 IP 123.125.115.126.80 > 192.168.10.50.39309: Flags [.], ack 1095, win 7651, length 00x0000: ac81 1250 b016 0022 3f11 74b2 0800 4500 ...P..."?.t...E.0x0010: 0028 e970 4000 3306 a489 7b7d 737e c0a8 .(.p@.3...{}s~..0x0020: 0a32 0050 998d 4eea 2fb6 2b7a e5e3 5010 .2.P..N./.+Z..P.0x0030: 1de3 ae3f 0000 ...?..目标地址发送了5010,对本机的请求回复ACK确认。
14:38:34.396202 IP 123.125.115.126.80 > 192.168.10.50.39309: Flags [F.], seq 188, ack 1095, win 7651, length 00x0000: ac81 1250 b016 0022 3f11 74b2 0800 4500 ...P..."?.t...E.0x0010: 0028 e972 4000 3306 a487 7b7d 737e c0a8 .(.r@.3...{}s~..0x0020: 0a32 0050 998d 4eea 2fb6 2b7a e5e3 5011 .2.P..N./.+Z..P.0x0030: 1de3 ae3e 0000 ...>..目标地址也发送了FIN请求。
14:38:34.396235 IP 192.168.10.50.39309 > 123.125.115.126.80: Flags [.], ack 189, win 15544, length 00x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 ."?.t....P....E.0x0010: 0028 0000 4000 4006 80fa c0a8 0a32 7b7d .(..@.@……2{}0x0020: 737e 998d 0050 2b7a e5e3 4eea 2fb7 5010 s~...P+z..N./.P.0x0030: 3cb8 8f69 0000本机回应ACK,结束了双方的通信。
在TCP状态迁移图中,客户端的状态变化是:ESTABLISHED----FIN_WAIT1----FIN_WAIT2----TIME_WAIT----CLOSED服务器状态变化:ESTABLISHED----CLOSE_WAIT----LAST_ACK----CLOSED问题1:为什么建立连接时需要三次握手,关闭连接时需要四次?从TCP状态迁移图中得知,当服务器是{CLOSE_WAIT}这个状态时,可能还有数据要传输,稍后再关闭,数据传输全部完成后发送FIN,进入{LAST_ACK}状态。
一个实例:在ping 192.168.10.1时,如果arp中有没此地址的缓存表那么需要发送ARP数据包在局域网内进行广播,寻找目的MAC地址,对于广播范围的控制,可使用VLAN技术。
ARP协议:IP地址和对应MAC地址映射协议。
ARP协议格式:16bit硬件类型(0x0001为MAC地址16bit协议类型(0x0080为IP协议8bit硬件地址长度(MAC为6 8bit协议长度(IPv4为48bit操作码源硬件地址源IP地址目的硬件地址目的IP地址#tcpdump -ni wla n0 -XXARP, Request who-has 192.168.10.50 tell 192.168.10.1, length 280x0000: ffff ffff ffff 0022 3f11 74b2 0806 0001 ……."?.t..…//0806 是ARP 请求/应答0x0010: 0800 0604 0001 0022 3f11 74b2 c0a8 0a01 ……."?.t..…〃000是ARP 请求0x0020: 0000 0000 0000 c0a8 0a32 (2ARP, Reply 192.168.10.50 is-at ac:81:12:50:b0:16, length 280x0000: 0022 3f11 74b2 ac81 1250 b016 0806 0001 ."?.t....P ……0x0010: 0800 0604 0002 ac81 1250 b016 c0a8 0a32 ........ P..…2//00是ARP 应答0x0020: 0022 3f11 74b2 c0a8 0a01 ."?.t..…在内核执行ping时,对IP地址在路由表中进行IP选路,# route -n内核IP路由表目标网关子网掩码标志跃点引用使用接口0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 wla n0169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wla n0192.168.10.0 0.0.0.0 255.255.255.0 U 2 0 0 wla n0先匹配本机地址,再匹配网络地址,最后交给默认网关,由网关进行路由。