1,osi七层模式和tcp/ip五层模式的概述
1.1,osi的概述
osi(Open System Interconnect)---- 开放式系统互联。 一般都叫OSI参考模型,是Iso在1985年为了规范整个互联网使用而创建的规则, OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。如下图。
物理层:利用传输介质为数据链路层提供物理连接,实现比特流的传输,最小单位为比特(bit),受到传输介质的影响
数据链路层:负责建立和管理节点间的链路,该层的主要通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路,接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层
网络层:其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。
传输层: OSI下3层的主要任务是数据通信,上3层的任务是数据处理。而传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用,该层定义了一些传输数据的协议和端口号,如http的80端口
会话层:是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理
表示层:对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等
应用层:它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作
1.2,tcp/ip五层模型
tcp/ip的结构和osi模型结构大致一样,它把osi模型的上三层合并为了一层,如下图
2,tcp的三次握手和四次挥手
第一次握手:c端发送请求到s端 “我想和你通信”,c端如果长时间没有收到s端的回复会退出通信,这表示第一次握手失败
第二次握手:s端看到c端发来的请求,并回复c端 “好,我同意”,如果s端没有解析成功c端的请求,这表示第二次握手失败
第三次握手:c端看到s端的回复,并表示接下来开始数据传输
ack:确认ack,仅当ack=1时确认字段才有效,当ack=0时确认无效。tcp规定,在建立传输后传输的报文字段中的ack都必须置为1
syn:同步syn,在连接建立是来同步序号,当syn=1,ack=0这表明连接正在请求阶段,若对方同意则会在响应报文中将syn和ack都置为1,syn=1,这表示一个链接处于请求或者连接状态
fin:fin终止用来释放一个连接,当fin=1,则表示连接终止,
四次挥手
第一次挥手:c端发送释放连接报文,fin=1
第二次挥手:s端收到,此时tcp处于半连接状态,s端可以向c端发送数据,但是c端不能发送数据到s端,s端发送释放连接报文,fin=1
第三次挥手:c端收到报文后,进入time_wait状态,等待2msl(最大报文存活时间)后释放报文
第四次挥手:s端确认后释放连接
3,tcp和udp的区别
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保 证可靠交付
3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
4,ip概述
4.1,IP地址分类
A类:
(1.0.0.0-126.0.0.0)
第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。
定义:第1字节为网络地址,其它3个字节为主机地址
范围:1.0.0.1-126.255.255.254
数量:2^24-2
子网掩码:255.0.0.0
私有地址:10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址),范围10.0.0.1-10.255.255.254
保留地址:127.X.X.X是保留地址,也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。
B类(128.0.0.0-191.255.0.0)
前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
定义:第1字节和第2字节为网络地址,其它2个字节为主机地址
范围:128.0.0.1-191.255.255.254
数量:2^16-2
子网掩码:255.255.0.0
私有地址:172.16.0.0 - 172.31.255.255是私有地址
保留地址:169.254.X.X是保留地址。如果IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP
C类
(192.0.0.0-223.255.255.0)
前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。
定义:第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110
范围:192.0.0.1 - 223.255.255.254
数量:2^8-2
子网掩码:255.255.255.0
私有地址:192.168.X.X是私有地址。(192.168.0.0 - 192.168.255.255)
D类:
是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户。
定义:不分网络地址和主机地址,它的第1个字节的前四位固定为1110
范围:224.0.0.1 - 239.255.255.254
E类:
是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
定义:不分网络地址和主机地址,它的第1个字节的前五位固定为11110
范围:240.0.0.1 - 255.255.255.254