计算机网络概念入门(七)之网络层_UDP
正文
1.网络层首部-版本、首部长度、区分服务
=》版本:占4位
—>0b0100:ipv4
—>0b0110:ipv6
=》首部长度:
—>占4位,二进制乘以4,是最终的长度
—>0b0101:20(最小值)
—>0b1111:60(最大值)
=》区分服务:
—>占8位
—>可以用于提高网络的服务质量
2.网络层首部-总长度
=》总长度:占16位;首部+数据之和,最大值是:655235
=》由于帧的数据不能超过1500字节,所以过大的IP数据包,需要分片传输给数据链路层
—>>>那么分片后,发到数据链路层后,又是怎么知道那几片是一家人呢?
—>答:每一片都有自己的网络层首部(IP地址)
—>下面第3点是进一步的解释!
3.网络层首部-标识、标志
=》标识:
—>占16位
—>数据包的ID,当数据包过大进行分片时,同一个数据包的所有片的标识都是一样的
—>有一个计数器专门管理数据包的ID,每发出去一个数据包,就+1
=》标志(Flags)
—>占3位
—>第1位:保留
—>第2位:1代表不允许分片,0代表允许分片
—>第3位:1代表不是最后一片,0代表是最后一片
4.网络层首部-片偏移
—>占13位
—>片偏移乘以8
—>每一片的长度一定是8的整数倍
5.ping-几个用法
=》ping/?
—>查看ping的用法
=》ping ip地址 -l 数据包大小
—>发送指定大小的数据包
eg:ping Baidu.come -l 800
=》ping ip地址 -f
—>不允许网络层分片
=》ping ip地址 -i TTL
—>设置TTL的值
=》通过tracert、pathping命令,可以跟踪数据包经过了那些路由器
eg:
—>tracert baidu.com
—>pathping baidu.com
6.网络层-协议、首部校验和
=》协议
—>占8位
—>表明所封装的数据是使用了什么协议
=》首部校验和
—>用来检查首部有没有错误
7.网络层首部-生存时间
=》生产时间:
—>占8位
—>每个路由器在转发之前会将TTL减一,一旦发现TTL减为0,路由器返回错误报告
=》也就是说,过一个路由器,TTL就-1
=》
服务器部署在Windows下,TTL默认为128;
服务器部署在Linux(2.0.x kernel版本)下,TTL默认为64;
服务器部署在Linux(2.0.12 kernel版本)下,TTL默认为255
—>ping了一下百度,一看TTL是53,所以,百度的服务器应该是在Linux下部署的,由64变成53,经过了11个路由器
下面讲运输层(或者叫传输层)【面试会考】
8.传输层
=》传输层有2个协议:TCP/UDP
—>TCP是面相连接的,也就是说:在传输之前,两者先要建立连接
—>UDP是无连接的,也就是说:在传输之前,两者无需建立连接,直接往这边扔
=》TCP应用场景:浏览器、文件传输、邮件发送
=》UDP应用场景(实时):音视频通话、直播
=》应用层协议:
—>HTTP、HTTPS、FTP、SMTP、DNS
—>DNS
9.UDP-数据格式
=》UDP是无连接的,减少了建立和释放连接的开销
=》UDP尽最大能力交付,不保证可靠交付—>因此不需要维护一些复杂的参数,首部只有3个字节(TCP的首部至少20个字节)
10.UDP长度
=》占16位,首部长度+数据的长度
11.UDP检验和
=》检验和计算内容:伪首部+首部+数据
—>伪首部:仅在计算检验和时起作用,并不会传递给网络层
12.端口(Port)
=》UDP首部中端口是占用2字节
—>可以推测出端口号的取值范围:0~65535
=》客户端的源端口是临时开启的随机端口
=》防火墙可以设置开启\关闭某些端口来提高安全性
=》常用命令行
netstat -an:查看被占用的端口
netstat -anb:查看被占用的端口、占用端口的应用程序
telnet 主机 端口:查看是否可以访问主机的某个端口
—>安装telnet:控制面板-程序-启用或关闭Windows功能-勾选“Telnet Client” - 确定
=》
协议 默认端口号(这里的端口号指服务器那边)
HTTP TCP+80
HTTPS TCP+443
FTP TCP+21
MySQL TCP+3306
DNS UDP\TCP+53
SMTP TCP+25
P0P3 TCP+110
13.TCP
=》可靠传输
=》流量控制
=》拥塞控制
=》连接管理
—>建立连接
—>释放连接
视频教程
0.7网络层_UDP
下集预告
TCP01_可靠传输