计算机网络 lab3 IPv4

目录

一、实验目的

二、实验步骤

三、实验环境

四、实验过程与分析

        1. Capture a Trace 捕获

        2. Inspect the Trace 检查捕获

        3. IP Packet Structure   IP结构

        4. Internet Paths 互联网路径

        5. IP Header Checksum    IP头部校验和

        6. Explore on your own


一、实验目的

  1. 了解IP细节,了解IP各部分的含义学会通过Wireshark分析ip协议。
    IP:互联网使用的网络层协议network layer protocol;
    IPv4: IPversion4,ubiquitously deployed;  IPv6: partly deployed.
  2. 了解wireshark、curl、wget、traceroute、tracert等常用软件的使用,掌握网络抓包的方法,能在所用电脑上进行抓包;
  3. 了解IP数据包格式,能应用该软件分析数据包格式,查看抓到的包的内容,并分析对应的IP数据包格式;

二、实验步骤

1. Capture a Trace
2. inspect the trace
3. IP Packet Structure
4. Internet Paths
5. IP Header Checksum
6. Explore on your own

三、实验环境

· wireshark;
· wget (Linux & win):命令行程序获取URL。
· Traceroute工具:显示数据包在IP网络经过的路由器的IP地址。广泛应用于网络故障排除。
程序利用增加存活时间TTL值实现功能。每当数据包经过一个路由器,存活时间--;
存活时间== 0时,主机取消数据包,并发送一个ICMP TTL数据包给原数据包发送者。
程序发出的第1-3个数据包的TTL值= 1;4-6数据包TTL值 = 2;… ;从而得到这一串数据包的路径(IP不保证每个数据包的路径相同)。
如果显示结果为*:说明某些路由不会为TTL超时发送“已超时”信息or禁止ICMP ERROR MESSAGE。

四、实验过程与分析

1. Capture a Trace 捕获

1. 远程服务器上选择www.qq.com这个URL,检查是否可用wget获取内容;
  得到200OK响应,说明获取成功。
2. www.qq.com 执行traceroute检查是否能够获得网络路径信息。

3.启动wireshark,设置filter为 tcp port 80。由于www.qq.com是IPv6,下面用www.baidu.com

2. Inspect the Trace 检查捕获

· 从顶部面板中选择捕获的一个数据包,在中间面板中查看详细信息,底部面板查看具体字节信息。
· version 版本号 4b:IPv4-IPversion4,version = 0100;IPv6-IPversion6,version = 0110.
· header length   header字段长度 4b:IP header段总长度包含多少个32位 = 20 B = 160 bits;显示0101 = 5 = 20/(8*4)
· Differentiated Services Field 区分服务 1B = 8b:DSCP和CU(ECN)组合成一个可拓展性相对较强的方法,从而保证IP的服务质量。例如,网络中出现拥塞时,TCP/IP会主动丢弃数据包,源端检测到丢包之后,减小拥塞窗口,降低传输速率;但是,当协商好ECN之后,支持ECN的路由器能够在发生拥塞时进行标记,发出即将拥塞的信号,不用直接丢弃数据包。
DSCP 6b:区分服务代码点;
ECN (=CU) 2b:支持端到端的网络拥塞通知。
        00:Not-ECT非ECN-Capable;
        01:ECN运输能力0;
        10:ECN运输能力1;
        11:遇到拥塞,CE;

· total length总长度 2B:这里总长度=1400

· Identification 标识段 2B
· flags 标记 3b:只有后两位有效。
第二位:DF=1,路由器不能对报文进行分片处理;
第三位:MF:多分片,当路由器对报文进行分片时只有最后一个分片的MF位=0,其余都为1。

· fragment offset 分片偏移 12b
· TTL time to live生存时间 1B:数据报到达目的地址destination的最大报文跳数,防止出现路由循环。每经过1个路由TTL--。
· protocol 协议 1B:标识上层协议。1-ICMP;2-IGMP;6-TCP;17-UDP;89-OSPF。
· header checksum 头部校验和 2B:只校验header部分。
· source IP 4B
· destination 目的IP 4B

3. IP Packet Structure   IP结构

Turn-in: Hand in your drawing of an IP packet and the answers to the questions above.

  1. What are the IP addresses of your computer and the remote server?
    我的计算机IP地址:192.168.43.117
    远程服务端IP地址:36.152.44.96
  2. Does the Total Length field include the IP header plus IP payload, or just the IP payload?
    total length 总字段长度=1400 = IP header IP头部 20B + IP payload IP有效载荷;
    total length field include the IP header plus IP payload.
  3. How does the value of the Identification field change or stay the same for different packets? For instance, does it hold the same value for all packets in a TCP connection or does it differ for each packet? Is it the same in both directions? Can you see any pattern if the value does change?
    对于分片的数据包:同一个数据包中的不同片identification filed相同。
    对于不分片的数据包:identification field不同。且不同方向也不同。
    for instance:不同方向的值不同,同方向每次递增1;
    服务器到客户端identification field值:0(第二次TCP握手) , 1125, 1126, 1127...
    客户端到服务器identification field值:23797(第一次TCP握手),23798(第三次TCP握手),23799,23800…
  4. What is the initial value of the TTL field for packets sent from your computer? Is it the maximum possible value, or some lower value?
    客户端à服务器:TTL初始值=128;
    服务器à客户端:TTL初始值=53;
    TTL占1B=8bits,最大可能值=255;所以这里不是最大可能值;是较大的值。
  5. How can you tell from looking at a packet that it has not been fragmented? Most often IP packets in normal operation are not fragmented. But the receiver must have a way to be sure. Hint: you may need to read your text to confirm a guess.
    flags字段的第二位DF,DF=1时路由器不能对报文进行分片处理;DF=0表示分片。
  6. What is the length of the IP Header and how is this encoded in the header length field?
    IP header 长度一般 = 20B,以4B为单位,Header length有4bit,最大为15*4*8=60B
    长度范围在20-60B。

