美文网首页
网络协议

网络协议

作者: y_7539 | 来源:发表于2018-12-14 19:33 被阅读0次

网络协议

协议

特征:语法、语义、顺序

TCP/IP协议

TCP/IP是一个协议族

TCP/IP模型(4层)

应用层:http ssh ftp telnet

传输层: TCP UDP

网络层:ip

接口层:MAC

应用层 TCP IP MAC

OSI模型(共7层)

应用层

表示层

会话层

传输层

网络层

数据链路层

物理层

局域网络

IP地址

电子设备在网络上的身份证

192.168.1.100

特殊ip地址:

192.168.1.0 主机号最小的就是网段 就是网络号

192.168.1.255 主机号最大的就是广播地址

127.0.0.1 回路测试 仅仅检测你的电脑支不支持TCP/IP

私有IP:

10.0.0.0-10.255.255.255

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

MAC地址

物理地址 身份证号

由12位16进制组成,分成两部分,前半部分是厂商标识,后半部分是厂商自己定义 MAC地址全球独一无二,修改MAC地址,只是伪造

子网掩码

确定ip地址在哪一个网段,也是一个IP地址

192.168.1.101 1100 0000 1010 1000 0000 0001 0110 0101

255.255.255.0 1111 1111 1111 1111 1111 1111 0000 0000

位运算与 1100 0000 1010 1000 0000 0001 0000 0000

​ 192.168.1.0 网段 网络号

192.168.2.12

255.255.255.0

192.168.2.0

网关

如果通信目标不再同一个网段,这个包先交给网关处理

端口

标识哪个进程,好比你家的窗口

设备

HUB集线器

只是把电脑连接在一起,发送数据会发给整个网段,可能会发生网络风暴

交换机

自带学习功能,会记住整个网段的IP和MAC对应关系 把数据发给指定的电脑,相对HUB集线器来说,很少会发生网络风暴

路由器

连通不同的网段,相当于古代的驿站

UDP

是传输层的一个协议,相当于写信,是一种无连接,不安全,常用于局域网内通信

UDP客户端

#导包
import socket
#创建udp对象
udp = socket(AF_INET, SOCK_DGRAM)
#要发送的地址
add = ("192.168.1.100", 8989)
#向地址发送你好的信息
udp.sendto("你好".encode("gb2312"), add) 

UDP服务端

#导包
import socket
#创建对象
udp = socket(AF_INET, SOCK_DGRAM)
#绑定端口监听
udp.bind(("", 7979))  #不写ip默认本机
#接收数据, 分包
data, add = udp.recvfrom(1024)
print(data.decode("gb2312"))

检测网络是否通畅

1.ping对方IP地址

2.查看服务端的端口 在服务器上通过netstat -natu 查看你要连接的端口号是否在监听状态

3.Telnet去尝试连接端口,如果发现端口连接不上,那一般是防火墙,如果是云服务器,一般在你的阿里云或者腾讯云还有一个防火墙

在局域网测试,一定要保证你的目标IP地址和你的IP地址在同一个网段

网络聊天室

from socket import *
from threading import Thread


def read():
    # 接收数据,分包
    while True:
        data, add = udp.recvfrom(1024)
        print(f"\r>>{data.decode('gb2312')}", end="\n<<")


def write():
    while True:
        context = input("<<")
        udp.sendto(context.encode("gb2312"), (address, port))


# 创建udp
udp = socket(AF_INET, SOCK_DGRAM)
# 绑定端口
udp.bind(("", 2222))
address = "172.16.17.9"
port = 3355
tr = Thread(target=read)
tw = Thread(target=write)
tr.start()
tw.start()
tr.join()
tw.join()

并发:多件事情交替执行,只是执行速度非常快

并行:同一时间同时运行

IO密集型:需要CPU算的很少,大部分时间在等待

CPU密集型:任务需要大量CPU运算、破解

单工:只能做一件事(收音机)

半双工:读或写只能做一件事(收音机)

全双工:可以做两件事(打电话)

IP : 指的是互联网协议(Internet Protocol)

IP地址 :IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

ICMP : 互联网控制消息协议(Internet Control Message Protocol),ping命令使用了该协议。属于网络层协议

UDP :用户数据报协议(User Datagram Protocol),属于传输层

DNS :域名系统(Domain Name System),通过它完成域名和IP地址转换的功能,属于应用层。

DHCP :动态主机配置协议(Dynamic Host Configuration Protocol),目的是自动获取IP地址。属于应用层协议。

相关文章

  • 名词解析

    网络层:IP协议 : 网络协议ICMP协议: Internet互联网控制报文协议 ->IP协议的附属协议 IP...

  • Http网络协议包

    1.网络协议包: 2.常见网络协议: 3.Http网络协议包: 4.Http请求协议包与Http响应协议包介绍: ...

  • 网络传输-Socket

    目录 网络基础 Socket 一、网络基础 网络协议 网络协议是互联网进行数据交换的标准,通过实现网络协议达到与互...

  • 基本原理

    什么是协议? 网络协议:规定网络双端如何通信。

  • 网络协议

    网络协议 网络七层协议 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP/IP五层模型的协议 应...

  • 网络协议

    网络协议 网络的五层划分是什么? 应用层,常见协议:HTTP、FTP 传输层,常见协议:TCP.UDP 网络层,常...

  • 网络协议

    1:OSI 模型七层协议, 另也可以五层协议即 一用层,表现层与会话层 统称为 应用层。 2:信息格式 很明显通过...

  • 网络协议

    最早的 TCP 协议文档是 RFC793。 TCP 提供一种面向连接的、可靠的字节流服务。 面向连接容易理解,那么...

  • 网络协议

    TCP/IP协议 互联网协议(英语:Internet Protocol Suite,缩写IPS)[1]是一个网络通...

  • 网络协议

    互联网协议是以分层管理的,但是在有些地方看到是五层管理,但是在图解http书中看到的网络协议是四层,到底是五层还是...

网友评论

      本文标题:网络协议

      本文链接:https://www.haomeiwen.com/subject/kgcnhqtx.html