两台电脑之间的通信形成了网络
最小的网络:局域网 校园网(局域网) 城域网(一个市) 广域网(全球)
为什么我发QQ你能收到,这是因为我发的消息实际上是发给了QQ服务器,并不是直接发给你的,
我是与QQ服务器进行通信的,QQ服务器做的事就是把我发的消息再分发给大家,那么网络编程而言需要通过硬件和软件两部分组成,比如说5G需要建立基站,5G基站分发信号,一定需要硬件设施的支持的 ,怎么发信号,比如说我的电脑,其中的网卡就是用来发送信号,这些而言我们作为程序员而言可能不太懂,原因是因为网络进行了分层操作,把每一层都进行了屏蔽,OSI参考模型模型分成了7层,TCP/IP参考模型分成了4层
OSI参考模型
7应用层
6表示层
5会话层
4运输层
3网络层
2数据链络层
1物理层程序员打交道:567层
TCP/IP参考模型
应用层
〔各种应用层协议如∶TEL.NET,FTP,SMTF等)
运输层〔TCP或DP )
网络层IP
网络接口层
记录一个现象:ip冲突 :两台机子的ip是一样的:就会导致无法判断传输对象
域名解析器:
域名解析器:(还有域名备案等等问题)
网卡
我们的电脑都有网卡,有无线网卡和有线网卡
当然还有以太网
面试题:我在浏览输入一个网址,底层做了什么事情
1.应用层先回发一个get请求(基于http协议或者https协议)
2.在经过传输层,基于TCP通信,增加TCP头,
3.再到网络层
最后到网卡那边:也就是网络访问层,添加以太网构造IP地址,通过物理链路层把信号发给对方,对方那边通过网卡接收信号,
客户端 服务器(important)
客户端和服务器之间的通信
TCP/IP协议
在Internet中TCP/IP协议是使用最为广泛的通讯协议。TCP/IP是英文Transmission ControlProtocol/Internet Protocol的缩写,意思是“传输控制协议/网际协议”
TCP/IP协议(定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准):
Internet上不同系统之间互联的一组协议
为分散和不同类型的硬件提供通用的编程接口。
TCP/IP协议使Internet尽可能成为一个分散、无序的网络。
TCP是基于(面向)连接的协议(UTP是不可靠的),也就是说,在正式收发数据前,必须和对方建立可靠的连接。TCP协议建立连接需要三次会话(握手)
私网ip(局域网)与公网ip查询
下面这个是局域网的ip地址(ipv4地址)
ipv4地址:IP地址使用32位长度二进制数据表示,4个字节,每个字节用.来分开
ipV4: A.B.C.D 32位4部分,每一部分:1字节: 8位:0~255
ipv4:最多有256^4个这样的地址,所以会不够,所以ipv6就产生了
本机地址(电脑自动帮你配置了映射文件)
端口
是一个软件结构,被客户程序或服务程序用来发送和接收数据,一台服务器有256*256个端口。
0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的
1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。
端口与协议有关:TCP和UDP的端口互不相干http:80端口
https:默认端口:443
Mysql:默认端口3306
Tomcat:默认端口8080