这里写目录标题
实现网络通信需要哪些支持
通信设备
网卡:pc机自带
交换机;路由器
光纤,电缆,基站
通信协议
操作系统自带协议栈(Linux的特点:丰富的协议)
裸机开发需要独立的协议栈
简单的网络通信只需要学会使用系统API
什么是通信协议,作用?
通信双方确定一种数据格式,以及通过什么格式来发送
TCP/IP协议栈
OSI七层网络模型,Linux四层网络模型;
协议栈作用
物理层:通信介质的信号到数字信号(二进制01001)转换
数字链路层:局域网之间计算机通信,通过MAC地址(物理网卡)通信
网络层:IP地址,路由(通过公网IP来访问全世界)
传输层:TCP UDP 端口
会话层:控制发包的数据
表示层:文件格式
应用层:应用程序的使用
分层的好处
1、各层之间是独立的
2、灵活性好
3、结构上可以分开
4、易于维护
5、能促进标准化工作
IP地址
实际上是32位的二进制数(00000000.00000000.00000000.000000000)100.4.5.6
公网IP:
a类:1.0.0.1~126.255.255.254
b类:128.0.0.1~191.255.255.254
c类:192.0.0.1~223.255.255.254
d类:224.0.0.1~239.255.255.254
e类:240.0.0.1~255.255.255.254
私网(局域网):
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
如何解决IP地址荒:IPV6
网络地址转换NAT(将内网IP转为公网IP)
DNS作用:域名解析转化为IP地址
SMTP作用:做邮件发送用
FTP:上传或下载文件
IP协议:定义IP地址解析
HTTP协议:
子网:决定一个网段的大小(可用IP数量)
同一个网段的IP才可以直接相互通信,不同网段需要路由器
192.168.11.0/24:8个可用
192.168.11.0 网络号
192.168.11.255 广播地址
TCP协议的特点
面向连接、可靠的字节流传输
1、端口号:
80 http
53 DNS
TCP报文格式
著名端口号:0~1023 由IANA统一分配
注册端口号:1024~49151 向IANA申请注册
动态端口号:49152~65535 本地分配
校验方式
1、奇偶校验
2、bcc异或校验
3、crc循环冗余校验
4、MD5校验和数字签名
5、海明码校验
TCP在局域网中传输数据的长度=1518-18-20-20=1460bit,广域网传输不限定大小,应为超过大小时会自动进行拆包
TCP如何建立连接
建立连接:三次握手:网络通信是双工的
断开连接:四次挥手: