网业怎么保存到桌面,百度推广账户优化方案,东莞免费的制作网页,西安房产网最新楼盘为什么需要网络通信#xff1f;
进程间通信解决的是本机内通信
网络通信解决的是任意不同机器的通信 实现网络通信需要哪些支持
1.通信设备#xff1a;网卡#xff08;PC机自带#xff09;#xff1b; 路由器和交换机#xff1b; 光纤…为什么需要网络通信
进程间通信解决的是本机内通信
网络通信解决的是任意不同机器的通信 实现网络通信需要哪些支持
1.通信设备网卡PC机自带 路由器和交换机 光纤、电缆和基站
2.通信协议
2.1.操作系统自带协议栈Linux的特点丰富的网络协议
2.2.裸机开发需要独立的协议栈
3.简单网络通信只需要学会系统API TCP/IP协议栈 什么是通信协议?作用?
OSI七层网络模型
Linux四层网络模型 链路层
物理层
通信介质的信号到数字信号二进制0101转换——电信号
数据链路层
局域网之间计算机通信通过mac地址物理网卡通信——交换机
MAC地址
1.Medium Access Control直译为介质访问控制它通常被固化在每个以太网网卡 2.MAC硬件)地址长48位6字节采用十六进制格式【由生产厂商设置与硬件相关不会轻易修改】
交换机
1.是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路 2.交换机的工作原理
2.1交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射并将其写入MAC地址表中
2.2交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较以决定由哪个端口进行转发
2.3如数据帧中的目的MAC地址不在MAC地址表中则向所有端口转发。这一过程称为泛洪flood) 3.交换机的功能与作用
学习MAC地址
转发数据帧
连接不同网络
划分局域网
网络层
ip地址实际上是32位二进制数 【IPV4】
子网掩码与ip相与得到结果相等的就算同一个子网
路由器网关不同子网的ip地址相通信【协议之间的转换】
【交换机只有LAN口只能是实现局域网通信 路由器比交换机多了个WAN口连接到公网宽带、互联网】
公网IP是动态分配的已经被手机电脑等用完了改天再看就不一样了用时分配不用就收回 私网IP 本地回环地址127.0.0.1 本地回环地址被用于通过本地环回网络接口来访问本机运行的服务并且将会绕过任何物理网纳接口硬件【加入本机运行了一个服务器想要访问这个服务器就访问这个地址】
如何解决IP地址荒?
ipv432位升级到ipv6128位
网络地址转换NATnetwork address translation将内网ip转化为公网ip
子网掩码的作用:
1.决定一个网段的大小可用ip的数量 2.同一个网段的ip地址才能直接相互通信不同网段的ip地址需要路由器才能相互通信!
ARP协议
Address Resolution Protocol”地址解析协议) 把ip地址解析成mac地址〈物理地址全球唯一局域网通信必须通过MAC地址)
《ARP攻击伪造IP赋值和MAC地址产生ARP欺骗》ICMP协议—用来检测网络通信故障和实现链路追踪最典型的应用就是ping和tracerooute
《死亡ping》
传输层
让不同的应用程序同时使用网络
TCP/UDPTCP:可靠速度慢UDP不可靠速度快
端口让不同的应用程序同时使用网络 给一个ip发消息怎么确定是哪个应用程序接收只有一个网卡是由传输层决定的就得知道这个应用程序的端口号
应用层
【会话层控制发报的数据 表示层文件格式 应用层应用程序的使用 】 传输层
TCP协议
一、特点面向连接、可靠的字节流传输
二、字节流传输
三、TCP的报文格式
端口号确定和机器上按个应用程序通信
1.周知/标准端口号它的范围是0 - 1023。在Unix的操作系统上使用这些端口之一需要超级用户操作权限
2.注册端口号范围是1024 -49151。是用于IANA 注册服务的注册端! 3.私有端口号范围是49152- 655R5。未正式指定用于任何特定服务可用于任何目的。 这些端口也可以用作临时端口在生机上运行的软件可以使用这些端口根据需要动态创建通信终结点
序列号seq随机生成
TCP表示位
SYN建立链接
ACK回应标识
FIK断开链接
PSH数据包
URG紧急指针
RST 重置重传
检验方式 奇偶校验Parity Check bcc异或按验法(block check character) crc循环元余校验(Cyclic Redundancy Check)
md5校验和数字签名 海明码校验
四、可靠传输
4.1停止等待协议
我发送一个数据包给你然后你跟我回复收到我继续发送下一个数据句 问题:网络环境不可靠导致每一次发送的数据包可能会丢失如果机器A发送了数据包丢失了那么机器B永远接收不到数据机器A永远在等待
4.2 超时重传
当机器A发出一个数据包时便开始计时时间到还没收到确认回复就可以认为是发生了丢包便再次发送也就是重传问题如果原先的数据包并没有丢失只是在网络中待的时间比较久这个时候机器B会受到两个数据包无法辨别
4.3 序号和确认号
表示发送方数据第一个字节的编号和接收方期待的下一份数据的第一个字节的编号
4.4 连续ARQ协议
停止等待协议已经可以满足可靠传输了但有一个致命缺点:效率太低 源源不断地发送接收方源源不断收到数据之后逐一进行确认回复。这样便极大地提高了效率
问题1发送太快导致接收方无法接受那么只是频繁进行重传浪费了网络资源
问题2如何处理丢包情况——选择确认SACK——在TCP报文的选项字段可以设置已经收到的报文段每一个报文段需要两个边界来进行确定
4.5 TCP的流量控制滑动窗口
4.5.1.发送方需要根据接收方的缓冲区大小设置自己可发送窗口大小处于窗口内的数据表示可发送
4.5.2当窗口内的数据接收到确认回复时整个窗口向后移动窗口外的数据不可发送 五、拥塞控制
避免网络过分拥挤导致丢包严重网络效率低
解决方法调整滑动窗口大小——实现流量控制——实现拥塞控制
重点慢开始快恢复、快重传、拥塞避免 六、面向连接
6.1连接
不是指实实在在的连接而是通信双方彼此之间的一个记录
TCP是一个全双工通信也就是可以互相发送数据所以双方都需要记录对方的信息源IP、源端口号、目标IP、目标端口号
6.2 建立连接
三次握手 因为TCP是全双工所以得是三次握手而非二次不然server端接受不到client的ack 6.2.1拒绝服务攻击DOS
通过各种技术手段导致目标系统进入拒绝服务状态的攻击
6.2.2分布式拒绝服务攻击DDOS
利用合理的请求造成资源过载导致服务不可用从而造成服务器拒绝正常流量服务
SYN Flood攻击
6.3断开连接
四次挥手 为什么是四次——因为是全双工
1.防止丢包导致的被动关闭端收不到最后一次挥手而无法关闭
2.也防止被动关闭段要给主动关闭段还要发消息 七、粘包与粘包 UDP协议
叫做用户数据报协议
特点无连接部可靠传输
UDP报文格式 UDP的功能
1.校验数据报是否发生错误
2.区分不同的进程通信
优缺点
1.无法保证消息完整、正确到达UDP是一个不可靠的传输协议
2.缺少拥塞控制容易互相竞争资源导致网络系统瘫痪 ||
1.效率更快不需要建立连接以及拥塞控制 2.连接更多的客户没有连接状态不需要为每个客户创建缓存等 3.分组首部字节少开销小TCP首部固定首是20字节而UDP只有8字节;更小的首部意味着更大比例的数据部分58% 4.在一些需要高效率允许可限度误差的场景下可以使用。如直播场景 5.可以进行广播UDP并不是面向连接的所以可以同时对多个进程进行发送报文
适用场景
视频直播
DNS
RIP路由选择协议 应用层
DNS-域名系统
解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的域名到IP地址的映射
域名解析的顺序
1.浏览器缓存 2.找本机的hosts文件 3.路由缓存 4.找DNS服务器本地域名、顶级域名、根域名-迭代解析、递归查询
域名由点、字母和数字组成
顶级域com,cnnetgovorg)
二级域baidu,taobao,qq,alibaba)
三级域www) DHCP-动态主机设置协议
是一个局域网协议是应用UDP协议的应用层协议。
作用:为临时接入局域网的用户自动分配IP地址
HTTP (HyperText Transfer Protocol:超文本传输协议
【TCP端口80】
例如https
C/S架构 vs B/S架构
C/S架构客户端/服务器——qq、电脑游戏... ...
B/S浏览器游戏、Web的qq ... ... 抓包工具——Wireshark 抓包工具之wireshark安装和使用_wireshark导入密钥_恒悦sunsite的博客-CSDN博客https://blog.csdn.net/carefree2005/article/details/120840566
wireshark优点在于可以在windows、Linux和Mac OS
作业找二三十道网络编程的面试题