| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 网络基础(1) -> 正文阅读 |
|
[网络协议]网络基础(1) |
目录 一.网络发展背景1.交换机:根据记录所连接的计算机的mac(物理网卡地址),进行数据交换. 缺点:无法实现想发送给哪个主机就发送给哪个主机. 2.路由器在数据交换的技术上增加了一个功能---进行网络识别,为每一条数据在网络中,选择一条合适的路径,发送到目标主机上,已经实现了想给谁发就给谁发的功能,路由器会识别这个给谁发的目的主机的网络选择.(路径选择,数据转发) 3.网络的划分局域网(覆盖范围在1000m) 城域网(覆盖范围在20km) 广域网(大于20km) 我们平常的使用的互联网/因特网属于更大的国际性的广域网,它是一种复杂的星形网络,容灾性更强. 而以太网/令牌环网是组网方式 4.IP地址uint32_t --- 无符号4个字节整数 在网络中作为主机的唯一标识---网络中主机之间的定位(哪个主机与哪个主机之间进行通信)--通过IP地址进行标识 网络中的每条数据中都会包含有 源端的IP地址/对端的IP地址 ipv4: uint32_t(不到43亿,是不够用的)? ? ?ipv6:uint8_t addr[16]--推广程度很低 DHCP:动态地址分配->谁上网给谁分配IP地址? ?NAT:在DHCP之后,人还是很多的情况下,让很多人用同一个IP地址来上网 5.端口号uint16_t 无符号2个字节的整数 在一台主机唯一标识一个进程,编写通信程序的时候,必须告诉计算机,发往哪个端口的数据应该交给我来处理 一个端口只能被一个进程占用,然而一个进程可以使用多个端口 在网络通信的每一条数据中都包含 ---源端端口以及对端端口---意味着这个数据是从哪个进程发送出来,要交给哪个进程来处理 6.网络通信协议网络通信中的数据格式约定 遵循统一通信协议标准,才能实现实质通信,实现网络互联. 在整个网络通信环境中有非常多的通信协议---每一个协议应对的通信场景都有所不同 协议分层:根据通信场景不同,提供的服务不同,使用的协议不同进行的层次划分 典型的协议分层: OSI七层参考模型:应用层/表示层/会话层/传输层/网络层/链路层/物理层 TCP/IP五层模型:应用层/传输层/网络层/链路层/物理层 应用层:负责应用程序之间的如何沟通;HTTP/FTP/DNS/DHCP...... 传输层:负责进程之间的数据传输;TCP/UDP 网络层:负责地址管理与路由选择;IP;路由器 链路层:负责相邻设备之间的数据传输;以太网协议;交换机 物理层:负责物理光电信号的传输;以太网协议;集线器? 7.网络字节序字节序:cpu对数据在内存中以字节为单位的存取顺序 主机字节序:一个主机字节序的大小端取决于cpu架构 字节序分为大端字节序和小端字节序;大端字节序:低地址存高位;小端字节序:低地址存低位 不同主机字节序的主机进行通信容易造成数据二义,网络通信中的字节序标准(将自己的数据的字节序转换成标准字节序之后再进行传输)来避免字节序不同造成的数据二义 8.传输层的TCP与UDP协议TCP---传输控制协议---面向连接,可靠传输,面向字节流 UDP--用户数据报协议---无连接,不可靠,面向数据报 区别:TCP保证可靠传输,但传输速度没有UDP快; ? ? ? ? TCP应用于安全性高的场景,UDP应用于实时性要求高的场景 |
|
网络协议 最新文章 |
使用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 5:24:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |