zoukankan      html  css  js  c++  java
  • 马哥第七周

    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

  • 相关阅读:
    c/c++:字符串输入输出流
    POJ 1036Gangsters【DP】
    POJ 1157LITTLE SHOP OF FLOWERS【DP】
    一个月后....
    http://poj.org/problem?id=1258
    POJ 2677 Tour【DP】
    POJ 1160Post Office【DP】
    C基础
    linux面试fork函数题
    linux学习
  • 原文地址:https://www.cnblogs.com/api5253/p/13375999.html
Copyright © 2011-2022 走看看