学习日记(计网应用层)

一、套接字

  • 又称API,主要包含接收方IP地址、运输层协议、端口号等;
  • 用于不同主机之间的进程通信,套接字是一段编程程序,有程序员按照相应规则按需自由编写,其中运用端口号识别同主机中不同进程的套接字。
  • 应用层与传输层之间的通信接口,应用层的报文通过套接字送入传输层,传输层通过套接字将报文上传给应用层。
  • TCP与UDP协议的套接字不同,因为TCP协议有三次握手环节,因此其客户端套接字需要连接操作、服务端套接字需要接收操作;而UDP协议不需要此两项操作。

TCP套接字

TCP套接字

UDP套接字

UDP套接字

二、HTTP协议

  • 用于规定浏览器与服务器之间的通信方式。默认端口80。

1、无持续连接与持续连接

  • 无持续连接
  1. 概念:每次TCP连接只处理一对请求报文与响应报文,结束后要重新建立TCP连接。
  2. 无持续连接一次TCP连接完成共使用了2RTT+文件传输时间。
  • 持续连接
  1. 概念:在某一浏览器访问某一服务器时,建立一条连接,直至整个请求结束。
  2. 持续连接大大减少了tcp三次握手的次数,因此总体请求时间缩短,同时因为建立tcp连接要分配相应的缓冲区和保持tcp变量等,减少连接次数也同样节约了相关资源。

2、请求报文与响应报文

  • 请求报文
  1. 请求行:方法 URL 协议
  2. 首部行:访问的主机名、连接方式、访问服务器浏览器类型、语言版本等
  3. 空行
  4. 消息实体:请求信息等
  • 响应报文
  1. 状态行:协议 状态码 状态信息
  2. 首部行:连接方式、发送时间、文件最后修改时间等
  3. 空行
  4. 消息实体:报文主要内容(浏览器请求获得的内容)
  • 请求方法
  1. GET:获取资源,可以携带少量信息
  2. POST:获取资源,可以携带较多信息
  3. HEAD:只返回响应报文段,不返回请求资源实体
  4. DELETE:删除服务器中的相关资源
  5. PUT:向服务器上传相关资源
  • GET与POST的区别
    (1)GET只能携带少量信息并置于URL后,POST可携带较多信息置于消息实体中。
    (2)POST与GET的底层都是TCP协议,因此本质上没有很大区别;
    (3)但是在发出POST请求时,会产生两个数据包,先发送请求行和首部行连接服务器,在发送消息实体获取资源;GET只产生一个数据包,直接将请求行、首部行发给服务器获取资源。
    (4)GET用于获取资源,POST用于修改资源。
    (5)GET是幂等的,调用多次返回结果相同,而POST不是幂等的,调用多次后返回结构不同。

3、web缓存服务器

  • web缓存服务器中缓存着局域网或单位中的用户经常访问的资源,减轻单位的访问流量、降低经济成本,同时提升个体用户访问速度;
  • web缓存服务器利用GET方法中的首部行“If-Modified-Since:”检查资源是否过期。
  • 在一个ISP中,配置用户优先访问web缓冲服务器,若服务器中没有相关资源,该服务器生产一个HTTP请求报文,到万维网获取资源,并将获取的资源缓存在本机中,同时将资源发给客户机。

4、cookie

  • 用于记录用户的访问记录,便于服务器根据用户访问习惯返回相资源;在客户机第一次发起HTTP请求时,服务器会返回携带cookie ID的响应报文,客户机接收并设置cookie ID,在客户机后续访问都会携带cookie ID,同时服务器数据库会记录该用户的访问记录。

三、FTP协议

  • 该协议为文件传输协议,与HTTP具有多个共同点,都是基于TCP协议的,端口号默认20和21。
  • FTP需要验证用户标识和用户口令。

FTP与HTTP的区别

  1. FTP需要建立两条TCP连接,其中一条为控制连接(默认端口号为20),另一条为数据连接(端口号为21);
  2. 控制连接在整个会话期间一直处于连接状态(持续连接状态),而数据连接在一个文件传输结束后会断开连接,当有新请求传输文件时,重新建立连接(无持续连接状态)。
  3. FTP服务器必须在整个会话期间保留用户的状态,便于跟踪用户的位置(用户经常在远程目录树上徘徊)。

四、DNS域名解析协议

  • DNS协议运行在UDP协议上,默认端口号为53。采用分布式数据库结构

1、DNS提供的服务

(1)进行域名解析,将主机名转换成IP地址;
(2)存储主机别名,当同一主机具有多个名称时,可通过别名查询正式名称和IP地址;
(3)存储邮件服务器别名;
(4)负载分配,当同一主机名对应多台主机时,DNS服务器按需分配负载,即循环返回响应主机IP地址。

2、DNS服务器的分层划分

(1)根服务器:存储着顶级域名服务器的IP地址等信息;
(2)顶级域名服务器:存着权威域名服务器的IP地址等信息;
(3)权威域名服务器:存着主机名的IP地址信息。
(4)本地域名服务器(不算层次):连接请求主机的域名服务器,缓存着最近访问的域名IP信息,定时清理。

3、DNS记录和报文

  1. DNS记录:(name,value,type,RTT)
    (1)RTT是DNS记录生存时间
    (2)当type为A时,name为请求主机域名,value为其IP地址;
    (3)当type为NS时,name为域名(edu.com),value为可以查到该域名的权威域名服务器的主机名;通常该根域名服务器还含有一条A记录,记录着可以查到edu.com的权威域名服务器的IP地址;
    (4)当type为CNAME,name为主机别名,value为主机规范名;
    (5)当type为MX,name为邮件服务器的别名,value为规范主机名。

五、DHCP协议

  • 名为动态主机配置协议,通过本协议,主机可以自动获取本机IP地址、子网掩码、默认DNS域名服务器IP地址、默认网关IP地址等;属于客户-服务器协议。此协议基于UDP运输层协议。服务器端口号为67,客户机端口号为68。
  • DHCP协议的步骤
    (1)DHCP请求:当一台主机加入局域网时,其向网络进行广播一个DHCP请求报文,源IP地址为0.0.0.0,源端口号为68,目的IP地址为255.255.255.255,目的端口号为67;
    (2)DHCP提供:当DHCP服务器收到请求报文时,该服务器提供IP地址等配置信息,并广播给网络;
    (3)DHCP请求:当新加入主机收到DHCP服务器的提供报文时,择优选择配置参数,并将请求报文通过广播方式发给服务器;
    (4)DHCP确定:服务器接收到请求报文后,确定选用配置参数后,向客户机广播发送ACK报文。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值