程序员

入门级网络知识汇编

2016-10-09  本文已影响271人  超人高飞
IP地址

IP地址位数=网络位数+主机位数=32位。

子网掩码

子网掩码的位数就是网络的位数。它决定前多少位是网络位,多少位是主机数的.

OSI网络参考模型:

为了方便记忆我缩写为 “ 物数网传会表应 ”。 下面是每层结构所对应的功能以及常用协议(由高层到低层)。

  1. 应用层:确定进程之间通信的性质,以满足用户的需要。HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3。
  2. 表示层:主要用于处理两个通信系统中交换信息的表示方式。为上层用户解决用户信息的语法问题。它包括数据格式交换、数据加密与解密数据压缩终端类型的转换。
  3. 会话层:在两个节点之间建立端连接。为端系统的应用程序之间提供了对话控制机制。
  4. 传输层:常规数据递送-面向连接或无连接。为会话层用户提供一个端到端的可靠、透明和优化的数据传输服务机制。 tcp udp。
  5. 网络层:本层通过寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。它包括通过互连网络来路由和中继数据 ;除了选择路由之外,网络层还负责建立和维护连接,控制网络上的拥塞以及在必要的时候生成计费信息。常用设备有交换机。ip ipx ‘apple talk’
  6. 数据链路层:在此层将数据分帧,并处理流控制。屏蔽物理层,为网络层提供一个数据链路的连接,在一条有可能出差错的物理连接上,进行几乎无差错的数据传输(差错控制)。本层指定拓扑结构并提供硬件寻址。常用设备有网卡、网桥、交换机。802.3、802.4、802.5、802.11、FDDI、ATM
  7. 物理层:处于OSI参考模型的最底层。物理层的主要功能是利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。v.24 v.35 RS232 RS485
TCP/IP模型

_TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互连层、传输层(主机到主机)、和应用层。 _

  1. 应用层
    应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等.
  2. 传输层
    传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP).
    TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议提供的则是不可靠的、无连接的数据传输服务.
  3. 网际互联层
    网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
    IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。
  4. 网络接入层(即主机-网络层)
    网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。
常见协议解析

TCP协议连接时的三次握手形象的表示:
客户端:“我能跟你建立连接吗?我的初始发送序号是x,如果你同意的话就Ack=x+1。”
服务器:“收到啦,Ack=x+1,我也想跟你建立连接。我的初始发送序号是Y,你如果答应就Ack=Y+1。”
客户端:“收到啦,Ack=Y+1。”
为什么要用三个包来建立连接,两个会不够可靠,比如说某个网络有多条路径,客户端请求建立连接的第一个包跑到一个延迟严重的路径上,所以迟迟没有得到回应,因此客户端以为是丢包了,又重新发送了一个包,第二次由于走了正确的路径很快完成工作并关闭了连接,对于客户端来说事情已经结束了,没想到它的第一个请求经过跋山涉水,还是达到了服务器,服务器并不知道这是一个旧的无效请求,所以按照惯例回复,假如TCP两次握手,服务器这样就建立了一个无效的连接,而在三次握手的机制下,客户端收到服务器的回复,知道这个连接是无效,所以发出一个拒绝包,就终止了连接。
TCP断开连接的“四次握手”。
客户端:“我希望断开连接(注意FIN标志)”。
服务端:“知道了,断开吧。”
服务端:“我这边的连接也想断开(请注意FIN标志)”。
客户端:“知道了,断开吧”。

Window Size:TCP的每个包的都含有Window Size,是在向对方声明自己的接收窗口。
RTO:超时重传。
快速重传:当发生拥塞时,后续的包到达接收方时,接收方会发现其Seq号比期望的值大,所以它每收到一个包就ACK一次期望的Seq号,以此提醒发送方重传。当发送方收到3个或者以上的重复确认(Dup Ack)时,就意识到相应的包丢失,从而立即重传它。这个过程称为快速重传,因为它不像超时重传时一样需要等待一段时间。
假设发送方发送了1,2,3,4,5,6,7,8,但是接收方就只收到了1,4,5,6,7,8(下面关于NewReno方案和SACK方案)
NewReno方案:当接收方收到重传过来的2号包之后,会回复一个Ack3,因此发送方可以推断出3号包也丢失了,把它也传一遍,因为丢的包都已经补全,所以回复一个Ack9,这时候发送方就可以传新的包了。但是当丢包量特别大的时候,就需要花费多个RTT(往返时间)来重传丢失的包。
SACK方案:接收到Ack2以后,顺便就把收到的包号告诉了发送方,就像这样:收到4号包时,告诉发送方:“我已经收到4号包,请给我2号包”。收到5号包时,告诉发送方:“我已经收到4,5包,请给我2号包”。... 因此发送方对丢包已经了如指掌了,在快速重传2号包之后,它接着传3号包就行了,然后再传9号包。
TCP的特点:

为什么要有ARP?
OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址在第二层。协议在发生数据包时,首先要封装第三层 (IP地址)和第二层 (MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其物理地址,又不能跨第二、三层,所以得用ARP的服务。

笔记来于<<Wireshark 网络分析就这么简单>> 林沛满 著

上一篇 下一篇

猜你喜欢

热点阅读