一 . 简述OSI七层模型和TCP/IP五层模型
-
OSI七层模型各层定义
物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。
数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。
网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。
传输层:提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。
会话层:提供两进程之间建立、维护和结束会话连接的功能;提供交互会话的管理功能,如三种数据流方向的控制,即一路交互、两路交替和两路同时会话模式 。
表示层:代表应用进程协商数据表示;完成数据转换、格式化和文本压缩。
应用层:提供OSI用户服务,例如事务处理程序、文件传送协议和网络管理等。

-
TCP/IP五层各层定义
物理层:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0
数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能(由底层网络定义协议)。并且将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
<1>以广播的方式通讯
<2>以太网协议:早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet
<3>mac地址:head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
网络层:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址,进行逻辑地址寻址,实现不同网络之间的路径选择。
<1>协议有:IP(IPV4 IPV6) ARP RARP ICMP IGMP
<2>IP协议:规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示范围0.0.0.0-255.255.255.255
一个ip地址通常写成四段十进制数,例:192.168.10.1
<3>IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络(配合子网掩码)。
传输层:定义传输数据的协议端口号,以及流控和差错校验。<1>协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层<2>封装的数据格式
应用层:规定应用程序的数据格式,网络服务与最终用户的一个接口。<1>协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
二 . 总结描述TCP三次握手四次挥手
-
在了解三次握手和四次挥手之前,先知道TCP报文内部包含了哪些东西。
TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。TCP在发送数据前必须在彼此间建立连接,这里连接意思是:双方需要内保存对方信息(例如:IP,Port…)
报文主要段的意思
序号:表示发送的数据字节流,确保TCP传输有序,对每个字节编号
确认序号:发送方期待接收的下一序列号,接收成功后的数据字节序列号加 1。只有ACK=1时才有效。
ACK:确认序号的标志,ACK=1表示确认号有效,ACK=0表示报文不含确认序号信息
SYN:连接请求序号标志,用于建立连接,SYN=1表示请求连接
FIN:结束标志,用于释放连接,为1表示关闭本方数据流
-
三次握手
建立TCP连接时,需要客户端和服务器共发送3个包。
第一次:客户端发送初始序号x和syn=1请求标志
第二次:服务器发送请求标志syn,发送确认标志ACK,发送自己的序号seq=y,发送客户端的确认序号ack=x+1
第三次:客户端发送ACK确认号,发送自己的序号seq=x+1,发送对方的确认号ack=y+1

三次握手过程分析:
第一次:客户端发送请求到服务器,服务器知道客户端发送,自己接收正常。SYN=1,seq=x
第二次:服务器发给客户端,客户端知道自己发送、接收正常,服务器接收、发送正常。ACK=1,ack=x+1,SYN=1,seq=y
第三次:客户端发给服务器:服务器知道客户端发送,接收正常,自己接收,发送也正常.seq=x+1,ACK=1,ack=y+1
上面分析过程可以看出,握手两次达不到让双方都得出自己、对方的接收、发送能力都正常的结论的。
-
四次挥手
第一次挥手:客户端发出释放FIN=1,自己序列号seq=u,进入FIN-WAIT-1状态
第二次挥手:服务器收到客户端的后,发出ACK=1确认标志和客户端的确认号ack=u+1,自己的序列号seq=v,进入CLOSE-WAIT状态
第三次挥手:客户端收到服务器确认结果后,进入FIN-WAIT-2状态。此时服务器发送释放FIN=1信号,确认标志ACK=1,确认序号ack=u+1,自己序号seq=w,服务器进入LAST-ACK(最后确认态)
第四次挥手:客户端收到回复后,发送确认ACK=1,ack=w+1,自己的seq=u+1,客户端进入TIME-WAIT(时间等待)。客户端经过2个最长报文段寿命后,客户端CLOSE;服务器收到确认后,立刻进入CLOSE状态。

