网络基础:OSI模型、HTTP协议及UDP协议

OSI七层网络模型:开放式系统互联参考模型;

7层:应用层;
6层:会话层
5层:表示层
4层:传输层
3层:网络层
2层:数据链路层
1层:物理层

TCP/IP四层模型:每一层都呼叫它的下一层所提供的网络来完成自己的需求;(是一组协议的代名词)

应用层;
传输层;
网络层;
数据链路层;
数据包封装和分用:
  1. 不同的协议层对数据包有不同称呼;

    在传输层的数据包称为:数据段;
    在网络层的数据包称为:数据报(datagram);
    在链路层的数据包称为:帧(frame);
    
  2. 封装:应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部;

IP地址
IP地址有两个版本,IPv4和IPv6;默认是IPv4;
  1. IP地址是在IP协议中,用来标识网络中不同主机的地址;
  2. 对于IPv4,IP地址是一个4个字节(32位)的整数;
  3. 通常采用“点分十进制”的字符串表示IP地址;
MAC地址:
  1. MAC地址用来识别数据链路层中相连的节点;
  2. 长度是6个字节(48位),一般采用16进制数字加上冒号的形式表示;
  3. 在网卡出厂时就确定了,不能修改;MAC地址通常是唯一的;
应用层协议:
  1. HTTP协议:超文本传输协议;

  2. URL:网址

    http://	   user:pass@	       www.example.jp:		80		/dir/index.htm?		uid=1		#ch1
    
    协议名称	    登陆信息		服务器地址	    服务器端口号     	      文件路径		查询字符串	片段标识符(页码)
    
HTTP协议的格式:
  1. HTTP请求;
    在这里插入图片描述

    1. 首行:【方法】+【URL】+【版本】;
    2. 请求中,每组属性之间使用\n分割;遇到空行表示请求部分结束;空行有效分离;
    3. 正文(Body):空行后面的内容都是正文;正文允许空字符串;
    
  2. HTTP的加密在传输层与应用层之间;

  3. HTTPS:(内容只能是发送方的应用层与接收方的应用层可以看到)

  4. HTTP响应:响应报文,响应空行,响应正文

  5. 目前我们的HTTP传输分为两类:短链接、长链接;

    短链接的特点:简单;
    长链接的特点:高效;
    短链接:HTTP1.0协议
    HTTP1.1(目前所用):长链接
    
  6. 重定向location分为:永久重定向和临时性重定向(302,301,307);

  7. HTTP的常用状态码:

     3XX(重定向状态码)【302】
     4XX(客户端错误状态码)【404】
     5XX(服务器错误状态码)【504】
    
  8. HTTP常见的请求属性:

    Content-Type:数据类型;
    Content-Length:Body的长度;
    Host:客户端告知服务器,所请求的资源是在哪个主机的哪个端口;
    user-Agent:声明用户的操作系统和浏览器版本信息;
    referer:告知当前页面是从哪个页面跳转过来的;
    location(重定向):搭配3XX状态码使用,告知客户端接下来要去哪里访问;
    Cookie:用于在客户端存储少量信息,通常存放账号以及密码;
    
  9. HTTP服务器一般使用80端口;

传输层:
  1. 负责数据能够从发送端传输到接收端;
  2. 端口号:用来标识特定主机上的唯一一个进程;(从传输层向应用层的捆绑)
  3. 在TCP/IP协议中,用“源IP”,“源端口号”,“目的IP”,“目的端口号”,“协议号”这样的五元组来标识一个通信(可以通过netstat-n查看);
  4. IP+端口号=套接字;
  5. 端口号由2个字节(16位)65535;
    端口号范围划分:0-1023,知名端口号;
    1024-65535,操作系统动态分配(随机)
  6. 固定端口号:
    ssh服务器:22;
    ftp服务器:21端口;
    telnet服务器:23;
    http服务器:80;
    https服务器:443
    mysql(数据库)默认:3306
一个进程可以绑定多个端口号,但是一个端口号不可以被多个进程绑定;

netstat:用来查看网络状态的工具;

常用选项:
n:拒绝显示别名,能显示数字的全部转化为数字;
l:仅列出有在监听的服务状态;
p:显示建立相关链接的程序名;
t:(tcp)仅显示tcp相关选项;
u:(udp)仅显示udp相关选项;
a:显示所有选项;


查看网络进程命令:ps
pidof:查找进程的id:通过进程名,查看进程id;

UDP协议:
  1. 16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大长度;

  2. 共8个字节,有:16位源端口号、16位目的端口号、16位UDP长度、16位UDP检验;

  3. 传输层中UDP和TCP协议中TCP协议会监听,而UDP协议不会;

  4. UDP如何进行传输数据 向下交付(网络层)添加报头;
    向上交付(应用层)读走前8个字节(64位),后面的是核心;【有效分离报头】
    根据目的端口号进行有效分离

  5. UDP的特点:

    无连接;不需要建立连接,
    不可靠:没有确认机制,也没有重传机制;
    面向数据报:不可灵活的控制读写数据的次数;
    

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值