网络 (一)

网络基础

独立模式:在没有网络的时代,计算机之间相互独立处理各自的事情,必须通过U盘或者软盘等方式完成计算机之间的数据交互。

网络互联:多台计算器连接在一起我,完成数据共享。

局域网LAN:计算机的数量增加,通过交换机和路由器连接在一起。

广域网WAN:将距离较远的计算器都链接在一起。

网络协议

什么是协议:就是双方相互的约定,不同的动作代表了不同的含义,而这个含义双方早就有共识了,其目的主要是为了减少通信成本,所以需要定制协议。这种协议在计算机领域必须通过软件的方式进行实现。

协议分层:对于协议而言,分层的意义在于:1、低耦合;2、功能比较集中,耦合度较高的模块分为一层,称之为高内聚;3、每一层都要解决待定的问题:①如何把数据交付给和自己直接相连的主机?② 如何选择路径;③ 容错纠错的能力;④ 解决应用方面的问题。

OSI七层模型

TCP/IP五层(四层)模型

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。每一层都有自己匹配的协议,每一层协议都解决自己层传输的问题。

物理层: 负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆 (现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。网卡、集线器(Hub)工作在物理层。其中集线器是信息在长距离传输的时候,信号会衰减,当衰减到一定程度的时候,集线器可以对信号进行放大。

数据链路层: 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层。主要是设备驱动程序与网络接口。

网络层: 负责地址管理和路由选择。例如在IP协议中, 通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由).。路由器(Router)工作在网路层。OS内部实现。

传输层: 负责两台主机之间的数据传输。如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机。OS内部实现。

应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。应用程序。

往后写关于网络的相关代码,对于应用层和传输以及互联层之间主要是通过系统调用去访问接口。

对于局域网内部的网络通信,是如何明确是那台机器到那台机器的通信呢?

引入一个新的概念:协议报头,类似于送快递的快递单子,标注了一些信息,方便送达目的地,对于协议报头有以下几点需要明确:①无论是五层模型还是七层模型,每一层都有自己的协议,而每一个协议的最终表现就是协议都要有报头。②协议通常是通过协议报头来进行表达的。③每一份数据最终在被发送或者在不同协议层中,都要有自己的报头。

局域网:① 两台局域网中的主机可以直接通信。②每一台机器都有自己的“名字”,每一台主机都有网卡,每一张网卡都有自己的地址,MAC地址(全球唯一,但是只标定局域网中的唯一表示),MAC地址会参与网络通信。③局域网通信的原理:给局域网内部的所有主机都发送消息,根据MAC地址来判断是否是给自己发送的消息,在做判断处理。

如何查看自己主机的MAC地址,其中下图中的ether就是MAC地址,长度为48,6个字节。

 对于局域网通信而言,任何时刻只允许一个主机在任何一个时刻在局域网中发送消息,否则会发生碰撞。所以如何看待局域网中的网络资源?站在系统的角度而言,是共享资源,临界资源。

局域网模型如下:

 局域网中的两种形式:

1、以太网(最常用):该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法。以太网在互联设备之间以10~100Mbps的速率传送信息包,双绞线电缆10 Base T以太网由于其低成本、高可靠性以及10Mbps的速率而成为应用最为广泛的以太网技术。直扩的无线以太网可达11Mbps,许多制造供应商提供的产品都能采用通用的软件协议进行通信,开放性最好。

2、令牌环网:为了防止出现网络碰撞,只有拿了令牌的主机才能有发送信息的权限,类似于锁,发完消息之后,再将令牌丢入局域网之中,下一个拿到令牌的发消息。

通信原理

TCP/IP通信过程如下,对于同一网段下的两台主机进行文件传输:从用户A的应用层出发,首先为信息添加上应用层的报头,在向下一次添加传输层的报头,网络层的报头,链路层的报头,在链路层这一层通过以太网把一整个处理好的数据交给另外一个用户B,对于用户B而言,需要依次向上进行解包分用(去掉报头,把剩下数据向上递交),一直到用户B,这就是整个通信过程。

 其中发送的信息整体成为报文,报文=报头+有效载荷,其中有效载荷指的是,在本层中除去本层报文之后,剩余部分称之为有效载荷。把有效载荷往上交给对应的后续层级的过程叫做分用,一层一层的剥去报头的过程称之为解包,而从客户端一层一层的加上报头的过程称为封装。

对于报文而言,如何判断那里是报头,那里是有效载荷?以及如何判断自己的有效载荷要交给上层的哪一个协议呢?首先这是每一层协议都想需要面对的问题,对于判断报头和有效载荷,一般是根据协议规定而言,报头信息中包含了一些类似于报头有多长, 载荷(payload)有多长, 上层协议是什么等信息,而对于将自己的有效载荷交给上层的哪一个协议主要是依靠每一层协议的报头中,一定是涵盖了上面的信息。这是所有协议的共性。

不同协议层对数据包有不同的称谓,在传输层叫做数据段(segment),在网络层叫做数据报(datagram),在数据链路层叫做数据帧(frame)。

对于不同网段下的主机通信:必须至少要横跨两个网络才能实现数据报跨网络转发,路由器必须至少要横跨两个网络,所以路由器必须是两个网络接口,WAN口和LAN口,对应着两张网卡。

不同网络的通信类似于同一个网络通信,首先从客户端进行对信息的封装,只是在链路层,不直接把报文数据交给另外一个主机,而是交给路由器,路由器首先会对报文信息进行一次解包,到网络层,然后通过令牌环驱的方式对报文进行重新封装,在传输给另外一台主机,完成解包分用的过程,最终完成通信,比起相同网段下,多了一步路由器的解包以及重新封装的过程,主要是在IP层屏蔽底层网络的差异。

一台路由器下的设备进行消息相互发送的时候,不需要经过路由器,因为主机、服务器内部自带网络层,通过你要发送消息的目标ip地址是否跟自己的ip地址在同一个局域网下,如果在的话,就不需要经过路由,不在的话,无脑扔给路由器。

网络中的地址管理

IP协议有两个版本:Ipv4和Ipv6,一般都是Ipv4

IP地址是在IP协议中, 用来标识网络中不同主机的地址; 对于IPv4来说, IP地址是一个4字节, 32位的整数; 通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个 字节, 范围是 0 - 255;其中inet表示的就是ip地址。

MAC地址:MAC地址用来识别数据链路层中相连的节点; 长度为48位, 及6个字节。一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19) 在网卡出厂时就确定了, 不能修改。mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可 能会冲突; 也有些网卡支持用户配置mac地址)。ether表示的是MAC地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值