四次挥手过程分析
第一次:客户端请求断开FIN,seq=u
第二次:服务器确认客户端的断开请求ACK,ack=u+1,seq=v
第三次:服务器请求断开FIN,seq=w,ACK,ack=u+1
第四次:客户端确认服务器的断开ACK,ack=w+1,seq=u+1
为什么三次握手和四次挥手?
三次握手时,服务器同时把ACK和SYN放在一起发送到了客户端那里
四次挥手时,当收到对方的 FIN 报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方是否现在关闭发送数据通道,需要上层应用来决定,因此,己方 ACK 和 FIN 一般都会分开发送。
为什么客户端最后还要等待2MSL?
- 客户端需要保证最后一次发送的ACK报文到服务器,如果服务器未收到,可以请求客户端重发,这样客户端还有时间再发,重启2MSL计时。
三 . 描述TCP和UDP的区别
-
TCP与UDP区别总结:
(1)TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接(2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
(3)UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
(4)每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
(5)TCP对系统资源要求较多,UDP对系统资源要求较少。
-
为什么UDP有时比TCP更有优势?
UDP以其简单、传输快的优势,在越来越多场景下取代了TCP,如实时游戏。
(1)网速的提升给UDP的稳定性提供可靠网络保障,丢包率很低,如果使用应用层重传,能够确保传输的可靠性。
(2)TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程,由于TCP内置的系统协议栈中,极难对其进行改进。
采用TCP,一旦发生丢包,TCP会将后续的包缓存起来,等前面的包重传并接收到后再继续发送,延时会越来越大,基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成影响。
四 . 总结IP分类以及每个分类可以分配的IP数量
IP地址是通过其四段号码中,前面多少段是网络号码来分类的,分为A类IP地址、B类IP地址、C类IP地址、D类IP地址、E类IP地址。
A类IP地址
分类规则:第一段号码为网络号码,剩下的三段号码为本地计算机的号码。
网络数量:A类IP地址的子网掩码为255.0.0.0,每个网络支持的最大主机数为256的3次方-2=16777214台。
适用范围:大型网络。
B类IP地址
分类规则:前两段号码为网络号码,剩下的两段号码为本地计算机的号码。
网络数量:B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为256的2次方-2=65534台。
适用范围:中型网络。
C类IP地址
分类规则:前三段号码为网络号码,剩下的一段号码为本地计算机的号码。
网络数量:C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台。
适用范围:小型网络。
扩展资料:
PV4地址的升级:IPv6地址
PV4在现有的互联网是在IPv4协议的基础上运行的。IPv6是下一版本的互联网协议,也可以说是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空间将被耗尽,而地址空间的不足必将妨碍互联网的进一步发展。
为了扩大地址空间,拟通过IPv6以重新定义地址空间。IPv4采用32位地址长度,只有大约43亿个地址,估计在2005~2010年间将被分配完毕,而IPv6采用128位地址长度,几乎可以不受限制地提供地址。
按保守方法估算IPv6实际可分配的地址,整个地球的每平方米面积上仍可分配1000多个地址。在IPv6的设计过程中除解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它一些问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。
五 . 总结IP配置方法
建立一个临时ip
ifconfig eth0 192.168.0.55/24 或192.168.0.33/255.255.255.0
查看网络
ifconfig
ifconfig eth0
ifconfig lo
ifconfig –a
(临时)启用 eth0 ifup eth0 或 ifconfig eth0 192.168.0.55/24 up
(临时)关闭 eth0 ifdown eth0 或 ifconfig eth0 192.168.0.55/24 down
永久生效:
vim /etc/sysconfig/network-scripts/ifcfg-eth0 (centos7 默认ens33)
BOOTPROTO=(dhcp(动态地址)|static (静态地址))
NAME=(网卡名)
DEVICE=(网卡名)
IPADDR=(要设定的IP地址)
GATEWAY=(网关)
DNS1=(DNS)
PREFIX=(子网掩码)
ONBOOT=(yes 表示启动)
USERCTL=no/yes 设置普通用户是否能够禁用网卡
TYPE 指定网络类型
查看网关命令: route –n
/etc/sysconfig/network 定义网络功能 (其中定义了主机名)
查看主机名 hostname
添加默认网关:
route add [-net|-host] DEST netmask MASK gw GW dev DEV
如: route add –net 0.0.0.0 network 0.0.0.0 gw 192.168.0.254 gw eth0
/etc/resolv.conf 定义DNS解析器(最多3个)
为 某网段添加默认路由:
cd /etc/sysconfig/network-scripts/
添加 vim route-eth0 (对应网卡设备)
10.0.0.0/8 via 192.168.0.254
给一块网卡配置多个IP
ifconfig eth0:0 172.16.16.1/16 (临时有效)
vim /etc/sysconfig/network-scripts/ifcfg-eth0:0 添加内容和ifcfg-eth0一样(硬件地址去除)