一.网络层功能
1.定义了基于IP协议的逻辑地址;逻辑地址=IP地址 ,物理地址=MAC地址 2.连接了不同的网段 3.选择数据通过网络的最近路径
二.IP数据包格式
版本: 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致.日前广泛使用的 IP协议版本号为 4 (即 IPv4).IPv6 目前还处于起步阶段.
头部长度:占 4 位,可表示的最大十进制数值是15.请注意,这个字段所表示数的单位是32位字 (1个32位字长是4 字节),因此,当 IP 的首部长度为 1111 时 (即十进制的 15),头部长度就达到 60字节.当 IP 分组的头部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充.因此数据部分永远在 4字节的整数倍开始,这样在实现 IP协议时较为方便.头部长度限制为 60字节的缺点是有时可能不够用.这样做的目的是希望用户尽量减少开销.最常用的头部长度就是 20 字节 (即首部长度为 0101),这时不使用任何选项.
优先级和服务类型:占 8 位,用来获得更好的服务.这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过.1998年IETF把这个字段改名为区分服务 DS(Differentiated Services).只有在使用区分服务时,这个字段才起作用.
总长度:总长度指首都及数据之和的长度,单位为字节.因为总长度字段为 16位,所以数据报的最大长度为 216-1=65 535字节.在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,即最大传送单元 MTU (Maximum Transfer Unit).当一个数据报封装成链路层的帧时,此数据报的总长度 (即首部加上数据部分)一定不能超过下面的数据链路层的MTU值,否则要分片.
==标识 ==(Identification):占 16位.IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段.但这个"标识"并不是序号,因为 IP是无连接的服务,数据报不存在按序接收的问题.当数据报由于长度超过网络的 MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中.相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报.
标志:占3 位,但目前只有2位有意义. 标志字段中的最低位记为 MF(More Fragment).MF=1即表示后面"还有分片"的数据报.MF=0表示这已是若干数据报片中的最后一个.标志字段中间的一位记为DF(Don’t Fragment),意思是"不能分片",只有当 DF=0时才允许分片.
片偏移:占 13位.较长的分组在分片后,某片在原分组中的相对位置.也就是说,相对用户数据字段的起点,该片从何处开始.片偏移以 8个字节为偏移单位,这就是说,每个分片的长度一定是 8字节(64位)的整数倍.
生存时间:占 8位,生存时间字段常用的英文缩写是TTL(Time To Live),其表明数据报在网络中的寿命.由发出数据报的源点设置这个字段.其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源.最初的设计是以秒作为 TTL的单位.每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间.若数据报在路由器消耗的时间小于 1 秒,就把TTL值减 1.当 TTL值为 0时,就丢弃这个数据报.
协议:占 8 位.协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程.详细资料请看文章最后的注释.
头部检验和:占 16位.这个字段只检验数据报的头部,但不包括数据部分.这是因为数据报每经过一个路由器,都要重新计算一下首都检验和 (一些字段,如生存时间,标志,片偏移等都可能发生变化),不检验数据部分可减少计算的工作量. 源IP地址:占32位.
目的IP地址:占 32位.
三.ICMP协议
ICMP定义:Internet控制报文协议,是错误侦测与回馈机制 作用:用来测试网络的联通性并给予一定的反馈 组成:ping、tracert ping命令的参数 1.ping -t;-t参数会一直不停的执行ping命令,调试故障或需要进行持续联通性测试时使用。按ctrl+c中止命令 2.ping -a;参数可以显示目标主机名称 3.ping -l;参数可以设定ping包的大小:单位为字节(默认ping包大小为32字节),可用于简单的测试通信质量
四.ARP协议
ARP定义 :ARP(Address Resolution Protocol)正向地址解析协议,将一个已知目标IP地址解析成对应的MAC地址 数据传输通讯地址的四要素 :源IP、源MAC、目标IP、目标MAC 结论、重点 :PC1已知PC2的IP地址, 未知PC2的MAC时候用。PC1发送ARP广播给二层交换机,二层交换机接收到ARP广播消息后无条件泛洪处理,连接到二层交换机下的所有PC都将接收到此广播消息,每个PC都会把自身的IP地址和目标IP地址进行比对,若一致则接收此广播消息,并回数据包给 PC1, PC1接收到返回的数据包后会记录下PC2的IP和MAC地址,记录到ARP缓存表中;若不一致则丢弃处理。
ARP命令 1.Windows系统的命令提示符(以管理员身份运行) arp -a :查看ARP缓存表
arp -d :清除ARP缓存
arp -s:ARP绑定,例如arp -s 192.168.0.1 aa-aa-aa-aa-aa-aa 2.华为ARP命令(以eNSP软件为例)
<Huawei>dis
<Huawei>display arp
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN/CEVLAN PVC
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Total:0 Dynamic:0 Static:0 Interface:0
<Huawei>syst
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]arp st
[Huawei]arp static 192.168.0.100 aaaa-aaaa-aaaa
Aug 18 2021 21:11:38-08:00 Huawei DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5
.25.191.3.1 configurations have been changed. The current change number is 1, th
e change loop count is 0, and the maximum number of records is 4095.
[Huawei]dis
[Huawei]display arp
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN/CEVLAN PVC
------------------------------------------------------------------------------
192.168.0.100 aaaa-aaaa-aaaa S--
------------------------------------------------------------------------------
Total:1 Dynamic:0 Static:1 Interface:0
[Huawei]q
<Huawei>rese
<Huawei>reset a
<Huawei>reset arp all
Warning: This operation will reset all static and dynamic ARP entries, and clear
the configurations of all static ARP, continue?[Y/N]:y
<Huawei>dis
<Huawei>display arp
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN/CEVLAN PVC
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Total:0 Dynamic:0 Static:0 Interface:0
<>display arp 显示arp缓存 []arp static 192.168.0.100 aaaa-aaaa-aaaa arp捆绑 <>reset arp all 清除所以ARP缓存
五.传输层协议
TCP是面向连接的,可靠的进程到进程通信的协议 TCP提供全双工服务,即数据可以在同一时间双向传输
六.TCP报文段
TCP报文段:TCP将若干个字节构成一个分组,TCP报文段封装在IP数据报中。
七.TCP三次握手
三次握手原理:客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应。 为什么要进行三次握手:因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用。
八.TCP四次断开
四次断开原理:客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK。 三次握手握三次,为什么断开要四次:因为数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,所以需要断开四次。 TCP半关闭状态是什么情况:客户机向服务器发送了FIN请求,服务器也给予了ACK响应。但是,服务器和客户机之间还有数据要传输,因此服务器没有向客户机立即发送FIN请求。
九.常用的TCP端口号及功能
客户端根据需要那种服务,从而发送到特定的目的端口,端口划分为三个类别,其范围介于1到65535之间。
1、公认端口(Server 服务器):与通用网络应用程序相关联的目的端口称为公认端口,这些端口的范围从1到1023。
2、注册端口(C/S 客户机/服务器):端口1024到49151可作为源端口或目的端口使用。组织可使用这些端口注册即时消息等应用程序。
3、私有端口(Client 客户机):端口49152到65535通常作为源端口使用。
|