4. Internet Paths 互联网路径

· IP地址:互联网协议地址Internet Protocol Address。进行TCP/IP的基础。
为互联网上每一个网络、每一台主机分配的一个逻辑地址,从而屏蔽物理地址的差异;
每个连接到网络的计算机都有一个IP地址。

· IPv4网络地址 4B:(byte1. byte2.byte3.byte4)
        A类IP地址: 用于大型的网络、政府机构;byte1网络号;
        byte1最高位=0;可用IP范围:1.0.0.1-127.255.255.254。
 

BIP地址: 用于中等规模网络、中型企业;byte1.byte2网络号;
byte1最高位=10;可用IP范围:128.0.0.1-191.255.255.254。
CIP地址: 用于小型网络、自由分配;byte1.byte2.byte3网络号;
byte1最高位=110;可用IP范围:192.0.0.1-223.255.255.254。
DIP地址: 用于一对多通信;IPv4中不区分网络地址和主机地址;
byte1最高位=1110;D类IP范围:224.0.0.0-239.255.255.255。
EIP地址: 用于研究实验,Internet中没有可用的E类IP地址;不区分网络地址和主机地址;
byte1最高位=1111;E类IP范围:240.0.0.0-247.255.255.255。

ps. ① 255.255.255.255表示本地网络的广播地址,不能被转发、不能过网关,会发送相同的物理网络段到所有主机中。
② 监听0.0.0.0端口相当于监听本机中所有IP端口;0.0.0.0表示本机中所有的IPv4地址。
ps. 用到的IP查询网址:123.56.4.112地理位置查询及详细问答 | IP地址 (简体中文) 🔍、http://ip.yqie.com
Turn-in: Hand in your drawing, and traceroute output if it was not supplied to you.

5. IP Header Checksum    IP头部校验和

按照以下步骤计算checksum是否正确:
1. 将header分成10个2 bytes (16 bits),即写成10个4位的16进制数,见wireshark底部面板。
2. 用常规加法将这10个数相加;
3. 取前导数字(超过单词大小的16进制数),加到余数中。
4. 结果应该等于0xFFFF = negative zero = -0
其实也就是,除了checksum字段,其他9个字段按照2B的16进制写法相加,前导数字再加,将这个和的结果取反,即为IP checksum。
打开wireshark中的validate IPv4checksum功能

Turn-in: Hand in your sums. Next to each word you add note the IPv4 fields to which it corresponds.

6. Explore on your own

We encourage you to explore IP on your own once you have completed this lab. Some ideas:

  • Read about and experiment with IPv6. Modern operating systems already include support for IPv6, so you may be able to capture IPv6 traffic on your network. You can also “join the IPv6” backbone by tunneling to an IPv6 provider. 了解、尝试IPv6

IPv4 定义的地址空间是有限的,用4B=32bits表示,然而随着互联网的发展,IPv4的有限地址空间将被耗尽,需要更大的地址空间。相对于IPv4,IPv6具有更大的地址空间、更小的路由表、增强的组播、对自动配置支持、更高的安全性。 
区别:
IP地址格式:IPv4中为4B,IPv6中16B  格式为2B:2B:2B:2B:2B:2B:2B:2B。在IP header中的表现即source地址、destination地址的区别。
IP header 长度:IPv4 header 长度为20B – 60B; IPv6 header固定40B
分片:IPv6 header 不允许在除了源、目的地之外的中间路由器上进行分片与重新组装。
header checksumIPv6 取消;

  • Learn about tunnels, which wrap an IP packet within another IP header. 了解tunnels
    IP tunnel is an Internet Protocol (IP) network communications channel between two networks. It is used to transport another network protocol by encapsulation of its packets.
     
  • Read about IP geolocation. It is the process of assigning a geographical location to an IP address using measurements or clues from its name administrative databases. Try a geolocation service. 了解有关IP的地理位置信息
    IP定位的基本原理:利用IP设备的名字、注册信息或时延信息等来估计其地理位置。
    查询本设备的IP address
     
  • Learn about IPsec or IP security. It provides confidentiality and authentication for IP packets, and is often used as part of VPNs. 了解IPsec or IP security,为IP数据包提供机密性、身份验证,通常用作VPN的一部分。
  • VPN:Virtual Private Network 虚拟专用网络。通过VPN可以模拟点对点专用链接的方式,通过共享/公共网络在两台计算机之间发送数据。

    VPN通信过程的简单概括
    1. 客户机向VPN服务器发送请求;
    2. VPN服务器响应;向客户机发出身份质询,客户机将加密的用户身份验证响应信息发送给VPN服务器;
    3.  VPN服务器根据用户数据库检查该响应。
    如果账户有效,VPN服务器将检查该用户是否具有远程访问权限;
    如果该用户拥有远程访问的权限,VPN服务器接受此连接;
    4. 最后,VPN服务器将在身份验证过程中产生的客户机和服务器公有密钥将用来对数据进行加密,然后通过VPN隧道技术进行封装、加密、传输到目的内部网络。
     

    IPsec:Internet Protocol Security,是IP网络提供安全性协议、服务的集合,VPN中常用的一种技术。其中3个重要协议:IKE/AH/ESP
    IKE:Internet Key Exchange 因特网密钥交换。基于UDP的应用层协议。
    AH:Authentication Header 认证头。对整个IP报文进行数据源认证、完整性校验,不提供加密功能。
    ESP:Encapsulating Security Payload 封装安全载荷。对IP报文进行数据源认证、完整性校验;对数据进行加密。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值