计算机网络IP 数据包在以太网数据包里面,TCP 数据包在 IP 数据包里面。

1.网络层次划分

OSI/RM模型:它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:
物理层(Physics Layer)          :面向用户
数据链路层(Data Link Layer):面向用户
网络层(Network Layer):面向用户
传输层(Transport Layer)      :数据传送服务
会话层(Session Layer)
表示层(Presentation Layer)
应用层(Application Layer)。


协议分类:OSI七层模型;TCP/IP七层协议;TCP/IP五层协议
图示:


服务:物理层->数据链路层->网络层。。。

2.OSI七层网络模型

TCP/IP协议是互联网的基础协议

不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。


分类解释:

1》物理层
该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
重要器件: 中继器(放大器)  集线器

中继器:工作于局域网中,用以延长信号的传输距离。因为信号在传输过程中会出现消耗使得信号逐渐减小,中继器用于在适当位置放大信号
集线器:工作于局域网,用于放大信号,增大传输距离,把所有节点集中在以他为中心的节点上,但不对信号进行编码,收到什么发送什么,将网络带宽平均分配给各个网络设备

2》数据链路层
服务于上层(网络层),将来自网络层的数据可靠地传给目标网络机。功能是将数据整合成数据块(桢:基本单位)
主要协议:以太网协议:与IP网很好的结合
主要设备:
网桥:网桥是一种对帧进行转发的技术,根据MAC地址分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。是连接两个局 域网的一种存储/转发设备。可扩展局域网。
交换机:高级集线器,可划分VLAN,可以使局域网内每台机器灵活使用网络总带宽

3》网络层

目的:实现两个系统间的数据透明传输
功能:路径选择,路由(路由器接收到数据包传送到目标地址的过程),逻辑寻址
重要协议:也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP
基本单位:IP数据报
主要设备:路由器:路由和转换,路由器就是连接两个以上个别网络的设备。由于位于两个或更多个网络的交汇处,从而可在它们之间传   递分组


注:网络层根据网络地址将源结点发送的数据包传送到目的结点,传输层负责将数据可靠的传输到相应端口。

4》传输层

开始端到端的传输,处理端到端的控制和流量,为两个端系统的会话层之间,提供建立维护和取消传输连接的功能。
信息传送的协议数据单元:段,报文

主要协议:TCP协议,UDP协议
主要设备:网关:路由器的IP用于连接局域网和INTERNET,网关能在网络间传送数据包。

网关与路由器区别:网关能在协议间传送数据而路由器只在网络间传送数据。

5》会话层

会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。

6》表示层

对上层数据进行变换以保证一个主机应用层信息可被另一个主机应用层理解。
7》应用层

为操作系统或网络应用程序提供访问网络服务的接口。



会话层,表示层,应用层:
基本单位:报文
主要协议: FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。

IP地址

1》网络地址
Ip地址由网络号和主机号组成,网络地址的主机号全为0,网络地址代表整个网络。
IP 数据包在以太网数据包里面,TCP 数据包在 IP 数据包里面。


2》直接广播地址
目的:区分受限广播地址。
用于同时向网络中所有的工作站进行发送的地址。
主机标示段host ID全为1的IP地址,所有的主机都能收到广播消息。可跨网段广播。
例:192.168.10.255


3》组播地址(D类地址)

A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;

  B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;

  C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。

  D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);无网络号和主机号

  E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。


4》255.255.255.255
受限广播地址,路由器不会进行转发,只能用于本地网络。

5》0.0。0.0
常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。

6》回环地址
127.0.0.0/8/1  本机地址

7》A,B,C类私有地址(专用地址)
只具有本地意义。

A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255

  B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255

  C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255

8》IP网络地址的多重复用技术:使若干物理共享网络共享同一IP网络地址。

例:
 192.9.200.13其缺省的子网掩码为:
255.255.255.0则它的网络号和主机号可按如下方法得到:
①将IP地址192.9.200.13转换为二进制11000000 00001001 11001000
00001101
②将子网掩码255.255.255.0转换为二进制11111111 11111111 11111111
00000000
③将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分
11000000 00001001 11001000 00001101 AND 11111111 11111111 11111111
00000000
11000000 00001001 11001000 00000000结果为192.9.200.0,即
网络号为192.9.200.0。
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主
机部分11000000 00001001 11001000 00001101 AND 00000000 00000000
00000000 11111111 00000000 00000000 00000000 00001101结果为0.0.0.13,
即主机号为13。

计算子网掩码方法:

1》
利用子网数计算:需知道划分的子网数目,以及每个子网所需的主机数目。

(1) 将子网数目转化为二进制来表示;

  如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;

  (2) 取得该二进制的位数,为N;

  该二进制为五位数,N = 5

  (3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。

  将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0

2》

利用主机数来计算

  如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

  (1) 将主机数目转化为二进制来表示;

  700=1010111100;

  (2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;

  该二进制为十位数,N=10;

  (3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

  将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。

3》

还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。

  比如一个子网有10台主机,那么对于这个子网需要的IP地址是:

  10+1+1+1=13

  注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。

  因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。

  如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=1717大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。

!!ARP/RARP协议

是根据IP地址获取物理地址的一个TCP/IP协议。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除
静态对应关系等。
工作流程:
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
  主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
  当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:
  (1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
  (2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
  (3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
  (4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
  (5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址

路由选择协议:

RIP协议,OSPF协议

RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。

  OSPF协议 :Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。


TCP/IP协议

TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

UDP协议

UDP用户数据报协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。

每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:
  (1)源端口号;
  (2)目标端口号;
  (3)数据报长度;
  (4)校验值。
  使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议) NFS、 BOOTP。
   TCP 与 UDP 的区别:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。
DNS协议

DNS:域名系统的缩写,将URL转换为IP地址。

还协议进行域名解析

NAT协议:

接入广域网技术,私有地址转换为合法IP地址。

DHCP协议:

是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段

HTTP协议:

所有WWW都应遵守的超文本传输协议。

HTTP 协议包括哪些请求?

  GET:请求读取由URL所标志的信息。

  POST:给服务器添加信息(如注释)。

  PUT:在给定的URL下存储一个文档。

  DELETE:删除给定的URL所标志的资源。

  HTTP 中, POST 与 GET 的区别

  1)Get是从服务器上获取数据,Post是向服务器传送数据。

  2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。

  3)Get传送的数据量小,不能大于2KB;Post传送的数据量较大,一般被默认为不受限制。

  4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。


在浏览器中输入 www.baidu.com  后执行的全部过程

  现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:

  1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。

  2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。

  3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。

  4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值