【网络】TCP/IP五层模型中的典型协议以及特性

OSI七层模型:应用层,表示层,会话层,传输层,网络层,链路层,物理层。由于它既复杂又不实用所以提出了TCP/IP五层协议

1. 应用层:(OSI的应用层,表示层,会话层)

负责应用程序之间的数据沟通
协议就是通信双方的数据格式约定

  1. 知名协议:HTTP协议(超文本传输协议)ttp与https的主要区别:http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。http默认端口是80,https为443。
    FTP(文件传输协议)、DNS(域名系统)、DHCP(动态主机配置协议)

  2. 网址-URL(统一资源定位符): 端口有16位,也就是65535各个端口可供选择,但前1024个端口不建议使用(被很多有名协议使用) 在这里插入图片描述
    URL编码和解码操作:
        查询字符串是用户提交给服务器的数据信息,这些提交的数据如实出现特殊字符,则有可能与url中间间隔符产生歧义导致url解析失败,所以需要url解码和编码操作。
    url解码:将特殊字符的每一个字节转换为16进制数字字符串,并且为了表明这两个字符是经过了url编码后的数据,需要在转换后的数据前加上%。
    例:+ ——>%2b
    url编码:当遇到%,则认为紧跟其后的两个字符需要转码,将第一个字符转换为数字左移4位与第二个字符转换后的数据进行相加,%2b ——>(‘2’- ‘0’)<<4 + ( ‘b’-‘a’ + 10)

HTTP协议格式:

  1. 首行:
    1.1请求首行
    请求方法:GET/POST ,协议版本:0.9/1.0/1.1/2
    GET:主要用于获取实体资源,但是并非不提交数据。
    POST:传输实体主体,向服务端提交表单数据。
    两者侧重点不同,GET更偏向于获取,POST更偏向于提交,最大的区别是GET没有正文,GET所提交的数据是在url的查询字符串中。
    Get Post区别1
    Get Post区别2
       1.2响应首行
       协议版本,响应状态码
       状态码描述信息1**/2**/3**/4**/5**
    200成功,301永久重定向,302临时重定向,404找不到资源,502服务器网关错误

  2. 头部:以一个key:val组成的键值对,并且各个键值对之间以\r\n作为间隔
    Content-length:正文长度/Transfer-Encoding:正文长度无法直接获取的话通过分块传输
    Content-type:正文类型
    3**/Location:表名重定向地址+·

  3. 空行:\r\n 用于间隔头部与正文

  4. 正文:由具体情况决定


2. 传输层:

负责端与端之间的数据传输, 说白了就是两个进程之间的数据传输;TCP/UDP协议

  • 端口:在一个主机上标识一个进程(标识接收到的数据应该交给哪个进程处理)
    一个端口只能被一个进程处理,但是一个进程可以使用多个端口 ,端口可以理解为一个 先通道。
    uint6_t 无符号16位整数:端口号0 ~ 65536,但是0 ~ 1023不推荐使用,因为这些端口都被一些知名协议使用。
  • 五元组:在网络通信中每一条数据都必须带有一些关键信息(源地址IP/源端口/目的IP地址/目的端口/协议)用于网络中的一条通信。
  • UDP协议用户数据报协议:无连接,不可靠,面向数据报。
  1. 无连接,不可靠:不需要建立连接,只需要知道对端,就可以发送数据。(发短信)

  2. 面向数据报:数据只能一整条一整条向应用层交付。(既不会拆分也不会合并)

  3. udp协议字段:16位源\目的端口(确定数据从哪个进程来到哪个进程去)、 16位数据报长度、16位校验和(校验接收的数据与发送的数据是否一样,二进制反码求和)

  4. 16位数据报长度决定的特性:
    1.面向数据报。
    2.udp每次传输的报文大小是有长度限制的64k(用户给定的传输数据长度不能大于64k - 8),因此当数据长度大于64k-8时,就需要用户在应用层进行数据分包,将数据分成一个个小于64k-8大小的数据段。

  5. udp并不保证数据有序到达,需要用户在应用层进行包序管理。

  6. 用户每次调用发送接口发送数据的时候,udp会直接为这条数据封装udp头部信息,直接发送出去,为了防止用户接受半条数据,导致udp的剩余数据无法根据协议字段中的数据报长度确定数据长度,因此udp规定数据只能整条交付。

应用层在传输层上基于udp实现的协议:DNS/DHCP(动态地址分配协议,谁上网给谁分配地址)
**tcp(传输控制)协议:**面向连接、可靠传输、面向字节流
连接管理部分

在这里插入图片描述

3. 网络层:

负责地址管理与路由选择,路由选择需要依托于一个良好的地址管理,为网络中的每一条数据选择一个合适的路径。网络中每条数据都会包含两条信息:源端IP地址,目的端IP地址。
典型协议:IP
IP地址:在网络中唯一表示一台主机,无符号的32位整数(IPV4),表示成点分十进制的方式123.139.84.33。
网段划分:
把IP地址分为网络号和主机号,在同一个局域网中,网络号都相同,但是主机号不同。相邻的两个局域网,网络号不能相同,局域网之间是由路由器来连接的。
如何区分网络号和主机号,通过子网掩码来区分,子网掩码是一个32位的整数,同样也可以表示为点分10进制。要求高位必须为1低位必须为0。
将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号。

由于只有42亿9000多万,所以用DHCP(动态分配, 能够⾃动的给子网内新增主机节点分配IP地址),NAT(地址转换技术,组建局域网让局域网中的主机都使用同一个IP地址)来保证够用,最终的解决方法还是IPV6(无符号128位),但是IPV6与IPV4不兼容。

典型设备:
路由器,进行路由选择的设备

4. 链路层:

负责相邻设备之间的数据传输
典型协议:
Ether协议(以太网协议)
MTU:
MTU表示一个数据链路层的最大长度
以太网的MTU1500字节
MTU会导致IP数据分包
MTU对传输层没有影响
不同的数据链路层协议对于MTU的值是不同的
MAC地址:
存储网卡的物理地址,表示互联网上的唯一一个主机
MAC与IP的区别:
IP地址描述的是路途总体的 起点 和 终点;
MAC地址描述的是路途上的每⼀个区间的起点和终点;
典型设备:
交换机,意为“开关”是一种用于电(光)信号转发的网络设备,但是并不具备选择路径的功能,只是固定转发。

5. 物理层:

负责光电信号的传输
典型协议:
以太网协议
典型设备:
集线器:将信号集中转发,同时将信号放大

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我顶得了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值