网络协议和管理 一、简述osi七层模型和TCP/IP五层模型 OSI七层模型: 1、OSI七层模型的划分 应用层(Application)、表示层(presentation)、会话层(session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。 每一层实现各自的功能和协议,并完成与相邻接口通信,OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。 七层模型示例图: 2、各层的定义 应用层 OSI 参考模型中最靠近用户的一层,是为计算用户提供应用接口,也为用户直接提供网络服务。常见的应用层网络服务协议有:HTTP,HTTPS,FTP,POP3,SMTP等 表示层 表示提供各种用于应用层数据编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。 会话层 会话层负载建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。 传输层 传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,是高层用户看到的只是在两个传输实体建的一个主机到主机的、可由用户控制和设定、可靠的数据通路。通常说的TCP UDP就是在这层。端口号即是这里的“端”。 网络层 本层通过IP寻址来建立两点之间的连接,为源端的运输层来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的ip层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。 数据链路层 将比特组合成字节,再将字节组成帧,使用链路层地址(以太网mac地址)来访问介质,并进行差错检测。 物理层 实际最终信号传输是通过物理层实现的。通过物理介质传输比特流。规定电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。 TCP/IP五层模型 TCP/IP五层协议和OSI的七层协议对应关系 二、总结描述TCP三次握手四次挥手 TCP三次握手 1.第一次握手:A的TCP客户进程也是首先创建传输控制块TCB,然后向B发出连接请求报文段,(首部的同步位SYN=1,初始序号seq=x),(SYN=1的报文段不能携带数据)但要消耗掉一个序号,此时TCP客户进程进入SYN-SENT(同步已发送)状态。 2.第二次握手:B收到连接请求报文段后,如同意建立连接,则向A发送确认,在确认报文段中(SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y),测试TCP服务器进程进入SYN-RCVD(同步收到)状态。 3.第三次握手:TCP客户进程收到B的确认后,要向B给出确认报文段(ACK=1,确认号ack=y+1,序号seq=x+1)(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。TCP连接已经建立,A进入ESTABLISHED(已建立连接)。 当B收到A的确认后,也进入ESTABLISHED状态。 注:为什么要进行三次握手? 也就是说为什么要在A最后还要再发送一次确认? 是为了防止已经失效的请求报文端,再次传到B,因而产生错误。 四次挥手 1.A的应用进程先向其TCP发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN-WAIT-1(终止等待1)状态,等待B的确认。 2.B收到连接释放报文段后即发出确认报文段,(ACK=1,确认号ack=u+1,序号seq=v),B进入CLOSE-WAIT(关闭等待)状态,此时的TCP处于半关闭状态,A到B的连接释放。 3.A收到B的确认后,进入FIN-WAIT-2(终止等待2)状态,等待B发出的连接释放报文段。 4.B没有要向A发出的数据,B发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),B进入LAST-ACK(最后确认)状态,等待A的确认。 5.A收到B的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),A进入TIME-WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,A才进入CLOSED状态。 为什么是四次握手 为什么连接的时候是三次握手,关闭的时候却是四次握手? 答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。 三、描述TCP和UDP区别 TCP的特性: UDP的特性: TCP(Transmission Control Protocol传输控制协议)基于连接的协议,也就是说在正式收发数据前必须和对方建立可靠的连接。一个TCP连接必须要经过三次对话才能建立起来,其过程非复杂。 UDP(User Data Protocol用户数据报协议)是与TCP相对应协议,它是面向非连接协议,它不与对方建立连接,直接把数据包发送过去 UDP适用于一次传送少量数据、对可靠性要求不高的应用环境,比如我们经使用ping命令测试两台主机间TCP/IP通信是否正常。 区别 1、tcp协议udp协议差别 2、TCP UDP 3、是否连接: 面向连接 面向非连接 4、传输靠性: 可靠 不可靠 5、应用场合: 传输量数据 少量数据 6、速度: 慢 快 四、总结ip分类以及每个分类可以分配的IP数量 IP 地址分为 五类 ,A,B,C,D,E ,其中 D,E类地址属于组播与科研,生产环境中很少用 A 类: 0.0.0.0 ~ 127.255.255.255 (私有地址为 10.0.0.0 ~ 10.255.255.255) 注:A类地址中实际的可用地址为1-126位。0和127是不可用的地址。 注:主机数,最多使用地址的机器数量,16777214 B类: 128.0.0.0 ~ 191.255.255.255.0 (私有地址为 172.16.0.0 ~ 172.16.31.255.255) 注:主机数,最多使用地址的机器数量,65534 C类: 192.0.0.0 ~ 223.255.255.255 ( 私有地址为 192.168.0.0 ~ 192.168.255.255) 注:主机数,最多使用地址的机器数量,254 D类: 224.0.0.0 ~ 239.255.255.255 E类: 240.0.0.0 ~ 255.255.255.255 五、总结IP配置方法 ip 配置分为临时配置与永久性配置 1、临时配置 ifconfig命令配置: ifconfig eth0 x.x.x.x/24 gw x.x.x.x : 配置临时网卡地址 ip命令配置: ip link set eth0 address x.x.x.x/24 via x.x.x.x : 配置临时网卡地址 注:ip 命令是较新的命令,ifconfig命令为较老的命令,建议使用ip命令代替ifconfig命令。 2、 永久性配置 (想要永久生效,必须写入配置文件中) centos 6 ,7 中 /etc/sysconfig/network-scripts/ifcfg-eth* : 通过该文件修改配置永久静态地址 DEVICE=eth0 = 网卡名称(不可修改) NAME=eth0 = 网卡显示名称(可修改) BOOTPROTO=static/dhcp = IP获取方式,(static 手动设置,dhcp 自动获取) IPADDR=X.X.X.X = 手动配置方法,如何一个IP地址 PREFIX=24 = 手动配置方法,设置子网掩码是多少位。 GATEWAY=X.X.X.X = 手动配置方法,设备网关 DNS1=X.X.X.X = 手动配置方法,DNS设置