网络 基础 1

将在前面:

  MAC地址世界唯一,  交换机只认mac,  有(广播/单播/组播)之分,  路由器路由表认识IP地址(虚拟地址,随时间/空间变化而变化).

  IP 127.0.0.1 回环地址 测试地址  本机通讯  不涉及交换机,路由器 ,和外机通信要写实际 ip 地址.

  arp 协议: a机器-->交换机---> 广播  正确的机器都到广播--->返回MAC给交换机 ---> a机器(单播)

  按位与

  两个网段信息一致说明在一个交换机内 ,不一致要用路由器.

两台机器间 只要 一根网线就能通信.

网络开发的架构:

  c/s ---客户端应用client/服务端server

  b/s ---web浏览器客户端browser/服务端server

     b/s 是特殊的 c/s , b/s架构更好为啥呢? 因为基于web浏览器减少了桌面应用的安装,解放了你的桌面图标,web编程都是b/s架构的.

 计算机-网卡-是  硬件.  在数据链路层

 MAC--物理地址 全世界唯一的 (head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)

   广播 ---  主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。

 ip地址与ip协议 ---  点分十进制

  • 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示
  • 范围0.0.0.0-255.255.255.255
  • 一个ip地址通常写成四段十进制数,例:172.16.10.1
  • ipv6---6位冒号分16进制  0:0:0:0:0:0---255:255:255:255:255:255  据说强大到可以给沙滩上每粒沙子都分配个地址--哈哈也是醉了

    arp协议 ——查询IP地址和MAC地址的对应关系

  地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

  主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址。

  收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
  地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机.           ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机           ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。 
 
路由器(Router)--是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽,"交通警察"。目前路由器已经广泛应用于各行各业,各种不同档次的产品已成为实现各种骨干网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换机在移动信息的过程中需使用不同的控制信息,所以说两者实现各自功能的方式是不同的。
  路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。
 子网掩码 ---(所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

  知道”子网掩码”,我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是)

  IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。
    
端口port --- (我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。 0 --65535 确定应用的. 特殊的3306--mysql,  8080端口,  22端口--系统ssh命令)
  传递信息的方法:
    TCP : 似打电话   特点:  可靠的 面向连接的 占资源 慢
    UDP: 似 发短信   特点: 不可靠  无连接 快  消耗资源少 
 

osi七层模型

  互联网的核心就是由一堆协议组成,协议就是标准,比如全世界人通信的标准是英语,如果把计算机比作人,互联网协议就是计算机界的英语。所有的计算机都学会了互联网协议,那所有的计算机都就可以按照统一的标准去收发信息从而完成通信了。

  套接字--socket 引言--(Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简  单的接口就是全部,让Socket去组织数据,以符合指定的协议. 

其实站在你的角度上看,socket就是一个模块。我们通过调用模块中已经实现的方法建立两个进程之间的连接和通信。
也有人将socket说成ip+port,因为ip是用来标识互联网中的一台主机的位置,而port是用来标识这台机器上的一个应用程序。
所以我们只要确立了ip和port就能找到一个应用程序,并且使用socket模块来与之通信。)

  人们按照分工不同把互联网协议从逻辑上划分了层级:

  应用层 (应用,表示,会话)   python代码   http     https(加密 证书)     ftp     smtp(邮件)

                            ------------socket------ 抽象层----

  传输层          TCP UDP   端口(port)    4层路由器 4层交换机

  网络层                               ip              3层路由器  3层交换机

  数据链路层             mac/ arp 协议     2层交换机    网卡 

  物理层

  上个图:

  

  

  

猜你喜欢

转载自www.cnblogs.com/zhangchen-sx/p/10059051.html