IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Linux--链路层 -> 正文阅读

[网络协议]Linux--链路层

  • 负责相邻设备之间的数据传输。

1. 以太网协议

  • ethernet

协议格式

在这里插入图片描述

  • 48位源端-对端mac地址:识别指定相邻设备
    · mac地址:uint_t mac[6]-- 网卡的物理硬件地址-- 出厂时设定

  • 16位数据类型:用于数据分用时上层解析协议的选择

  • 32位数据帧尾:校验和进行差错校验…

      如何获取相邻指定设备的MAC地址:ARP协议
      -  介于网络层与链路层之间的协议-- 通过IP地址获取MAC地址
      - 在局域网广播ARP请求(smac+sip+0+dip)(以太网帧中的对端mac地址全为1-- 广播地址)
      - 相邻设备收到ARP请求后,检测目的IP地址是否与自己符合,不符合则直接丢弃,符合则组织ARP应答,将自己MAC地址填充进行回复
      - 两端都会将mac-ip的映射关系保存一段时间
      - arp局域网欺骗攻击
    

MTU

  • 链路层限制的最大传输单元-- 以太网默认1500字节
    在这里插入图片描述
  • MSS:最大数据段大小:MTU-IP最小报头长度-TCP最小报头长度
  • tcp:mtu=1500;则mss=1460;
  • udp:mtu=1500,则mss=1472;
  • mtu对于tcp传输的影响:
    · tcp传输三次握手阶段会协商mss,双方取较小的一方的mss作为最大数据段大小进行传输,每次从发送缓冲区中取出不大于mss大小的数据封装报头进行传输
    · 因此,tcp在传输层会自动进行数据分段,不会在网络层进行数据分片
  • mtu对udp传输的影响:
    · udp没有mss协商,只要数据段大小小于64k-28就可以传输,但是若大于mtu大小,则在网络层会进行数据分片
    · 而分片在对端会进行分片重组,一旦一个分片出问题整个报文都会被丢弃(udp不保证可靠传输,丢弃就没了)
    · 因此,分片越多,传输出问题的几率就越高。
    · 使用udp传输,最好在上层分包时就计算mss大小分包,尽量减少分片概率。

DNS

  • domain name system 域名系统
  • 域名:是一个便于记忆的字符串,是一个服务器的别名,访问服务器时通过解析得到服务器的IP地址进行访问
  • 一个域名服务器支撑不了所有人的访问,因此采用分布式存储,将域名信息分散存储到世界各地
  • 服务器划分
    在这里插入图片描述
  • 域名的划分:
    · 顶级域名:.com/ .org/ .gov… .cn/ .en/ .jp
    · 二级域名:.baidu.com, qq.com
    · 三级域名:.zhidao.baidu.com
  • 域名的解析流程
    在这里插入图片描述
  • 浏览器中输入url,回车后都发生了什么?
    · 域名解析–>搭建tcp客户端–>组织http请求–>发送请求–>服务器收到请求进行解析–>业务处理–>组织http响应–>等待回复,解析http响应–>根据content-type解析处理正文

2. icmp协议

  • 通常用于进行网络探测
  • ping工具使用的就是icmp协议
  • telnet使用的23端口,ssh-22端口,ping没有使用端口

3. NAT/NAPT

  • 网络地址转换技术
  • 用于组建私网,私网中的主机对外通信时,部署于网关设备上的NAT服务进行源端地址转换(建立映射关系),然后进行数据转发
  • 私网中的主机使用同一个对外公网地址上网,节省公网地址的使用。

4. 代理服务

  • vpn翻墙
  • nat是一个服务,部署在网关设备上,工作在网络层进行地址转换
  • 代理是一个应用,可以部署在任意设备上,工作在应用层
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:54:21  更:2021-09-04 17:55:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 13:30:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码