网络
文章平均质量分 73
以网络基础为主,总结网络知识
期待777
这个作者很懒,什么都没留下…
展开
-
TCP三次握手四次挥手seq和ack的过程
文章目录三次握手过程数据传输过程四次挥手过程总结ackseq三次握手过程数据传输过程四次挥手过程总结ack1.在握手和挥手阶段,ack确认号是对方seq+12.在传输数据阶段,ack确认号是对方seq+数据长度seq1.在握手和挥手阶段,seq为上次seq+1(对方发来的ack大小)2.在传输数据阶段,seq为上次seq+数据长度(对方发来的ack大小)...原创 2021-10-05 10:14:35 · 738 阅读 · 1 评论 -
计算机网络知识和多路转接IO总结(持续更新中...)
1.网络的划分?局域网,城域网,广域网2 IP地址是什么?分为?IP地址—网络中唯一标识一台主机ipv4:无符号32位整数ipv6:无符号128位整数3 端口port是什么?在一台主机上唯一标识一个网络通信进程(实际标识的是socket)用于描述从哪个socket发送的,发送到哪个socket一个端口只能被一个socket占用,但是一个socket可以占用多个端口4 协议是什么?协议分层分为?具体有什么作用?协议就是数据格式约定分为OSI七层协议,TCP/IP五层协议原创 2021-03-11 16:48:57 · 278 阅读 · 0 评论 -
了解典型协议DNS,ICMP,NAT/NAPT,代理服务
文章目录DNS浏览器中输入url回车之后,都发生了什么?ICMP协议NAT/NAPT服务代理服务DNSDNS:域名系统----用于存储IP地址与域名的映射关系,提供域名解析,通过域名获取服务器IP地址的服务域名:服务器地址的别名----便于记忆,但是终归通过域名访问服务器的时候还是进行解析最终通过IP地址访问服务器域名服务器,记录所有服务地址与域名的映射关系,域名服务早期由美国的一个组织维护,域名服务器是遍布全世界的,采用分布式存储的,(分摊访问压力/容灾处理)域名服务器的划分:根域名服务原创 2021-02-14 13:43:59 · 437 阅读 · 0 评论 -
链路层详解---MTU最大传输单元
文章目录链路层如何获取对端的MAC地址MTU----最大传输单元链路层负责相邻设备之间的数据帧传输链路层就是负责每一个相邻节点之间的数据传输相邻设备之间也需要描述识别(因为一个设备有可能有很多相邻设备)链路层相邻设备之间的识别是通过MAC地址实现的MAC地址:网卡的硬件地址(uint8_t mac[6])48位对端MAC地址/48位源端MAC地址:描述识别相邻的设备—描述了相邻设备之间的数据传输16位上层协议类型:网络层的协议类型,进行数据分用时选择上层的解析协议32位CRC校验和:原创 2021-02-12 22:31:16 · 960 阅读 · 0 评论 -
快速搞明白公网和私网的区别(组建私网的网络号)
文章目录公网/外网私网/内网组建私网的原因组建私网的网络号公网/外网就是我们通常所说的互联网私网/内网一个私有网络,仅限于内部通信组建私网的原因IP地址不够用的解决方法:1.DHCP动态地址分配2.NAT网络地址转换(主要就是用于组建私网,私网中的主机能内部通信,或者使用统一一个对外的IP地址上网)私网之间,只要网络不相邻,网络号就可以相同,分配的IP地址就可以冲突(因为对外上网就会通过NAT服务转换为对外的地址进行上网,对外来说没有冲突)组建私网的网络号注意不能随便使用,与公网上原创 2021-02-10 10:52:05 · 4142 阅读 · 0 评论 -
IP地址管理----网段划分,特殊IP地址
文章目录地址管理网段的划分早期:将所有的IP地址划分了5类当前:CIDR方案---使用子网掩码划分网络特殊IP地址地址管理IP地址:ipv4-uint32_t-总共不到43亿个IP地址,用于在网络中唯一标识主机IP地址的组成:网络号+主机号网络号:一个网络的标识,俗称网段主机号:一个主机在一个网络中的标识网段的划分早期:将所有的IP地址划分了5类A:用于组建大型网络,高1位固定为0,7位网络号,24位主机号;网络号范围:0 ~ 127;IP地址范围:0.0.0.0~127.255.255原创 2021-02-09 18:57:09 · 1108 阅读 · 0 评论 -
轻松搞明白IP协议格式完整分析
文章目录IP协议格式IP协议格式4位版本号:IPV4/IPV64位首部长度:标识IP报头多长,以4字节为单位(最小20字节,最大60字节)8位服务类型:3位弃用,1位置0,4位TOS字段(最低延迟,最大吞吐,最大可靠性,最小代价)16位数据报长度:限制了一个完整的IP报文最大长度不超过64K,udp报文数据的最大长度不能超过64K-20-8分片标识的原因:数据在实际传输时的最大长度不仅受限于数据报长度字段,并且受限于链路层的一个信息-MTU(最大传输单元–链路层中一条数据帧中的最大数据长度(原创 2021-02-09 14:01:18 · 825 阅读 · 0 评论 -
快速搞懂TCP协议特性----可靠传输,面向字节流(粘包问题)
文章目录前言可靠传输确保数据完整有序到达对端避免丢包机制前言TCP面向连接的特性:三次握手,四次挥手链接: 三次握手,四次挥手.可靠传输确保数据能够安全到达对端,并且保证有序交付确保数据完整有序到达对端面向连接:确保通信双方都具有数据收发的能力确认应答机制:发送的每一条数据都要求对方进行确认回复,收到确认回复则认为数据安全到达超时重传机制:等待超时后都没有收到数据的确认回复,则认为数据丢失,对这条数据进行重传包序管理:协议字段中的序号和确认序号实现三次握手阶段,双方都会告诉对方原创 2021-02-08 11:15:22 · 429 阅读 · 0 评论 -
快速搞懂TCP面向连接协议特性---三次握手,四次挥手
文章目录协议特性面向连接协议特性面向连接,可靠传输,面向字节流面向连接典型问题建立连接握手为什么是三次?tcp是面向连接的,通信双方都必须确认对端具有数据收发能力.只是四次没必要,两次不安全.断开连接挥手为什么是四次?FIN只能表示对方不在发送数据,不表示对方不再接收数据,因此被动关闭方收到断开连接请求并进行回复后,还可以继续发送数据给对方,只有在确认自己不再发送数据的时候(也就是调用close的时候),才会给对方发送FIN.主动关闭方进行最后一次回复后为什么会进入TIME_W原创 2021-02-06 15:54:34 · 507 阅读 · 0 评论 -
快速搞懂TCP协议首部格式实现
文章目录协议实现协议实现16位源端端口+16位对端端口:描述通信两端32位序号+32位确认序号:实现tcp传输时的包序管理以及确认应答,因为TCP是一种可靠的协议,当其传送数据报时,会按照字节进行编号,这些编号就是序号。当我向你发送数据时,我需要知道你是否收到以及需要知道你收到了哪些数据,通过确认序号就能知道我发送的数据你收到了哪些。又因为我发送的数据需要你确认,你发送的数据报需要我确认,及双方都需要对对方的报文进行确认,所以既需要序号也序号确认序号。4位头部长度:因为每一层的报文,都需要知道原创 2021-02-05 19:08:49 · 186 阅读 · 0 评论 -
三分钟搞懂传输层UDP协议
文章目录协议实现协议特性编程影响协议实现16位源端端口+16位对端端口:用于标识进程,描述主机上的通信两端进程16位数据报长度:用于描述一个完整包含头部的udp报文长度,所能存放的最大大小是65535(两个字节);因此就要求udp报文大小必须小于64K,因为udp报文长度是8个字节,因此sendto发送的数据大小必须小于64K-816位校验和:采用二进制反码求和算法,检验接收到的数据和对方发送的数据是否一致二进制反码求和算法:在发送数据时,为了计算数据包的检验和。应该按如下步骤:1、原创 2021-02-05 09:39:42 · 249 阅读 · 0 评论 -
一下就搞懂HTTPS协议与HTTP协议的区别
文章目录https协议https加密流程身份验证思想实现加密传输对称加密非对称加密ssl采用混合加密https协议首先它并不是一个新的协议,这里的s指的是ssl(secure sockets layer),套接字安全层,就是加密后的http协议,http协议是一个字符串明文协议,通信很容易被监听劫持,不安全,因此加密能够保证安全可靠传输https加密流程身份验证需要保证与你通信的这个服务器真的就是那个正确的服务器思想找到一个第三方权威机构(双方都信任的机构),进行身份验证;实现CA认证(原创 2021-02-04 21:33:55 · 186 阅读 · 0 评论 -
HTTP协议详细总结(协议格式,协议实现)
文章目录前言HTTP协议HTTP协议实现HTTP协议格式前言应用层:直面程序员的一层,因为应用程序是程序员自己写的,因此应用层的协议都是程序员自己定的自定制协议:序列化:将各个数据对象按照指定的协议组织成为持久化存储/数据传输的二进制数据串反序列化:将二进制数据串按照指定协议解析得到各个数据对象比较常用的序列化方式:json序列化/protobuf/二进制序列化一个序列化方式的好坏有很多评定标准:解析性能/传输性能下面我们说说知名协议:HTTPHTTP协议超文本传输协议–早期专门用于传原创 2021-02-04 16:55:30 · 669 阅读 · 0 评论 -
socket编程-----tcp通信程序编写的基本流程
文章目录前言1.tcp通信流程前言udp通信:无连接,不可靠,面向数据报tcp通信:面向连接,可靠传输,面向字节流1.tcp通信流程面向连接:必须建立了连接保证双方都具有数据收发能力,才开始通信;(udp是只要知道对端地址就可以直接发送数据)...原创 2020-11-30 19:09:23 · 1031 阅读 · 1 评论 -
socket编程-----udp通信程序编写的基本流程
文章目录前言一、通信程序的编写二、udp通信流程1.udp流程图2.套接字接口3.字节序转换接口3.代码前言传输层协议的区别:tcp:传输控制协议–面向连接,可靠传输,面向字节流udp:用户数据报协议—无连接,不可靠,面向数据报tcp保证可靠传输,但是传输速度没有udp快tcp应用于安全性要求高的场景/udp应用于实时性要求高的场景一、通信程序的编写通信中总是两端主机进行通信,并且主动发起请求的一方称为客户端,被动首先接收请求的一方称为服务端二、udp通信流程1.udp流程图2.套原创 2020-11-29 23:27:00 · 2094 阅读 · 0 评论 -
网络通信需要了解的前情知识----IP,PORT,协议(TCP/IP五层),网络字节序
文章目录网络发展背景网络的划分:IP地址:uint32_t ---无符号4个字节的整数端口号:uint16_t---无符号2个字节的整数网络通信协议网络发展背景根据记录所连接的计算机mac(物理网卡地址)地址,进行数据交换。但是交换机无法进行动态的数据交换-----无法智能的识别,无法实现想发送给谁就发送给谁路由器在数据交换的技术上增加了一个功能—进行网络识别,为每一条数据在网络中,选择一条合适的路径,发送到目标主机上,已经实现了想给谁发就给谁发的功能,路由器会识别这个给谁发的目的主机的网络选原创 2020-11-29 10:09:54 · 517 阅读 · 0 评论