网络概述

2017-08-16 16:40:05 +08:00
 CicadaMan
  1. 什么是网络 网络一般分 2 种  局域网和广域网
1 )网络所覆盖的地理范围比较小。通常不超过几十公里,甚至只在一幢建筑或一个房间内。
2 )延迟比较低
3 )传输速度非常快
4 )支持 CSMA/CD

理论是 7 层 但是我们实际应用的时候一般是按 4 层来开发 这个内容经常会面试的时候提到请大家务必记住

端口

  1. 什么是端口

端口就好比是我们的手机号码 你要跟你女朋友联系是不是需要打她的手机号码,这个手机号码就相当于一个端口,那么你去打电话的时候,是不是你自己也需要一个手机号码才可以打电话啊,我们是不是找特定的人给特定的人打电话啊 我们回到应用程序 在 linux 系统中,端口可以有 65535(2 的 16 次方)个 既然有这么多,操作系统为了统一管理,所以进行了编号这就是端口号 2. 端口号 端口是通过端口号来标记的,端口号只有整数,范围是从 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 开始。

IP 地址

  1. ip 地址是什么 地址是用来标识位置的 在逻辑上标记一台唯一的电脑
  2. ip 地址分类 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 地址

  1. A 类地址 A 类地址的表示范围为:0.0.0.0~126.255.255.255 ,默认网络掩码为:255.0.0.0 ; A 类地址分配给规模特别大的网络使用。A 类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如 IBM 公司的网络。
  2. B 类地址 B 类地址的表示范围为:128.0.0.0~191.255.255.255 ,默认网络掩码为:255.255.0.0 ; B 类地址分配给一般的中型网络。B 类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。
  3. C 类地址 C 类地址的表示范围为:192.0.0.0~223.255.255.255 ,默认网络掩码为:255.255.255.0 ; C 类地址分配给小型网络,如一般的局域网和校园网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C 类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。

实际上,还存在着 D 类地址和 E 类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下:D 类地址称为多播地址(一般用于视频会议)某些人能看,某些人不能看,供特殊协议向选定的节点发送信息时用。E 类地址保留给将来使用。

socket(套接字)简介

  1. 本地的进程间通信有很多方式 列如
  1. 网络中进程之间如何通信 首先要解决的问题是如果唯一标识一个进程,如果没有唯一标识符 就不能通信 在本地可以通过进程管理 pid 来唯一标识一个进程,但是在网络中行不通 其实 TCP/IP 协议已经帮我们解决了这个问题,在网络层中的'IP 地址'就是可以唯一标识网络中主机的,而传输层加了'协议+端口' 来识别主机中应用程序(进程) 这样我们就可以听过 ip 地址+协议+端口,就可以标识网络的进程了,网络中的进程通信就可以利用这个标识于其他进程进行交互
  2. 什么是 socket socket 是进程间通信的一种方式,它于其他进程间通信的主要一个不同是: 它可以实现不同主机间的进程通信,我们网络上大部分的服务都是基于 socket 来完成的 列如我们每天浏览网页,qq 聊天,微信聊天,email 等等

还有更多 技术文章 以及不懂和有错误的地方 欢迎扣群:526929231

1672 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/383426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX