TCPIP网络协议族简单的入门自学手册_第1页
TCPIP网络协议族简单的入门自学手册_第2页
TCPIP网络协议族简单的入门自学手册_第3页
TCPIP网络协议族简单的入门自学手册_第4页
TCPIP网络协议族简单的入门自学手册_第5页
已阅读5页,还剩10页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、By 韩大卫 吉林师范大学主要学习 TCP/IP协议族 中传输层 ,网络层,链路层 的协议。总体思想:网络间的数据传输是在链路层间实现的 , 用户层的数据如果想进入链路层 , 要经 过逐层封装 , 最后封装成以太网帧格式进行发送 ,这样将不同的数据都包装成以太网 帧,实现了在不同网络的数据互联和通信。例如 :一个用户层数据 data经过传输层 TCP 协议 data经过网络层 IP协议 TCP协议 data链路层以太网祯首部 IP协议 TCP协议 data CRC以太网帧格式 : 目的 MAC 地址(6字节源 MAC 地址(6字节帧类型 (2字节data(46 1500CRC(4字节常见帧类型

2、 :0800: IP 协议0806: ARP 协议IP报文格式:4bit协议格式 4bit首部长度 8bit TOS16bitIP报文总长度16bitIP 报文标志 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紧急指针可

3、选项dataUDP 段格式:16bit 源端口号 16bit 目的端口号16bitUDP 长度 16bit 检验和dataTCP是面向连接的协议 ,UDP 是面向不连接的协议。TCP: 提供可靠的 ,有连接的传输UDP:提供不可靠的 ,无连接的传输TCP是面向连接的协议 , 所以在双方通信前要建立连接 , 建立连接的过程分为 三部,简称三次握手 : 第一次: A 发送 SYN,1000(0,mss第二次: B 发送 SYN, 8000(0,ACK 1001, mss第三此:A发送 ACK 8001从 TCP状态迁移图中得知 , 这个过程中客户端的状态变化是 :CLOSEDSYS_SENTEST

4、ABLISHED服务器端 :CLOSEDLISTENSYS_RCVDESTABLISHED实例:IP 192.168.10.50.50258 123.125.115.43.80: Flags S, seq 2916403917, win 14600, options mss 1460,sackOK,TS val 1163706 ecr 0,nop,wscale 4, length 0 0x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 .?.tPE.0x0010: 003c 0b77 4000 4006 75c2 c0a8 0a32 7b7d . 1

5、92.168.10.50.50258: Flags S., seq3002973477, ack 2916403918, win 14600, options mss 1452,sackOK,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop, length0 0x0000: ac81 1250 b016 0022 3f11 74b2 0800 4500 .P.?.t.E.0x0010: 003c 0b77 4000 3606 7fc2 7b7d 732b c0a8 . 123.125.115.43.80: Flags ., ack

6、1, win14600, length 00x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 .?.tPE.0x0010: 0028 0b78 4000 4006 75d5 c0a8 0a32 7b7d .(.x.u20x0020: 732b c452 0050 add4 cace b2fd bd26 5010 s+.R.P&P./5010 A CK0x0030: 3908 b99d 0000本机向服务器发送 ACK至此 ,本机与服务器双方的连接就连立起来了。 关闭连接是分为四部 , 简称四次握手。实例如下:IP 192.168.10.50.3930

7、9 123.125.115.126.80: Flags F., seq 1094, ack 188, win15544, length 00x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 .?.tPE.0x0010: 0028 a994 4000 4006 d765 c0a8 0a32 7b7d .(.e.20x0020: 737e 998d 0050 2b7a e5e2 4eea 2fb6 5011 s.P+z.N./.P.0x0030: 3cb8 b9f0 0000 192.168.10.50.39309: Flags ., ack 1095,

8、 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.

9、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、10.50.39309 123.125.115.126.80: Flags ., ack 189, win 15544, length 00x0000: 0022 3f11 74b2 ac81 1250 b016 0800 4500 .?.tPE.0x0010: 0028 0000 4000 4006 80fa c0a8 0a32 7b7d .(.20x0020: 737e 998d 0050 2b7a e5e3 4eea 2fb7 5010 s.P+z.N./.P.0x0030: 3cb8 8f69 0000本机回应 ACK, 结束了双方的通信。在 TCP状态迁移图中 , 客户端的状态变化是

11、 :ESTABLISHEDFIN_WAIT1FIN_WAIT2TIME_WAITCLOSED服务器状态变化 :ESTABLISHEDCLOSE_WAITLAST_ACKCLOSED问题 1: 为什么建立连接时需要三次握手 , 关闭连接时需要四次 ?从 TCP状态迁移图中得知 , 当服务器是 CLOSE_WAIT 这个状态时 ,可能还有 数据要传输 ,稍后再关闭 ,数据传输全部完成后发送 FIN,进入 LAST_ACK 状态。一个实例:在 ping 192.168.10.1 时, 如果 arp中有没此地址的缓存表那么需要发送 ARP数据包在局域网内进行广播 , 寻找目的 MAC 地址, 对于广

12、播范围的控制 ,可使用 VLAN 技术。ARP协议: IP地址和对应 MAC 地址映射协议。ARP协议格式 : 16bit硬件类型(0x0001为MAC 地址 16bit协议类型(0x0080为 IP协议8bit硬件地址长度 (MAC 为6 8bit 协议长度(IPv4为 48bit操作码 源硬件地址 源 IP 地址 目的硬件地址 目的 IP 地址#tcpdump -ni wlan0 -XXARP, Request who-has 192.168.10.50 tell 192.168.10.1, length 280x0000: ffff ffff ffff 0022 3f11 74b2 08

13、06 0001 ?.t /0806 是 ARP 请求/应答0x0010: 0800 0604 0001 0022 3f11 74b2 c0a8 0a01 ?.t/000是1 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 .?.tP0x0010: 0800 0604 0002 ac81 1250 b016 c0a8 0a32 P 2/000是2 AR

14、P 应答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 wlan0169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0192.168.10.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0先匹配本机地址 ,再匹配网络地址 , 最后交给默认网关 , 由网关进行路由。 如果 IP地

15、址 是本机地址 ,那么经过 lo回环到本机 :ping 192.168.10.50PING 192.168.10.50 (192.168.10.50 56(84 bytes of data.64 bytes from 192.168.10.50: icmp_req=1 ttl=64 time=0.048 ms64 bytes from 192.168.10.50: icmp_req=2 ttl=64 time=0.032 ms。- 192.168.10.50 ping statistics -11 packets transmitted, 11 received, 0% packet loss

16、, time 9996ms# tcpdump -ni lotcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on lo, link-type EN10MB (Ethernet, capture size 65535 bytes16:59:53.068568 IP 192.168.10.50 192.168.10.50: ICMP echo request, id 4194, seq 13, length 6416:59:53.068585 IP 192.168.10.50 19

17、2.168.10.50: ICMP echo reply, id 4194, seq 13, length 6416:59:54.068539 IP 192.168.10.50 192.168.10.50: ICMP echo request, id 4194, seq 14, length 64或者:$ ping 127.12.1.1PING 127.12.1.1 (127.12.1.1 56(84 bytes of data.64 bytes from 127.12.1.1: icmp_req=1 ttl=64 time=0.049 ms64 bytes from 127.12.1.1:

18、icmp_req=2 ttl=64 time=0.030 ms64 bytes from 127.12.1.1: icmp_req=3 ttl=64 time=0.032 ms64 bytes from 127.12.1.1: icmp_req=4 ttl=64 time=0.039 ms64 bytes from 127.12.1.1: icmp_req=5 ttl=64 time=0.035 ms64 bytes from 127.12.1.1: icmp_req=6 ttl=64 time=0.035 msC- 127.12.1.1 ping statistics -6 packets

19、transmitted, 6 received, 0% packet loss, time 4997ms# tcpdump -ni lo/ 在 tcpdump -ni lo 中可以显示出相应信息。tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on lo, link-type EN10MB (Ethernet, capture size 65535 bytes15:17:21.174084 IP 127.0.0.1 127.12.1.1: ICMP echo request,

20、 id 14317, seq 1, length 6415:17:21.174106 IP 127.12.1.1 127.0.0.1: ICMP echo reply, id 14317, seq 1, length 6415:17:22.173979 IP 127.0.0.1 127.12.1.1: ICMP echo request, id 14317, seq 2, length 6415:17:22.174001 IP 127.12.1.1 127.0.0.1: ICMP echo reply, id 14317, seq 2, length 6415:17:23.173980 IP

21、127.0.0.1 127.12.1.1: ICMP echo request, id 14317, seq 3, length 6415:17:23.173997 IP 127.12.1.1 127.0.0.1: ICMP echo reply, id 14317, seq 3, length 64C6 packets captured12 packets received by filter0 packets dropped by kernel如果 IP 地址是本网段地址 ,比如 192.168.10.53 那么可交 0.0.0.0,0.0.0.0即给默 认网关, 最后从 wlan0 接口

22、发送给本机路由器。$ ping 192.168.10.53PING 192.168.10.53 (192.168.10.53 56(84 bytes of data.64 bytes from 192.168.10.53: icmp_req=1 ttl=64 time=1.91 ms64 bytes from 192.168.10.53: icmp_req=2 ttl=64 time=1.15 ms64 bytes from 192.168.10.53: icmp_req=3 ttl=64 time=1.26 ms# tcpdump -ni wlan0tcpdump: verbose outp

23、ut suppressed, use -v or -vv for full protocol decodelistening on wlan0, link-type EN10MB (Ethernet, capture size 65535 bytes15:09:49.244483 IP 192.168.10.50 192.168.10.53: ICMP echo request, id 14139, seq 1, length 6415:09:49.247589 IP 192.168.10.53 192.168.10.50: ICMP echo reply, id 14139, seq 1,

24、length 6415:09:50.245809 IP 192.168.10.50 192.168.10.53: ICMP echo request, id 14139, seq 2, length 64路由器经过 ARP广播后, 如果能得到目的 MAC 地址, 那么在主机的 ARP 缓存 中会自动记录并更新这张地址表 :#arp -alocalhost (192.168.10.1 位于 00:22:3f:11:74:b2 ether 在 wlan0对于几个概念的理解 :路由器: router, 作用在网络层 , 路由器是组建互联网的设备。 路由器接在两个 或多个不同的网络上 , 不同网络间通

25、信时发送包装好的以太网帧相应的路由器 , 由路 由器根据 IP 地址寻找相应路由进行转发 ,直至发送到目的 IP 地址。交换机: switch, 作用于链路层 ,交换机是组建以太网的设备。 交换机根据以太 网帧中 MAC 地址进行转发 ,直到发送至目的 MAC 地址。注:对于 tcpdump 结果的详细解释 :18:24:07.045137 IP 220.181.112.122.80 192.168.10.51.39056: Flags S., seq 3453925520, ack 501098039, win 14600, options mss1452,sackOK,nop,nop,no

26、p,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop, length0 0x0000: ac81 1250 b016 0022 3f11 74b2 0800 4500 .P.?.t.E.0x0010: 003c f255 4000 3106 3f5b dcb5 707a c0a8 .U.1.?.pz.0x0020: 0a33 0050 9890 cdde b890 1dde 2637 a012 .3.P&7.0x0030: 3908 988c 0000 0204 05ac 0402 0101 0101 90x0040: 0101 0101 0101 0101 0101 ac81 1250 b016目: 的 MAC0022 3f11 74b2:源 MCA0800:上层协议类型 :IP 类型4500:IPv,IP首部长度 5*4=20 字节, TOS服务类型无003c:IP数据报长度 60 字节f255:62037,IP数据报标志4000:标志位 ,用于分片3106:31,TTL,06:上层协议为 TCP 协议3f5b:校验码dcb5 707a:源 IP 地址:220.181.112.122c0a8 0a33:目的 IP地址 :192.168.10.510050:源端口号 :809890:目的端口号 :39056cdde b890:数据序号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论