网站首页 > 博客文章 正文
一、OSI网络协议七层模型
OSI是Open System Interconnect的缩写,意为开放式系统互联。其各个层次的划分遵循下列原则:
(1)同一层中的各网络节点都有相同的层次结构,具有同样的功能。
(2)同一节点内相邻层之间通过接口进行通信。
(3)七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
(4)不同节点的同等层按照协议实现对等层之间的通信。
理论上有七层:物联网传话表用
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
实际应用中四层:联网专用
数据链路层、网络层、传输层、应用层
网卡是Mac地址,数据链路层,交换机用于局域网内部数据快速传输也是数据链路层
路由器是网络层。网络层判断ip地址,传输层判断端口号。http使用tcp协议
DNS 就是把域名解析成IP地址的一种技术。
主机A和B映射关系:
二、什么是端口
端口 :用来标记唯一进程的方式 交换机:组成局域网,
IP地址用来区分我和同桌的电脑,端口用来区分同桌和同桌之间进程。
查看端口的状态: netstat -an
查看哪个应用占用端口: cmd 输入命令: netstat -ano|findstr 8000
kill -9 pid 杀掉进程
taskkill /94524/
跨域问题,需要解决。同协议同域名同端口
知名端口是 0到1023是知名端口,动态端口是1024到65535
80端口分配给HTTP服务,21端口分配给FTP 服务
三、什么是IP
ip 地址 IP用来区分我和同桌的电脑,端口用来区分同桌之间进程。
用来在逻辑上标记唯一一台电脑,同一个局域网里面,不允许ip地址相同
每一个ip地址包括两部分:网络地址和主机地址
A类、B类、C类(192.168.1.106)、D类、E类
192.168.1.106
占4个字节,最大是 255,最后一个字节变,前面3个字节不变
四、tcp/ip协议
tcp 传输控制协议
udp 用户数据报协议
udp和tcp区别:
tcp是基于连接的,传输数据稳定可靠,传输文件,发送邮件,浏览网页(相当于打电话)
udp是非连接的, 优点是速度快,但是可能产生丢包,域名查询,语音通话,视屏直播等。udp还有一个非常重要的应用场景就是隧道网络,比如:vpn,VXLAN.(相当于写信)udp广播 ,数据每人发一份,只管发送 不管接收。
tcp分为三个步骤,三次握手,传输确认,四次挥手。三次握手是建立连接的过程。因为这个过程中互相发送了三包数据,所以称之为三次握手。
Mac地址和 IP 地址区别:
Mac 地址在两个设备之间通信时是变化的,而ip地址在整个通信过程中都不会发生任何变化
ip地址是在逻辑上标记一台电脑,标记逻辑上地址, ip 地址确定大局方向,一个大致方向
Mac 标记实际转发数据时的设备地址, Mac地址手拉手之间传递数据用的。
netmask:和ip地址一起来确定网络号
默认网关:发送的ip不在同一个网段内,那么会把这个数据转发给默认网关
网络层的路由器是IP寻址,,,数据链路层的交换机是MAC寻址
五、socket 简介,插口或套接字
socket 创建出来的套接字,默认是主动套接字。默认是跟别人说话的,
listen() 将主动套接字变为被动套接字
多个电脑之间通信用socket,进程之间通信的方式,能实现不同主机间进程间通信。返回值是一个套接字,s1和s2有接受发送数据功能
s1 = socket.socket(socket.AF_INET,socket.SOCK_STREAM) TCP
s2 = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) UDP
客户端代码
import socket
phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.connect(('192.168.47.160',8000))
phone.send('hello world'.encode('utf-8'))
data = phone.recv(1024)
print('收到服务端发来的消息',data)
phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.bind(('192.168.47.160',8000))
phone.listen(5)
conn,addr = phone.accept()
msg = conn.recv(1024)
print('客户端发来的消息',msg)
conn.send(msg.upper())
conn.close()
phone.close()
- 上一篇: 工业路由器网关的网络协议之NAT技术
- 下一篇: 从联机游戏学习NAT类型
猜你喜欢
- 2025-01-18 防火墙NAT配置,配置NAT静态转换,配置NAT动态转换PAT及No-PAT模式
- 2025-01-18 四种网路类型外网穿透力与优化方法
- 2025-01-18 运维自动化之实用python代码汇总
- 2025-01-18 通过Python实现内网穿透的几种方式?
- 2025-01-18 小科普 | 联机游戏卡顿?改善你的NAT类型吧
- 2025-01-18 如何用Python实现神经网络(附完整代码)
- 2025-01-18 公司内网用户如何通过NAT地址访问外网,一文读懂!
- 2025-01-18 从联机游戏学习NAT类型
- 2025-01-18 工业路由器网关的网络协议之NAT技术
- 2025-01-18 NAT类型
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 356℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)