什么是网络
网络通常分为两个局域网和广域网
局域网
局域网(local area network)通常称为“局域网”,简称为局域网。局域网是结构最复杂的计算机网络。局域网是在同一地点通过网络连接的一组计算机。局域网一般都很接近,是目前使用最广泛的网络。通常,具有以下特征的网络称为局域网:
1)网络覆盖的地理范围比较小。通常不超过几十公里,甚至只在一栋楼或一个房间里。
2)延迟比较短
3)传输速度非常快
4)支持CSMA/CD MAN
局域网和广域网之间
广域网
广域网(WAN)是具有广泛影响的复杂网络系统。
WAN由三个或更多LAN组成,这些LAN之间的连接可以通过30英里以上的距离。大型广域网可以由各大洲的许多局域网和城域网组成。最广为人知的WAN是互联网,由世界上数以千计的LAN和WAN组成。
LAN、MAN和WAN之间的界限有时不明确,因此很难确定LAN的关闭位置、MAN或WAN的启动位置。但是,可以通过四个网络特性(通信介质、协议、拓扑结构、专用网络和公共网络之间的边界点)来确定网络类型。通信介质是用于连接计算机和网络的电缆、光缆、无线电波或微波。通常,LAN在通信介质发生变化的地方结束,例如从基于电线的电缆过渡到光纤。电线电缆上的LAN通常通过光缆连接到其他LAN。
协议
俗的叫做协议
我们买东西用什么交易?
人民币是不是基本上都是人民币?那是谁规定的?不是国家规定的。这称为协议约定。不用问别人。我知道该怎么做。这是一种协议。
那么,在计算机网络中,我们该如何通信,是否也有必要为不同系统中不同设备之间的通信规定规则?(莎士比亚。)。
我们使用大家都认可的协议。然后,计算机之前的通信协议称为TCP/IP协议。
那是通用协议。不管你使用什么设备,使用什么系统,都遵循这个协议。
协议是完成进程间通信的规范。
TCP/IP协议(家族)
族群是指这里面很多协议不是一个协议。
在早期的计算机网络中,IBM、Apple和Microsoft必须制定全球通用的协议,以连接世界上的所有设备(计算机、手机、路由等)。为了实现互联网的目标,
虽然internet协议包含很多协议标准,但最重要的是两个协议中的一个是TCP,一个是IP协议,因此将internet协议缩写为TCP/IP协议。
下图包含常用的网络协议
应用层传输层网络层从多层构成的图中可以看到,如网络层网络接口层。这些层根据使用的功能分为多个层。
TCP协议有两种方法。一个是七楼,一个是四楼。
TCP 7层协议。jpg
理论是7层,但当我们实际应用的时候,通常会开发成4层。
这个内容经常在面试的时候提到,请务必记住。
端口
什么是fortran
举个栗子。jpg
端口和我们的手机号码一样。我该不该联系女朋友,打她的手机号码,这个手机号码和一个端口一样。那打电话的时候,你自己不也需要电话号码吗?我们不是在找能给特定人打电话的人吗?(希德比舍尔斯,北方电视台)
我们回到app上。
端口。png
在Linux系统上,端口可以是65535(2的16平方)
既然如此,操作系统正在进行统一管理
编号这就是端口号端口号
端口是通过端口号来标记的,端口号只有整数,范围是从0到65535
3.端口是怎样分配的
按端口号可分为3大类:
(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
公认端口就是非常出名的端口好比,大家都知道110,119,120是干什么用的,公认端口也是一样的,它是一些非常出名的服务的端口
比如我们在访问www.baidu.com的时候,默认访问的就是80端口
(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
总结
端口区分程序
pid只能在一台机器上面区分进程
怎么区分不同服务器的端口 是 ip+端口来区分
需要连接的端口是固定的,但是连接段会随即生成一个端口
IP地址
ip地址是什么
地址是用来标识位置的
在逻辑上标记一台唯一的电脑
ip地址分类
端口.png
ip地址分类.png
192.168.1.1 4组数字 4个字节 1个字节8个比特位
A类地址 192 __ __ __ 前1个不可变 后面3个可变
B类地址 192.168.__ __ 前2个不可变 最后2个可变
C类地址 192.168.1__ 前3个不可变 最后1个可变
那么我们地址最大的长度是多少
192.168.1. 1-254 2^8 有2个地址需要注意 一个是0 192.168.1.0 是你的网络号
192.168.1.255 是广播地址 最小的和最大的不让用 1也不让用 因为1是网关
1~254
同一个网段 就在一个局域网 不允许出现2个ip地址一模一样 回出现ip冲突
为什么要划分ABC类地址
254个地址够了
如果是大公司类 比如阿里 几万个员工 那么我地址就不够了
B类有多少个地址 2^16次方 64435
在很早的时候美国的科学家就已经意识到IP地址不够用了,所以出了一个技术叫做私有网络 也就是通过net协议来上网,到后来IP地址已经被瓜分玩了,每个国家都定义好了,这个IP给你 别人就不能用了
如果以后非洲的小伙伴也要用怎么办,在2001年就提出了ipv6的概念 在ipv6的宣传图上有这么一句话
地球上的每一粒沙子都有一个ip地址
A类地址
A类地址的表示范围为:0.0.0.0~126.255.255.255,默认网络掩码为:255.0.0.0;A类地址分配给规模特别大的网络使用。A类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如IBM公司的网络。
B类地址
B类地址的表示范围为:128.0.0.0~191.255.255.255,默认网络掩码为:255.255.0.0;B类地址分配给一般的中型网络。B类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。
C类地址
C类地址的表示范围为:192.0.0.0~223.255.255.255,默认网络掩码为:255.255.255.0;C类地址分配给小型网络,如一般的局域网和校园网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。
实际上,还存在着D类地址和E类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下:D类地址称为多播地址(一般用于视频会议)某些人能看,某些人不能看,供特殊协议向选定的节点发送信息时用。E类地址保留给将来使用。
私有ip
在这么多网络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
特殊ip
127.0.0.1 测试网卡的
socket(套接字)简介
本地的进程间通信有很多方式 列如
队列
同步
以上通信方式都是在一台机器上不同进程之间的通信方式,那么网络当中的进程之间怎么通信
网络中进程之间如何通信
首先要解决的问题是如果唯一标识一个进程,如果没有唯一标识符 就不能通信
在本地可以通过进程管理 pid来唯一标识一个进程,但是在网络中行不通
其实TCP/IP协议已经帮我们解决了这个问题,在网络层中的'IP地址'就是可以唯一标识网络中主机的,而传输层加了'协议+端口' 来识别主机中应用程序(进程)
这样我们就可以听过 ip地址+协议+端口,就可以标识网络的进程了,网络中的进程通信就可以利用这个标识于其他进程进行交互
什么是socket
socket是进程间通信的一种方式,它于其他进程间通信的主要一个不同是:
它可以实现不同主机间的进程通信,我们网络上大部分的服务都是基于socket来完成的
列如我们每天浏览网页,qq聊天,微信聊天,email等等
作者:IT蔷薇