| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Linux网络基础5(链路层---以太网) -> 正文阅读 |
|
[网络协议]Linux网络基础5(链路层---以太网) |
链路层:负责相邻设备之间的数据传输 以太网协议:ethernet ????????协议格式: ? ? ? ? ?48位源端-对端mac地址:识别指定相邻设备 ? ? ? ? ? ? ? ? mac地址:uint8_t mac[6]---网卡的物理硬件地址,在出厂时设定 ? ? ? ? 16位数据类型:用于数据分用时上层解析协议的选择 ? ? ? ? 32位数据帧尾:校验和进行差错校验... ????????如何获取相邻指定设备的MAC地址:ARP协议 ARP协议:介于网络层与链路层之间的协议---通过IP地址获取MAC地址 ? ? ? ? 在局域网广播ARP请求(smac+sip+0+dip)(以太网帧中的对端mac地址全为1---广播地址) ? ? ? ? 相邻设备收到ARP请求后,检测目的IP地址是否与自己符合,不符合则直接丢弃,符合则组织ARP应答,将自己的MAC地址填充进行回复。 ? ? ? ? 两端都会将mac-ip的映射关系保存一段时间(20~30分钟) ARP欺骗攻击:伪造IP进行ARP响应---通过防火墙白名单解决 MTU:链路层限制的最大传输单元---以太网默认1500字节 MSS:最大数据段大小,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地址进行访问 记录域名信息的文件: ? ? ? ? windows下:\windows\system32\drivers\etc\hosts ? ? ? ? linux下:/etc/hosts 域名服务器等级:根 --> 顶级 --> 二级... 一个域名服务器支撑不了所有人的访问,因此采用分布式存储,将域名信息分散存储到世界各地。 域名的划分: ? ? ? ? 顶级域名(根据使用性质以及地域进行划分):.com / .org / .gov...? ?.cn / .en/ .jp... ? ? ? ? 二级域名: .baidu.com / .qq.com ? ? ? ? 三级域名: .zhidao.baidu.com 域名解析流程: 问题:浏览器中输入URL,回车后都发生了什么? 1.域名解析 --> 2.搭建tcp客户端 --> 3.组织http请求 --> 4.发送请求,等待回复 --> 5.服务器收到请求进行解析 --> 6.业务处理 --> 7.组织http响应 --> 8.客户端收到回复,解析http响应 --> 9.根据content-type解析处理正文 ICMP协议:是一个网络层协议,通常用于进行网络探测(ping这个工具使用的就是ICMP协议) ? ? ? ? 问题:telnet默认使用的是23号端口,ssh使用的是22号端口,那么ping用的多少端口? ? ? ? ? ping使用的是ICMP协议实现的,而ICMP协议是网络层协议,只有传输层的协议才会涉及到端口 NAT/NAPT:网络地址转换技术 ? ? ? ? 用于组建私网,私网中的主机对外通信时,部署于网关设备上的NAT服务进行源端地址转换(建立映射关系),转换为对外地址后进行数据转发。私网中的主机使用同一个对外公网地址上网,节省公网地址的使用。 代理服务:VPN翻墙 ? ? ? ? 代理是一个应用,可以部署在任意设备上,工作在应用层 ? ? ? ? NAT是一个服务,部署在网关设备上,工作在网络层进行地址转换 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 1:45:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |